Regenerate .pot files
authorJoseph Myers <joseph@codesourcery.com>
Fri, 10 Feb 2023 22:42:43 +0000 (22:42 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 10 Feb 2023 22:42:43 +0000 (22:42 +0000)
gcc/po/
* gcc.pot: Regenerate.

libcpp/po/
* cpplib.pot: Regenerate.

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

index 12026ad..bb7fed5 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: 2022-05-05 16:58+0000\n"
+"POT-Creation-Date: 2023-02-10 22:40+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"
@@ -190,6 +190,30 @@ msgstr ""
 msgid "-f%s ignored (not supported for DJGPP)\n"
 msgstr ""
 
+#: config/xtensa/xtensa-dynconfig.c:63
+msgid "Unable to load DLL."
+msgstr ""
+
+#: config/xtensa/xtensa-dynconfig.c:90
+#, c-format
+msgid "%qs is defined but could not be loaded: %s"
+msgstr ""
+
+#: config/xtensa/xtensa-dynconfig.c:97
+#, c-format
+msgid "%qs plugin is not licensed under a GPL-compatible license"
+msgstr ""
+
+#: config/xtensa/xtensa-dynconfig.c:114
+#, c-format
+msgid "%qs is loaded but symbol %qs is not found: %s"
+msgstr ""
+
+#: config/xtensa/xtensa-dynconfig.c:128
+#, c-format
+msgid "%qs is defined but plugin support is disabled"
+msgstr ""
+
 #. The remainder are real diagnostic types.
 #: fortran/gfc-diagnostic.def:33
 msgid "Fatal Error"
@@ -241,100 +265,100 @@ msgstr ""
 msgid "error"
 msgstr ""
 
-#: gcc.cc:829 gcc.cc:833 gcc.cc:888
+#: gcc.cc:839 gcc.cc:896
 msgid "-gz is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:839 gcc.cc:899
-msgid "-gz=zlib is not supported in this configuration"
+#: gcc.cc:845
+msgid "-gz=zstd is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1092
+#: gcc.cc:1079
 msgid "-fuse-linker-plugin is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1108
+#: gcc.cc:1095
 msgid "cannot specify -static with -fsanitize=address"
 msgstr ""
 
-#: gcc.cc:1110
+#: gcc.cc:1097
 msgid "cannot specify -static with -fsanitize=hwaddress"
 msgstr ""
 
-#: gcc.cc:1112
+#: gcc.cc:1099
 msgid "cannot specify -static with -fsanitize=thread"
 msgstr ""
 
-#: gcc.cc:1134
+#: gcc.cc:1121
 msgid "-fvtable-verify=std is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1136
+#: gcc.cc:1123
 msgid "-fvtable-verify=preinit is not supported in this configuration"
 msgstr ""
 
-#: gcc.cc:1273 ada/gcc-interface/lang-specs.h:37
+#: gcc.cc:1260 ada/gcc-interface/lang-specs.h:37
 msgid "-pg and -fomit-frame-pointer are incompatible"
 msgstr ""
 
-#: gcc.cc:1443
+#: gcc.cc:1435
 msgid "GNU C no longer supports -traditional without -E"
 msgstr ""
 
-#: gcc.cc:1452
+#: gcc.cc:1444
 msgid "-E or -x required when input is from standard input"
 msgstr ""
 
-#: config/darwin.h:154
+#: config/darwin.h:151
 msgid "conflicting code generation switches"
 msgstr ""
 
-#: config/darwin.h:159
+#: config/darwin.h:156
 msgid "-bundle_loader not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:161
+#: config/darwin.h:158
 msgid "-client_name not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:170
+#: config/darwin.h:167
 msgid "-keep_private_externs not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:172
+#: config/darwin.h:169
 msgid "-private_bundle not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:180
+#: config/darwin.h:177
 msgid "-compatibility_version only allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:182
+#: config/darwin.h:179
 msgid "-current_version only allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:184
+#: config/darwin.h:181
 msgid "-install_name only allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:195
+#: config/darwin.h:192
 msgid "-bundle not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:211
+#: config/darwin.h:208
 msgid "-force_flat_namespace not allowed with -dynamiclib"
 msgstr ""
 
-#: config/darwin.h:216 config/darwin.h:614
+#: config/darwin.h:213 config/darwin.h:596
 msgid "gsplit-dwarf is not supported on this platform"
 msgstr ""
 
-#: config/darwin.h:285
+#: config/darwin.h:277
 msgid "rdynamic is not supported"
 msgstr ""
 
 #: config/dragonfly.h:76 config/i386/freebsd.h:82 config/i386/freebsd64.h:35
-#: config/ia64/freebsd.h:26 config/rs6000/sysv4.h:758 config/sparc/freebsd.h:45
+#: config/ia64/freebsd.h:26 config/rs6000/sysv4.h:750 config/sparc/freebsd.h:45
 msgid "consider using '-pg' instead of '-p' with gprof(1)"
 msgstr ""
 
@@ -354,7 +378,7 @@ msgstr ""
 msgid "-pie is not supported in this configuration"
 msgstr ""
 
-#: config/vxworks.h:204
+#: config/vxworks.h:219
 msgid "-Xbind-now and -Xbind-lazy are incompatible"
 msgstr ""
 
@@ -363,7 +387,7 @@ msgstr ""
 msgid "consider using `-pg' instead of `-p' with gprof (1)"
 msgstr ""
 
-#: config/arc/arc.h:68 config/mips/mips.h:1475
+#: config/arc/arc.h:68 config/mips/mips.h:1476
 msgid "may not use both -EB and -EL"
 msgstr ""
 
@@ -379,8 +403,8 @@ msgstr ""
 msgid "do not specify both -march=... and -mcpu=..."
 msgstr ""
 
-#: config/i386/cygwin-w64.h:64 config/i386/cygwin.h:138
-#: config/i386/mingw-w64.h:103 config/i386/mingw32.h:160
+#: config/i386/cygwin-w64.h:64 config/i386/cygwin.h:129
+#: config/i386/mingw-w64.h:103 config/i386/mingw32.h:154
 msgid "shared and mdll are not compatible"
 msgstr ""
 
@@ -424,15 +448,11 @@ msgstr ""
 msgid "You need a C startup file for -msys-crt0="
 msgstr ""
 
-#: config/pa/pa-hpux10.h:102 config/pa/pa-hpux10.h:105
-#: config/pa/pa-hpux10.h:113 config/pa/pa-hpux10.h:116
 #: 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"
 msgstr ""
 
-#: config/pa/pa-hpux10.h:103 config/pa/pa-hpux10.h:106
-#: config/pa/pa-hpux10.h:114 config/pa/pa-hpux10.h:117
 #: config/pa/pa-hpux11.h:135 config/pa/pa-hpux11.h:138 config/pa/pa64-hpux.h:30
 #: config/pa/pa64-hpux.h:33 config/pa/pa64-hpux.h:42 config/pa/pa64-hpux.h:45
 msgid "  profiling support are only provided in archive format"
@@ -446,7 +466,7 @@ msgstr ""
 msgid "consider using `-pg' instead of `-p' with gprof(1)"
 msgstr ""
 
-#: config/rs6000/rs6000.h:167
+#: config/rs6000/rs6000.h:170
 msgid "Missing -mcpu option in ASM_CPU_SPEC?"
 msgstr ""
 
@@ -475,15 +495,11 @@ msgid "-fsanitize=address is not supported in this configuration"
 msgstr ""
 
 #: config/sparc/linux64.h:156 config/sparc/linux64.h:162
-#: config/sparc/netbsd-elf.h:108 config/sparc/netbsd-elf.h:117
+#: config/sparc/netbsd-elf.h:103 config/sparc/netbsd-elf.h:112
 #: config/sparc/sol2.h:237 config/sparc/sol2.h:243
 msgid "may not use both -m32 and -m64"
 msgstr ""
 
-#: config/tilegx/tilegx.h:520 config/tilegx/tilegx.h:525
-msgid "-mbig-endian and -mlittle-endian may not be used together"
-msgstr ""
-
 #: config/vax/netbsd-elf.h:51
 msgid "the -shared option is not currently supported for VAX ELF"
 msgstr ""
@@ -508,6 +524,10 @@ msgstr ""
 msgid "gfortran does not support -E without -cpp"
 msgstr ""
 
+#: m2/lang-specs.h:48
+msgid "to generate dependencies you must specify '-fcpp' "
+msgstr ""
+
 #: objc/lang-specs.h:30 objc/lang-specs.h:41
 msgid "GNU Objective C no longer supports traditional compilation"
 msgstr ""
@@ -547,11 +567,11 @@ msgstr ""
 msgid "Warn about creation of array temporaries."
 msgstr ""
 
-#: fortran/lang.opt:214 fortran/lang.opt:535 config/alpha/alpha.opt:31
-#: common.opt:680 common.opt:822 common.opt:1060 common.opt:1064
-#: common.opt:1068 common.opt:1072 common.opt:1747 common.opt:1811
-#: common.opt:1950 common.opt:1954 common.opt:2203 common.opt:2421
-#: common.opt:3137
+#: fortran/lang.opt:214 fortran/lang.opt:535 c-family/c.opt:1529
+#: config/alpha/alpha.opt:31 common.opt:677 common.opt:819 common.opt:1060
+#: common.opt:1064 common.opt:1068 common.opt:1072 common.opt:1770
+#: common.opt:1834 common.opt:1977 common.opt:1981 common.opt:2256
+#: common.opt:2474 common.opt:3194
 #, no-c-format
 msgid "Does nothing. Preserved for backward compatibility."
 msgstr ""
@@ -1162,16 +1182,18 @@ msgstr ""
 msgid "Append underscores to externally visible names."
 msgstr ""
 
-#: fortran/lang.opt:824 c-family/c.opt:1623 c-family/c.opt:1659
-#: c-family/c.opt:1667 c-family/c.opt:1986 config/pa/pa.opt:42
-#: config/pa/pa.opt:74 config/arc/arc.opt:140 config/arc/arc.opt:293
-#: config/arc/arc.opt:305 common.opt:638 common.opt:1151 common.opt:1155
-#: common.opt:1159 common.opt:1246 common.opt:1536 common.opt:1618
-#: common.opt:1902 common.opt:2045 common.opt:2088 common.opt:2496
-#: common.opt:2532 common.opt:2625 common.opt:2629 common.opt:2738
-#: common.opt:2829 common.opt:2837 common.opt:2845 common.opt:2853
-#: common.opt:2954 common.opt:3010 common.opt:3098 common.opt:3258
-#: common.opt:3262 common.opt:3266 common.opt:3270
+#: fortran/lang.opt:824 c-family/c.opt:1664 c-family/c.opt:1741
+#: c-family/c.opt:1749 c-family/c.opt:2068 config/pa/pa.opt:46
+#: config/pa/pa.opt:78 config/arc/arc.opt:140 config/arc/arc.opt:296
+#: config/arc/arc.opt:308 config/arc/arc.opt:312 config/arc/arc.opt:317
+#: common.opt:635 common.opt:1158 common.opt:1162 common.opt:1166
+#: common.opt:1253 common.opt:1559 common.opt:1641 common.opt:1929
+#: common.opt:2072 common.opt:2115 common.opt:2549 common.opt:2585
+#: common.opt:2678 common.opt:2682 common.opt:2791 common.opt:2882
+#: common.opt:2890 common.opt:2898 common.opt:2906 common.opt:3007
+#: common.opt:3067 common.opt:3155 common.opt:3315 common.opt:3319
+#: common.opt:3323 common.opt:3327 common.opt:3397 common.opt:3401
+#: common.opt:3432 common.opt:3436
 #, no-c-format
 msgid "Does nothing.  Preserved for backward compatibility."
 msgstr ""
@@ -1183,39 +1205,117 @@ msgstr ""
 
 #: fortran/lang.opt:868
 #, no-c-format
-msgid "Conform to the ISO Fortran 2003 standard."
+msgid "Statically link the GCC Quad-Precision Math Library (libquadmath)."
 msgstr ""
 
 #: fortran/lang.opt:872
 #, no-c-format
-msgid "Conform to the ISO Fortran 2008 standard."
+msgid "Conform to the ISO Fortran 2003 standard."
 msgstr ""
 
 #: fortran/lang.opt:876
 #, no-c-format
-msgid "Conform to the ISO Fortran 2008 standard including TS 29113."
+msgid "Conform to the ISO Fortran 2008 standard."
 msgstr ""
 
 #: fortran/lang.opt:880
 #, no-c-format
-msgid "Conform to the ISO Fortran 2018 standard."
+msgid "Conform to the ISO Fortran 2008 standard including TS 29113."
 msgstr ""
 
 #: fortran/lang.opt:884
 #, no-c-format
-msgid "Conform to the ISO Fortran 95 standard."
+msgid "Conform to the ISO Fortran 2018 standard."
 msgstr ""
 
 #: fortran/lang.opt:888
 #, no-c-format
-msgid "Conform to nothing in particular."
+msgid "Conform to the ISO Fortran 95 standard."
 msgstr ""
 
 #: fortran/lang.opt:892
 #, no-c-format
+msgid "Conform to nothing in particular."
+msgstr ""
+
+#: fortran/lang.opt:896
+#, no-c-format
 msgid "Accept extensions to support legacy code."
 msgstr ""
 
+#: rust/lang.opt:47 rust/lang.opt:51 c-family/c.opt:1407 c-family/c.opt:1411
+#, no-c-format
+msgid "Warn when a const variable is unused."
+msgstr ""
+
+#: rust/lang.opt:55 c-family/c.opt:1399
+#, 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
+#, no-c-format
+msgid "-frust-crate=<name>             Set the crate name for the compilation"
+msgstr ""
+
+#: rust/lang.opt:63
+#, no-c-format
+msgid "Dump various Rust front end internals."
+msgstr ""
+
+#: rust/lang.opt:67
+#, no-c-format
+msgid "-frust-dump-<type>\tDump Rust frontend internal information."
+msgstr ""
+
+#: rust/lang.opt:71
+#, no-c-format
+msgid "Enable experimental compilation of Rust files at your own risk"
+msgstr ""
+
+#: rust/lang.opt:75
+#, no-c-format
+msgid "-frust-max-recursion-depth=integer"
+msgstr ""
+
+#: rust/lang.opt:79
+#, no-c-format
+msgid ""
+"-frust-mangling=[legacy|v0]     Choose which version to use for name mangling"
+msgstr ""
+
+#: rust/lang.opt:92
+#, no-c-format
+msgid "-frust-cfg=<name>             Set a config expansion option"
+msgstr ""
+
+#: rust/lang.opt:96
+#, no-c-format
+msgid ""
+"-frust-edition=[2015|2018|2021]             Choose which edition to use when "
+"compiling rust code"
+msgstr ""
+
+#: rust/lang.opt:112
+#, no-c-format
+msgid "Flag to enable embeding metadata directly into object files"
+msgstr ""
+
+#: rust/lang.opt:116
+#, no-c-format
+msgid "-frust-metadata-output=<path.rox>  Path to output crate metadata"
+msgstr ""
+
+#: rust/lang.opt:123
+#, no-c-format
+msgid ""
+"-frust-compile-until=[ast|attributecheck|expansion|nameresolution|lowering|"
+"typecheck|privacy|unsafety|const|copimlation|end]             When to stop "
+"in the pipeline when compiling Rust code"
+msgstr ""
+
 #: c-family/c.opt:182
 #, no-c-format
 msgid ""
@@ -1567,569 +1667,596 @@ msgstr ""
 
 #: c-family/c.opt:499
 #, no-c-format
+msgid ""
+"Complain about a name being declared as a class member after a previous use "
+"of the same name."
+msgstr ""
+
+#: c-family/c.opt:503
+#, no-c-format
 msgid "Warn about subscripts whose type is \"char\"."
 msgstr ""
 
-#: c-family/c.opt:503 c-family/c.opt:1520 c-family/c.opt:1524
-#: c-family/c.opt:1528 c-family/c.opt:1532 c-family/c.opt:1536
-#: c-family/c.opt:1540 c-family/c.opt:1544 c-family/c.opt:1551
-#: c-family/c.opt:1555 c-family/c.opt:1559 c-family/c.opt:1563
-#: c-family/c.opt:1567 c-family/c.opt:1571 c-family/c.opt:1575
-#: c-family/c.opt:1579 c-family/c.opt:1583 c-family/c.opt:1587
-#: c-family/c.opt:1591 c-family/c.opt:1595 c-family/c.opt:1599
-#: config/i386/i386.opt:991
+#: c-family/c.opt:507 c-family/c.opt:1561 c-family/c.opt:1565
+#: c-family/c.opt:1569 c-family/c.opt:1573 c-family/c.opt:1577
+#: c-family/c.opt:1581 c-family/c.opt:1585 c-family/c.opt:1592
+#: c-family/c.opt:1596 c-family/c.opt:1600 c-family/c.opt:1604
+#: c-family/c.opt:1608 c-family/c.opt:1612 c-family/c.opt:1616
+#: c-family/c.opt:1620 c-family/c.opt:1624 c-family/c.opt:1628
+#: c-family/c.opt:1632 c-family/c.opt:1636 c-family/c.opt:1640
+#: config/i386/i386.opt:995
 #, no-c-format
 msgid "Removed in GCC 9.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:507
+#: c-family/c.opt:511
 #, no-c-format
 msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\"."
 msgstr ""
 
-#: c-family/c.opt:511
+#: c-family/c.opt:515
 #, no-c-format
 msgid "Warn about uses of a comma operator within a subscripting expression."
 msgstr ""
 
-#: c-family/c.opt:515
+#: c-family/c.opt:519
 #, no-c-format
 msgid ""
 "Warn about possibly nested block comments, and C++ comments spanning more "
 "than one physical line."
 msgstr ""
 
-#: c-family/c.opt:519
+#: c-family/c.opt:523
 #, no-c-format
 msgid "Synonym for -Wcomment."
 msgstr ""
 
-#: c-family/c.opt:523
+#: c-family/c.opt:527
 #, no-c-format
 msgid "Warn for conditionally-supported constructs."
 msgstr ""
 
-#: c-family/c.opt:527
+#: c-family/c.opt:531
 #, no-c-format
 msgid "Warn for implicit type conversions that may change a value."
 msgstr ""
 
-#: c-family/c.opt:531
+#: c-family/c.opt:535
 #, no-c-format
 msgid "Warn for converting NULL from/to a non-pointer type."
 msgstr ""
 
-#: c-family/c.opt:539
+#: c-family/c.opt:543
 #, no-c-format
 msgid ""
 "Warn when performing class template argument deduction on a type with no "
 "deduction guides."
 msgstr ""
 
-#: c-family/c.opt:544
+#: c-family/c.opt:548
 #, no-c-format
 msgid "Warn when all constructors and destructors are private."
 msgstr ""
 
-#: c-family/c.opt:548
+#: c-family/c.opt:552
 #, no-c-format
 msgid "Warn about dangling else."
 msgstr ""
 
-#: c-family/c.opt:552 c-family/c.opt:556
+#: c-family/c.opt:556 c-family/c.opt:560
 #, no-c-format
 msgid "Warn for uses of pointers to auto variables whose lifetime has ended."
 msgstr ""
 
-#: c-family/c.opt:560
+#: c-family/c.opt:564
+#, no-c-format
+msgid "Warn when a reference is bound to a temporary whose lifetime has ended."
+msgstr ""
+
+#: c-family/c.opt:568
 #, no-c-format
 msgid "Warn about __TIME__, __DATE__ and __TIMESTAMP__ usage."
 msgstr ""
 
-#: c-family/c.opt:564
+#: c-family/c.opt:572
 #, no-c-format
 msgid "Warn when a declaration is found after a statement."
 msgstr ""
 
-#: c-family/c.opt:568
+#: c-family/c.opt:576
 #, no-c-format
 msgid "Warn when deleting a pointer to incomplete type."
 msgstr ""
 
-#: c-family/c.opt:572
+#: c-family/c.opt:580
 #, no-c-format
 msgid "Warn about deleting polymorphic objects with non-virtual destructors."
 msgstr ""
 
-#: c-family/c.opt:580
+#: c-family/c.opt:588
 #, 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:585
+#: c-family/c.opt:593
 #, 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:590
+#: c-family/c.opt:598
 #, no-c-format
 msgid ""
 "Warn about deprecated arithmetic conversions on operands of enumeration "
 "types."
 msgstr ""
 
-#: c-family/c.opt:594
+#: c-family/c.opt:602
 #, 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:599
+#: c-family/c.opt:607
 #, no-c-format
 msgid ""
 "Warn about positional initialization of structs requiring designated "
 "initializers."
 msgstr ""
 
-#: c-family/c.opt:603
+#: c-family/c.opt:611
 #, no-c-format
 msgid "Warn if qualifiers on arrays which are pointer targets are discarded."
 msgstr ""
 
-#: c-family/c.opt:607
+#: c-family/c.opt:615
 #, no-c-format
 msgid "Warn if type qualifiers on pointers are discarded."
 msgstr ""
 
-#: c-family/c.opt:611
+#: c-family/c.opt:619
 #, no-c-format
 msgid "Warn about compile-time integer division by zero."
 msgstr ""
 
-#: c-family/c.opt:615
+#: c-family/c.opt:623
 #, no-c-format
 msgid "Warn about duplicated branches in if-else statements."
 msgstr ""
 
-#: c-family/c.opt:619
+#: c-family/c.opt:627
 #, no-c-format
 msgid "Warn about duplicated conditions in an if-else-if chain."
 msgstr ""
 
-#: c-family/c.opt:623
+#: c-family/c.opt:631
 #, no-c-format
 msgid "Warn about violations of Effective C++ style rules."
 msgstr ""
 
-#: c-family/c.opt:627
+#: c-family/c.opt:635
 #, no-c-format
 msgid "Warn about an empty body in an if or else statement."
 msgstr ""
 
-#: c-family/c.opt:631
+#: c-family/c.opt:639
 #, no-c-format
 msgid "Warn about stray tokens after #else and #endif."
 msgstr ""
 
-#: c-family/c.opt:635
+#: c-family/c.opt:643
 #, no-c-format
 msgid "Warn about comparison of different enum types."
 msgstr ""
 
-#: c-family/c.opt:639
+#: c-family/c.opt:647
 #, no-c-format
 msgid "Warn about implicit conversion of enum types."
 msgstr ""
 
-#: c-family/c.opt:647
+#: c-family/c.opt:651
+#, no-c-format
+msgid "Warn about enum/integer type mismatches."
+msgstr ""
+
+#: c-family/c.opt:659
 #, no-c-format
 msgid ""
 "This switch is deprecated; use -Werror=implicit-function-declaration instead."
 msgstr ""
 
-#: c-family/c.opt:651
+#: c-family/c.opt:663
 #, no-c-format
 msgid "Warn when an exception handler is shadowed by another handler."
 msgstr ""
 
-#: c-family/c.opt:659
+#: c-family/c.opt:671
 #, no-c-format
 msgid "Warn about semicolon after in-class function definition."
 msgstr ""
 
-#: c-family/c.opt:663
+#: c-family/c.opt:675
 #, no-c-format
 msgid ""
 "Warn for implicit type conversions that cause loss of floating point "
 "precision."
 msgstr ""
 
-#: c-family/c.opt:667
+#: c-family/c.opt:679
 #, no-c-format
 msgid "Warn if testing floating point numbers for equality."
 msgstr ""
 
-#: c-family/c.opt:671 c-family/c.opt:717
+#: c-family/c.opt:683 c-family/c.opt:729
 #, no-c-format
 msgid "Warn about printf/scanf/strftime/strfmon format string anomalies."
 msgstr ""
 
-#: c-family/c.opt:675
+#: c-family/c.opt:687
 #, no-c-format
 msgid "Warn about format strings that contain NUL bytes."
 msgstr ""
 
-#: c-family/c.opt:679
+#: c-family/c.opt:691
 #, no-c-format
 msgid "Warn about GCC format strings with strings unsuitable for diagnostics."
 msgstr ""
 
-#: c-family/c.opt:683
+#: c-family/c.opt:695
 #, no-c-format
 msgid "Warn if passing too many arguments to a function for its format string."
 msgstr ""
 
-#: c-family/c.opt:687
+#: c-family/c.opt:699
 #, no-c-format
 msgid "Warn about format strings that are not literals."
 msgstr ""
 
-#: c-family/c.opt:691
+#: c-family/c.opt:703
 #, 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:696
+#: c-family/c.opt:708
 #, no-c-format
 msgid "Warn about possible security problems with format functions."
 msgstr ""
 
-#: c-family/c.opt:700
+#: c-family/c.opt:712
 #, no-c-format
 msgid "Warn about sign differences with format functions."
 msgstr ""
 
-#: c-family/c.opt:704
+#: c-family/c.opt:716
 #, 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:709
+#: c-family/c.opt:721
 #, no-c-format
 msgid "Warn about strftime formats yielding 2-digit years."
 msgstr ""
 
-#: c-family/c.opt:713
+#: c-family/c.opt:725
 #, no-c-format
 msgid "Warn about zero-length formats."
 msgstr ""
 
-#: c-family/c.opt:721
+#: c-family/c.opt:733
 #, 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:726
+#: c-family/c.opt:738
 #, no-c-format
 msgid ""
 "Warn about calls to snprintf and similar functions that truncate output."
 msgstr ""
 
-#: c-family/c.opt:730
+#: c-family/c.opt:742
 #, no-c-format
 msgid "Warn when the field in a struct is not aligned."
 msgstr ""
 
-#: c-family/c.opt:734
+#: c-family/c.opt:746
 #, no-c-format
 msgid "Warn whenever type qualifiers are ignored."
 msgstr ""
 
-#: c-family/c.opt:738
+#: c-family/c.opt:750
 #, no-c-format
 msgid "Warn whenever attributes are ignored."
 msgstr ""
 
-#: c-family/c.opt:742
+#: c-family/c.opt:754
 #, no-c-format
 msgid "Warn when a base is inaccessible in derived due to ambiguity."
 msgstr ""
 
-#: c-family/c.opt:746
+#: c-family/c.opt:758
 #, no-c-format
 msgid ""
 "Warn when there is a conversion between pointers that have incompatible "
 "types."
 msgstr ""
 
-#: c-family/c.opt:750 common.opt:649
+#: c-family/c.opt:762 common.opt:646
 #, no-c-format
 msgid "Warn for infinitely recursive calls."
 msgstr ""
 
-#: c-family/c.opt:754
+#: c-family/c.opt:766
 #, no-c-format
 msgid "Warn when the address of packed member of struct or union is taken."
 msgstr ""
 
-#: c-family/c.opt:758
+#: c-family/c.opt:770
 #, no-c-format
 msgid "Warn about variables which are initialized to themselves."
 msgstr ""
 
-#: c-family/c.opt:762
+#: c-family/c.opt:774
 #, no-c-format
 msgid ""
 "Warn about uses of std::initializer_list that can result in dangling "
 "pointers."
 msgstr ""
 
-#: c-family/c.opt:766
+#: c-family/c.opt:778
 #, no-c-format
 msgid ""
 "Warn about nonsensical values of --param destructive-interference-size or "
 "constructive-interference-size."
 msgstr ""
 
-#: c-family/c.opt:771
+#: c-family/c.opt:783
 #, no-c-format
 msgid "Warn about implicit declarations."
 msgstr ""
 
-#: c-family/c.opt:779
+#: c-family/c.opt:791
 #, no-c-format
 msgid "Warn about implicit conversions from \"float\" to \"double\"."
 msgstr ""
 
-#: c-family/c.opt:783
+#: c-family/c.opt:795
 #, no-c-format
 msgid "Warn if \"defined\" is used outside #if."
 msgstr ""
 
-#: c-family/c.opt:787
+#: c-family/c.opt:799
 #, no-c-format
 msgid "Warn about implicit function declarations."
 msgstr ""
 
-#: c-family/c.opt:791
+#: c-family/c.opt:803
 #, no-c-format
 msgid "Warn when a declaration does not specify a type."
 msgstr ""
 
-#: c-family/c.opt:798
+#: c-family/c.opt:810
 #, no-c-format
 msgid ""
 "Warn about C++11 inheriting constructors when the base has a variadic "
 "constructor."
 msgstr ""
 
-#: c-family/c.opt:802
+#: c-family/c.opt:814
 #, no-c-format
 msgid ""
 "Warn about incompatible integer to pointer and pointer to integer "
 "conversions."
 msgstr ""
 
-#: c-family/c.opt:806
+#: c-family/c.opt:818
 #, no-c-format
 msgid "Warn for suspicious integer expressions in boolean context."
 msgstr ""
 
-#: c-family/c.opt:810
+#: c-family/c.opt:822
 #, 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:814
+#: c-family/c.opt:826
+#, no-c-format
+msgid "Warn when a function never produces a constant expression."
+msgstr ""
+
+#: c-family/c.opt:830
 #, no-c-format
 msgid "Warn about invalid uses of the \"offsetof\" macro."
 msgstr ""
 
-#: c-family/c.opt:818
+#: c-family/c.opt:834
 #, no-c-format
 msgid "Warn about PCH files that are found but not used."
 msgstr ""
 
-#: c-family/c.opt:822
+#: c-family/c.opt:838
+#, no-c-format
+msgid "Warn about invalid UTF-8 characters."
+msgstr ""
+
+#: c-family/c.opt:842
 #, no-c-format
 msgid "Warn when a jump misses a variable initialization."
 msgstr ""
 
-#: c-family/c.opt:826
+#: c-family/c.opt:846
 #, 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:830
+#: c-family/c.opt:850
 #, no-c-format
 msgid ""
 "Warn when a logical operator is suspiciously always evaluating to true or "
 "false."
 msgstr ""
 
-#: c-family/c.opt:834
+#: c-family/c.opt:854
 #, no-c-format
 msgid ""
 "Warn when logical not is used on the left hand side operand of a comparison."
 msgstr ""
 
-#: c-family/c.opt:838
+#: c-family/c.opt:858
 #, no-c-format
 msgid "Do not warn about using \"long long\" when -pedantic."
 msgstr ""
 
-#: c-family/c.opt:842
+#: c-family/c.opt:862
 #, no-c-format
 msgid "Warn about suspicious declarations of \"main\"."
 msgstr ""
 
-#: c-family/c.opt:850
+#: c-family/c.opt:870
 #, 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:854
+#: c-family/c.opt:874
 #, 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:858
+#: c-family/c.opt:878
 #, no-c-format
 msgid ""
 "Warn when the indentation of the code does not reflect the block structure."
 msgstr ""
 
-#: c-family/c.opt:862
+#: c-family/c.opt:882
 #, no-c-format
 msgid ""
 "Warn for deallocation calls with arguments returned from mismatched "
 "allocation functions."
 msgstr ""
 
-#: c-family/c.opt:867
+#: c-family/c.opt:887
 #, 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:872
+#: c-family/c.opt:892
 #, no-c-format
 msgid ""
 "Warn when a class is redeclared or referenced using a mismatched class-key."
 msgstr ""
 
-#: c-family/c.opt:876
+#: c-family/c.opt:896
 #, no-c-format
 msgid "Warn about possibly missing braces around initializers."
 msgstr ""
 
-#: c-family/c.opt:880
+#: c-family/c.opt:900
 #, no-c-format
 msgid "Warn about global functions without previous declarations."
 msgstr ""
 
-#: c-family/c.opt:884
+#: c-family/c.opt:904
 #, no-c-format
 msgid "Warn about missing fields in struct initializers."
 msgstr ""
 
-#: c-family/c.opt:888
+#: c-family/c.opt:908
 #, no-c-format
 msgid "Warn about likely missing requires keyword."
 msgstr ""
 
-#: c-family/c.opt:892
+#: c-family/c.opt:912
 #, 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:896
+#: c-family/c.opt:916
 #, 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:900
+#: c-family/c.opt:920
 #, no-c-format
 msgid "Warn on direct multiple inheritance."
 msgstr ""
 
-#: c-family/c.opt:904
+#: c-family/c.opt:924
 #, no-c-format
 msgid "Warn on namespace definition."
 msgstr ""
 
-#: c-family/c.opt:908
+#: c-family/c.opt:928
 #, no-c-format
 msgid "Warn when fields in a struct with the packed attribute are misaligned."
 msgstr ""
 
-#: c-family/c.opt:912
+#: c-family/c.opt:932
 #, no-c-format
 msgid "Warn when a range-based for-loop is creating unnecessary copies."
 msgstr ""
 
-#: c-family/c.opt:916
+#: c-family/c.opt:936
 #, no-c-format
 msgid ""
 "Warn when a class or enumerated type is referenced using a redundant class-"
 "key."
 msgstr ""
 
-#: c-family/c.opt:920
+#: c-family/c.opt:940
 #, no-c-format
 msgid "Warn about missing sized deallocation functions."
 msgstr ""
 
-#: c-family/c.opt:924
+#: c-family/c.opt:944
 #, no-c-format
 msgid ""
 "Warn about suspicious divisions of two sizeof expressions that don't work "
 "correctly with pointers."
 msgstr ""
 
-#: c-family/c.opt:928
+#: c-family/c.opt:948
 #, 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:933
+#: c-family/c.opt:953
 #, no-c-format
 msgid ""
 "Warn about suspicious length parameters to certain string functions if the "
 "argument uses sizeof."
 msgstr ""
 
-#: c-family/c.opt:937
+#: c-family/c.opt:957
 #, no-c-format
 msgid "Warn when sizeof is applied on a parameter declared as an array."
 msgstr ""
 
-#: c-family/c.opt:941
+#: c-family/c.opt:961
 #, no-c-format
 msgid ""
 "Warn about calls to strcmp and strncmp used in equality expressions that are "
@@ -2137,501 +2264,506 @@ msgid ""
 "argument."
 msgstr ""
 
-#: c-family/c.opt:947
+#: c-family/c.opt:967
 #, no-c-format
 msgid ""
 "Warn about buffer overflow in string manipulation functions like memcpy and "
 "strcpy."
 msgstr ""
 
-#: c-family/c.opt:952
+#: c-family/c.opt:972
 #, 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:957
+#: c-family/c.opt:977
 #, 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:961
+#: c-family/c.opt:981
 #, no-c-format
 msgid ""
 "Warn about truncation in string manipulation functions like strncat and "
 "strncpy."
 msgstr ""
 
-#: c-family/c.opt:965
+#: c-family/c.opt:985
+#, no-c-format
+msgid ""
+"Warn about inproper usages of flexible array members according to the level "
+"of -fstrict-flex-arrays."
+msgstr ""
+
+#: c-family/c.opt:990
 #, no-c-format
 msgid "Warn about functions which might be candidates for format attributes."
 msgstr ""
 
-#: c-family/c.opt:969
+#: c-family/c.opt:994
 #, 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:974
+#: c-family/c.opt:999
 #, no-c-format
 msgid "Warn about enumerated switches, with no default, missing a case."
 msgstr ""
 
-#: c-family/c.opt:978
+#: c-family/c.opt:1003
 #, no-c-format
 msgid "Warn about enumerated switches missing a \"default:\" statement."
 msgstr ""
 
-#: c-family/c.opt:982
+#: c-family/c.opt:1007
 #, no-c-format
 msgid "Warn about all enumerated switches missing a specific case."
 msgstr ""
 
-#: c-family/c.opt:986
+#: c-family/c.opt:1011
 #, no-c-format
 msgid "Warn about switches with boolean controlling expression."
 msgstr ""
 
-#: c-family/c.opt:990
+#: c-family/c.opt:1015
 #, no-c-format
 msgid "Warn about switch values that are outside of the switch's type range."
 msgstr ""
 
-#: c-family/c.opt:994
+#: c-family/c.opt:1019
 #, no-c-format
 msgid "Warn on primary template declaration."
 msgstr ""
 
-#: c-family/c.opt:998
+#: c-family/c.opt:1023
 #, 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:1007
+#: c-family/c.opt:1032
 #, no-c-format
 msgid "Warn about user-specified include directories that do not exist."
 msgstr ""
 
-#: c-family/c.opt:1011
+#: c-family/c.opt:1036
 #, no-c-format
 msgid ""
 "Warn about function parameters declared without a type specifier in K&R-"
 "style functions."
 msgstr ""
 
-#: c-family/c.opt:1015
+#: c-family/c.opt:1040
 #, no-c-format
 msgid "Warn about global functions without prototypes."
 msgstr ""
 
-#: c-family/c.opt:1022
+#: c-family/c.opt:1047
 #, no-c-format
 msgid "Warn about use of multi-character character constants."
 msgstr ""
 
-#: c-family/c.opt:1026
+#: c-family/c.opt:1051
 #, no-c-format
 msgid ""
 "Warn about narrowing conversions within { } that are ill-formed in C++11."
 msgstr ""
 
-#: c-family/c.opt:1030
+#: c-family/c.opt:1055
 #, no-c-format
 msgid "Warn about \"extern\" declarations not at file scope."
 msgstr ""
 
-#: c-family/c.opt:1034
+#: c-family/c.opt:1059
 #, 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:1038
+#: c-family/c.opt:1063
 #, no-c-format
 msgid ""
 "Warn if C++17 noexcept function type will change the mangled name of a "
 "symbol."
 msgstr ""
 
-#: c-family/c.opt:1042
+#: c-family/c.opt:1067
 #, no-c-format
 msgid ""
 "Warn when non-templatized friend functions are declared within a template."
 msgstr ""
 
-#: c-family/c.opt:1046
+#: c-family/c.opt:1071
 #, 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:1050
+#: c-family/c.opt:1075
 #, no-c-format
 msgid "Warn for unsafe raw memory writes to objects of class types."
 msgstr ""
 
-#: c-family/c.opt:1054
+#: c-family/c.opt:1079
 #, no-c-format
 msgid "Warn about non-virtual destructors."
 msgstr ""
 
-#: c-family/c.opt:1058
+#: c-family/c.opt:1083
 #, no-c-format
 msgid ""
 "Warn about NULL being passed to argument slots marked as requiring non-NULL."
 msgstr ""
 
-#: c-family/c.opt:1074
+#: c-family/c.opt:1099
 #, no-c-format
 msgid ""
 "-Wnormalized=[none|id|nfc|nfkc]\tWarn about non-normalized Unicode strings."
 msgstr ""
 
-#: c-family/c.opt:1097
+#: c-family/c.opt:1122
 #, 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:1102
+#: c-family/c.opt:1127
 #, no-c-format
 msgid "Warn if a C-style cast is used in a program."
 msgstr ""
 
-#: c-family/c.opt:1106
+#: c-family/c.opt:1131
 #, no-c-format
 msgid "Warn for obsolescent usage in a declaration."
 msgstr ""
 
-#: c-family/c.opt:1110
+#: c-family/c.opt:1135
 #, no-c-format
 msgid "Warn if an old-style parameter definition is used."
 msgstr ""
 
-#: c-family/c.opt:1114
+#: c-family/c.opt:1139
 #, no-c-format
 msgid ""
 "Warn about potentially suboptimal choices related to OpenACC parallelism."
 msgstr ""
 
-#: c-family/c.opt:1118
+#: c-family/c.opt:1143
 #, no-c-format
 msgid "Warn if a simd directive is overridden by the vectorizer cost model."
 msgstr ""
 
-#: c-family/c.opt:1122
+#: c-family/c.opt:1147
 #, no-c-format
 msgid ""
 "Warn if a string is longer than the maximum portable length specified by the "
 "standard."
 msgstr ""
 
-#: c-family/c.opt:1126
+#: c-family/c.opt:1151 c-family/c.opt:1155
 #, no-c-format
 msgid "Warn about overloaded virtual function names."
 msgstr ""
 
-#: c-family/c.opt:1130
+#: c-family/c.opt:1159
 #, no-c-format
 msgid "Warn about overriding initializers without side effects."
 msgstr ""
 
-#: c-family/c.opt:1134
+#: c-family/c.opt:1163
 #, no-c-format
 msgid "Warn about overriding initializers with side effects."
 msgstr ""
 
-#: c-family/c.opt:1138
+#: c-family/c.opt:1167
 #, no-c-format
 msgid "Warn about packed bit-fields whose offset changed in GCC 4.4."
 msgstr ""
 
-#: c-family/c.opt:1142
+#: c-family/c.opt:1171
 #, no-c-format
 msgid "Warn about possibly missing parentheses."
 msgstr ""
 
-#: c-family/c.opt:1150
+#: c-family/c.opt:1179
 #, 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:1154
+#: c-family/c.opt:1183
 #, no-c-format
 msgid "Warn when converting the type of pointers to member functions."
 msgstr ""
 
-#: c-family/c.opt:1158
+#: c-family/c.opt:1187
 #, no-c-format
 msgid "Warn about function pointer arithmetic."
 msgstr ""
 
-#: c-family/c.opt:1162
+#: c-family/c.opt:1191
 #, no-c-format
 msgid "Warn when a pointer differs in signedness in an assignment."
 msgstr ""
 
-#: c-family/c.opt:1166
+#: c-family/c.opt:1195
 #, no-c-format
 msgid "Warn when a pointer is compared with a zero character constant."
 msgstr ""
 
-#: c-family/c.opt:1170
+#: c-family/c.opt:1199
 #, no-c-format
 msgid "Warn when a pointer is cast to an integer of a different size."
 msgstr ""
 
-#: c-family/c.opt:1174
+#: c-family/c.opt:1203
 #, no-c-format
 msgid "Warn about misuses of pragmas."
 msgstr ""
 
-#: c-family/c.opt:1178
+#: c-family/c.opt:1207
 #, no-c-format
 msgid ""
 "Warn if constructor or destructors with priorities from 0 to 100 are used."
 msgstr ""
 
-#: c-family/c.opt:1182
+#: c-family/c.opt:1211
 #, no-c-format
 msgid ""
 "Warn if a property for an Objective-C object has no assign semantics "
 "specified."
 msgstr ""
 
-#: c-family/c.opt:1186
+#: c-family/c.opt:1215
 #, no-c-format
 msgid "Warn if inherited methods are unimplemented."
 msgstr ""
 
-#: c-family/c.opt:1190 c-family/c.opt:1194
+#: c-family/c.opt:1219 c-family/c.opt:1223
 #, no-c-format
 msgid "Warn for placement new expressions with undefined behavior."
 msgstr ""
 
-#: c-family/c.opt:1198
+#: c-family/c.opt:1227
 #, no-c-format
 msgid "Warn about multiple declarations of the same object."
 msgstr ""
 
-#: c-family/c.opt:1202
+#: c-family/c.opt:1231
 #, no-c-format
 msgid "Warn about redundant calls to std::move."
 msgstr ""
 
-#: c-family/c.opt:1206
+#: c-family/c.opt:1235
 #, no-c-format
 msgid "Warn about uses of register storage specifier."
 msgstr ""
 
-#: c-family/c.opt:1210
+#: c-family/c.opt:1239
 #, no-c-format
 msgid "Warn when the compiler reorders code."
 msgstr ""
 
-#: c-family/c.opt:1214
+#: c-family/c.opt:1243
 #, 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:1218
+#: c-family/c.opt:1247
 #, no-c-format
 msgid "Warn on suspicious constructs involving reverse scalar storage order."
 msgstr ""
 
-#: c-family/c.opt:1222
+#: c-family/c.opt:1251
 #, no-c-format
 msgid "Warn if a selector has multiple methods."
 msgstr ""
 
-#: c-family/c.opt:1226
+#: c-family/c.opt:1255
+#, no-c-format
+msgid "Warn when a value is moved to itself with std::move."
+msgstr ""
+
+#: c-family/c.opt:1259
 #, no-c-format
 msgid "Warn about possible violations of sequence point rules."
 msgstr ""
 
-#: c-family/c.opt:1230
+#: c-family/c.opt:1263
 #, no-c-format
 msgid "Warn if a local declaration hides an instance variable."
 msgstr ""
 
-#: c-family/c.opt:1234 c-family/c.opt:1238
+#: c-family/c.opt:1267 c-family/c.opt:1271
 #, no-c-format
 msgid "Warn if left shift of a signed value overflows."
 msgstr ""
 
-#: c-family/c.opt:1242
+#: c-family/c.opt:1275
 #, no-c-format
 msgid "Warn if shift count is negative."
 msgstr ""
 
-#: c-family/c.opt:1246
+#: c-family/c.opt:1279
 #, no-c-format
 msgid "Warn if shift count >= width of type."
 msgstr ""
 
-#: c-family/c.opt:1250
+#: c-family/c.opt:1283
 #, no-c-format
 msgid "Warn if left shifting a negative value."
 msgstr ""
 
-#: c-family/c.opt:1254
+#: c-family/c.opt:1287
 #, 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:1258
+#: c-family/c.opt:1291
 #, no-c-format
 msgid "Warn about signed-unsigned comparisons."
 msgstr ""
 
-#: c-family/c.opt:1266
+#: c-family/c.opt:1299
 #, no-c-format
 msgid ""
 "Warn for implicit type conversions between signed and unsigned integers."
 msgstr ""
 
-#: c-family/c.opt:1270
+#: c-family/c.opt:1303
 #, no-c-format
 msgid "Warn when overload promotes from unsigned to signed."
 msgstr ""
 
-#: c-family/c.opt:1274
+#: c-family/c.opt:1307
 #, no-c-format
 msgid "Warn about uncasted NULL used as sentinel."
 msgstr ""
 
-#: c-family/c.opt:1278
+#: c-family/c.opt:1311
 #, no-c-format
 msgid "Warn about unprototyped function declarations."
 msgstr ""
 
-#: c-family/c.opt:1290
+#: c-family/c.opt:1323
 #, no-c-format
 msgid "Warn if type signatures of candidate methods do not match exactly."
 msgstr ""
 
-#: c-family/c.opt:1294
+#: c-family/c.opt:1327
 #, 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:1298
+#: c-family/c.opt:1331
 #, no-c-format
 msgid "Deprecated.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:1306
+#: c-family/c.opt:1339
 #, no-c-format
 msgid "Warn if a comparison always evaluates to true or false."
 msgstr ""
 
-#: c-family/c.opt:1310
+#: c-family/c.opt:1343
 #, no-c-format
 msgid "Warn if a throw expression will always result in a call to terminate()."
 msgstr ""
 
-#: c-family/c.opt:1314
+#: c-family/c.opt:1347
 #, no-c-format
 msgid "Warn about features not present in traditional C."
 msgstr ""
 
-#: c-family/c.opt:1318
+#: c-family/c.opt:1351
 #, 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:1322
+#: c-family/c.opt:1355
 #, no-c-format
 msgid ""
 "Warn if trigraphs are encountered that might affect the meaning of the "
 "program."
 msgstr ""
 
-#: c-family/c.opt:1326
+#: c-family/c.opt:1359
 #, no-c-format
 msgid "Warn about @selector()s without previously declared methods."
 msgstr ""
 
-#: c-family/c.opt:1330
+#: c-family/c.opt:1363
 #, no-c-format
 msgid "Warn if an undefined macro is used in an #if directive."
 msgstr ""
 
-#: c-family/c.opt:1342
+#: c-family/c.opt:1367
+#, no-c-format
+msgid "Warn about invalid forms of delimited or named escape sequences."
+msgstr ""
+
+#: c-family/c.opt:1379
 #, no-c-format
 msgid "Warn about unrecognized pragmas."
 msgstr ""
 
-#: c-family/c.opt:1346
+#: c-family/c.opt:1383
 #, no-c-format
 msgid "Warn about unsuffixed float constants."
 msgstr ""
 
-#: c-family/c.opt:1354
+#: c-family/c.opt:1391
 #, no-c-format
 msgid "Warn when typedefs locally defined in a function are not used."
 msgstr ""
 
-#: c-family/c.opt:1358
+#: c-family/c.opt:1395
 #, no-c-format
 msgid "Warn about macros defined in the main file that are not used."
 msgstr ""
 
-#: c-family/c.opt:1362
-#, no-c-format
-msgid ""
-"Warn if a caller of a function, marked with attribute warn_unused_result, "
-"does not use its return value."
-msgstr ""
-
-#: c-family/c.opt:1370 c-family/c.opt:1374
-#, no-c-format
-msgid "Warn when a const variable is unused."
-msgstr ""
-
-#: c-family/c.opt:1386
+#: c-family/c.opt:1423
 #, no-c-format
 msgid "Warn about using variadic macros."
 msgstr ""
 
-#: c-family/c.opt:1390
+#: c-family/c.opt:1427
 #, no-c-format
 msgid ""
 "Warn about questionable usage of the macros used to retrieve variable "
 "arguments."
 msgstr ""
 
-#: c-family/c.opt:1394
+#: c-family/c.opt:1431
 #, no-c-format
 msgid "Warn about the most vexing parse syntactic ambiguity."
 msgstr ""
 
-#: c-family/c.opt:1398
+#: c-family/c.opt:1435
 #, no-c-format
 msgid "Warn if a variable length array is used."
 msgstr ""
 
-#: c-family/c.opt:1402
+#: c-family/c.opt:1439
 #, no-c-format
 msgid ""
 "-Wvla-larger-than=<number>\tWarn on unbounded uses of variable-length "
@@ -2639,39 +2771,39 @@ msgid ""
 "larger than <number> bytes."
 msgstr ""
 
-#: c-family/c.opt:1408
+#: c-family/c.opt:1445
 #, no-c-format
 msgid ""
 "Disable Wvla-larger-than= warning.  Equivalent to Wvla-larger-"
 "than=<SIZE_MAX> or larger."
 msgstr ""
 
-#: c-family/c.opt:1412
+#: c-family/c.opt:1449
 #, no-c-format
 msgid "Warn about mismatched declarations of VLA parameters."
 msgstr ""
 
-#: c-family/c.opt:1416
+#: c-family/c.opt:1453
 #, no-c-format
 msgid "Warn about deprecated uses of volatile qualifier."
 msgstr ""
 
-#: c-family/c.opt:1420
+#: c-family/c.opt:1457
 #, no-c-format
 msgid "Warn when a register variable is declared volatile."
 msgstr ""
 
-#: c-family/c.opt:1424
+#: c-family/c.opt:1461
 #, no-c-format
 msgid "Warn on direct virtual inheritance."
 msgstr ""
 
-#: c-family/c.opt:1428
+#: c-family/c.opt:1465
 #, no-c-format
 msgid "Warn if a virtual base has a non-trivial move assignment operator."
 msgstr ""
 
-#: c-family/c.opt:1432
+#: c-family/c.opt:1469
 #, no-c-format
 msgid ""
 "In C++, nonzero means warn about deprecated conversion from string literals "
@@ -2679,988 +2811,1053 @@ msgid ""
 "not deprecated by the ISO C standard."
 msgstr ""
 
-#: c-family/c.opt:1436
+#: c-family/c.opt:1473
+#, no-c-format
+msgid ""
+"Warn about xor operators where it appears the user meant exponentiation."
+msgstr ""
+
+#: c-family/c.opt:1477
 #, no-c-format
 msgid "Warn when a literal '0' is used as null pointer."
 msgstr ""
 
-#: c-family/c.opt:1440
+#: c-family/c.opt:1481
 #, no-c-format
 msgid "Warn about useless casts."
 msgstr ""
 
-#: c-family/c.opt:1444
+#: c-family/c.opt:1485
 #, 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:1448
+#: c-family/c.opt:1489
 #, no-c-format
 msgid ""
 "Warn when a declaration has duplicate const, volatile, restrict or _Atomic "
 "specifier."
 msgstr ""
 
-#: c-family/c.opt:1452
+#: c-family/c.opt:1493
 #, no-c-format
 msgid ""
 "Warn when an argument passed to a restrict-qualified parameter aliases with "
 "another argument."
 msgstr ""
 
-#: c-family/c.opt:1457
+#: c-family/c.opt:1498
 #, no-c-format
 msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)."
 msgstr ""
 
-#: c-family/c.opt:1465
+#: c-family/c.opt:1506
 #, no-c-format
 msgid ""
 "The version of the C++ ABI used for -Wabi warnings and link compatibility "
 "aliases."
 msgstr ""
 
-#: c-family/c.opt:1469
+#: c-family/c.opt:1510
 #, no-c-format
 msgid "Enforce class member access control semantics."
 msgstr ""
 
-#: c-family/c.opt:1473
+#: c-family/c.opt:1514
 #, no-c-format
 msgid "-fada-spec-parent=unit\tDump Ada specs as child units of given parent."
 msgstr ""
 
-#: c-family/c.opt:1477
+#: c-family/c.opt:1518
 #, no-c-format
 msgid "Support C++17 allocation of over-aligned types."
 msgstr ""
 
-#: c-family/c.opt:1481
+#: c-family/c.opt:1522
 #, no-c-format
 msgid ""
 "-faligned-new=<N>\tUse C++17 over-aligned type allocation for alignments "
 "greater than N."
 msgstr ""
 
-#: c-family/c.opt:1488
-#, no-c-format
-msgid "Allow variadic functions without named parameter."
-msgstr ""
-
-#: c-family/c.opt:1492 c-family/c.opt:1764 c-family/c.opt:2151
-#: c-family/c.opt:2155 c-family/c.opt:2171
+#: c-family/c.opt:1533 c-family/c.opt:1846 c-family/c.opt:2240
+#: c-family/c.opt:2244 c-family/c.opt:2260
 #, no-c-format
 msgid "No longer supported."
 msgstr ""
 
-#: c-family/c.opt:1496
+#: c-family/c.opt:1537
 #, no-c-format
 msgid "Recognize the \"asm\" keyword."
 msgstr ""
 
-#: c-family/c.opt:1504
+#: c-family/c.opt:1545
 #, no-c-format
 msgid "Recognize built-in functions."
 msgstr ""
 
-#: c-family/c.opt:1511
+#: c-family/c.opt:1552
 #, no-c-format
 msgid "Where shorter, use canonicalized paths to systems headers."
 msgstr ""
 
-#: c-family/c.opt:1515
+#: c-family/c.opt:1556
 #, 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:1603
+#: c-family/c.opt:1644
 #, no-c-format
 msgid "Removed in GCC 8.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:1607
+#: c-family/c.opt:1648
 #, no-c-format
 msgid "Enable support for C++ concepts."
 msgstr ""
 
-#: c-family/c.opt:1611
+#: c-family/c.opt:1652
 #, no-c-format
 msgid "Enable certain features present in the Concepts TS."
 msgstr ""
 
-#: c-family/c.opt:1615
+#: c-family/c.opt:1656
 #, no-c-format
 msgid ""
 "Specify maximum error replay depth during recursive diagnosis of a "
 "constraint satisfaction failure."
 msgstr ""
 
-#: c-family/c.opt:1619
+#: c-family/c.opt:1660
 #, no-c-format
 msgid "Allow the arguments of the '?' operator to have different types."
 msgstr ""
 
-#: c-family/c.opt:1627
+#: c-family/c.opt:1668
 #, no-c-format
 msgid "-fconst-string-class=<name>\tUse class <name> for constant strings."
 msgstr ""
 
-#: c-family/c.opt:1631
+#: c-family/c.opt:1672
 #, no-c-format
 msgid "-fconstexpr-depth=<number>\tSpecify maximum constexpr recursion depth."
 msgstr ""
 
-#: c-family/c.opt:1635
+#: c-family/c.opt:1676
 #, no-c-format
 msgid ""
 "-fconstexpr-cache-depth=<number>\tSpecify maximum constexpr recursion cache "
 "depth."
 msgstr ""
 
-#: c-family/c.opt:1639
+#: c-family/c.opt:1680
 #, no-c-format
 msgid "Allow IEC559 floating point exceptions in constant expressions."
 msgstr ""
 
-#: c-family/c.opt:1643
+#: c-family/c.opt:1684
 #, no-c-format
 msgid ""
 "-fconstexpr-loop-limit=<number>\tSpecify maximum constexpr loop iteration "
 "count."
 msgstr ""
 
-#: c-family/c.opt:1647
+#: c-family/c.opt:1688
 #, no-c-format
 msgid ""
 "-fconstexpr-ops-limit=<number>\tSpecify maximum number of constexpr "
 "operations during a single constexpr evaluation."
 msgstr ""
 
-#: c-family/c.opt:1651
+#: c-family/c.opt:1692
+#, no-c-format
+msgid "Enable certain features present drafts of C++ Contracts."
+msgstr ""
+
+#: c-family/c.opt:1705
+#, 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:1709
+#, no-c-format
+msgid ""
+"-fcontract-build-level=[off|default|audit]\tSpecify max contract level to "
+"generate runtime checks for."
+msgstr ""
+
+#: c-family/c.opt:1713
+#, 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:1717
+#, no-c-format
+msgid ""
+"-fcontract-mode=[on|off]\tEnable or disable all contract facilities (default "
+"on)."
+msgstr ""
+
+#: c-family/c.opt:1721
+#, no-c-format
+msgid ""
+"-fcontract-continuation-mode=[on|off]\tEnable or disable contract "
+"continuation mode (default off)."
+msgstr ""
+
+#: c-family/c.opt:1725
+#, no-c-format
+msgid ""
+"-fcontract-role=<name>:<semantics>\tSpecify the semantics for all levels in "
+"a role (default, review), or a custom contract role with given semantics "
+"(ex: opt:assume,assume,assume)."
+msgstr ""
+
+#: c-family/c.opt:1729
+#, no-c-format
+msgid ""
+"-fcontract-semantic=<level>:<semantic>\tSpecify the concrete semantics for "
+"level."
+msgstr ""
+
+#: c-family/c.opt:1733
 #, no-c-format
 msgid "Enable C++ coroutines (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1655
+#: c-family/c.opt:1737
 #, no-c-format
 msgid "Emit debug annotations during preprocessing."
 msgstr ""
 
-#: c-family/c.opt:1663
+#: c-family/c.opt:1745
 #, no-c-format
 msgid "Factor complex constructors and destructors to favor space over speed."
 msgstr ""
 
-#: c-family/c.opt:1671
+#: c-family/c.opt:1753
 #, no-c-format
 msgid "Print hierarchical comparisons when template types are mismatched."
 msgstr ""
 
-#: c-family/c.opt:1675
+#: c-family/c.opt:1757
 #, no-c-format
 msgid "Preprocess directives only."
 msgstr ""
 
-#: c-family/c.opt:1679
+#: c-family/c.opt:1761
 #, no-c-format
 msgid "Permit '$' as an identifier character."
 msgstr ""
 
-#: c-family/c.opt:1683
+#: c-family/c.opt:1765
 #, 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:1687
+#: c-family/c.opt:1769
 #, no-c-format
 msgid "Write all declarations as Ada code transitively."
 msgstr ""
 
-#: c-family/c.opt:1691
+#: c-family/c.opt:1773
 #, no-c-format
 msgid "Write all declarations as Ada code for the given file only."
 msgstr ""
 
-#: c-family/c.opt:1698
+#: c-family/c.opt:1780
 #, no-c-format
 msgid "Do not elide common elements in template comparisons."
 msgstr ""
 
-#: c-family/c.opt:1702
+#: c-family/c.opt:1784
 #, no-c-format
 msgid "Generate code to check exception specifications."
 msgstr ""
 
-#: c-family/c.opt:1709
+#: c-family/c.opt:1791
 #, no-c-format
 msgid ""
 "-fexec-charset=<cset>\tConvert all strings and character constants to "
 "character set <cset>."
 msgstr ""
 
-#: c-family/c.opt:1713
+#: c-family/c.opt:1795
 #, no-c-format
 msgid "Permit universal character names (\\u and \\U) in identifiers."
 msgstr ""
 
-#: c-family/c.opt:1717
+#: c-family/c.opt:1799
 #, no-c-format
 msgid ""
 "-finput-charset=<cset>\tSpecify the default character set for source files."
 msgstr ""
 
-#: c-family/c.opt:1721
+#: c-family/c.opt:1803
 #, no-c-format
 msgid ""
 "Support dynamic initialization of thread-local variables in a different "
 "translation unit."
 msgstr ""
 
-#: c-family/c.opt:1728
+#: c-family/c.opt:1810
 #, no-c-format
 msgid "Fold calls to simple inline functions."
 msgstr ""
 
-#: c-family/c.opt:1735
+#: c-family/c.opt:1817
 #, no-c-format
 msgid "Do not assume that standard C libraries and \"main\" exist."
 msgstr ""
 
-#: c-family/c.opt:1739
+#: c-family/c.opt:1821
 #, no-c-format
 msgid "Recognize GNU-defined keywords."
 msgstr ""
 
-#: c-family/c.opt:1743
+#: c-family/c.opt:1825
 #, no-c-format
 msgid "Generate code for GNU runtime environment."
 msgstr ""
 
-#: c-family/c.opt:1747
+#: c-family/c.opt:1829
 #, no-c-format
 msgid "Use traditional GNU semantics for inline functions."
 msgstr ""
 
-#: c-family/c.opt:1760
+#: c-family/c.opt:1842
 #, no-c-format
 msgid "Assume normal C execution environment."
 msgstr ""
 
-#: c-family/c.opt:1768
+#: c-family/c.opt:1850
 #, no-c-format
 msgid "Export functions even if they can be inlined."
 msgstr ""
 
-#: c-family/c.opt:1772
+#: c-family/c.opt:1854
 #, no-c-format
 msgid "Make inline functions constexpr by default."
 msgstr ""
 
-#: c-family/c.opt:1776
+#: c-family/c.opt:1858
 #, no-c-format
 msgid "Emit implicit instantiations of inline templates."
 msgstr ""
 
-#: c-family/c.opt:1780
+#: c-family/c.opt:1862
 #, no-c-format
 msgid "Emit implicit instantiations of templates."
 msgstr ""
 
-#: c-family/c.opt:1784
+#: c-family/c.opt:1866
 #, no-c-format
 msgid "Implement C++17 inheriting constructor semantics."
 msgstr ""
 
-#: c-family/c.opt:1791
+#: c-family/c.opt:1873
 #, no-c-format
 msgid "Don't emit dllexported inline functions unless needed."
 msgstr ""
 
-#: c-family/c.opt:1798
+#: c-family/c.opt:1880
 #, no-c-format
 msgid ""
 "Allow implicit conversions between vectors with differing numbers of "
 "subparts and/or differing element types."
 msgstr ""
 
-#: c-family/c.opt:1802
+#: c-family/c.opt:1884
 #, no-c-format
 msgid "Enable C++ modules-ts (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1810
+#: c-family/c.opt:1892
 #, no-c-format
 msgid "Enable C++ header module (experimental)."
 msgstr ""
 
-#: c-family/c.opt:1817
+#: c-family/c.opt:1899
 #, no-c-format
 msgid ""
 "Member functions defined within their class are inline in module purview."
 msgstr ""
 
-#: c-family/c.opt:1821
+#: c-family/c.opt:1903
 #, no-c-format
 msgid "Only emit Compiled Module Interface."
 msgstr ""
 
-#: c-family/c.opt:1825
+#: c-family/c.opt:1907
 #, no-c-format
 msgid "Mapper for module to CMI files."
 msgstr ""
 
-#: c-family/c.opt:1829
+#: c-family/c.opt:1911
 #, no-c-format
 msgid "Enable lazy module importing."
 msgstr ""
 
-#: c-family/c.opt:1837
+#: c-family/c.opt:1919
 #, no-c-format
 msgid "Warn about macros that have conflicting header units definitions."
 msgstr ""
 
-#: c-family/c.opt:1841
+#: c-family/c.opt:1923
 #, no-c-format
 msgid "Note #include directives translated to import declarations."
 msgstr ""
 
-#: c-family/c.opt:1845
+#: c-family/c.opt:1927
 #, no-c-format
 msgid ""
 "Note #include directives not translated to import declarations, and not "
 "known to be textual."
 msgstr ""
 
-#: c-family/c.opt:1849
+#: c-family/c.opt:1931
 #, no-c-format
 msgid "Note a #include translation of a specific header."
 msgstr ""
 
-#: c-family/c.opt:1853
+#: c-family/c.opt:1935
 #, no-c-format
 msgid "Note Compiled Module Interface pathnames."
 msgstr ""
 
-#: c-family/c.opt:1857
+#: c-family/c.opt:1939
 #, no-c-format
 msgid ""
 "Note Compiled Module Interface pathname of a specific module or header-unit."
 msgstr ""
 
-#: c-family/c.opt:1861
+#: c-family/c.opt:1943
 #, no-c-format
 msgid ""
 "fmax-include-depth=<number> Set the maximum depth of the nested #include."
 msgstr ""
 
-#: c-family/c.opt:1865
+#: c-family/c.opt:1947
 #, no-c-format
 msgid "Don't warn about uses of Microsoft extensions."
 msgstr ""
 
-#: c-family/c.opt:1884
+#: c-family/c.opt:1966
 #, no-c-format
 msgid ""
 "Implement resolution of DR 150 for matching of template template arguments."
 msgstr ""
 
-#: c-family/c.opt:1888
+#: c-family/c.opt:1970
 #, no-c-format
 msgid "Generate code for NeXT (Apple Mac OS X) runtime environment."
 msgstr ""
 
-#: c-family/c.opt:1892
+#: c-family/c.opt:1974
 #, no-c-format
 msgid "Assume that receivers of Objective-C messages may be nil."
 msgstr ""
 
-#: c-family/c.opt:1896
+#: c-family/c.opt:1978
 #, no-c-format
 msgid ""
 "Allow access to instance variables as if they were local declarations within "
 "instance method implementations."
 msgstr ""
 
-#: c-family/c.opt:1900
+#: c-family/c.opt:1982
 #, no-c-format
 msgid ""
 "-fvisibility=[private|protected|public|package]\tSet the default symbol "
 "visibility."
 msgstr ""
 
-#: c-family/c.opt:1925
+#: c-family/c.opt:2007
 #, no-c-format
 msgid ""
 "Treat a throw() exception specification as noexcept to improve code size."
 msgstr ""
 
-#: c-family/c.opt:1929
+#: c-family/c.opt:2011
 #, no-c-format
 msgid ""
 "Specify which ABI to use for Objective-C family code and meta-data "
 "generation."
 msgstr ""
 
-#: c-family/c.opt:1935
+#: c-family/c.opt:2017
 #, no-c-format
 msgid ""
 "Generate special Objective-C methods to initialize/destroy non-POD C++ "
 "ivars, if needed."
 msgstr ""
 
-#: c-family/c.opt:1939
+#: c-family/c.opt:2021
 #, no-c-format
 msgid "Allow fast jumps to the message dispatcher."
 msgstr ""
 
-#: c-family/c.opt:1945
+#: c-family/c.opt:2027
 #, no-c-format
 msgid "Enable Objective-C exception and synchronization syntax."
 msgstr ""
 
-#: c-family/c.opt:1949
+#: c-family/c.opt:2031
 #, no-c-format
 msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs."
 msgstr ""
 
-#: c-family/c.opt:1953
+#: c-family/c.opt:2035
 #, no-c-format
 msgid ""
 "Enable inline checks for nil receivers with the NeXT runtime and ABI version "
 "2."
 msgstr ""
 
-#: c-family/c.opt:1958
+#: c-family/c.opt:2040
 #, no-c-format
 msgid "Enable Objective-C setjmp exception handling runtime."
 msgstr ""
 
-#: c-family/c.opt:1962
+#: c-family/c.opt:2044
 #, no-c-format
 msgid "Conform to the Objective-C 1.0 language as implemented in GCC 4.0."
 msgstr ""
 
-#: c-family/c.opt:1966
+#: c-family/c.opt:2048
 #, no-c-format
 msgid "Enable OpenACC."
 msgstr ""
 
-#: c-family/c.opt:1970
+#: c-family/c.opt:2052
 #, no-c-format
 msgid "Specify default OpenACC compute dimensions."
 msgstr ""
 
-#: c-family/c.opt:1974
+#: c-family/c.opt:2056
 #, no-c-format
 msgid "Enable OpenMP (implies -frecursive in Fortran)."
 msgstr ""
 
-#: c-family/c.opt:1978
+#: c-family/c.opt:2060
 #, no-c-format
 msgid "Enable OpenMP's SIMD directives."
 msgstr ""
 
-#: c-family/c.opt:1982
+#: c-family/c.opt:2064
 #, no-c-format
 msgid "Recognize C++ keywords like \"compl\" and \"xor\"."
 msgstr ""
 
-#: c-family/c.opt:1993
+#: c-family/c.opt:2075
 #, no-c-format
 msgid "Look for and use PCH files even when preprocessing."
 msgstr ""
 
-#: c-family/c.opt:1997
+#: c-family/c.opt:2079
 #, no-c-format
 msgid "Downgrade conformance errors to warnings."
 msgstr ""
 
-#: c-family/c.opt:2001
+#: c-family/c.opt:2083
 #, no-c-format
 msgid "Enable Plan 9 language extensions."
 msgstr ""
 
-#: c-family/c.opt:2005
+#: c-family/c.opt:2087
 #, no-c-format
 msgid "Treat the input file as already preprocessed."
 msgstr ""
 
-#: c-family/c.opt:2013
+#: c-family/c.opt:2095
 #, 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:2017
+#: c-family/c.opt:2099
 #, no-c-format
 msgid ""
 "Do not pretty-print template specializations as the template signature "
 "followed by the arguments."
 msgstr ""
 
-#: c-family/c.opt:2021
+#: c-family/c.opt:2103
 #, no-c-format
 msgid "Treat known sprintf return values as constants."
 msgstr ""
 
-#: c-family/c.opt:2025
+#: c-family/c.opt:2107
 #, 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:2029
+#: c-family/c.opt:2111
 #, no-c-format
 msgid "Removed in GCC 10.  This switch has no effect."
 msgstr ""
 
-#: c-family/c.opt:2033
+#: c-family/c.opt:2115
 #, no-c-format
 msgid "Generate run time type descriptor information."
 msgstr ""
 
-#: c-family/c.opt:2037 ada/gcc-interface/lang.opt:81
+#: c-family/c.opt:2119 ada/gcc-interface/lang.opt:81
 #, no-c-format
 msgid "Use the narrowest integer type possible for enumeration types."
 msgstr ""
 
-#: c-family/c.opt:2041
+#: c-family/c.opt:2123
 #, no-c-format
 msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\"."
 msgstr ""
 
-#: c-family/c.opt:2045
+#: c-family/c.opt:2127
 #, no-c-format
 msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed."
 msgstr ""
 
-#: c-family/c.opt:2049 ada/gcc-interface/lang.opt:85
+#: c-family/c.opt:2131 ada/gcc-interface/lang.opt:85
 #, no-c-format
 msgid "Make \"char\" signed by default."
 msgstr ""
 
-#: c-family/c.opt:2053
+#: c-family/c.opt:2135
 #, no-c-format
 msgid "Enable C++14 sized deallocation support."
 msgstr ""
 
-#: c-family/c.opt:2060
+#: c-family/c.opt:2142
+#, no-c-format
+msgid ""
+"-fstrict-flex-arrays=<level>    Control when to treat the trailing array of "
+"a structure as a flexible array member for the purposes of accessing the "
+"elements of such an array. The default is treating all trailing arrays of "
+"structures as flexible array members."
+msgstr ""
+
+#: c-family/c.opt:2149
 #, no-c-format
 msgid ""
 "-fsso-struct=[big-endian|little-endian|native]\tSet the default scalar "
 "storage order."
 msgstr ""
 
-#: c-family/c.opt:2076
+#: c-family/c.opt:2165
 #, no-c-format
 msgid "Display statistics accumulated during compilation."
 msgstr ""
 
-#: c-family/c.opt:2080
+#: c-family/c.opt:2169
 #, no-c-format
 msgid ""
 "Assume that values of enumeration type are always within the minimum range "
 "of that type."
 msgstr ""
 
-#: c-family/c.opt:2087 c-family/c.opt:2092
+#: c-family/c.opt:2176 c-family/c.opt:2181
 #, no-c-format
 msgid ""
 "Follow the C++17 evaluation order requirements for assignment expressions, "
 "shift, member function calls, etc."
 msgstr ""
 
-#: c-family/c.opt:2109
+#: c-family/c.opt:2198
 #, no-c-format
 msgid ""
 "Set the maximum number of template instantiation notes for a single warning "
 "or error."
 msgstr ""
 
-#: c-family/c.opt:2116
+#: c-family/c.opt:2205
 #, no-c-format
 msgid ""
 "-ftemplate-depth=<number>\tSpecify maximum template instantiation depth."
 msgstr ""
 
-#: c-family/c.opt:2123
+#: c-family/c.opt:2212
 #, no-c-format
 msgid ""
 "-fno-threadsafe-statics\tDo not generate thread-safe code for initializing "
 "local statics."
 msgstr ""
 
-#: c-family/c.opt:2127
+#: c-family/c.opt:2216
 #, no-c-format
 msgid ""
 "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned."
 msgstr ""
 
-#: c-family/c.opt:2131 ada/gcc-interface/lang.opt:89
+#: c-family/c.opt:2220 ada/gcc-interface/lang.opt:89
 #, no-c-format
 msgid "Make \"char\" unsigned by default."
 msgstr ""
 
-#: c-family/c.opt:2135
+#: c-family/c.opt:2224
 #, no-c-format
 msgid "Use __cxa_atexit to register destructors."
 msgstr ""
 
-#: c-family/c.opt:2139
+#: c-family/c.opt:2228
 #, no-c-format
 msgid "Use __cxa_get_exception_ptr in exception handling."
 msgstr ""
 
-#: c-family/c.opt:2143
+#: c-family/c.opt:2232
 #, no-c-format
 msgid "Marks all inlined functions and methods as having hidden visibility."
 msgstr ""
 
-#: c-family/c.opt:2147
+#: c-family/c.opt:2236
 #, no-c-format
 msgid "Changes visibility to match Microsoft Visual Studio by default."
 msgstr ""
 
-#: c-family/c.opt:2159
+#: c-family/c.opt:2248
 #, no-c-format
 msgid "Emit common-like symbols as weak symbols."
 msgstr ""
 
-#: c-family/c.opt:2163
+#: c-family/c.opt:2252
 #, no-c-format
 msgid ""
 "-fwide-exec-charset=<cset>\tConvert all wide strings and character constants "
 "to character set <cset>."
 msgstr ""
 
-#: c-family/c.opt:2167
+#: c-family/c.opt:2256
 #, no-c-format
 msgid "Generate a #line directive pointing at the current working directory."
 msgstr ""
 
-#: c-family/c.opt:2175
+#: c-family/c.opt:2264
 #, no-c-format
 msgid ""
 "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode."
 msgstr ""
 
-#: c-family/c.opt:2179
+#: c-family/c.opt:2268
 #, no-c-format
 msgid "Dump declarations to a .decl file."
 msgstr ""
 
-#: c-family/c.opt:2183
+#: c-family/c.opt:2272
 #, no-c-format
 msgid ""
 "-femit-struct-debug-baseonly\tAggressive reduced debug info for structs."
 msgstr ""
 
-#: c-family/c.opt:2187
+#: c-family/c.opt:2276
 #, no-c-format
 msgid ""
 "-femit-struct-debug-reduced\tConservative reduced debug info for structs."
 msgstr ""
 
-#: c-family/c.opt:2191
+#: c-family/c.opt:2280
 #, no-c-format
 msgid ""
 "-femit-struct-debug-detailed=<spec-list>\tDetailed reduced debug info for "
 "structs."
 msgstr ""
 
-#: c-family/c.opt:2195
+#: c-family/c.opt:2284
 #, 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:2200
+#: c-family/c.opt:2289
 #, no-c-format
 msgid "-idirafter <dir>\tAdd <dir> to the end of the system include path."
 msgstr ""
 
-#: c-family/c.opt:2204
+#: c-family/c.opt:2293
 #, no-c-format
 msgid "-imacros <file>\tAccept definition of macros in <file>."
 msgstr ""
 
-#: c-family/c.opt:2208
+#: c-family/c.opt:2297
 #, no-c-format
 msgid "-imultilib <dir>\tSet <dir> to be the multilib include subdirectory."
 msgstr ""
 
-#: c-family/c.opt:2212
+#: c-family/c.opt:2301
 #, no-c-format
 msgid "-include <file>\tInclude the contents of <file> before other files."
 msgstr ""
 
-#: c-family/c.opt:2216
+#: c-family/c.opt:2305
 #, no-c-format
 msgid "-iprefix <path>\tSpecify <path> as a prefix for next two options."
 msgstr ""
 
-#: c-family/c.opt:2220
+#: c-family/c.opt:2309
 #, no-c-format
 msgid "-isysroot <dir>\tSet <dir> to be the system root directory."
 msgstr ""
 
-#: c-family/c.opt:2224
+#: c-family/c.opt:2313
 #, no-c-format
 msgid "-isystem <dir>\tAdd <dir> to the start of the system include path."
 msgstr ""
 
-#: c-family/c.opt:2228
+#: c-family/c.opt:2317
 #, no-c-format
 msgid "-iquote <dir>\tAdd <dir> to the end of the quote include path."
 msgstr ""
 
-#: c-family/c.opt:2232
+#: c-family/c.opt:2321
 #, no-c-format
 msgid "-iwithprefix <dir>\tAdd <dir> to the end of the system include path."
 msgstr ""
 
-#: c-family/c.opt:2236
+#: c-family/c.opt:2325
 #, no-c-format
 msgid ""
 "-iwithprefixbefore <dir>\tAdd <dir> to the end of the main include path."
 msgstr ""
 
-#: c-family/c.opt:2246
+#: c-family/c.opt:2335
 #, no-c-format
 msgid ""
 "Do not search standard system include directories (those specified with -"
 "isystem will still be used)."
 msgstr ""
 
-#: c-family/c.opt:2250
+#: c-family/c.opt:2339
 #, no-c-format
 msgid "Do not search standard system include directories for C++."
 msgstr ""
 
-#: c-family/c.opt:2262
+#: c-family/c.opt:2351
 #, no-c-format
 msgid "Generate C header of platform-specific features."
 msgstr ""
 
-#: c-family/c.opt:2266
+#: c-family/c.opt:2355
 #, no-c-format
 msgid "Remap file names when including files."
 msgstr ""
 
-#: c-family/c.opt:2270 c-family/c.opt:2274
+#: c-family/c.opt:2359 c-family/c.opt:2363
 #, no-c-format
 msgid ""
 "Conform to the ISO 1998 C++ standard revised by the 2003 technical "
 "corrigendum."
 msgstr ""
 
-#: c-family/c.opt:2278
+#: c-family/c.opt:2367
 #, no-c-format
 msgid "Conform to the ISO 2011 C++ standard."
 msgstr ""
 
-#: c-family/c.opt:2282
+#: c-family/c.opt:2371
 #, no-c-format
 msgid "Deprecated in favor of -std=c++11."
 msgstr ""
 
-#: c-family/c.opt:2286
+#: c-family/c.opt:2375
 #, no-c-format
 msgid "Deprecated in favor of -std=c++14."
 msgstr ""
 
-#: c-family/c.opt:2290
+#: c-family/c.opt:2379
 #, no-c-format
 msgid "Conform to the ISO 2014 C++ standard."
 msgstr ""
 
-#: c-family/c.opt:2294
+#: c-family/c.opt:2383
 #, no-c-format
 msgid "Deprecated in favor of -std=c++17."
 msgstr ""
 
-#: c-family/c.opt:2298
+#: c-family/c.opt:2387
 #, no-c-format
 msgid "Conform to the ISO 2017 C++ standard."
 msgstr ""
 
-#: c-family/c.opt:2302 c-family/c.opt:2306
+#: c-family/c.opt:2391 c-family/c.opt:2395
 #, no-c-format
 msgid ""
 "Conform to the ISO 2020 C++ standard (experimental and incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2310 c-family/c.opt:2314
+#: c-family/c.opt:2399 c-family/c.opt:2403
 #, no-c-format
 msgid ""
 "Conform to the ISO 2023 C++ draft standard (experimental and incomplete "
 "support)."
 msgstr ""
 
-#: c-family/c.opt:2318 c-family/c.opt:2456
+#: c-family/c.opt:2407 c-family/c.opt:2545
 #, no-c-format
 msgid "Conform to the ISO 2011 C standard."
 msgstr ""
 
-#: c-family/c.opt:2322
+#: c-family/c.opt:2411
 #, no-c-format
 msgid "Deprecated in favor of -std=c11."
 msgstr ""
 
-#: c-family/c.opt:2326 c-family/c.opt:2330 c-family/c.opt:2460
-#: c-family/c.opt:2464
+#: c-family/c.opt:2415 c-family/c.opt:2419 c-family/c.opt:2549
+#: c-family/c.opt:2553
 #, no-c-format
 msgid "Conform to the ISO 2017 C standard (published in 2018)."
 msgstr ""
 
-#: c-family/c.opt:2334
+#: c-family/c.opt:2423
 #, no-c-format
 msgid ""
 "Conform to the ISO 202X C standard draft (experimental and incomplete "
 "support)."
 msgstr ""
 
-#: c-family/c.opt:2338 c-family/c.opt:2342 c-family/c.opt:2440
+#: c-family/c.opt:2427 c-family/c.opt:2431 c-family/c.opt:2529
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard."
 msgstr ""
 
-#: c-family/c.opt:2346 c-family/c.opt:2448
+#: c-family/c.opt:2435 c-family/c.opt:2537
 #, no-c-format
 msgid "Conform to the ISO 1999 C standard."
 msgstr ""
 
-#: c-family/c.opt:2350
+#: c-family/c.opt:2439
 #, no-c-format
 msgid "Deprecated in favor of -std=c99."
 msgstr ""
 
-#: c-family/c.opt:2354 c-family/c.opt:2359
+#: c-family/c.opt:2443 c-family/c.opt:2448
 #, 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:2364
+#: c-family/c.opt:2453
 #, no-c-format
 msgid "Conform to the ISO 2011 C++ standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2368
+#: c-family/c.opt:2457
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu++11."
 msgstr ""
 
-#: c-family/c.opt:2372
+#: c-family/c.opt:2461
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu++14."
 msgstr ""
 
-#: c-family/c.opt:2376
+#: c-family/c.opt:2465
 #, no-c-format
 msgid "Conform to the ISO 2014 C++ standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2380
+#: c-family/c.opt:2469
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu++17."
 msgstr ""
 
-#: c-family/c.opt:2384
+#: c-family/c.opt:2473
 #, no-c-format
 msgid "Conform to the ISO 2017 C++ standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2388 c-family/c.opt:2392
+#: c-family/c.opt:2477 c-family/c.opt:2481
 #, no-c-format
 msgid ""
 "Conform to the ISO 2020 C++ standard with GNU extensions (experimental and "
 "incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2396 c-family/c.opt:2400
+#: c-family/c.opt:2485 c-family/c.opt:2489
 #, no-c-format
 msgid ""
 "Conform to the ISO 2023 C++ draft standard with GNU extensions (experimental "
 "and incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2404
+#: c-family/c.opt:2493
 #, no-c-format
 msgid "Conform to the ISO 2011 C standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2408
+#: c-family/c.opt:2497
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu11."
 msgstr ""
 
-#: c-family/c.opt:2412 c-family/c.opt:2416
+#: c-family/c.opt:2501 c-family/c.opt:2505
 #, no-c-format
 msgid ""
 "Conform to the ISO 2017 C standard (published in 2018) with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2420
+#: c-family/c.opt:2509
 #, no-c-format
 msgid ""
 "Conform to the ISO 202X C standard draft with GNU extensions (experimental "
 "and incomplete support)."
 msgstr ""
 
-#: c-family/c.opt:2424 c-family/c.opt:2428
+#: c-family/c.opt:2513 c-family/c.opt:2517
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2432
+#: c-family/c.opt:2521
 #, no-c-format
 msgid "Conform to the ISO 1999 C standard with GNU extensions."
 msgstr ""
 
-#: c-family/c.opt:2436
+#: c-family/c.opt:2525
 #, no-c-format
 msgid "Deprecated in favor of -std=gnu99."
 msgstr ""
 
-#: c-family/c.opt:2444
+#: c-family/c.opt:2533
 #, no-c-format
 msgid "Conform to the ISO 1990 C standard as amended in 1994."
 msgstr ""
 
-#: c-family/c.opt:2452
+#: c-family/c.opt:2541
 #, no-c-format
 msgid "Deprecated in favor of -std=iso9899:1999."
 msgstr ""
 
-#: c-family/c.opt:2468
+#: c-family/c.opt:2557
 #, no-c-format
 msgid ""
 "-stdlib=[libstdc++|libc++]\tThe standard library to be used for C++ headers "
 "and runtime."
 msgstr ""
 
-#: c-family/c.opt:2485
+#: c-family/c.opt:2574
 #, no-c-format
 msgid "Enable traditional preprocessing."
 msgstr ""
 
-#: c-family/c.opt:2489
+#: c-family/c.opt:2578
 #, no-c-format
 msgid "-trigraphs\tSupport ISO C trigraphs."
 msgstr ""
 
-#: c-family/c.opt:2493
+#: c-family/c.opt:2582
 #, no-c-format
 msgid "Do not predefine system-specific and GCC-specific macros."
 msgstr ""
@@ -3715,350 +3912,656 @@ msgstr ""
 msgid "-Hf <file>\tWrite D interface to <file>."
 msgstr ""
 
-#: d/lang.opt:123
+#: d/lang.opt:127
 #, no-c-format
 msgid "Warn about casts that will produce a null result."
 msgstr ""
 
-#: d/lang.opt:139
+#: d/lang.opt:143
 #, no-c-format
 msgid "Warn from speculative compiles such as __traits(compiles)."
 msgstr ""
 
-#: d/lang.opt:151
+#: d/lang.opt:155
 #, no-c-format
 msgid "Generate JSON file."
 msgstr ""
 
-#: d/lang.opt:155
+#: d/lang.opt:159
 #, no-c-format
 msgid "-Xf <file>\tWrite JSON output to the given <file>."
 msgstr ""
 
-#: d/lang.opt:159
+#: d/lang.opt:163
 #, no-c-format
 msgid "Debug library to use instead of phobos."
 msgstr ""
 
-#: d/lang.opt:163
+#: d/lang.opt:167
 #, no-c-format
 msgid "Default library to use instead of phobos."
 msgstr ""
 
-#: d/lang.opt:167
+#: d/lang.opt:171
 #, no-c-format
 msgid "Do link the standard D startup files in the compilation."
 msgstr ""
 
-#: d/lang.opt:174
+#: d/lang.opt:178
 #, no-c-format
 msgid "Generate code for all template instantiations."
 msgstr ""
 
-#: d/lang.opt:178
+#: d/lang.opt:182
 #, no-c-format
 msgid "Generate code for assert contracts."
 msgstr ""
 
-#: d/lang.opt:186
+#: d/lang.opt:190
 #, no-c-format
 msgid ""
 "-fbounds-check=[on|safeonly|off]\tTurn array bounds checks on, in @safe code "
 "only, or off."
 msgstr ""
 
-#: d/lang.opt:228
+#: d/lang.opt:232
 #, no-c-format
 msgid "-fcheckaction=[throw,halt,context]\tBehavior on contract failure."
 msgstr ""
 
-#: d/lang.opt:244
+#: d/lang.opt:248
 #, no-c-format
 msgid "Compile in debug code."
 msgstr ""
 
-#: d/lang.opt:248
+#: d/lang.opt:252
 #, no-c-format
-msgid ""
-"-fdebug=<level|ident>\tCompile in debug code, code <= <level>, or code "
-"identified by <ident>."
+msgid "-fdebug=<ident>\tCompile in debug code identified by <ident>."
 msgstr ""
 
-#: d/lang.opt:252
+#: d/lang.opt:256
 #, no-c-format
 msgid "Generate documentation."
 msgstr ""
 
-#: d/lang.opt:256
+#: d/lang.opt:260
 #, no-c-format
 msgid "-fdoc-dir=<dir>\tWrite documentation file to directory <dir>."
 msgstr ""
 
-#: d/lang.opt:260
+#: d/lang.opt:264
 #, no-c-format
 msgid "-fdoc-file=<file>\tWrite documentation to <file>."
 msgstr ""
 
-#: d/lang.opt:264
+#: d/lang.opt:268
 #, no-c-format
 msgid "-fdoc-inc=<file>\tInclude a Ddoc macro <file>."
 msgstr ""
 
-#: d/lang.opt:268
+#: d/lang.opt:272
 #, no-c-format
 msgid "Assume that standard D runtime libraries and \"D main\" exist."
 msgstr ""
 
-#: d/lang.opt:272
+#: d/lang.opt:276
 #, no-c-format
 msgid "Add comments for ignored declarations in the generated C++ header."
 msgstr ""
 
-#: d/lang.opt:276
+#: d/lang.opt:280
 #, no-c-format
 msgid ""
 "-fdump-cxx-spec=<filename>\tWrite all declarations as C++ code to <filename>."
 msgstr ""
 
-#: d/lang.opt:280
+#: d/lang.opt:284
 #, no-c-format
 msgid "Display the frontend AST after parsing and semantic passes."
 msgstr ""
 
-#: d/lang.opt:284
+#: d/lang.opt:288
 #, no-c-format
 msgid ""
 "-fextern-std=<standard>\tSet C++ name mangling compatibility with <standard>."
 msgstr ""
 
-#: d/lang.opt:309
+#: d/lang.opt:313
 #, no-c-format
 msgid "Ignore unsupported pragmas."
 msgstr ""
 
-#: d/lang.opt:313
+#: d/lang.opt:317
 #, no-c-format
 msgid "Generate code for class invariant contracts."
 msgstr ""
 
-#: d/lang.opt:317
+#: d/lang.opt:321
 #, no-c-format
 msgid "Generate a default D main() function when compiling."
 msgstr ""
 
-#: d/lang.opt:321
+#: d/lang.opt:325
 #, no-c-format
 msgid ""
 "-fmodule-file=<package.module>=<filespec>\tuse <filespec> as source file for "
 "<package.module>."
 msgstr ""
 
-#: d/lang.opt:325
+#: d/lang.opt:329
 #, no-c-format
 msgid "Generate ModuleInfo struct for output module."
 msgstr ""
 
-#: d/lang.opt:329
+#: d/lang.opt:333
 #, no-c-format
 msgid ""
 "Process all modules specified on the command line, but only generate code "
 "for the module specified by the argument."
 msgstr ""
 
-#: d/lang.opt:333
-#, no-c-format
-msgid "Generate code for postcondition contracts."
-msgstr ""
-
 #: d/lang.opt:337
 #, no-c-format
-msgid "Generate code for precondition contracts."
+msgid "Generate code for postcondition contracts."
 msgstr ""
 
 #: d/lang.opt:341
 #, no-c-format
-msgid "Turn on all upcoming D language features."
+msgid "Generate code for precondition contracts."
 msgstr ""
 
 #: d/lang.opt:345
 #, no-c-format
-msgid "Implement DIP1000: Scoped pointers."
+msgid "Turn on all upcoming D language features."
 msgstr ""
 
 #: d/lang.opt:349
 #, no-c-format
-msgid "Implement DIP1008: Allow exceptions in @nogc code."
+msgid "Implement D bit-fields."
 msgstr ""
 
 #: d/lang.opt:353
 #, no-c-format
-msgid "Implement DIP1021: Mutable function arguments."
+msgid "Implement DIP1000: Scoped pointers."
 msgstr ""
 
 #: d/lang.opt:357
 #, no-c-format
-msgid "Implement DIP25: Sealed references."
+msgid "Implement DIP1008: Allow exceptions in @nogc code."
 msgstr ""
 
 #: d/lang.opt:361
 #, no-c-format
-msgid "Destruct fields of partially constructed objects."
+msgid "Implement DIP1021: Mutable function arguments."
 msgstr ""
 
 #: d/lang.opt:365
 #, no-c-format
-msgid "Use field-wise comparisons for struct equality."
+msgid "Implement DIP25: Sealed references."
 msgstr ""
 
 #: d/lang.opt:369
 #, no-c-format
-msgid ""
-"When a symbol is resolved, check `alias this' scope before going to upper "
-"scopes."
+msgid "Destruct fields of partially constructed objects."
 msgstr ""
 
 #: d/lang.opt:373
 #, no-c-format
-msgid "Implement 'in' parameters to mean scope const."
+msgid "Use field-wise comparisons for struct equality."
 msgstr ""
 
 #: d/lang.opt:377
 #, no-c-format
 msgid ""
-"Implement 'in' contracts of overridden methods to be a superset of parent "
-"contract."
+"When a symbol is resolved, check `alias this' scope before going to upper "
+"scopes."
 msgstr ""
 
 #: d/lang.opt:381
 #, no-c-format
-msgid "Disable access to shared memory objects."
+msgid ""
+"Disallow unsound immutable conversions that were formerly incorrectly "
+"permitted."
 msgstr ""
 
 #: d/lang.opt:385
 #, no-c-format
-msgid "Enable rvalue arguments to ref parameters."
+msgid "Implement 'in' parameters to mean scope const."
 msgstr ""
 
 #: d/lang.opt:389
 #, no-c-format
 msgid ""
-"Allow use of '=>' for methods and top-level functions in addition to lambdas."
+"Implement 'in' contracts of overridden methods to be a superset of parent "
+"contract."
 msgstr ""
 
 #: d/lang.opt:393
 #, no-c-format
-msgid "Compile release version."
+msgid "Disable access to shared memory objects."
 msgstr ""
 
 #: d/lang.opt:397
 #, no-c-format
-msgid "Turn off all revertable D language features."
+msgid "Enable rvalue arguments to ref parameters."
 msgstr ""
 
 #: d/lang.opt:401
 #, no-c-format
-msgid "Revert DIP1000: Scoped pointers."
+msgid "Disable access to variables marked `@system' from @safe code."
 msgstr ""
 
 #: d/lang.opt:405
 #, no-c-format
-msgid "Revert DIP25: Sealed references."
+msgid "Compile release version."
 msgstr ""
 
 #: d/lang.opt:409
 #, no-c-format
-msgid "Don't destruct fields of partially constructed objects."
+msgid "Turn off all revertable D language features."
 msgstr ""
 
 #: d/lang.opt:413
 #, no-c-format
-msgid "Use C-style integral promotion for unary '+', '-' and '~'."
+msgid "Revert DIP1000: Scoped pointers."
 msgstr ""
 
 #: d/lang.opt:417
 #, no-c-format
-msgid "Disable Markdown replacements in Ddoc."
+msgid "Revert DIP25: Sealed references."
 msgstr ""
 
-#: d/lang.opt:425
+#: d/lang.opt:421
 #, no-c-format
-msgid ""
-"-fsave-mixins=<filename>\tExpand and save mixins to file specified by "
-"<filename>."
+msgid "Don't destruct fields of partially constructed objects."
 msgstr ""
 
-#: d/lang.opt:429
+#: d/lang.opt:425
 #, no-c-format
-msgid "Generate code for switches without a default case."
+msgid "Don't use C-style integral promotion for unary '+', '-' and '~'."
 msgstr ""
 
 #: d/lang.opt:433
 #, no-c-format
-msgid "List information on all D language transitions."
+msgid ""
+"-fsave-mixins=<filename>\tExpand and save mixins to file specified by "
+"<filename>."
 msgstr ""
 
 #: d/lang.opt:437
 #, no-c-format
-msgid "List all non-mutable fields which occupy an object instance."
+msgid "Generate code for switches without a default case."
 msgstr ""
 
 #: d/lang.opt:441
 #, no-c-format
-msgid "List all usages of 'in' on parameter."
+msgid "List information on all D language transitions."
 msgstr ""
 
 #: d/lang.opt:445
 #, no-c-format
-msgid "List all hidden GC allocations."
+msgid "List all non-mutable fields which occupy an object instance."
 msgstr ""
 
 #: d/lang.opt:449
 #, no-c-format
-msgid "List statistics on template instantiations."
+msgid "List all usages of 'in' on parameter."
 msgstr ""
 
 #: d/lang.opt:453
 #, no-c-format
-msgid "List all variables going into thread local storage."
+msgid "List all hidden GC allocations."
 msgstr ""
 
 #: d/lang.opt:457
 #, no-c-format
-msgid "List instances of Markdown replacements in Ddoc."
+msgid "List statistics on template instantiations."
 msgstr ""
 
 #: d/lang.opt:461
 #, no-c-format
-msgid "Compile in unittest code."
+msgid "List all variables going into thread local storage."
 msgstr ""
 
 #: d/lang.opt:465
 #, no-c-format
-msgid ""
-"-fversion=<level|ident>\tCompile in version code >= <level> or identified by "
-"<ident>."
+msgid "Compile in unittest code."
 msgstr ""
 
 #: d/lang.opt:469
 #, no-c-format
+msgid "-fversion=<ident>\tCompile in version code identified by <ident>."
+msgstr ""
+
+#: d/lang.opt:473
+#, no-c-format
 msgid "Emit template instantiations as weak symbols."
 msgstr ""
 
-#: d/lang.opt:489
+#: d/lang.opt:493
 #, no-c-format
 msgid "Do not link the standard D library in the compilation."
 msgstr ""
 
-#: d/lang.opt:497
+#: d/lang.opt:501
 #, no-c-format
 msgid "Link the standard D library statically in the compilation."
 msgstr ""
 
-#: d/lang.opt:501
+#: d/lang.opt:505
 #, no-c-format
 msgid "Link the standard D library dynamically in the compilation."
 msgstr ""
 
+#: m2/lang.opt:35
+#, no-c-format
+msgid ""
+"compiler checks to force definition module procedure parameter names with "
+"their implementation module counterpart"
+msgstr ""
+
+#: m2/lang.opt:39
+#, no-c-format
+msgid "compiler warns if a cast is being used on types of differing sizes"
+msgstr ""
+
+#: m2/lang.opt:43
+#, no-c-format
+msgid "inform user which parameters will be passed by reference"
+msgstr ""
+
+#: m2/lang.opt:47
+#, no-c-format
+msgid ""
+"extra compile time semantic checking, typically tries to catch poor "
+"programming style"
+msgstr ""
+
+#: m2/lang.opt:51
+#, no-c-format
+msgid "automatically initializes all pointers to NIL"
+msgstr ""
+
+#: m2/lang.opt:55
+#, no-c-format
+msgid ""
+"turns on runtime subrange, array index and indirection via NIL pointer "
+"checking"
+msgstr ""
+
+#: m2/lang.opt:59
+#, no-c-format
+msgid ""
+"turns on runtime checking to check whether a CASE statement requires an ELSE "
+"clause when on was not specified"
+msgstr ""
+
+#: m2/lang.opt:63
+#, no-c-format
+msgid "use cpp to preprocess the module"
+msgstr ""
+
+#: m2/lang.opt:67 m2/lang.opt:71
+#, no-c-format
+msgid "passed to the preprocessor if -fcpp is used (internal switch)"
+msgstr ""
+
+#: m2/lang.opt:75
+#, no-c-format
+msgid "call a real function, rather than the builtin equivalent"
+msgstr ""
+
+#: m2/lang.opt:79
+#, no-c-format
+msgid "turn on internal debugging of the compiler (internal switch)"
+msgstr ""
+
+#: m2/lang.opt:83
+#, no-c-format
+msgid "turn on quadruple tracing (internal switch)"
+msgstr ""
+
+#: m2/lang.opt:87
+#, no-c-format
+msgid "turn on the Modula-2 api tracing (internal switch)"
+msgstr ""
+
+#: m2/lang.opt:91
+#, no-c-format
+msgid "turn on the Modula-2 function line number generation (internal switch)"
+msgstr ""
+
+#: m2/lang.opt:95
+#, no-c-format
+msgid "recognise the specified suffix as a definition module filename"
+msgstr ""
+
+#: m2/lang.opt:99
+#, no-c-format
+msgid "display all inbuilt system items"
+msgstr ""
+
+#: m2/lang.opt:103
+#, no-c-format
+msgid ""
+"allows opaque types to be implemented as any type (a GNU Modula-2 extension)"
+msgstr ""
+
+#: m2/lang.opt:107
+#, no-c-format
+msgid ""
+"turns on runtime checking to check whether a floating point number is about "
+"to exceed range"
+msgstr ""
+
+#: m2/lang.opt:111
+#, no-c-format
+msgid ""
+"create a topologically sorted module list from all dependent modules used in "
+"the application"
+msgstr ""
+
+#: m2/lang.opt:115 m2/lang.opt:191
+#, no-c-format
+msgid "turns on all range checking for numerical values"
+msgstr ""
+
+#: m2/lang.opt:119
+#, no-c-format
+msgid "use ISO dialect of Modula-2"
+msgstr ""
+
+#: m2/lang.opt:123
+#, no-c-format
+msgid ""
+"specify the library order, currently legal entries include: log, min, pim, "
+"iso or their directory name equivalent m2log, m2min, m2pim, m2iso."
+msgstr ""
+
+#: m2/lang.opt:127
+#, no-c-format
+msgid "set all location values to a specific value (internal switch)"
+msgstr ""
+
+#: m2/lang.opt:131
+#, no-c-format
+msgid ""
+"generate extra nops to improve debugging, producing an instruction for every "
+"code related keyword"
+msgstr ""
+
+#: m2/lang.opt:135
+#, no-c-format
+msgid "generate error messages which render keywords in lower case"
+msgstr ""
+
+#: m2/lang.opt:139
+#, no-c-format
+msgid "insert plugin to identify runtime errors at compiletime (default on)"
+msgstr ""
+
+#: m2/lang.opt:143
+#, no-c-format
+msgid ""
+"display statistics about the amount of source lines compiled and symbols used"
+msgstr ""
+
+#: m2/lang.opt:147
+#, no-c-format
+msgid "experimental flag to turn on the new strict type checker"
+msgstr ""
+
+#: m2/lang.opt:151
+#, no-c-format
+msgid "compile all implementation modules and program module at once"
+msgstr ""
+
+#: m2/lang.opt:155
+#, no-c-format
+msgid "recognise the specified suffix as implementation and module filenames"
+msgstr ""
+
+#: m2/lang.opt:159
+#, no-c-format
+msgid ""
+"turns on runtime checking to detect accessing data through a NIL value "
+"pointer"
+msgstr ""
+
+#: m2/lang.opt:163
+#, no-c-format
+msgid "use PIM [234] dialect of Modula-2"
+msgstr ""
+
+#: m2/lang.opt:167
+#, no-c-format
+msgid "use PIM 2 dialect of Modula-2"
+msgstr ""
+
+#: m2/lang.opt:171
+#, no-c-format
+msgid "use PIM 3 dialect of Modula-2"
+msgstr ""
+
+#: m2/lang.opt:175
+#, no-c-format
+msgid "use PIM 4 dialect of Modula-2"
+msgstr ""
+
+#: m2/lang.opt:179
+#, no-c-format
+msgid "force positive result from MOD and DIV result floor"
+msgstr ""
+
+#: m2/lang.opt:183
+#, no-c-format
+msgid "link against the pthread library (default on)"
+msgstr ""
+
+#: m2/lang.opt:187
+#, no-c-format
+msgid "internal compiler debugging information, dump the list of quadruples"
+msgstr ""
+
+#: m2/lang.opt:195
+#, no-c-format
+msgid ""
+"turns on runtime checking for functions which finish without executing a "
+"RETURN statement"
+msgstr ""
+
+#: m2/lang.opt:199
+#, no-c-format
+msgid "specify the list of runtime modules and their initialization order"
+msgstr ""
+
+#: m2/lang.opt:203
+#, no-c-format
+msgid ""
+"the modules initialization order is dynamically determined by M2RTS and "
+"application dependancies"
+msgstr ""
+
+#: m2/lang.opt:207
+#, no-c-format
+msgid "generate a C source scaffold for the current module being compiled"
+msgstr ""
+
+#: m2/lang.opt:211
+#, no-c-format
+msgid "generate a C++ source scaffold for the current module being compiled"
+msgstr ""
+
+#: m2/lang.opt:215
+#, no-c-format
+msgid "generate the main function"
+msgstr ""
+
+#: m2/lang.opt:219
+#, no-c-format
+msgid ""
+"generate static scaffold initialization and finalization for every module "
+"inside main"
+msgstr ""
+
+#: m2/lang.opt:223
+#, no-c-format
+msgid "generate a shared library from the module"
+msgstr ""
+
+#: m2/lang.opt:227
+#, 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:231
+#, no-c-format
+msgid "display the location of module source files as they are compiled"
+msgstr ""
+
+#: m2/lang.opt:235
+#, no-c-format
+msgid "create a swig interface file for the module"
+msgstr ""
+
+#: m2/lang.opt:239
+#, 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:243
+#, no-c-format
+msgid ""
+"orders the initialization/finalializations for scaffold-static or force "
+"linking of modules if scaffold-dynamic"
+msgstr ""
+
+#: m2/lang.opt:251
+#, no-c-format
+msgid "turns on all division and modulus by zero checking for ordinal values"
+msgstr ""
+
+#: m2/lang.opt:255
+#, no-c-format
+msgid ""
+"turns on runtime checking to check whether a whole number is about to exceed "
+"range"
+msgstr ""
+
+#: m2/lang.opt:259
+#, no-c-format
+msgid "Link the standard Modula-2 libraries statically in the compilation."
+msgstr ""
+
+#: m2/lang.opt:400 m2/lang.opt:404
+#, no-c-format
+msgid "save temporary preprocessed files"
+msgstr ""
+
 #: go/lang.opt:42
 #, no-c-format
 msgid "-fgo-c-header=<file>\tWrite Go struct definitions to file as C code."
@@ -4191,276 +4694,407 @@ msgstr ""
 #: analyzer/analyzer.opt:59
 #, no-c-format
 msgid ""
-"Warn about code paths in which a stdio FILE can be closed more than once."
+"Warn about code paths in which a pointer to a buffer is assigned to an "
+"incompatible type."
 msgstr ""
 
 #: analyzer/analyzer.opt:63
 #, no-c-format
-msgid "Warn about code paths in which a pointer can be freed more than once."
+msgid ""
+"Warn about code paths in which a pointer is checked for NULL after it has "
+"already been dereferenced."
 msgstr ""
 
 #: analyzer/analyzer.opt:67
 #, no-c-format
-msgid "Warn about code paths in which sensitive data is written to a file."
+msgid ""
+"Warn about code paths in which a stdio FILE can be closed more than once."
 msgstr ""
 
 #: analyzer/analyzer.opt:71
 #, no-c-format
-msgid "Warn about code paths in which a stdio FILE is not closed."
+msgid "Warn about code paths in which a pointer can be freed more than once."
 msgstr ""
 
 #: analyzer/analyzer.opt:75
 #, no-c-format
-msgid "Warn about code paths in which a non-heap pointer is freed."
+msgid "Warn about code paths in which sensitive data is written to a file."
 msgstr ""
 
 #: analyzer/analyzer.opt:79
 #, no-c-format
-msgid "Warn about code paths in which a heap-allocated pointer leaks."
+msgid ""
+"Warn about code paths in which sensitive data is copied across a security "
+"boundary."
 msgstr ""
 
 #: analyzer/analyzer.opt:83
 #, no-c-format
 msgid ""
-"Warn about code paths in which the wrong deallocation function is called."
+"Warn about code paths in which read on a write-only file descriptor is "
+"attempted, or vice versa."
 msgstr ""
 
 #: analyzer/analyzer.opt:87
 #, no-c-format
 msgid ""
+"Warn about code paths in which a file descriptor can be closed more than "
+"once."
+msgstr ""
+
+#: analyzer/analyzer.opt:91
+#, no-c-format
+msgid "Warn about code paths in which a file descriptor is not closed."
+msgstr ""
+
+#: analyzer/analyzer.opt:95
+#, no-c-format
+msgid ""
+"Warn about code paths in which an operation is attempted in the wrong phase "
+"of a file descriptor's lifetime."
+msgstr ""
+
+#: analyzer/analyzer.opt:99
+#, no-c-format
+msgid ""
+"Warn about code paths in which an operation is attempted on the wrong type "
+"of file descriptor."
+msgstr ""
+
+#: analyzer/analyzer.opt:103
+#, no-c-format
+msgid ""
+"Warn about code paths in which a read or write is performed on a closed file "
+"descriptor."
+msgstr ""
+
+#: analyzer/analyzer.opt:107
+#, no-c-format
+msgid ""
+"Warn about code paths in which a file descriptor is used without being "
+"checked for validity."
+msgstr ""
+
+#: analyzer/analyzer.opt:111
+#, no-c-format
+msgid "Warn about code paths in which a stdio FILE is not closed."
+msgstr ""
+
+#: analyzer/analyzer.opt:115
+#, no-c-format
+msgid "Warn about code paths in which a non-heap pointer is freed."
+msgstr ""
+
+#: analyzer/analyzer.opt:119
+#, no-c-format
+msgid ""
+"Warn about code paths in which floating-point arithmetic is used in "
+"locations where precise computation is needed."
+msgstr ""
+
+#: analyzer/analyzer.opt:123
+#, no-c-format
+msgid "Warn about code paths which appear to lead to infinite recursion."
+msgstr ""
+
+#: analyzer/analyzer.opt:127
+#, no-c-format
+msgid "Warn about code paths in which a NULL function pointer is called."
+msgstr ""
+
+#: analyzer/analyzer.opt:131
+#, no-c-format
+msgid "Warn about code paths in which a heap-allocated pointer leaks."
+msgstr ""
+
+#: analyzer/analyzer.opt:135
+#, no-c-format
+msgid ""
+"Warn about code paths in which the wrong deallocation function is called."
+msgstr ""
+
+#: analyzer/analyzer.opt:139
+#, no-c-format
+msgid ""
+"Warn about code paths in which a write or read to a buffer is out-of-bounds."
+msgstr ""
+
+#: analyzer/analyzer.opt:143
+#, no-c-format
+msgid ""
 "Warn about code paths in which a possibly-NULL value is passed to a must-not-"
 "be-NULL function argument."
 msgstr ""
 
-#: analyzer/analyzer.opt:91
+#: analyzer/analyzer.opt:147
 #, no-c-format
 msgid "Warn about code paths in which a possibly-NULL pointer is dereferenced."
 msgstr ""
 
-#: analyzer/analyzer.opt:95
+#: analyzer/analyzer.opt:151
 #, no-c-format
 msgid ""
 "Warn about code paths in which an async-signal-unsafe function is called "
 "from a signal handler."
 msgstr ""
 
-#: analyzer/analyzer.opt:99
+#: analyzer/analyzer.opt:155
 #, no-c-format
 msgid ""
 "Warn about code paths in which NULL is passed to a must-not-be-NULL function "
 "argument."
 msgstr ""
 
-#: analyzer/analyzer.opt:103
+#: analyzer/analyzer.opt:159
 #, no-c-format
 msgid "Warn about code paths in which a NULL pointer is dereferenced."
 msgstr ""
 
-#: analyzer/analyzer.opt:107
+#: analyzer/analyzer.opt:163
+#, no-c-format
+msgid "Warn about code paths in which an on-stack buffer is passed to putenv."
+msgstr ""
+
+#: analyzer/analyzer.opt:167
 #, no-c-format
 msgid ""
 "Warn about code paths in which a shift with negative count is attempted."
 msgstr ""
 
-#: analyzer/analyzer.opt:111
+#: analyzer/analyzer.opt:171
 #, no-c-format
 msgid ""
 "Warn about code paths in which a shift with count >= width of type is "
 "attempted."
 msgstr ""
 
-#: analyzer/analyzer.opt:115
+#: analyzer/analyzer.opt:175
 #, no-c-format
 msgid ""
 "Warn about code paths in which a longjmp rewinds to a jmp_buf saved in a "
 "stack frame that has returned."
 msgstr ""
 
-#: analyzer/analyzer.opt:119
+#: analyzer/analyzer.opt:179
 #, no-c-format
 msgid ""
 "Warn about code paths in which an unsanitized value is used as an allocation "
 "size."
 msgstr ""
 
-#: analyzer/analyzer.opt:123
+#: analyzer/analyzer.opt:183
 #, no-c-format
 msgid ""
 "Warn about code paths in which an unsanitized value is used as an array "
 "index."
 msgstr ""
 
-#: analyzer/analyzer.opt:127
+#: analyzer/analyzer.opt:187
+#, no-c-format
+msgid ""
+"Warn about code paths in which an 'assert()' is made involving an "
+"unsanitized value."
+msgstr ""
+
+#: analyzer/analyzer.opt:191
 #, no-c-format
 msgid ""
 "Warn about code paths in which an unsanitized value is used as a divisor."
 msgstr ""
 
-#: analyzer/analyzer.opt:131
+#: analyzer/analyzer.opt:195
 #, no-c-format
 msgid ""
 "Warn about code paths in which an unsanitized value is used as a pointer "
 "offset."
 msgstr ""
 
-#: analyzer/analyzer.opt:135
+#: analyzer/analyzer.opt:199
 #, no-c-format
 msgid "Warn about code paths in which an unsanitized value is used as a size."
 msgstr ""
 
-#: analyzer/analyzer.opt:139
+#: analyzer/analyzer.opt:203
 #, no-c-format
 msgid "Warn about code paths in which a freed value is used."
 msgstr ""
 
-#: analyzer/analyzer.opt:143
+#: analyzer/analyzer.opt:207
 #, no-c-format
 msgid ""
 "Warn about code paths in which a pointer to a stale stack frame is used."
 msgstr ""
 
-#: analyzer/analyzer.opt:147
+#: analyzer/analyzer.opt:211
+#, no-c-format
+msgid "Warn about code paths in which va_arg uses the wrong type."
+msgstr ""
+
+#: analyzer/analyzer.opt:215
+#, 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:219
+#, 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:223
+#, no-c-format
+msgid "Warn about code paths in which a va_list is used after va_end."
+msgstr ""
+
+#: analyzer/analyzer.opt:227
 #, no-c-format
 msgid "Warn about code paths which attempt to write to a const object."
 msgstr ""
 
-#: analyzer/analyzer.opt:151
+#: analyzer/analyzer.opt:231
 #, no-c-format
 msgid "Warn about code paths which attempt to write to a string literal."
 msgstr ""
 
-#: analyzer/analyzer.opt:155
+#: analyzer/analyzer.opt:235
 #, no-c-format
 msgid "Warn about code paths in which an uninitialized value is used."
 msgstr ""
 
-#: analyzer/analyzer.opt:159
+#: analyzer/analyzer.opt:239
 #, no-c-format
 msgid "Warn if the code is too complicated for the analyzer to fully explore."
 msgstr ""
 
-#: analyzer/analyzer.opt:163
+#: analyzer/analyzer.opt:243
 #, no-c-format
 msgid "Restrict the analyzer to run just the named checker."
 msgstr ""
 
-#: analyzer/analyzer.opt:167
+#: analyzer/analyzer.opt:247
 #, no-c-format
 msgid "Avoid combining multiple statements into one exploded edge."
 msgstr ""
 
-#: analyzer/analyzer.opt:171
+#: analyzer/analyzer.opt:251
 #, no-c-format
 msgid "Verify that paths are feasible when emitting diagnostics."
 msgstr ""
 
-#: analyzer/analyzer.opt:175
+#: analyzer/analyzer.opt:255
 #, no-c-format
 msgid "Issue a note when diagnostics are deduplicated."
 msgstr ""
 
-#: analyzer/analyzer.opt:179
+#: analyzer/analyzer.opt:259
 #, no-c-format
 msgid "Purge unneeded state during analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:183
+#: analyzer/analyzer.opt:263
 #, no-c-format
 msgid "Merge similar-enough states during analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:187
+#: analyzer/analyzer.opt:267
 #, no-c-format
 msgid "Enable transitivity of constraints during analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:191
+#: analyzer/analyzer.opt:271
 #, no-c-format
 msgid "Approximate the effect of function calls to simplify analysis."
 msgstr ""
 
-#: analyzer/analyzer.opt:195
+#: analyzer/analyzer.opt:275
+#, no-c-format
+msgid "Try to reconstruct function calls and returns after inlining."
+msgstr ""
+
+#: analyzer/analyzer.opt:279
 #, no-c-format
 msgid "Emit more verbose descriptions of control flow in diagnostics."
 msgstr ""
 
-#: analyzer/analyzer.opt:199
+#: analyzer/analyzer.opt:283
 #, no-c-format
 msgid "Emit more verbose descriptions of state changes in diagnostics."
 msgstr ""
 
-#: analyzer/analyzer.opt:203
+#: analyzer/analyzer.opt:287
 #, no-c-format
 msgid "Control which events are displayed in diagnostic paths."
 msgstr ""
 
-#: analyzer/analyzer.opt:207
+#: analyzer/analyzer.opt:291
 #, no-c-format
 msgid "Dump various analyzer internals to SRCFILE.analyzer.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:211
+#: analyzer/analyzer.opt:295
 #, no-c-format
 msgid "Dump various analyzer internals to stderr."
 msgstr ""
 
-#: analyzer/analyzer.opt:215
+#: analyzer/analyzer.opt:299
 #, no-c-format
 msgid ""
 "Dump analyzer-specific call graph information to a SRCFILE.callgraph.dot "
 "file."
 msgstr ""
 
-#: analyzer/analyzer.opt:219
+#: analyzer/analyzer.opt:303
 #, no-c-format
 msgid "Dump the analyzer exploded graph to a SRCFILE.eg.dot file."
 msgstr ""
 
-#: analyzer/analyzer.opt:223
+#: analyzer/analyzer.opt:307
 #, no-c-format
 msgid "Emit diagnostics showing the location of nodes in the exploded graph."
 msgstr ""
 
-#: analyzer/analyzer.opt:227
+#: analyzer/analyzer.opt:311
 #, no-c-format
 msgid "Dump a textual representation of the exploded graph to SRCFILE.eg.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:231
+#: analyzer/analyzer.opt:315
 #, no-c-format
 msgid ""
 "Dump a textual representation of the exploded graph to SRCFILE.eg-ID.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:235
+#: analyzer/analyzer.opt:319
 #, no-c-format
 msgid ""
 "Dump a textual representation of each diagnostic's exploded path to SRCFILE."
 "IDX.KIND.epath.txt."
 msgstr ""
 
-#: analyzer/analyzer.opt:239
+#: analyzer/analyzer.opt:323
 #, no-c-format
 msgid ""
 "Dump various analyzer internals to SRCFILE.*.fg.dot and SRCFILE.*.tg.dot."
 msgstr ""
 
-#: analyzer/analyzer.opt:243
+#: analyzer/analyzer.opt:327
 #, no-c-format
 msgid "Dump analyzer-specific data to a SRCFILE.analyzer.json.gz file."
 msgstr ""
 
-#: analyzer/analyzer.opt:247
+#: analyzer/analyzer.opt:331
 #, no-c-format
 msgid "Dump state-purging information to a SRCFILE.state-purge.dot file."
 msgstr ""
 
-#: analyzer/analyzer.opt:251
+#: analyzer/analyzer.opt:335
 #, no-c-format
 msgid "Dump the analyzer supergraph to a SRCFILE.supergraph.dot file."
 msgstr ""
 
-#: analyzer/analyzer.opt:255
+#: analyzer/analyzer.opt:339
 #, no-c-format
 msgid ""
 "Emit custom warnings with internal details intended for analyzer developers."
@@ -4792,8 +5426,8 @@ msgstr ""
 #, no-c-format
 msgid ""
 "-dylib_file install_name:file_name\tThis allows linking of a dylib with "
-"\"install_name\" but to be found in a different install position \"file_name"
-"\""
+"\"install_name\" but to be found in a different install position "
+"\"file_name\""
 msgstr ""
 
 #: config/darwin.opt:146
@@ -4818,8 +5452,8 @@ msgstr ""
 #: config/darwin.opt:158
 #, no-c-format
 msgid ""
-"Produce a Mach-O shared library (file type MH_DYLIB), synonym for \"-shared"
-"\"."
+"Produce a Mach-O shared library (file type MH_DYLIB), synonym for \"-"
+"shared\"."
 msgstr ""
 
 #: config/darwin.opt:162
@@ -5066,8 +5700,8 @@ msgstr ""
 msgid ""
 "-segprot <segname> <max_prot> <init_prot>\tThe virtual memory protections "
 "for segment <segname> have maximum and initial values <max_prot> and "
-"<init_prot> respectively.  The specified values may contain \"r\", \"w\", \"x"
-"\" or \"-\" the latter meaning \"no access\"."
+"<init_prot> respectively.  The specified values may contain \"r\", \"w\", "
+"\"x\" or \"-\" the latter meaning \"no access\"."
 msgstr ""
 
 #: config/darwin.opt:338
@@ -5164,13 +5798,12 @@ msgid ""
 "(only handled by ld_classic)."
 msgstr ""
 
-#: config/bfin/bfin.opt:40 config/msp430/msp430.opt:3 config/cr16/cr16.opt:23
-#: config/c6x/c6x.opt:38
+#: config/bfin/bfin.opt:40 config/msp430/msp430.opt:3 config/c6x/c6x.opt:38
 #, no-c-format
 msgid "Use simulator runtime."
 msgstr ""
 
-#: config/bfin/bfin.opt:44 config/arm/arm.opt:108
+#: config/bfin/bfin.opt:44 config/arm/arm.opt:120
 #, no-c-format
 msgid "Specify the name of the target CPU."
 msgstr ""
@@ -5229,7 +5862,7 @@ msgstr ""
 msgid "Link with the fast floating-point library."
 msgstr ""
 
-#: config/bfin/bfin.opt:90 config/arm/arm.opt:323 config/frv/frv.opt:130
+#: config/bfin/bfin.opt:90 config/arm/arm.opt:339 config/frv/frv.opt:130
 #, no-c-format
 msgid "Enable Function Descriptor PIC mode."
 msgstr ""
@@ -5379,7 +6012,7 @@ msgstr ""
 msgid "Align variables on a 32-bit boundary."
 msgstr ""
 
-#: config/m68k/m68k.opt:103 config/arm/arm.opt:77 config/nios2/nios2.opt:570
+#: config/m68k/m68k.opt:103 config/arm/arm.opt:89 config/nios2/nios2.opt:570
 #: config/nds32/nds32.opt:171 config/c6x/c6x.opt:67
 #, no-c-format
 msgid "Specify the name of the target architecture."
@@ -5485,14 +6118,14 @@ msgstr ""
 msgid "Support TLS segment larger than 64K."
 msgstr ""
 
-#: config/riscv/riscv.opt:26 config/aarch64/aarch64.opt:68
-#: config/arm/arm.opt:96 config/microblaze/microblaze.opt:60
+#: config/riscv/riscv.opt:26 config/aarch64/aarch64.opt:74
+#: config/arm/arm.opt:108 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:88
-#: config/arm/arm.opt:161 config/microblaze/microblaze.opt:64
+#: config/riscv/riscv.opt:30 config/aarch64/aarch64.opt:94
+#: config/arm/arm.opt:173 config/microblaze/microblaze.opt:64
 #, no-c-format
 msgid "Assume target CPU is configured as little endian."
 msgstr ""
@@ -5512,7 +6145,7 @@ msgstr ""
 msgid "Specify integer and floating-point calling convention."
 msgstr ""
 
-#: config/riscv/riscv.opt:46 config/i386/i386.opt:425
+#: config/riscv/riscv.opt:46 config/i386/i386.opt:429
 #, no-c-format
 msgid "Attempt to keep stack aligned to this power of 2."
 msgstr ""
@@ -5570,8 +6203,8 @@ msgid ""
 "targets 32-bit integer load/stores."
 msgstr ""
 
-#: config/riscv/riscv.opt:110 config/aarch64/aarch64.opt:92
-#: config/loongarch/loongarch.opt:186
+#: config/riscv/riscv.opt:110 config/aarch64/aarch64.opt:98
+#: config/loongarch/loongarch.opt:193
 #, no-c-format
 msgid "Specify the code model."
 msgstr ""
@@ -5583,7 +6216,6 @@ msgstr ""
 
 #: config/riscv/riscv.opt:118 config/i386/i386.opt:293
 #: config/rs6000/aix64.opt:36 config/rs6000/linux64.opt:32
-#: config/tilegx/tilegx.opt:57
 #, no-c-format
 msgid "Known code models (for use with the -mcmodel= option):"
 msgstr ""
@@ -5600,52 +6232,60 @@ msgid ""
 "required to materialize symbol addresses."
 msgstr ""
 
-#: config/riscv/riscv.opt:153
+#: config/riscv/riscv.opt:137
+#, no-c-format
+msgid ""
+"Enable the CSR checking for the ISA-dependent CRS and the read-only CSR. The "
+"ISA-dependent CSR are only valid when the specific ISA is set.  The read-"
+"only CSR can not be written by the CSR instructions."
+msgstr ""
+
+#: config/riscv/riscv.opt:159
 #, no-c-format
 msgid "Emit RISC-V ELF attribute."
 msgstr ""
 
-#: config/riscv/riscv.opt:157 config/i386/i386.opt:246
+#: config/riscv/riscv.opt:163 config/i386/i386.opt:246
 #, no-c-format
 msgid "Use the given data alignment."
 msgstr ""
 
-#: config/riscv/riscv.opt:161 config/i386/i386.opt:250
+#: config/riscv/riscv.opt:167 config/i386/i386.opt:250
 #, no-c-format
 msgid "Known data alignment choices (for use with the -malign-data= option):"
 msgstr ""
 
-#: config/riscv/riscv.opt:171 config/aarch64/aarch64.opt:235
-#: config/i386/i386.opt:1007 config/arm/arm.opt:327
-#: config/rs6000/rs6000.opt:554
+#: config/riscv/riscv.opt:177 config/aarch64/aarch64.opt:241
+#: config/i386/i386.opt:1011 config/arm/arm.opt:343
+#: config/rs6000/rs6000.opt:550
 #, no-c-format
 msgid "Use given stack-protector guard."
 msgstr ""
 
-#: config/riscv/riscv.opt:175 config/aarch64/aarch64.opt:239
-#: config/arm/arm.opt:331 config/rs6000/rs6000.opt:558
+#: config/riscv/riscv.opt:181 config/aarch64/aarch64.opt:245
+#: config/arm/arm.opt:347 config/rs6000/rs6000.opt:554
 #, no-c-format
 msgid "Valid arguments to -mstack-protector-guard=:"
 msgstr ""
 
-#: config/riscv/riscv.opt:185 config/i386/i386.opt:1021
-#: config/rs6000/rs6000.opt:568
+#: config/riscv/riscv.opt:191 config/i386/i386.opt:1025
+#: config/rs6000/rs6000.opt:564
 #, no-c-format
 msgid "Use the given base register for addressing the stack-protector guard."
 msgstr ""
 
-#: config/riscv/riscv.opt:192 config/i386/i386.opt:1028
-#: config/rs6000/rs6000.opt:575
+#: config/riscv/riscv.opt:198 config/i386/i386.opt:1032
+#: config/rs6000/rs6000.opt:571
 #, no-c-format
 msgid "Use the given offset for addressing the stack-protector guard."
 msgstr ""
 
-#: config/riscv/riscv.opt:214
+#: config/riscv/riscv.opt:238
 #, no-c-format
 msgid "Supported ISA specs (for use with the -misa-spec= option):"
 msgstr ""
 
-#: config/riscv/riscv.opt:227
+#: config/riscv/riscv.opt:251
 #, no-c-format
 msgid "Set the version of RISC-V ISA spec."
 msgstr ""
@@ -5797,112 +6437,112 @@ msgid ""
 "__mspabi helper function. The default value is 4."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:43
+#: config/aarch64/aarch64.opt:49
 #, no-c-format
 msgid "The possible TLS dialects:"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:55 config/loongarch/loongarch.opt:167
+#: config/aarch64/aarch64.opt:61 config/loongarch/loongarch.opt:171
 #, no-c-format
 msgid "The code model option names for -mcmodel:"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:72 config/i386/i386.opt:1042
+#: config/aarch64/aarch64.opt:78 config/i386/i386.opt:1046
 #, no-c-format
 msgid "Generate code which uses only the general registers."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:76 config/i386/i386.opt:1134
+#: config/aarch64/aarch64.opt:82 config/i386/i386.opt:1138
 #, no-c-format
 msgid "Generate code to mitigate against straight line speculation."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:80
+#: config/aarch64/aarch64.opt:86
 #, no-c-format
 msgid "Workaround for ARM Cortex-A53 Erratum number 835769."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:84
+#: config/aarch64/aarch64.opt:90
 #, no-c-format
 msgid "Workaround for ARM Cortex-A53 Erratum number 843419."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:96
+#: config/aarch64/aarch64.opt:102
 #, no-c-format
 msgid "Don't assume that unaligned accesses are handled by the system."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:100 config/i386/i386.opt:405
+#: config/aarch64/aarch64.opt:106 config/i386/i386.opt:405
 #, no-c-format
 msgid "Omit the frame pointer in leaf functions."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:104
+#: config/aarch64/aarch64.opt:110
 #, no-c-format
 msgid "Specify TLS dialect."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:108
+#: config/aarch64/aarch64.opt:114
 #, no-c-format
 msgid ""
 "Specifies bit size of immediate TLS offsets.  Valid values are 12, 24, 32, "
 "48."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:127
+#: config/aarch64/aarch64.opt:133
 #, no-c-format
 msgid "Use features of architecture ARCH."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:131
+#: config/aarch64/aarch64.opt:137
 #, no-c-format
 msgid "Use features of and optimize for CPU."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:135
+#: config/aarch64/aarch64.opt:141
 #, no-c-format
 msgid "Optimize for CPU."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:139
+#: config/aarch64/aarch64.opt:145
 #, no-c-format
 msgid "Generate code that conforms to the specified ABI."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:143
+#: config/aarch64/aarch64.opt:149
 #, no-c-format
 msgid ""
 "-moverride=<string>\tPower users only! Override CPU optimization parameters."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:147
+#: config/aarch64/aarch64.opt:153
 #, no-c-format
 msgid "Known AArch64 ABIs (for use with the -mabi= option):"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:157
+#: config/aarch64/aarch64.opt:163
 #, no-c-format
 msgid "PC relative literal loads."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:161
+#: config/aarch64/aarch64.opt:167 config/arm/arm.opt:331
 #, no-c-format
 msgid "Use branch-protection features."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:165
+#: config/aarch64/aarch64.opt:171
 #, no-c-format
 msgid "Select return address signing scope."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:169
+#: config/aarch64/aarch64.opt:175
 #, no-c-format
 msgid ""
 "Supported AArch64 return address signing scope (for use with -msign-return-"
 "address= option):"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:182
+#: config/aarch64/aarch64.opt:188
 #, no-c-format
 msgid ""
 "Enable the reciprocal square root approximation.  Enabling this reduces "
@@ -5910,7 +6550,7 @@ msgid ""
 "precision and to 32 bits for double precision."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:188
+#: config/aarch64/aarch64.opt:194
 #, no-c-format
 msgid ""
 "Enable the square root approximation.  Enabling this reduces precision of "
@@ -5918,7 +6558,7 @@ msgid ""
 "double precision. If enabled, it implies -mlow-precision-recip-sqrt."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:195
+#: config/aarch64/aarch64.opt:201
 #, no-c-format
 msgid ""
 "Enable the division approximation.  Enabling this reduces precision of "
@@ -5926,28 +6566,28 @@ msgid ""
 "double precision."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:201
+#: config/aarch64/aarch64.opt:207
 #, no-c-format
 msgid "The possible SVE vector lengths:"
 msgstr ""
 
-#: config/aarch64/aarch64.opt:223
+#: config/aarch64/aarch64.opt:229
 #, no-c-format
 msgid ""
 "-msve-vector-bits=<number>\tSet the number of bits in an SVE vector register."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:227
+#: config/aarch64/aarch64.opt:233
 #, no-c-format
 msgid "Enables verbose cost model dumping in the debug dump files."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:231
+#: config/aarch64/aarch64.opt:237
 #, no-c-format
 msgid "Generate code to track when the CPU might be speculating incorrectly."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:249
+#: config/aarch64/aarch64.opt:255
 #, no-c-format
 msgid ""
 "Use the system register specified on the command line as the stack protector "
@@ -5955,7 +6595,7 @@ msgid ""
 "for use in user-land code."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:255
+#: config/aarch64/aarch64.opt:261
 #, no-c-format
 msgid ""
 "Use an immediate to offset from the stack protector guard register, sp_el0. "
@@ -5963,12 +6603,12 @@ msgid ""
 "land code."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:264
+#: config/aarch64/aarch64.opt:270
 #, no-c-format
 msgid "Generate local calls to out-of-line atomic operations."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:268
+#: config/aarch64/aarch64.opt:274
 #, no-c-format
 msgid ""
 "When vectorizing for SVE, consider using unpacked vectors for smaller "
@@ -5976,7 +6616,7 @@ msgid ""
 "cost model to choose between SVE and Advanced SIMD vectorization."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:272
+#: config/aarch64/aarch64.opt:278
 #, no-c-format
 msgid ""
 "The number of Newton iterations for calculating the reciprocal for float "
@@ -5984,7 +6624,7 @@ msgid ""
 "approximation is enabled.  The default value is 1."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:276
+#: config/aarch64/aarch64.opt:282
 #, no-c-format
 msgid ""
 "The number of Newton iterations for calculating the reciprocal for double "
@@ -5992,23 +6632,23 @@ msgid ""
 "approximation is enabled.  The default value is 2."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:286
+#: config/aarch64/aarch64.opt:292
 #, no-c-format
 msgid "Constant memcpy size in bytes above which to start using MOPS sequence."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:290
+#: config/aarch64/aarch64.opt:296
 #, no-c-format
 msgid ""
 "Constant memmove size in bytes above which to start using MOPS sequence."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:294
+#: config/aarch64/aarch64.opt:300
 #, no-c-format
 msgid "Constant memset size in bytes from which to start using MOPS sequence."
 msgstr ""
 
-#: config/aarch64/aarch64.opt:298
+#: config/aarch64/aarch64.opt:304
 #, no-c-format
 msgid "Limit how much the autovectorizer may unroll a loop."
 msgstr ""
@@ -6143,7 +6783,7 @@ msgstr ""
 msgid "Enable earlier placing stop bits for better scheduling."
 msgstr ""
 
-#: config/ia64/ia64.opt:114 config/pa/pa.opt:66 config/sh/sh.opt:227
+#: config/ia64/ia64.opt:114 config/pa/pa.opt:70 config/sh/sh.opt:227
 #, no-c-format
 msgid "Specify range of registers to make fixed."
 msgstr ""
@@ -6153,7 +6793,7 @@ msgstr ""
 msgid "Specify bit size of immediate TLS offsets."
 msgstr ""
 
-#: config/ia64/ia64.opt:122 config/i386/i386.opt:523 config/s390/s390.opt:203
+#: config/ia64/ia64.opt:122 config/i386/i386.opt:527 config/s390/s390.opt:203
 #: config/sparc/sparc.opt:146 config/visium/visium.opt:49
 #, no-c-format
 msgid "Schedule code for given CPU."
@@ -6350,7 +6990,7 @@ msgid "Target the software simulator."
 msgstr ""
 
 #: config/ft32/ft32.opt:27 config/s390/s390.opt:234 config/mips/mips.opt:393
-#: config/arc/arc.opt:400
+#: config/arc/arc.opt:405
 #, no-c-format
 msgid "Use LRA instead of reload."
 msgstr ""
@@ -6493,7 +7133,7 @@ msgstr ""
 msgid "Use the GNU assembler syntax."
 msgstr ""
 
-#: config/pdp11/pdp11.opt:47 config/rs6000/rs6000.opt:187
+#: config/pdp11/pdp11.opt:47 config/rs6000/rs6000.opt:183
 #: config/frv/frv.opt:158
 #, no-c-format
 msgid "Use hardware floating point."
@@ -6509,7 +7149,7 @@ msgstr ""
 msgid "Use 32 bit int."
 msgstr ""
 
-#: config/pdp11/pdp11.opt:59 config/rs6000/rs6000.opt:183
+#: config/pdp11/pdp11.opt:59 config/rs6000/rs6000.opt:179
 #, no-c-format
 msgid "Do not use hardware floating point."
 msgstr ""
@@ -6546,33 +7186,44 @@ msgstr ""
 
 #: config/xtensa/xtensa.opt:35
 #, no-c-format
+msgid ""
+"Set extra memory access cost for L32R instruction, in clock-cycle units."
+msgstr ""
+
+#: config/xtensa/xtensa.opt:39 config/sh/sh.opt:303
+#, no-c-format
+msgid "Use LRA instead of reload (transitional)."
+msgstr ""
+
+#: config/xtensa/xtensa.opt:43
+#, no-c-format
 msgid "Automatically align branch targets to reduce branch penalties."
 msgstr ""
 
-#: config/xtensa/xtensa.opt:39
+#: config/xtensa/xtensa.opt:47
 #, no-c-format
 msgid "Intersperse literal pools with code in the text section."
 msgstr ""
 
-#: config/xtensa/xtensa.opt:43
+#: config/xtensa/xtensa.opt:51
 #, no-c-format
 msgid ""
 "Relax literals in assembler and place them automatically in the text section."
 msgstr ""
 
-#: config/xtensa/xtensa.opt:47
+#: config/xtensa/xtensa.opt:55
 #, no-c-format
 msgid ""
 "-mno-serialize-volatile\tDo not serialize volatile memory references with "
 "MEMW instructions."
 msgstr ""
 
-#: config/xtensa/xtensa.opt:54
+#: config/xtensa/xtensa.opt:62
 #, no-c-format
 msgid "Use call0 ABI."
 msgstr ""
 
-#: config/xtensa/xtensa.opt:58
+#: config/xtensa/xtensa.opt:66
 #, no-c-format
 msgid "Use windowed registers ABI."
 msgstr ""
@@ -6808,886 +7459,945 @@ msgstr ""
 msgid "Set 80387 floating-point precision to 80-bit."
 msgstr ""
 
-#: config/i386/i386.opt:429
+#: config/i386/i386.opt:425
 #, no-c-format
-msgid "Assume incoming stack aligned to this power of 2."
+msgid "Set the FTZ and DAZ Flags."
 msgstr ""
 
 #: config/i386/i386.opt:433
 #, no-c-format
-msgid "Use push instructions to save outgoing arguments."
+msgid "Assume incoming stack aligned to this power of 2."
 msgstr ""
 
 #: config/i386/i386.opt:437
 #, no-c-format
-msgid "Use red-zone in the x86-64 code."
+msgid "Use push instructions to save outgoing arguments."
 msgstr ""
 
 #: config/i386/i386.opt:441
 #, no-c-format
-msgid "Number of registers used to pass integer arguments."
+msgid "Use red-zone in the x86-64 code."
 msgstr ""
 
 #: config/i386/i386.opt:445
 #, no-c-format
+msgid "Number of registers used to pass integer arguments."
+msgstr ""
+
+#: config/i386/i386.opt:449
+#, no-c-format
 msgid "Alternate calling convention."
 msgstr ""
 
-#: config/i386/i386.opt:449 config/alpha/alpha.opt:23
+#: config/i386/i386.opt:453 config/alpha/alpha.opt:23
 #, no-c-format
 msgid "Do not use hardware fp."
 msgstr ""
 
-#: config/i386/i386.opt:453
+#: config/i386/i386.opt:457
 #, no-c-format
 msgid "Use SSE register passing conventions for SF and DF mode."
 msgstr ""
 
-#: config/i386/i386.opt:457
+#: config/i386/i386.opt:461
 #, no-c-format
 msgid "Realign stack in prologue."
 msgstr ""
 
-#: config/i386/i386.opt:461
+#: config/i386/i386.opt:465
 #, no-c-format
 msgid "Enable stack probing."
 msgstr ""
 
-#: config/i386/i386.opt:465
+#: config/i386/i386.opt:469
 #, no-c-format
 msgid "Specify memcpy expansion strategy when expected size is known."
 msgstr ""
 
-#: config/i386/i386.opt:469
+#: config/i386/i386.opt:473
 #, no-c-format
 msgid "Specify memset expansion strategy when expected size is known."
 msgstr ""
 
-#: config/i386/i386.opt:473
+#: config/i386/i386.opt:477
 #, no-c-format
 msgid "Chose strategy to generate stringop using."
 msgstr ""
 
-#: config/i386/i386.opt:477
+#: config/i386/i386.opt:481
 #, no-c-format
 msgid "Valid arguments to -mstringop-strategy=:"
 msgstr ""
 
-#: config/i386/i386.opt:505
+#: config/i386/i386.opt:509
 #, no-c-format
 msgid "Use given thread-local storage dialect."
 msgstr ""
 
-#: config/i386/i386.opt:509
+#: config/i386/i386.opt:513
 #, no-c-format
 msgid "Known TLS dialects (for use with the -mtls-dialect= option):"
 msgstr ""
 
-#: config/i386/i386.opt:519
+#: config/i386/i386.opt:523
 #, no-c-format
 msgid "Use direct references against %gs when accessing tls data."
 msgstr ""
 
-#: config/i386/i386.opt:527
+#: config/i386/i386.opt:531
 #, no-c-format
 msgid "Fine grain control of tune features."
 msgstr ""
 
-#: config/i386/i386.opt:531
+#: config/i386/i386.opt:535
 #, no-c-format
 msgid "Clear all tune features."
 msgstr ""
 
-#: config/i386/i386.opt:538
+#: config/i386/i386.opt:542
 #, no-c-format
 msgid "Generate code that conforms to Intel MCU psABI."
 msgstr ""
 
-#: config/i386/i386.opt:542
+#: config/i386/i386.opt:546
 #, no-c-format
 msgid "Generate code that conforms to the given ABI."
 msgstr ""
 
-#: config/i386/i386.opt:546 config/nds32/nds32.opt:51
+#: config/i386/i386.opt:550 config/nds32/nds32.opt:51
 #, no-c-format
 msgid "Known ABIs (for use with the -mabi= option):"
 msgstr ""
 
-#: config/i386/i386.opt:556
+#: config/i386/i386.opt:560
 #, no-c-format
 msgid ""
 "Use libgcc stubs to save and restore registers clobbered by 64-bit Microsoft "
 "to System V ABI calls."
 msgstr ""
 
-#: config/i386/i386.opt:560 config/rs6000/rs6000.opt:199
+#: config/i386/i386.opt:564 config/rs6000/rs6000.opt:195
 #, no-c-format
 msgid "Vector library ABI to use."
 msgstr ""
 
-#: config/i386/i386.opt:564
+#: config/i386/i386.opt:568
 #, no-c-format
 msgid ""
 "Known vectorization library ABIs (for use with the -mveclibabi= option):"
 msgstr ""
 
-#: config/i386/i386.opt:574
+#: config/i386/i386.opt:578
 #, no-c-format
 msgid "Return 8-byte vectors in memory."
 msgstr ""
 
-#: config/i386/i386.opt:578
+#: config/i386/i386.opt:582
 #, no-c-format
 msgid "Generate reciprocals instead of divss and sqrtss."
 msgstr ""
 
-#: config/i386/i386.opt:582
+#: config/i386/i386.opt:586
 #, no-c-format
 msgid "Control generation of reciprocal estimates."
 msgstr ""
 
-#: config/i386/i386.opt:586
+#: config/i386/i386.opt:590
 #, no-c-format
 msgid "Generate cld instruction in the function prologue."
 msgstr ""
 
-#: config/i386/i386.opt:590
+#: config/i386/i386.opt:594
 #, no-c-format
 msgid ""
 "Generate vzeroupper instruction before a transfer of control flow out of the "
 "function."
 msgstr ""
 
-#: config/i386/i386.opt:595
+#: config/i386/i386.opt:599
 #, no-c-format
 msgid ""
 "Disable Scalar to Vector optimization pass transforming 64-bit integer "
 "computations into a vector ones."
 msgstr ""
 
-#: config/i386/i386.opt:600
+#: config/i386/i386.opt:604
 #, 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:605
+#: config/i386/i386.opt:609
 #, no-c-format
 msgid ""
 "Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-"
 "vectorizer."
 msgstr ""
 
-#: config/i386/i386.opt:609
+#: config/i386/i386.opt:613
 #, no-c-format
 msgid ""
 "Use given register vector width instructions instead of maximum register "
 "width in the auto-vectorizer."
 msgstr ""
 
-#: config/i386/i386.opt:613
+#: config/i386/i386.opt:617
 #, no-c-format
 msgid ""
 "Known preferred register vector length (to use with the -mprefer-vector-"
 "width= option):"
 msgstr ""
 
-#: config/i386/i386.opt:629
+#: config/i386/i386.opt:633
 #, no-c-format
 msgid ""
 "Maximum number of bits that can be moved from memory to memory efficiently."
 msgstr ""
 
-#: config/i386/i386.opt:633
+#: config/i386/i386.opt:637
 #, no-c-format
 msgid "Maximum number of bits that can be stored to memory efficiently."
 msgstr ""
 
-#: config/i386/i386.opt:639
+#: config/i386/i386.opt:643
 #, no-c-format
 msgid "Generate 32bit i386 code."
 msgstr ""
 
-#: config/i386/i386.opt:643
+#: config/i386/i386.opt:647
 #, no-c-format
 msgid "Generate 64bit x86-64 code."
 msgstr ""
 
-#: config/i386/i386.opt:647
+#: config/i386/i386.opt:651
 #, no-c-format
 msgid "Generate 32bit x86-64 code."
 msgstr ""
 
-#: config/i386/i386.opt:651
+#: config/i386/i386.opt:655
 #, no-c-format
 msgid "Generate 16bit i386 code."
 msgstr ""
 
-#: config/i386/i386.opt:655
+#: config/i386/i386.opt:659
 #, no-c-format
 msgid "Support MMX built-in functions."
 msgstr ""
 
-#: config/i386/i386.opt:659
+#: config/i386/i386.opt:663
 #, no-c-format
 msgid "Support 3DNow! built-in functions."
 msgstr ""
 
-#: config/i386/i386.opt:663
+#: config/i386/i386.opt:667
 #, no-c-format
 msgid "Support Athlon 3Dnow! built-in functions."
 msgstr ""
 
-#: config/i386/i386.opt:667
+#: config/i386/i386.opt:671
 #, no-c-format
 msgid "Support MMX and SSE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:671
+#: config/i386/i386.opt:675
 #, no-c-format
 msgid "Support MMX, SSE and SSE2 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:675
+#: config/i386/i386.opt:679
 #, no-c-format
 msgid "Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:679
+#: config/i386/i386.opt:683
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code "
 "generation."
 msgstr ""
 
-#: config/i386/i386.opt:683
+#: config/i386/i386.opt:687
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code "
 "generation."
 msgstr ""
 
-#: config/i386/i386.opt:687 config/i386/i386.opt:691
+#: config/i386/i386.opt:691 config/i386/i386.opt:695
 #, 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:695
+#: config/i386/i386.opt:699
 #, no-c-format
 msgid ""
 "Do not support SSE4.1 and SSE4.2 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:703
+#: config/i386/i386.opt:707
 #, 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:707
+#: config/i386/i386.opt:711
 #, 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:711
+#: config/i386/i386.opt:715
 #, 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:715
+#: config/i386/i386.opt:719
 #, 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:719
+#: config/i386/i386.opt:723
 #, 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:723
+#: config/i386/i386.opt:727
 #, 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:727
+#: config/i386/i386.opt:731
 #, 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:731
+#: config/i386/i386.opt:735
 #, 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:735
+#: config/i386/i386.opt:739
 #, 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:739
+#: config/i386/i386.opt:743
 #, 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:743
+#: config/i386/i386.opt:747
 #, 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:747
+#: config/i386/i386.opt:751
 #, 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:751
+#: config/i386/i386.opt:755
 #, 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:755
+#: config/i386/i386.opt:759
 #, 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:759
+#: config/i386/i386.opt:763
 #, 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:763
+#: config/i386/i386.opt:767
 #, no-c-format
 msgid "Support AVX512VNNI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:767
+#: config/i386/i386.opt:771
 #, 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:771
+#: config/i386/i386.opt:775
 #, no-c-format
 msgid "Support AVX512VP2INTERSECT built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:775
+#: config/i386/i386.opt:779
 #, 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:779
+#: config/i386/i386.opt:783
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code "
 "generation."
 msgstr ""
 
-#: config/i386/i386.opt:783
+#: config/i386/i386.opt:787
 #, no-c-format
 msgid "Support FMA4 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:787
+#: config/i386/i386.opt:791
 #, no-c-format
 msgid "Support XOP built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:791
+#: config/i386/i386.opt:795
 #, no-c-format
 msgid "Support LWP built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:795
+#: config/i386/i386.opt:799
 #, no-c-format
 msgid ""
 "Support code generation of Advanced Bit Manipulation (ABM) instructions."
 msgstr ""
 
-#: config/i386/i386.opt:799
+#: config/i386/i386.opt:803
 #, no-c-format
 msgid "Support code generation of popcnt instruction."
 msgstr ""
 
-#: config/i386/i386.opt:803
+#: config/i386/i386.opt:807
 #, no-c-format
 msgid "Support PCONFIG built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:807
+#: config/i386/i386.opt:811
 #, no-c-format
 msgid "Support WBNOINVD built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:811
+#: config/i386/i386.opt:815
 #, no-c-format
 msgid "Support PTWRITE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:815
+#: config/i386/i386.opt:819
 #, no-c-format
 msgid "Support UINTR built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:819
+#: config/i386/i386.opt:823
 #, no-c-format
 msgid "Support SGX built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:823
+#: config/i386/i386.opt:827
 #, no-c-format
 msgid "Support RDPID built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:827
+#: config/i386/i386.opt:831
 #, no-c-format
 msgid "Support GFNI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:831
+#: config/i386/i386.opt:835
 #, no-c-format
 msgid "Support VAES built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:835
+#: config/i386/i386.opt:839
 #, no-c-format
 msgid "Support VPCLMULQDQ built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:839
+#: config/i386/i386.opt:843
 #, no-c-format
 msgid "Support BMI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:843
+#: config/i386/i386.opt:847
 #, no-c-format
 msgid "Support BMI2 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:847
+#: config/i386/i386.opt:851
 #, no-c-format
 msgid "Support LZCNT built-in function and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:851
+#: config/i386/i386.opt:855
 #, no-c-format
 msgid "Support Hardware Lock Elision prefixes."
 msgstr ""
 
-#: config/i386/i386.opt:855
+#: config/i386/i386.opt:859
 #, no-c-format
 msgid "Support RDSEED instruction."
 msgstr ""
 
-#: config/i386/i386.opt:859
+#: config/i386/i386.opt:863
 #, no-c-format
 msgid "Support PREFETCHW instruction."
 msgstr ""
 
-#: config/i386/i386.opt:863
+#: config/i386/i386.opt:867
 #, no-c-format
 msgid "Support flag-preserving add-carry instructions."
 msgstr ""
 
-#: config/i386/i386.opt:867
+#: config/i386/i386.opt:871
 #, no-c-format
 msgid "Support CLFLUSHOPT instructions."
 msgstr ""
 
-#: config/i386/i386.opt:871
+#: config/i386/i386.opt:875
 #, no-c-format
 msgid "Support CLWB instruction."
 msgstr ""
 
-#: config/i386/i386.opt:878
+#: config/i386/i386.opt:882
 #, no-c-format
 msgid "Support FXSAVE and FXRSTOR instructions."
 msgstr ""
 
-#: config/i386/i386.opt:882
+#: config/i386/i386.opt:886
 #, no-c-format
 msgid "Support XSAVE and XRSTOR instructions."
 msgstr ""
 
-#: config/i386/i386.opt:886
+#: config/i386/i386.opt:890
 #, no-c-format
 msgid "Support XSAVEOPT instruction."
 msgstr ""
 
-#: config/i386/i386.opt:890
+#: config/i386/i386.opt:894
 #, no-c-format
 msgid "Support XSAVEC instructions."
 msgstr ""
 
-#: config/i386/i386.opt:894
+#: config/i386/i386.opt:898
 #, no-c-format
 msgid "Support XSAVES and XRSTORS instructions."
 msgstr ""
 
-#: config/i386/i386.opt:898
+#: config/i386/i386.opt:902
 #, no-c-format
 msgid "Support TBM built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:902
+#: config/i386/i386.opt:906
 #, no-c-format
 msgid "Support code generation of cmpxchg16b instruction."
 msgstr ""
 
-#: config/i386/i386.opt:906
+#: config/i386/i386.opt:910
 #, no-c-format
 msgid "Support code generation of sahf instruction in 64bit x86-64 code."
 msgstr ""
 
-#: config/i386/i386.opt:910
+#: config/i386/i386.opt:914
 #, no-c-format
 msgid "Support code generation of movbe instruction."
 msgstr ""
 
-#: config/i386/i386.opt:914
+#: config/i386/i386.opt:918
 #, no-c-format
 msgid "Support code generation of crc32 instruction."
 msgstr ""
 
-#: config/i386/i386.opt:918
+#: config/i386/i386.opt:922
 #, no-c-format
 msgid "Support AES built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:922
+#: config/i386/i386.opt:926
 #, no-c-format
 msgid "Support SHA1 and SHA256 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:926
+#: config/i386/i386.opt:930
 #, no-c-format
 msgid "Support PCLMUL built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:930
+#: config/i386/i386.opt:934
 #, no-c-format
 msgid "Encode SSE instructions with VEX prefix."
 msgstr ""
 
-#: config/i386/i386.opt:934
+#: config/i386/i386.opt:938
 #, no-c-format
 msgid "Support FSGSBASE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:938
+#: config/i386/i386.opt:942
 #, no-c-format
 msgid "Support RDRND built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:942
+#: config/i386/i386.opt:946
 #, no-c-format
 msgid "Support F16C built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:946
+#: config/i386/i386.opt:950
 #, no-c-format
 msgid "Support PREFETCHWT1 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:950
+#: config/i386/i386.opt:954
 #, no-c-format
 msgid "Emit profiling counter call at function entry before prologue."
 msgstr ""
 
-#: config/i386/i386.opt:954
+#: config/i386/i386.opt:958
 #, no-c-format
 msgid "Generate __mcount_loc section with all mcount or __fentry__ calls."
 msgstr ""
 
-#: config/i386/i386.opt:958 config/s390/s390.opt:311
+#: config/i386/i386.opt:962 config/s390/s390.opt:311
 #, no-c-format
 msgid ""
 "Generate mcount/__fentry__ calls as nops. To activate they need to be "
 "patched in."
 msgstr ""
 
-#: config/i386/i386.opt:963
+#: config/i386/i386.opt:967
 #, no-c-format
 msgid "Set name of __fentry__ symbol called at function entry."
 msgstr ""
 
-#: config/i386/i386.opt:967
+#: config/i386/i386.opt:971
 #, no-c-format
 msgid "Set name of section to record mrecord-mcount calls."
 msgstr ""
 
-#: config/i386/i386.opt:971
+#: config/i386/i386.opt:975
 #, no-c-format
 msgid "Skip setting up RAX register when passing variable arguments."
 msgstr ""
 
-#: config/i386/i386.opt:975
+#: config/i386/i386.opt:979
 #, no-c-format
 msgid ""
 "Expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-"
 "time check."
 msgstr ""
 
-#: config/i386/i386.opt:979
+#: config/i386/i386.opt:983
 #, no-c-format
 msgid "Split 32-byte AVX unaligned load."
 msgstr ""
 
-#: config/i386/i386.opt:983
+#: config/i386/i386.opt:987
 #, no-c-format
 msgid "Split 32-byte AVX unaligned store."
 msgstr ""
 
-#: config/i386/i386.opt:987
+#: config/i386/i386.opt:991
 #, no-c-format
 msgid "Support RTM built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:995
+#: config/i386/i386.opt:999
 #, no-c-format
 msgid "Support MWAITX and MONITORX built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:999
+#: config/i386/i386.opt:1003
 #, no-c-format
 msgid "Support CLZERO built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1003
+#: config/i386/i386.opt:1007
 #, no-c-format
 msgid "Support PKU built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1011
+#: config/i386/i386.opt:1015
 #, no-c-format
 msgid ""
 "Known stack protector guard (for use with the -mstack-protector-guard= "
 "option):"
 msgstr ""
 
-#: config/i386/i386.opt:1035
+#: config/i386/i386.opt:1039
 #, no-c-format
 msgid "Use the given symbol for addressing the stack-protector guard."
 msgstr ""
 
-#: config/i386/i386.opt:1046
+#: config/i386/i386.opt:1050
 #, no-c-format
 msgid ""
 "Enable shadow stack built-in functions from Control-flow Enforcement "
 "Technology (CET)."
 msgstr ""
 
-#: config/i386/i386.opt:1051
+#: config/i386/i386.opt:1055
 #, 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:1056
+#: config/i386/i386.opt:1060
 #, no-c-format
 msgid ""
 "Insert ENDBR instruction at function entry only via cf_check attribute for "
 "CET instrumentation."
 msgstr ""
 
-#: config/i386/i386.opt:1061
+#: config/i386/i386.opt:1065
 #, no-c-format
 msgid "Make all function calls indirect."
 msgstr ""
 
-#: config/i386/i386.opt:1065
+#: config/i386/i386.opt:1069
 #, no-c-format
 msgid "Convert indirect call and jump to call and return thunks."
 msgstr ""
 
-#: config/i386/i386.opt:1069
+#: config/i386/i386.opt:1073
 #, no-c-format
 msgid "Convert function return to call and return thunk."
 msgstr ""
 
-#: config/i386/i386.opt:1073 config/s390/s390.opt:277
+#: config/i386/i386.opt:1077 config/s390/s390.opt:277
 #, no-c-format
 msgid ""
 "Known indirect branch choices (for use with the -mindirect-branch=/-"
 "mfunction-return= options):"
 msgstr ""
 
-#: config/i386/i386.opt:1089
+#: config/i386/i386.opt:1093
 #, 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:1093
+#: config/i386/i386.opt:1097
 #, no-c-format
 msgid "Force indirect call and jump via register."
 msgstr ""
 
-#: config/i386/i386.opt:1097
+#: config/i386/i386.opt:1101
 #, no-c-format
 msgid "Support MOVDIRI built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1101
+#: config/i386/i386.opt:1105
 #, no-c-format
 msgid "Support MOVDIR64B built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1105
+#: config/i386/i386.opt:1109
 #, no-c-format
 msgid "Support WAITPKG built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1109
+#: config/i386/i386.opt:1113
 #, no-c-format
 msgid "Support CLDEMOTE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1113
+#: config/i386/i386.opt:1117
 #, no-c-format
 msgid "Instrument function exit in instrumented functions with __fentry__."
 msgstr ""
 
-#: config/i386/i386.opt:1117
+#: config/i386/i386.opt:1121
 #, no-c-format
 msgid "Known choices for return instrumentation with -minstrument-return=:"
 msgstr ""
 
-#: config/i386/i386.opt:1130
+#: config/i386/i386.opt:1134
 #, no-c-format
 msgid ""
 "Generate a __return_loc section pointing to all return instrumentation code."
 msgstr ""
 
-#: config/i386/i386.opt:1138
+#: config/i386/i386.opt:1142
 #, no-c-format
 msgid ""
 "Known choices for mitigation against straight line speculation with -mharden-"
 "sls=:"
 msgstr ""
 
-#: config/i386/i386.opt:1154
+#: config/i386/i386.opt:1158
 #, 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:1159
+#: config/i386/i386.opt:1163
 #, no-c-format
 msgid "Support ENQCMD built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1163
+#: config/i386/i386.opt:1167
 #, no-c-format
 msgid "Support SERIALIZE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1167
+#: config/i386/i386.opt:1171
 #, no-c-format
 msgid "Support TSXLDTRK built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1171
+#: config/i386/i386.opt:1175
 #, no-c-format
 msgid "Support AMX-TILE built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1175
+#: config/i386/i386.opt:1179
 #, no-c-format
 msgid "Support AMX-INT8 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1179
+#: config/i386/i386.opt:1183
 #, no-c-format
 msgid "Support AMX-BF16 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1183
+#: config/i386/i386.opt:1187
 #, no-c-format
 msgid "Support HRESET built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1187
+#: config/i386/i386.opt:1191
 #, no-c-format
 msgid "Support KL built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1191
+#: config/i386/i386.opt:1195
 #, no-c-format
 msgid "Support WIDEKL built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1195
+#: config/i386/i386.opt:1199
 #, 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:1200
+#: config/i386/i386.opt:1204
 #, no-c-format
 msgid "Emit GNU_PROPERTY_X86_ISA_1_NEEDED GNU property."
 msgstr ""
 
-#: config/i386/i386.opt:1204
+#: config/i386/i386.opt:1208
 #, no-c-format
 msgid "Support MWAIT and MONITOR built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1208
+#: config/i386/i386.opt:1212
 #, no-c-format
 msgid ""
 "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and "
-"AVX512FP16 built-in functions and code generation."
+"AVX512-FP16 built-in functions and code generation."
 msgstr ""
 
-#: config/i386/i386.opt:1212
+#: config/i386/i386.opt:1216
 #, no-c-format
 msgid "Do not use GOT to access external symbols."
 msgstr ""
 
-#: config/i386/i386.opt:1216
+#: config/i386/i386.opt:1220
 #, no-c-format
 msgid "Instructions number above which STFL stall penalty can be compensated."
 msgstr ""
 
+#: config/i386/i386.opt:1224
+#, 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:1229
+#, 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:1234
+#, 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:1239
+#, 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:1244
+#, no-c-format
+msgid "Support AMX-FP16 built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1248
+#, no-c-format
+msgid "Support PREFETCHI built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1252
+#, no-c-format
+msgid "Support RAOINT built-in functions and code generation."
+msgstr ""
+
+#: config/i386/i386.opt:1256
+#, no-c-format
+msgid "Enable conservative small loop unrolling."
+msgstr ""
+
+#: config/i386/i386.opt:1260
+#, no-c-format
+msgid ""
+"-mlam=[none|u48|u57] Instrument meta data position in user data pointers."
+msgstr ""
+
 #: config/pa/pa64-hpux.opt:23
 #, no-c-format
 msgid "Assume code will be linked by GNU ld."
@@ -7714,99 +8424,106 @@ msgstr ""
 msgid "Generate cpp defines for workstation IO."
 msgstr ""
 
-#: config/pa/pa.opt:30 config/pa/pa.opt:91 config/pa/pa.opt:103
+#: config/pa/pa.opt:30 config/pa/pa.opt:95 config/pa/pa.opt:107
 #, no-c-format
 msgid "Generate PA1.0 code."
 msgstr ""
 
-#: config/pa/pa.opt:34 config/pa/pa.opt:107 config/pa/pa.opt:152
+#: config/pa/pa.opt:34 config/pa/pa.opt:111 config/pa/pa.opt:156
 #, no-c-format
 msgid "Generate PA1.1 code."
 msgstr ""
 
-#: config/pa/pa.opt:38 config/pa/pa.opt:111
+#: config/pa/pa.opt:38 config/pa/pa.opt:115
 #, no-c-format
 msgid "Generate PA2.0 code (requires binutils 2.10 or later)."
 msgstr ""
 
-#: config/pa/pa.opt:46
+#: config/pa/pa.opt:42
 #, no-c-format
-msgid "Caller copies function arguments passed by hidden reference."
+msgid ""
+"Generate libcalls for atomic loads and stores when sync libcalls are "
+"disabled."
 msgstr ""
 
 #: config/pa/pa.opt:50
 #, no-c-format
-msgid "Use ldcw/ldcd coherent cache-control hint."
+msgid "Caller copies function arguments passed by hidden reference."
 msgstr ""
 
 #: config/pa/pa.opt:54
 #, no-c-format
-msgid "Disable FP regs.  Equivalent to -msoft-float."
+msgid "Use ldcw/ldcd coherent cache-control hint."
 msgstr ""
 
 #: config/pa/pa.opt:58
 #, no-c-format
-msgid "Disable indexed addressing."
+msgid "Disable FP regs.  Equivalent to -msoft-float."
 msgstr ""
 
 #: config/pa/pa.opt:62
 #, no-c-format
+msgid "Disable indexed addressing."
+msgstr ""
+
+#: config/pa/pa.opt:66
+#, no-c-format
 msgid "Generate fast indirect calls."
 msgstr ""
 
-#: config/pa/pa.opt:70
+#: config/pa/pa.opt:74
 #, no-c-format
 msgid "Assume code will be assembled by GAS."
 msgstr ""
 
-#: config/pa/pa.opt:79
+#: config/pa/pa.opt:83
 #, no-c-format
 msgid "Enable linker optimizations."
 msgstr ""
 
-#: config/pa/pa.opt:83
+#: config/pa/pa.opt:87
 #, no-c-format
 msgid "Always generate long calls."
 msgstr ""
 
-#: config/pa/pa.opt:87
+#: config/pa/pa.opt:91
 #, no-c-format
 msgid "Emit long load/store sequences."
 msgstr ""
 
-#: config/pa/pa.opt:95
+#: config/pa/pa.opt:99
 #, no-c-format
 msgid "Disable space regs."
 msgstr ""
 
-#: config/pa/pa.opt:99
+#: config/pa/pa.opt:103
 #, no-c-format
 msgid "Assume memory references are ordered and barriers are not needed."
 msgstr ""
 
-#: config/pa/pa.opt:115
+#: config/pa/pa.opt:119
 #, no-c-format
 msgid "Use portable calling conventions."
 msgstr ""
 
-#: config/pa/pa.opt:119
+#: config/pa/pa.opt:123
 #, no-c-format
 msgid ""
 "Specify CPU for scheduling purposes.  Valid arguments are 700, 7100, 7100LC, "
 "7200, 7300, and 8000."
 msgstr ""
 
-#: config/pa/pa.opt:144 config/frv/frv.opt:215
+#: config/pa/pa.opt:148 config/frv/frv.opt:215
 #, no-c-format
 msgid "Use software floating point."
 msgstr ""
 
-#: config/pa/pa.opt:148
+#: config/pa/pa.opt:152
 #, no-c-format
 msgid "Use software integer multiplication."
 msgstr ""
 
-#: config/pa/pa.opt:156
+#: config/pa/pa.opt:160
 #, no-c-format
 msgid "Do not disable space regs."
 msgstr ""
@@ -8061,36 +8778,6 @@ msgstr ""
 msgid "Assume the VxWorks vThreads environment."
 msgstr ""
 
-#: config/cr16/cr16.opt:27
-#, no-c-format
-msgid "Generate SBIT, CBIT instructions."
-msgstr ""
-
-#: config/cr16/cr16.opt:31
-#, no-c-format
-msgid "Support multiply accumulate instructions."
-msgstr ""
-
-#: config/cr16/cr16.opt:38
-#, no-c-format
-msgid "Treat data references as near, far or medium. medium is default."
-msgstr ""
-
-#: config/cr16/cr16.opt:42
-#, no-c-format
-msgid "Generate code for CR16C architecture."
-msgstr ""
-
-#: config/cr16/cr16.opt:46
-#, no-c-format
-msgid "Generate code for CR16C+ architecture (Default)."
-msgstr ""
-
-#: config/cr16/cr16.opt:50
-#, no-c-format
-msgid "Treat integers as 32-bit."
-msgstr ""
-
 #: config/avr/avr.opt:23
 #, no-c-format
 msgid "Use subroutines for function prologues and epilogues."
@@ -8490,7 +9177,7 @@ msgid ""
 "are small, non-negative integers.  The default branch cost is 1."
 msgstr ""
 
-#: config/s390/s390.opt:238 config/arm/arm.opt:169
+#: config/s390/s390.opt:238 config/arm/arm.opt:181
 #, no-c-format
 msgid "Assume data segments are relative to text segment."
 msgstr ""
@@ -8577,6 +9264,11 @@ msgid ""
 "testing purposes."
 msgstr ""
 
+#: config/s390/s390.opt:331
+#, no-c-format
+msgid "Store all argument registers on the stack."
+msgstr ""
+
 #: config/rl78/rl78.opt:27 config/rx/elf.opt:26 config/csky/csky.opt:198
 #, no-c-format
 msgid "Use the simulator runtime."
@@ -8642,169 +9334,169 @@ msgstr ""
 msgid "Known ARM CPUs (for use with the -mcpu= and -mtune= options):"
 msgstr ""
 
-#: config/arm/arm-tables.opt:293
+#: config/arm/arm-tables.opt:302
 #, no-c-format
 msgid "Known ARM architectures (for use with the -march= option):"
 msgstr ""
 
-#: config/arm/arm-tables.opt:399
+#: config/arm/arm-tables.opt:408
 #, no-c-format
 msgid "Known ARM FPUs (for use with the -mfpu= option):"
 msgstr ""
 
-#: config/arm/arm.opt:26
+#: config/arm/arm.opt:38
 #, no-c-format
 msgid "TLS dialect to use:"
 msgstr ""
 
-#: config/arm/arm.opt:36
+#: config/arm/arm.opt:48
 #, no-c-format
 msgid "Specify an ABI."
 msgstr ""
 
-#: config/arm/arm.opt:40
+#: config/arm/arm.opt:52
 #, no-c-format
 msgid "Known ARM ABIs (for use with the -mabi= option):"
 msgstr ""
 
-#: config/arm/arm.opt:59
+#: config/arm/arm.opt:71
 #, no-c-format
 msgid "Generate a call to abort if a noreturn function returns."
 msgstr ""
 
-#: config/arm/arm.opt:66
+#: config/arm/arm.opt:78
 #, no-c-format
 msgid "Generate APCS conformant stack frames."
 msgstr ""
 
-#: config/arm/arm.opt:70
+#: config/arm/arm.opt:82
 #, no-c-format
 msgid "Generate re-entrant, PIC code."
 msgstr ""
 
-#: config/arm/arm.opt:92
+#: config/arm/arm.opt:104
 #, no-c-format
 msgid "Generate code in 32 bit ARM state."
 msgstr ""
 
-#: config/arm/arm.opt:100
+#: config/arm/arm.opt:112
 #, no-c-format
 msgid "Thumb: Assume non-static functions may be called from ARM code."
 msgstr ""
 
-#: config/arm/arm.opt:104
+#: config/arm/arm.opt:116
 #, no-c-format
 msgid "Thumb: Assume function pointers may go to non-Thumb aware code."
 msgstr ""
 
-#: config/arm/arm.opt:112 config/csky/csky.opt:73
+#: config/arm/arm.opt:124 config/csky/csky.opt:73
 #, no-c-format
 msgid "Specify if floating point hardware should be used."
 msgstr ""
 
-#: config/arm/arm.opt:116
+#: config/arm/arm.opt:128
 #, no-c-format
 msgid ""
 "Specify that the compiler should target secure code as per ARMv8-M Security "
 "Extensions."
 msgstr ""
 
-#: config/arm/arm.opt:120 config/csky/csky.opt:77
+#: config/arm/arm.opt:132 config/csky/csky.opt:77
 #, no-c-format
 msgid "Known floating-point ABIs (for use with the -mfloat-abi= option):"
 msgstr ""
 
-#: config/arm/arm.opt:133
+#: config/arm/arm.opt:145
 #, no-c-format
 msgid "Switch ARM/Thumb modes on alternating functions for compiler testing."
 msgstr ""
 
-#: config/arm/arm.opt:137
+#: config/arm/arm.opt:149
 #, no-c-format
 msgid "Specify the __fp16 floating-point format."
 msgstr ""
 
-#: config/arm/arm.opt:141
+#: config/arm/arm.opt:153
 #, no-c-format
 msgid "Known __fp16 formats (for use with the -mfp16-format= option):"
 msgstr ""
 
-#: config/arm/arm.opt:154
+#: config/arm/arm.opt:166
 #, no-c-format
 msgid "Specify the name of the target floating point hardware/format."
 msgstr ""
 
-#: config/arm/arm.opt:165
+#: config/arm/arm.opt:177
 #, no-c-format
 msgid "Generate call insns as indirect calls, if necessary."
 msgstr ""
 
-#: config/arm/arm.opt:173
+#: config/arm/arm.opt:185
 #, no-c-format
 msgid "Specify the register to be used for PIC addressing."
 msgstr ""
 
-#: config/arm/arm.opt:177
+#: config/arm/arm.opt:189
 #, no-c-format
 msgid "Store function names in object code."
 msgstr ""
 
-#: config/arm/arm.opt:181
+#: config/arm/arm.opt:193
 #, no-c-format
 msgid "Permit scheduling of a function's prologue sequence."
 msgstr ""
 
-#: config/arm/arm.opt:185 config/rs6000/rs6000.opt:239
+#: config/arm/arm.opt:197 config/rs6000/rs6000.opt:235
 #, no-c-format
 msgid "Do not load the PIC register in function prologues."
 msgstr ""
 
-#: config/arm/arm.opt:192
+#: config/arm/arm.opt:204
 #, no-c-format
 msgid "Specify the minimum bit alignment of structures. (Deprecated)."
 msgstr ""
 
-#: config/arm/arm.opt:196
+#: config/arm/arm.opt:208
 #, no-c-format
 msgid "Generate code for Thumb state."
 msgstr ""
 
-#: config/arm/arm.opt:200
+#: config/arm/arm.opt:212
 #, no-c-format
 msgid "Support calls between Thumb and ARM instruction sets."
 msgstr ""
 
-#: config/arm/arm.opt:204
+#: config/arm/arm.opt:216
 #, no-c-format
 msgid "Specify thread local storage scheme."
 msgstr ""
 
-#: config/arm/arm.opt:208
+#: config/arm/arm.opt:220
 #, no-c-format
 msgid "Specify how to access the thread pointer."
 msgstr ""
 
-#: config/arm/arm.opt:212
+#: config/arm/arm.opt:224
 #, no-c-format
 msgid "Valid arguments to -mtp=:"
 msgstr ""
 
-#: config/arm/arm.opt:225
+#: config/arm/arm.opt:237
 #, no-c-format
 msgid "Thumb: Generate (non-leaf) stack frames even if not needed."
 msgstr ""
 
-#: config/arm/arm.opt:229
+#: config/arm/arm.opt:241
 #, no-c-format
 msgid "Thumb: Generate (leaf) stack frames even if not needed."
 msgstr ""
 
-#: config/arm/arm.opt:233 config/mn10300/mn10300.opt:42
+#: config/arm/arm.opt:245 config/mn10300/mn10300.opt:42
 #, no-c-format
 msgid "Tune code for the given processor."
 msgstr ""
 
-#: config/arm/arm.opt:237
+#: config/arm/arm.opt:249
 #, no-c-format
 msgid ""
 "Print CPU tuning information as comment in assembler file.  This is an "
@@ -8812,108 +9504,108 @@ msgid ""
 "ordinary use in compiling code."
 msgstr ""
 
-#: config/arm/arm.opt:248
+#: config/arm/arm.opt:260
 #, no-c-format
 msgid ""
 "Use Neon quad-word (rather than double-word) registers for vectorization."
 msgstr ""
 
-#: config/arm/arm.opt:252
+#: config/arm/arm.opt:264
 #, no-c-format
 msgid ""
 "Use Neon double-word (rather than quad-word) registers for vectorization."
 msgstr ""
 
-#: config/arm/arm.opt:256
+#: config/arm/arm.opt:268
 #, no-c-format
 msgid ""
 "Enable more verbose RTX cost dumps during debug.  For GCC developers use "
 "only."
 msgstr ""
 
-#: config/arm/arm.opt:260
+#: config/arm/arm.opt:272
 #, no-c-format
 msgid "Only generate absolute relocations on word sized values."
 msgstr ""
 
-#: config/arm/arm.opt:264
+#: config/arm/arm.opt:276
 #, no-c-format
 msgid "Generate IT blocks appropriate for ARMv8."
 msgstr ""
 
-#: config/arm/arm.opt:268
+#: config/arm/arm.opt:280
 #, no-c-format
 msgid ""
 "Avoid overlapping destination and address registers on LDRD instructions "
 "that may trigger Cortex-M3 errata."
 msgstr ""
 
-#: config/arm/arm.opt:273
+#: config/arm/arm.opt:285
 #, no-c-format
 msgid "Mitigate issues with VLLDM on some M-profile devices (CVE-2021-35465)."
 msgstr ""
 
-#: config/arm/arm.opt:277
+#: config/arm/arm.opt:289
 #, no-c-format
 msgid ""
 "Mitigate issues with AES instructions on Cortex-A57 and Cortex-A72 (Arm "
 "erratum #1742098)."
 msgstr ""
 
-#: config/arm/arm.opt:282
+#: config/arm/arm.opt:294
 #, no-c-format
 msgid ""
 "Mitigate issues with AES instructions on Cortex-A57 and Cortex-A72 (Arm "
 "erratum #1655431)."
 msgstr ""
 
-#: config/arm/arm.opt:287 config/nds32/nds32.opt:461 config/arc/arc.opt:490
+#: config/arm/arm.opt:299 config/nds32/nds32.opt:461 config/arc/arc.opt:495
 #, no-c-format
 msgid "Enable unaligned word and halfword accesses to packed data."
 msgstr ""
 
-#: config/arm/arm.opt:291
+#: config/arm/arm.opt:303
 #, no-c-format
 msgid "This option is deprecated and has no effect."
 msgstr ""
 
-#: config/arm/arm.opt:295
+#: config/arm/arm.opt:307
 #, no-c-format
 msgid "Assume loading data from flash is slower than fetching instructions."
 msgstr ""
 
-#: config/arm/arm.opt:299
+#: config/arm/arm.opt:311
 #, no-c-format
 msgid "Assume unified syntax for inline assembly code."
 msgstr ""
 
-#: config/arm/arm.opt:303
+#: config/arm/arm.opt:315
 #, no-c-format
 msgid "Do not allow constant data to be placed in code sections."
 msgstr ""
 
-#: config/arm/arm.opt:307
+#: config/arm/arm.opt:319
 #, no-c-format
 msgid "When linking for big-endian targets, generate a BE8 format image."
 msgstr ""
 
-#: config/arm/arm.opt:311
+#: config/arm/arm.opt:323
 #, no-c-format
 msgid ""
 "When linking for big-endian targets, generate a legacy BE32 format image."
 msgstr ""
 
-#: config/arm/arm.opt:315 config/sh/sh.opt:195
+#: config/arm/arm.opt:327 config/sh/sh.opt:195
 #, no-c-format
 msgid "Cost to assume for a branch insn."
 msgstr ""
 
-#: config/arm/arm.opt:319
+#: config/arm/arm.opt:335
 #, no-c-format
 msgid "Generate code which uses the core registers only (r0-r14)."
 msgstr ""
 
-#: config/arm/arm.opt:341
+#: config/arm/arm.opt:357
 #, no-c-format
 msgid ""
 "Use an immediate to offset from the TLS register. This option is for use "
@@ -9150,450 +9842,457 @@ msgstr ""
 msgid "Call mcount for profiling before a function prologue."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:121
+#: config/rs6000/rs6000.opt:117
 #, no-c-format
 msgid "Use PowerPC-64 instruction set."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:125
+#: config/rs6000/rs6000.opt:121
 #, no-c-format
 msgid "Use PowerPC General Purpose group optional instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:129
+#: config/rs6000/rs6000.opt:125
 #, no-c-format
 msgid "Use PowerPC Graphics group optional instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:133
+#: config/rs6000/rs6000.opt:129
 #, no-c-format
 msgid "Use PowerPC V2.01 single field mfcr instruction."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:137
+#: config/rs6000/rs6000.opt:133
 #, no-c-format
 msgid "Use PowerPC V2.02 popcntb instruction."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:141
+#: config/rs6000/rs6000.opt:137
 #, no-c-format
 msgid "Use PowerPC V2.02 floating point rounding instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:145
+#: config/rs6000/rs6000.opt:141
 #, no-c-format
 msgid "Use PowerPC V2.05 compare bytes instruction."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:156
+#: config/rs6000/rs6000.opt:152
 #, no-c-format
 msgid "Use AltiVec instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:160
+#: config/rs6000/rs6000.opt:156
 #, no-c-format
 msgid "Use decimal floating point instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:164
+#: config/rs6000/rs6000.opt:160
 #, no-c-format
 msgid "Use 4xx half-word multiply instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:168
+#: config/rs6000/rs6000.opt:164
 #, no-c-format
 msgid "Use 4xx string-search dlmzb instruction."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:172
+#: config/rs6000/rs6000.opt:168
 #, no-c-format
 msgid "Generate load/store multiple instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:191
+#: config/rs6000/rs6000.opt:187
 #, no-c-format
 msgid "Use PowerPC V2.06 popcntd instruction."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:195
+#: config/rs6000/rs6000.opt:191
 #, no-c-format
 msgid ""
 "Under -ffast-math, generate a FRIZ instruction for (double)(long long) "
 "conversions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:203
+#: config/rs6000/rs6000.opt:199
 #, no-c-format
 msgid "Use vector/scalar (VSX) instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:231
+#: config/rs6000/rs6000.opt:227
 #, no-c-format
 msgid "Do not generate load/store with update instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:235
+#: config/rs6000/rs6000.opt:231
 #, no-c-format
 msgid "Generate load/store with update instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:243
+#: config/rs6000/rs6000.opt:239
 #, no-c-format
 msgid "Avoid generation of indexed load/store instructions when possible."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:250
+#: config/rs6000/rs6000.opt:246
 #, no-c-format
 msgid "Schedule the start and end of the procedure."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:254
+#: config/rs6000/rs6000.opt:250
 #, no-c-format
 msgid "Return all structures in memory (AIX default)."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:258
+#: config/rs6000/rs6000.opt:254
 #, no-c-format
 msgid "Return small structures in registers (SVR4 default)."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:262
+#: config/rs6000/rs6000.opt:258
 #, no-c-format
 msgid "Conform more closely to IBM XLC semantics."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:266 config/rs6000/rs6000.opt:270
+#: config/rs6000/rs6000.opt:262 config/rs6000/rs6000.opt:266
 #, no-c-format
 msgid ""
 "Generate software reciprocal divide and square root for better throughput."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:274
+#: config/rs6000/rs6000.opt:270
 #, no-c-format
 msgid "Assume that the reciprocal estimate instructions provide more accuracy."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:278
+#: config/rs6000/rs6000.opt:274
 #, no-c-format
 msgid "Do not place floating point constants in TOC."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:282
+#: config/rs6000/rs6000.opt:278
 #, no-c-format
 msgid "Place floating point constants in TOC."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:286
+#: config/rs6000/rs6000.opt:282
 #, no-c-format
 msgid "Do not place symbol+offset constants in TOC."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:290
+#: config/rs6000/rs6000.opt:286
 #, no-c-format
 msgid "Place symbol+offset constants in TOC."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:301
+#: config/rs6000/rs6000.opt:297
 #, no-c-format
 msgid "Use only one TOC entry per procedure."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:305
+#: config/rs6000/rs6000.opt:301
 #, no-c-format
 msgid "Put everything in the regular TOC."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:309
+#: config/rs6000/rs6000.opt:305
 #, no-c-format
 msgid "Generate VRSAVE instructions when generating AltiVec code."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:313
+#: config/rs6000/rs6000.opt:309
 #, no-c-format
 msgid "Deprecated option.  Use -mno-vrsave instead."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:317
+#: config/rs6000/rs6000.opt:313
 #, no-c-format
 msgid "Deprecated option.  Use -mvrsave instead."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:321
+#: config/rs6000/rs6000.opt:317
 #, no-c-format
 msgid "Max number of bytes to move inline."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:325
+#: config/rs6000/rs6000.opt:321
 #, no-c-format
 msgid ""
 "Generate unaligned VSX load/store for inline expansion of memcpy/memmove."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:329
+#: config/rs6000/rs6000.opt:325
 #, no-c-format
 msgid ""
 "Generate unaligned VSX vector pair load/store for inline expansion of memcpy/"
 "memmove."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:333
+#: config/rs6000/rs6000.opt:329
 #, no-c-format
 msgid "Max number of bytes to compare without loops."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:337
+#: config/rs6000/rs6000.opt:333
 #, no-c-format
 msgid "Max number of bytes to compare with loops."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:341
+#: config/rs6000/rs6000.opt:337
 #, no-c-format
 msgid "Max number of bytes to compare."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:345
+#: config/rs6000/rs6000.opt:341
 #, no-c-format
 msgid "Generate isel instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:349
+#: config/rs6000/rs6000.opt:345
 #, no-c-format
 msgid "-mdebug=\tEnable debug output."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:354
+#: config/rs6000/rs6000.opt:350
 #, no-c-format
 msgid "Use the AltiVec ABI extensions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:358
+#: config/rs6000/rs6000.opt:354
 #, no-c-format
 msgid "Do not use the AltiVec ABI extensions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:363
+#: config/rs6000/rs6000.opt:359
 #, no-c-format
 msgid "Use the AIX Vector Extended ABI."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:367
+#: config/rs6000/rs6000.opt:363
 #, no-c-format
 msgid "Do not use the AIX Vector Extended ABI."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:372
+#: config/rs6000/rs6000.opt:368
 #, no-c-format
 msgid "Use the ELFv1 ABI."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:376
+#: config/rs6000/rs6000.opt:372
 #, no-c-format
 msgid "Use the ELFv2 ABI."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:396
+#: config/rs6000/rs6000.opt:392
 #, no-c-format
 msgid "-mcpu=\tUse features of and schedule code for given CPU."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:400
+#: config/rs6000/rs6000.opt:396
 #, no-c-format
 msgid "-mtune=\tSchedule code for given CPU."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:404
+#: config/rs6000/rs6000.opt:400
 #, no-c-format
 msgid "-mtraceback=[full,part,no]\tSelect type of traceback table."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:420
+#: config/rs6000/rs6000.opt:416
 #, no-c-format
 msgid "Avoid all range limits on call instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:428
+#: config/rs6000/rs6000.opt:424
 #, no-c-format
 msgid "Warn about deprecated 'vector long ...' AltiVec type usage."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:432
+#: config/rs6000/rs6000.opt:428
 #, no-c-format
 msgid ""
 "Use -mlong-double-64 for 64-bit IEEE floating point format.  Use -mlong-"
 "double-128 for 128-bit floating point format (either IEEE or IBM)."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:441
+#: config/rs6000/rs6000.opt:437
 #, no-c-format
 msgid "Determine which dependences between insns are considered costly."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:445
+#: config/rs6000/rs6000.opt:441
 #, no-c-format
 msgid "Specify which post scheduling nop insertion scheme to apply."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:449
+#: config/rs6000/rs6000.opt:445
 #, no-c-format
 msgid "Specify alignment of structure fields default/natural."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:453
+#: config/rs6000/rs6000.opt:449
 #, no-c-format
 msgid "Valid arguments to -malign-:"
 msgstr ""
 
-#: config/rs6000/rs6000.opt:463
+#: config/rs6000/rs6000.opt:459
 #, no-c-format
 msgid "Specify scheduling priority for dispatch slot restricted insns."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:467
+#: config/rs6000/rs6000.opt:463
 #, no-c-format
 msgid "Use r11 to hold the static link in calls to functions via pointers."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:471
+#: config/rs6000/rs6000.opt:467
 #, no-c-format
 msgid "Save the TOC in the prologue for indirect calls rather than inline."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:479
+#: config/rs6000/rs6000.opt:475
 #, no-c-format
 msgid ""
 "Fuse certain integer operations together for better performance on power8."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:483
+#: config/rs6000/rs6000.opt:479
 #, no-c-format
 msgid "Allow sign extension in fusion operations."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:487
+#: config/rs6000/rs6000.opt:483
 #, no-c-format
 msgid "Use vector and scalar instructions added in ISA 2.07."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:491
+#: config/rs6000/rs6000.opt:487
 #, no-c-format
 msgid ""
 "Fuse certain integer operations together for better performance on power10."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:495
+#: config/rs6000/rs6000.opt:491
 #, no-c-format
 msgid "Use ISA 2.07 Category:Vector.AES and Category:Vector.SHA2 instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:502
+#: config/rs6000/rs6000.opt:498
 #, no-c-format
 msgid "Use ISA 2.07 transactional memory (HTM) instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:506
+#: config/rs6000/rs6000.opt:502
 #, no-c-format
 msgid "Generate the quad word memory instructions (lq/stq)."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:510
+#: config/rs6000/rs6000.opt:506
 #, no-c-format
 msgid "Generate the quad word memory atomic instructions (lqarx/stqcx)."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:514
+#: config/rs6000/rs6000.opt:510
 #, no-c-format
 msgid ""
 "Generate aggregate parameter passing code with at most 64-bit alignment."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:518
+#: config/rs6000/rs6000.opt:514
 #, no-c-format
 msgid "Analyze and remove doubleword swaps from VSX computations."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:526
+#: config/rs6000/rs6000.opt:522
 #, no-c-format
 msgid "Use certain scalar instructions added in ISA 3.0."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:530
+#: config/rs6000/rs6000.opt:526
 #, no-c-format
 msgid "Use vector instructions added in ISA 3.0."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:534
+#: config/rs6000/rs6000.opt:530
 #, no-c-format
 msgid "Use the new min/max instructions defined in ISA 3.0."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:538
+#: config/rs6000/rs6000.opt:534
 #, no-c-format
 msgid "Generate the integer modulo instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:542
+#: config/rs6000/rs6000.opt:538
 #, no-c-format
 msgid "Enable IEEE 128-bit floating point via the __float128 keyword."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:546
+#: config/rs6000/rs6000.opt:542
 #, no-c-format
 msgid "Enable using IEEE 128-bit floating point instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:550
+#: config/rs6000/rs6000.opt:546
 #, no-c-format
 msgid "Enable default conversions between __float128 & long double."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:590
+#: config/rs6000/rs6000.opt:586
 #, no-c-format
 msgid "Generate (do not generate) prefixed memory instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:594
+#: config/rs6000/rs6000.opt:590
 #, no-c-format
 msgid "Generate (do not generate) pc-relative memory addressing."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:598
+#: config/rs6000/rs6000.opt:594
 #, no-c-format
 msgid ""
 "Generate (do not generate) pc-relative memory optimizations for externals."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:602
+#: config/rs6000/rs6000.opt:598
 #, no-c-format
 msgid "Generate (do not generate) MMA instructions."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:609
+#: config/rs6000/rs6000.opt:605
 #, no-c-format
 msgid ""
 "Enable instructions that guard against return-oriented programming attacks."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:613
+#: config/rs6000/rs6000.opt:609
 #, no-c-format
 msgid "Generate code that will run in privileged state."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:617
+#: config/rs6000/rs6000.opt:613
 #, no-c-format
 msgid "Generate (do not generate) code that uses the XXSPLTIW instruction."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:621
+#: config/rs6000/rs6000.opt:617
 #, no-c-format
 msgid "Generate (do not generate) code that uses the XXSPLTIDP instruction."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:625
+#: config/rs6000/rs6000.opt:621
 #, no-c-format
 msgid "Generate (do not generate) code that uses the LXVKQ instruction."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:629
+#: config/rs6000/rs6000.opt:627
+#, 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:633
 #, no-c-format
 msgid ""
 "When costing for loop vectorization, we probably need to penalize the loop "
@@ -9605,7 +10304,7 @@ msgid ""
 "value is 85."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:638
+#: config/rs6000/rs6000.opt:642
 #, no-c-format
 msgid ""
 "Like parameter rs6000-density-pct-threshold, we also check the total sum of "
@@ -9613,7 +10312,7 @@ msgid ""
 "threshold specified by this parameter.  The default value is 70."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:644
+#: config/rs6000/rs6000.opt:648
 #, no-c-format
 msgid ""
 "When both heuristics with rs6000-density-pct-threshold and rs6000-density-"
@@ -9621,7 +10320,7 @@ msgid ""
 "the value which is specified by this parameter.  The default value is 10."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:651
+#: config/rs6000/rs6000.opt:655
 #, no-c-format
 msgid ""
 "When costing for loop vectorization, we probably need to penalize the loop "
@@ -9632,7 +10331,7 @@ msgid ""
 "specified by this parameter.  The default value is 45."
 msgstr ""
 
-#: config/rs6000/rs6000.opt:660
+#: config/rs6000/rs6000.opt:664
 #, no-c-format
 msgid ""
 "Like parameter rs6000-density-load-pct-threshold, we also check if the total "
@@ -9640,6 +10339,21 @@ msgid ""
 "and penalize only if it's satisfied.  The default value is 20."
 msgstr ""
 
+#: config/rs6000/rs6000.opt:670
+#, no-c-format
+msgid ""
+"Indicate how many non memory access vector instructions can be issued per "
+"cycle, it's used in unroll factor determination for autovectorizer.  The "
+"default value is 4."
+msgstr ""
+
+#: config/rs6000/rs6000.opt:676
+#, no-c-format
+msgid ""
+"When reduction factor computed for a loop exceeds the threshold specified by "
+"this parameter, prefer to unroll this loop.  The default value is 1."
+msgstr ""
+
 #: config/rs6000/sysv4.opt:24
 #, no-c-format
 msgid "-mcall-ABI\tSelect ABI calling convention."
@@ -9874,23 +10588,6 @@ msgstr ""
 msgid "Tune expected memory latency."
 msgstr ""
 
-#: config/tilepro/tilepro.opt:23
-#, no-c-format
-msgid ""
-"Compile with 32 bit longs and pointers, which is the only supported behavior "
-"and thus the flag is ignored."
-msgstr ""
-
-#: config/tilepro/tilepro.opt:28 config/tilegx/tilegx.opt:26
-#, no-c-format
-msgid "-mcpu=CPU\tUse features of and schedule code for given CPU."
-msgstr ""
-
-#: config/tilepro/tilepro.opt:32
-#, no-c-format
-msgid "Known TILEPro CPUs (for use with the -mcpu= option):"
-msgstr ""
-
 #: config/lm32/lm32.opt:24
 #, no-c-format
 msgid "Enable multiply instructions."
@@ -10009,6 +10706,16 @@ msgid ""
 "is 1024."
 msgstr ""
 
+#: config/loongarch/loongarch.opt:166
+#, no-c-format
+msgid "Use %reloc() assembly operators."
+msgstr ""
+
+#: config/loongarch/loongarch.opt:197
+#, no-c-format
+msgid "Avoid using the GOT to access external symbols."
+msgstr ""
+
 #: config/or1k/elf.opt:28
 #, no-c-format
 msgid "Configure the newlib board specific runtime.  The default is or1ksim."
@@ -10215,13 +10922,11 @@ msgid "Equivalent to -mgpopt=none."
 msgstr ""
 
 #: config/nios2/nios2.opt:94 config/c6x/c6x.opt:30 config/mips/mips.opt:134
-#: config/tilegx/tilegx.opt:45
 #, 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
-#: config/tilegx/tilegx.opt:49
 #, no-c-format
 msgid "Use little-endian byte order."
 msgstr ""
@@ -12228,69 +12933,63 @@ msgstr ""
 msgid "Enable the use of the fsrra instruction."
 msgstr ""
 
-#: config/sh/sh.opt:303
-#, no-c-format
-msgid "Use LRA instead of reload (transitional)."
-msgstr ""
-
 #: config/gcn/gcn.opt:26
 #, no-c-format
 msgid "GCN GPU type to use:"
 msgstr ""
 
-#: config/gcn/gcn.opt:42 config/gcn/gcn.opt:46
+#: config/gcn/gcn.opt:45 config/gcn/gcn.opt:49
 #, no-c-format
 msgid "Specify the name of the target GPU."
 msgstr ""
 
-#: config/gcn/gcn.opt:50
+#: config/gcn/gcn.opt:53
 #, no-c-format
 msgid "Generate code for a 32-bit ABI."
 msgstr ""
 
-#: config/gcn/gcn.opt:54
+#: config/gcn/gcn.opt:57
 #, no-c-format
 msgid "Generate code for a 64-bit ABI."
 msgstr ""
 
-#: config/gcn/gcn.opt:58
+#: config/gcn/gcn.opt:61
 #, no-c-format
 msgid "Enable OpenMP GPU offloading."
 msgstr ""
 
-#: config/gcn/gcn.opt:69
+#: config/gcn/gcn.opt:72
 #, no-c-format
-msgid ""
-"-mstack-size=<number>\tSet the private segment size per wave-front, in bytes."
+msgid "Obsolete; use GCN_STACK_SIZE at runtime."
 msgstr ""
 
-#: config/gcn/gcn.opt:75
+#: config/gcn/gcn.opt:78
 #, no-c-format
 msgid ""
 "Amount of local data-share (LDS) memory to reserve for gang-private "
 "variables."
 msgstr ""
 
-#: config/gcn/gcn.opt:79
+#: config/gcn/gcn.opt:82
 #, no-c-format
 msgid "Warn about invalid OpenACC dimensions."
 msgstr ""
 
-#: config/gcn/gcn.opt:83
+#: config/gcn/gcn.opt:86
 #, no-c-format
 msgid "Compile for devices requiring XNACK enabled. Default off."
 msgstr ""
 
-#: config/gcn/gcn.opt:87
+#: config/gcn/gcn.opt:90
 #, no-c-format
 msgid "SRAM-ECC modes:"
 msgstr ""
 
-#: config/gcn/gcn.opt:100
+#: config/gcn/gcn.opt:103
 #, no-c-format
 msgid ""
-"Compile for devices with the SRAM ECC feature enabled, or not. Default \"any"
-"\"."
+"Compile for devices with the SRAM ECC feature enabled, or not. Default "
+"\"any\"."
 msgstr ""
 
 #: config/fr30/fr30.opt:23
@@ -12805,26 +13504,6 @@ msgstr ""
 msgid "Known MIPS ISA levels (for use with the -mips option):"
 msgstr ""
 
-#: config/tilegx/tilegx.opt:30
-#, no-c-format
-msgid "Known TILE-Gx CPUs (for use with the -mcpu= option):"
-msgstr ""
-
-#: config/tilegx/tilegx.opt:37
-#, no-c-format
-msgid "Compile with 32 bit longs and pointers."
-msgstr ""
-
-#: config/tilegx/tilegx.opt:41
-#, no-c-format
-msgid "Compile with 64 bit longs and pointers."
-msgstr ""
-
-#: config/tilegx/tilegx.opt:53
-#, no-c-format
-msgid "Use given TILE-Gx code model."
-msgstr ""
-
 #: config/arc/arc-tables.opt:25
 #, no-c-format
 msgid "Known ARC CPUs (for use with the -mcpu= option):"
@@ -13020,230 +13699,224 @@ msgstr ""
 msgid "-mtune=TUNE\tTune code for given ARC variant."
 msgstr ""
 
-#: config/arc/arc.opt:281
+#: config/arc/arc.opt:284
 #, no-c-format
 msgid "Enable the use of indexed loads."
 msgstr ""
 
-#: config/arc/arc.opt:285
+#: config/arc/arc.opt:288
 #, no-c-format
 msgid "Enable the use of pre/post modify with register displacement."
 msgstr ""
 
-#: config/arc/arc.opt:289
+#: config/arc/arc.opt:292
 #, no-c-format
 msgid "Generate 32x16 multiply and mac instructions."
 msgstr ""
 
-#: config/arc/arc.opt:297
+#: config/arc/arc.opt:300
 #, no-c-format
 msgid "Don't use less than 25 bit addressing range for calls."
 msgstr ""
 
-#: config/arc/arc.opt:301
+#: config/arc/arc.opt:304
 #, no-c-format
 msgid ""
 "Explain what alignment considerations lead to the decision to make an insn "
 "short or long."
 msgstr ""
 
-#: config/arc/arc.opt:309
-#, no-c-format
-msgid ""
-"Enable Rcq constraint handling - most short code generation depends on this."
-msgstr ""
-
-#: config/arc/arc.opt:313
-#, no-c-format
-msgid "Enable Rcw constraint handling - ccfsm condexec mostly depends on this."
-msgstr ""
-
-#: config/arc/arc.opt:317
+#: config/arc/arc.opt:322
 #, no-c-format
 msgid "Enable pre-reload use of cbranchsi pattern."
 msgstr ""
 
-#: config/arc/arc.opt:321
+#: config/arc/arc.opt:326
 #, no-c-format
 msgid "Enable bbit peephole2."
 msgstr ""
 
-#: config/arc/arc.opt:325
+#: config/arc/arc.opt:330
 #, no-c-format
 msgid ""
 "Use pc-relative switch case tables - this enables case table shortening."
 msgstr ""
 
-#: config/arc/arc.opt:329
+#: config/arc/arc.opt:334
 #, no-c-format
 msgid "Enable compact casesi pattern."
 msgstr ""
 
-#: config/arc/arc.opt:333
+#: config/arc/arc.opt:338
 #, no-c-format
 msgid "Enable 'q' instruction alternatives."
 msgstr ""
 
-#: config/arc/arc.opt:337
+#: config/arc/arc.opt:342
 #, no-c-format
 msgid "Expand adddi3 and subdi3 at rtl generation time into add.f / adc etc."
 msgstr ""
 
-#: config/arc/arc.opt:344
+#: config/arc/arc.opt:349
 #, no-c-format
 msgid "Enable variable polynomial CRC extension."
 msgstr ""
 
-#: config/arc/arc.opt:348
+#: config/arc/arc.opt:353
 #, no-c-format
 msgid "Enable DSP 3.1 Pack A extensions."
 msgstr ""
 
-#: config/arc/arc.opt:352
+#: config/arc/arc.opt:357
 #, no-c-format
 msgid "Enable dual viterbi butterfly extension."
 msgstr ""
 
-#: config/arc/arc.opt:362
+#: config/arc/arc.opt:367
 #, no-c-format
 msgid "Enable Dual and Single Operand Instructions for Telephony."
 msgstr ""
 
-#: config/arc/arc.opt:366
+#: config/arc/arc.opt:371
 #, no-c-format
 msgid "Enable XY Memory extension (DSP version 3)."
 msgstr ""
 
-#: config/arc/arc.opt:371
+#: config/arc/arc.opt:376
 #, no-c-format
 msgid "Enable Locked Load/Store Conditional extension."
 msgstr ""
 
-#: config/arc/arc.opt:375
+#: config/arc/arc.opt:380
 #, no-c-format
 msgid "Enable swap byte ordering extension instruction."
 msgstr ""
 
-#: config/arc/arc.opt:379
+#: config/arc/arc.opt:384
 #, no-c-format
 msgid "Enable 64-bit Time-Stamp Counter extension instruction."
 msgstr ""
 
-#: config/arc/arc.opt:383
+#: config/arc/arc.opt:388
 #, no-c-format
 msgid "Pass -EB option through to linker."
 msgstr ""
 
-#: config/arc/arc.opt:387
+#: config/arc/arc.opt:392
 #, no-c-format
 msgid "Pass -EL option through to linker."
 msgstr ""
 
-#: config/arc/arc.opt:391
+#: config/arc/arc.opt:396
 #, no-c-format
 msgid "Pass -marclinux option through to linker."
 msgstr ""
 
-#: config/arc/arc.opt:395
+#: config/arc/arc.opt:400
 #, no-c-format
 msgid "Pass -marclinux_prof option through to linker."
 msgstr ""
 
-#: config/arc/arc.opt:404
+#: config/arc/arc.opt:409
 #, no-c-format
 msgid "Don't indicate any priority with TARGET_REGISTER_PRIORITY."
 msgstr ""
 
-#: config/arc/arc.opt:408
+#: config/arc/arc.opt:413
 #, no-c-format
 msgid "Indicate priority for r0..r3 / r12..r15 with TARGET_REGISTER_PRIORITY."
 msgstr ""
 
-#: config/arc/arc.opt:412
+#: config/arc/arc.opt:417
 #, no-c-format
 msgid "Reduce priority for r0..r3 / r12..r15 with TARGET_REGISTER_PRIORITY."
 msgstr ""
 
-#: config/arc/arc.opt:424
+#: config/arc/arc.opt:429
 #, no-c-format
 msgid "Enable atomic instructions."
 msgstr ""
 
-#: config/arc/arc.opt:428
+#: config/arc/arc.opt:433
 #, no-c-format
 msgid "Enable double load/store instructions for ARC HS."
 msgstr ""
 
-#: config/arc/arc.opt:432
+#: config/arc/arc.opt:437
 #, no-c-format
 msgid "Specify the name of the target floating point configuration."
 msgstr ""
 
-#: config/arc/arc.opt:475
+#: config/arc/arc.opt:480
 #, no-c-format
 msgid "Specify thread pointer register number."
 msgstr ""
 
-#: config/arc/arc.opt:482
+#: config/arc/arc.opt:487
 #, no-c-format
 msgid "Enable use of NPS400 bit operations."
 msgstr ""
 
-#: config/arc/arc.opt:486
+#: config/arc/arc.opt:491
 #, no-c-format
 msgid "Enable use of NPS400 xld/xst extension."
 msgstr ""
 
-#: config/arc/arc.opt:494
+#: config/arc/arc.opt:499
 #, no-c-format
 msgid ""
 "Specifies the registers that the processor saves on an interrupt entry and "
 "exit."
 msgstr ""
 
-#: config/arc/arc.opt:498
+#: config/arc/arc.opt:503
 #, no-c-format
 msgid ""
 "Specifies the number of registers replicated in second register bank on "
 "entry to fast interrupt."
 msgstr ""
 
-#: config/arc/arc.opt:502
+#: config/arc/arc.opt:507
 #, no-c-format
 msgid ""
 "Sets LP_COUNT register width.  Possible values are 8, 16, 20, 24, 28, and 32."
 msgstr ""
 
-#: config/arc/arc.opt:527
+#: config/arc/arc.opt:532
 #, no-c-format
 msgid "Enable 16-entry register file."
 msgstr ""
 
-#: config/arc/arc.opt:531
+#: config/arc/arc.opt:536
 #, no-c-format
 msgid "Enable use of BI/BIH instructions when available."
 msgstr ""
 
-#: config/arc/arc.opt:535
+#: config/arc/arc.opt:540
 #, no-c-format
 msgid "Enable ENTER_S and LEAVE_S opcodes for ARCv2."
 msgstr ""
 
-#: lto/lang.opt:53
+#: lto/lang.opt:50
 #, no-c-format
 msgid "Set linker output type (used internally during LTO optimization)."
 msgstr ""
 
-#: lto/lang.opt:58
+#: lto/lang.opt:54
 #, no-c-format
 msgid "Run the link-time optimizer in local transformation (LTRANS) mode."
 msgstr ""
 
-#: lto/lang.opt:62
+#: lto/lang.opt:58
 #, no-c-format
 msgid "Specify a file to which a list of files output by LTRANS is written."
 msgstr ""
 
+#: lto/lang.opt:62
+#, no-c-format
+msgid "The resolution file."
+msgstr ""
+
 #: lto/lang.opt:66
 #, no-c-format
 msgid "Run the link-time optimizer in whole program analysis (WPA) mode."
@@ -13255,553 +13928,548 @@ msgid ""
 "Whole program analysis (WPA) mode with number of parallel jobs specified."
 msgstr ""
 
-#: lto/lang.opt:75
+#: lto/lang.opt:78
 #, no-c-format
 msgid "Call the dump function for variables and function in IL."
 msgstr ""
 
-#: lto/lang.opt:79
+#: lto/lang.opt:82
 #, no-c-format
 msgid "Dump the demangled output."
 msgstr ""
 
-#: lto/lang.opt:83
+#: lto/lang.opt:86
 #, no-c-format
 msgid "Dump only the defined symbols."
 msgstr ""
 
-#: lto/lang.opt:87
+#: lto/lang.opt:90
 #, no-c-format
 msgid "Print the initial values of the variables."
 msgstr ""
 
-#: lto/lang.opt:91
+#: lto/lang.opt:94
 #, no-c-format
 msgid "Sort the symbols alphabetically."
 msgstr ""
 
-#: lto/lang.opt:95
+#: lto/lang.opt:98
 #, no-c-format
 msgid "Sort the symbols according to size."
 msgstr ""
 
-#: lto/lang.opt:99
+#: lto/lang.opt:102
 #, no-c-format
 msgid "Display the symbols in reverse order."
 msgstr ""
 
-#: lto/lang.opt:106
+#: lto/lang.opt:109
 #, no-c-format
 msgid "Dump the details of LTO objects."
 msgstr ""
 
-#: lto/lang.opt:110
+#: lto/lang.opt:113
 #, no-c-format
 msgid "Dump the statistics of tree types."
 msgstr ""
 
-#: lto/lang.opt:114
+#: lto/lang.opt:117
 #, no-c-format
 msgid "Dump the statistics of trees."
 msgstr ""
 
-#: lto/lang.opt:118
+#: lto/lang.opt:121
 #, no-c-format
 msgid "Dump the statistics of gimple statements."
 msgstr ""
 
-#: lto/lang.opt:128
+#: lto/lang.opt:131
 #, no-c-format
 msgid "Dump the dump tool command line options."
 msgstr ""
 
-#: lto/lang.opt:132
+#: lto/lang.opt:135
 #, no-c-format
 msgid "Dump the symtab callgraph."
 msgstr ""
 
-#: lto/lang.opt:136
-#, no-c-format
-msgid "The resolution file."
-msgstr ""
-
-#: common.opt:245
+#: common.opt:243
 #, no-c-format
 msgid "Provide bash completion for options starting with provided string."
 msgstr ""
 
-#: common.opt:297
+#: common.opt:295
 #, no-c-format
 msgid "Display this information."
 msgstr ""
 
-#: common.opt:301
+#: common.opt:299
 #, no-c-format
 msgid ""
 "--help=<class>\tDisplay descriptions of a specific class of options.  "
 "<class> is one or more of optimizers, target, warnings, undocumented, params."
 msgstr ""
 
-#: common.opt:422
+#: common.opt:420
 #, no-c-format
 msgid ""
 "Display target specific command line options (including assembler and linker "
 "options)."
 msgstr ""
 
-#: common.opt:468
+#: common.opt:466
 #, no-c-format
 msgid "-O<number>\tSet optimization level to <number>."
 msgstr ""
 
-#: common.opt:472
+#: common.opt:470
 #, no-c-format
 msgid "Optimize for space rather than speed."
 msgstr ""
 
-#: common.opt:476
+#: common.opt:474
 #, no-c-format
 msgid "Optimize for speed disregarding exact standards compliance."
 msgstr ""
 
-#: common.opt:480
+#: common.opt:478
 #, no-c-format
 msgid "Optimize for debugging experience rather than speed or size."
 msgstr ""
 
-#: common.opt:484
+#: common.opt:482
 #, no-c-format
 msgid "Optimize for space aggressively rather than speed."
 msgstr ""
 
-#: common.opt:524
+#: common.opt:522
 #, no-c-format
 msgid "This switch is deprecated; use -Wextra instead."
 msgstr ""
 
-#: common.opt:537
+#: common.opt:535
 #, no-c-format
 msgid "Warn about returning structures, unions or arrays."
 msgstr ""
 
-#: common.opt:541
+#: common.opt:539
 #, no-c-format
 msgid ""
 "Warn if a loop with constant number of iterations triggers undefined "
 "behavior."
 msgstr ""
 
-#: common.opt:545 common.opt:549
+#: common.opt:546
 #, no-c-format
 msgid "Warn if an array is accessed out of bounds."
 msgstr ""
 
-#: common.opt:553 common.opt:557
+#: common.opt:550 common.opt:554
 #, no-c-format
 msgid "Warn for uses of pointers to deallocated storage."
 msgstr ""
 
-#: common.opt:561
+#: common.opt:558
 #, no-c-format
 msgid "Warn about inappropriate attribute usage."
 msgstr ""
 
-#: common.opt:565
+#: common.opt:562
 #, no-c-format
 msgid "Do not warn about specified attributes."
 msgstr ""
 
-#: common.opt:569 common.opt:573
+#: common.opt:566 common.opt:570
 #, no-c-format
 msgid ""
 "Warn about type safety and similar errors and mismatches in declarations "
 "with alias attributes."
 msgstr ""
 
-#: common.opt:577
+#: common.opt:574
 #, no-c-format
 msgid ""
 "Warn when profiling instrumentation was requested, but could not be applied "
 "to a certain function."
 msgstr ""
 
-#: common.opt:582 common.opt:586
+#: common.opt:579 common.opt:583
 #, no-c-format
 msgid "Warn about pointer casts which increase alignment."
 msgstr ""
 
-#: common.opt:590
+#: common.opt:587
 #, no-c-format
 msgid "Warn when a #warning directive is encountered."
 msgstr ""
 
-#: common.opt:594
+#: common.opt:591
 #, no-c-format
 msgid "Warn about uses of __attribute__((warning)) declarations."
 msgstr ""
 
-#: common.opt:598
+#: common.opt:595
 #, no-c-format
 msgid "Warn if a deprecated compiler feature, class, method, or field is used."
 msgstr ""
 
-#: common.opt:602
+#: common.opt:599
 #, no-c-format
 msgid "Warn about uses of __attribute__((deprecated)) declarations."
 msgstr ""
 
-#: common.opt:606
+#: common.opt:603
 #, no-c-format
 msgid "Warn when an optimization pass is disabled."
 msgstr ""
 
-#: common.opt:610
+#: common.opt:607
 #, no-c-format
 msgid "Treat all warnings as errors."
 msgstr ""
 
-#: common.opt:614
+#: common.opt:611
 #, no-c-format
 msgid "Treat specified warning as error."
 msgstr ""
 
-#: common.opt:618
+#: common.opt:615
 #, no-c-format
 msgid "Print extra (possibly unwanted) warnings."
 msgstr ""
 
-#: common.opt:622
+#: common.opt:619
 #, no-c-format
 msgid "Exit on the first error occurred."
 msgstr ""
 
-#: common.opt:626
+#: common.opt:623
 #, no-c-format
 msgid ""
 "-Wframe-larger-than=<byte-size>\tWarn if a function's stack frame requires "
 "in excess of <byte-size>."
 msgstr ""
 
-#: common.opt:630
+#: common.opt:627
 #, no-c-format
 msgid ""
 "Disable -Wframe-larger-than= warning.  Equivalent to -Wframe-larger-"
 "than=<SIZE_MAX> or larger."
 msgstr ""
 
-#: common.opt:634
+#: common.opt:631
 #, no-c-format
 msgid "Warn when attempting to free a non-heap object."
 msgstr ""
 
-#: common.opt:645
+#: common.opt:642
 #, no-c-format
 msgid "Warn when a switch case falls through."
 msgstr ""
 
-#: common.opt:653
+#: common.opt:650
 #, no-c-format
 msgid "Warn when an inlined function cannot be inlined."
 msgstr ""
 
-#: common.opt:657
+#: common.opt:654
 #, no-c-format
 msgid ""
 "Warn when an atomic memory model parameter is known to be outside the valid "
 "range."
 msgstr ""
 
-#: common.opt:664
+#: common.opt:661
 #, no-c-format
 msgid ""
 "-Wlarger-than=<byte-size>\tWarn if an object's size exceeds <byte-size>."
 msgstr ""
 
-#: common.opt:668
+#: common.opt:665
 #, no-c-format
 msgid ""
 "Disable -Wlarger-than= warning.  Equivalent to -Wlarger-than=<SIZE_MAX> or "
 "larger."
 msgstr ""
 
-#: common.opt:672
+#: common.opt:669
 #, no-c-format
 msgid "Warn if comparing pointer parameter with nonnull attribute with NULL."
 msgstr ""
 
-#: common.opt:676
+#: common.opt:673
 #, no-c-format
 msgid ""
 "Warn if dereferencing a NULL pointer may lead to erroneous or undefined "
 "behavior."
 msgstr ""
 
-#: common.opt:687
+#: common.opt:684
 #, no-c-format
 msgid ""
 "Warn about some C++ One Definition Rule violations during link time "
 "optimization."
 msgstr ""
 
-#: common.opt:691
+#: common.opt:688
 #, no-c-format
 msgid "Warn about overflow in arithmetic expressions."
 msgstr ""
 
-#: common.opt:695
+#: common.opt:692
 #, no-c-format
 msgid ""
 "During link time optimization warn about mismatched types of global "
 "declarations."
 msgstr ""
 
-#: common.opt:699
+#: common.opt:696
 #, no-c-format
 msgid "Warn when the packed attribute has no effect on struct layout."
 msgstr ""
 
-#: common.opt:703
+#: common.opt:700
 #, no-c-format
 msgid "Warn when padding is required to align structure members."
 msgstr ""
 
-#: common.opt:707
+#: common.opt:704
 #, no-c-format
 msgid "Issue warnings needed for strict compliance to the standard."
 msgstr ""
 
-#: common.opt:711
+#: common.opt:708
 #, no-c-format
 msgid ""
 "Warn about returning a pointer/reference to a local or temporary variable."
 msgstr ""
 
-#: common.opt:715
+#: common.opt:712
 #, no-c-format
 msgid "Warn when one variable shadows another.  Same as -Wshadow=global."
 msgstr ""
 
-#: common.opt:719
+#: common.opt:716
 #, no-c-format
 msgid "Warn when one variable shadows another (globally)."
 msgstr ""
 
-#: common.opt:723
+#: common.opt:720
 #, no-c-format
 msgid ""
 "Warn when one local variable shadows another local variable or parameter."
 msgstr ""
 
-#: common.opt:730
+#: common.opt:727
 #, no-c-format
 msgid ""
 "Warn when one local variable shadows another local variable or parameter of "
 "compatible type."
 msgstr ""
 
-#: common.opt:737
+#: common.opt:734
 #, no-c-format
 msgid "Warn when not issuing stack smashing protection for some reason."
 msgstr ""
 
-#: common.opt:741
+#: common.opt:738
 #, no-c-format
 msgid ""
 "-Wstack-usage=<byte-size>\tWarn if stack usage might exceed <byte-size>."
 msgstr ""
 
-#: common.opt:745
+#: common.opt:742
 #, no-c-format
 msgid ""
 "Disable Wstack-usage= warning.  Equivalent to Wstack-usage=<SIZE_MAX> or "
 "larger."
 msgstr ""
 
-#: common.opt:749 common.opt:753
+#: common.opt:746 common.opt:750
 #, no-c-format
 msgid "Warn about code which might break strict aliasing rules."
 msgstr ""
 
-#: common.opt:757 common.opt:761
+#: common.opt:754 common.opt:758
 #, no-c-format
 msgid "Warn about optimizations that assume that signed overflow is undefined."
 msgstr ""
 
-#: common.opt:765
+#: common.opt:762
 #, no-c-format
 msgid ""
 "Warn about functions which might be candidates for __attribute__((cold))."
 msgstr ""
 
-#: common.opt:769
+#: common.opt:766
 #, no-c-format
 msgid ""
 "Warn about functions which might be candidates for __attribute__((const))."
 msgstr ""
 
-#: common.opt:773
+#: common.opt:770
 #, no-c-format
 msgid ""
 "Warn about functions which might be candidates for __attribute__((pure))."
 msgstr ""
 
-#: common.opt:777
+#: common.opt:774
 #, no-c-format
 msgid ""
 "Warn about functions which might be candidates for __attribute__((noreturn))."
 msgstr ""
 
-#: common.opt:781
+#: common.opt:778
 #, no-c-format
 msgid ""
 "Warn about functions which might be candidates for __attribute__((malloc))."
 msgstr ""
 
-#: common.opt:785
+#: common.opt:782
 #, no-c-format
 msgid ""
 "Warn about C++ polymorphic types where adding final keyword would improve "
 "code quality."
 msgstr ""
 
-#: common.opt:789
+#: common.opt:786
 #, no-c-format
 msgid ""
 "Warn about C++ virtual methods where adding final keyword would improve code "
 "quality."
 msgstr ""
 
-#: common.opt:793
+#: common.opt:790
 #, no-c-format
 msgid ""
 "Warn about statements between switch's controlling expression and the first "
 "case."
 msgstr ""
 
-#: common.opt:798
+#: common.opt:795
 #, no-c-format
 msgid "Do not suppress warnings from system headers."
 msgstr ""
 
-#: common.opt:802
+#: common.opt:799
 #, no-c-format
 msgid "Warn whenever a trampoline is generated."
 msgstr ""
 
-#: common.opt:806
+#: common.opt:803
 #, no-c-format
 msgid ""
 "Warn about cases where -ftrivial-auto-var-init cannot initialize an auto "
 "variable."
 msgstr ""
 
-#: common.opt:810
+#: common.opt:807
 #, 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:814
+#: common.opt:811
 #, no-c-format
 msgid "Warn about uninitialized automatic variables."
 msgstr ""
 
-#: common.opt:818
+#: common.opt:815
 #, no-c-format
 msgid "Warn about maybe uninitialized automatic variables."
 msgstr ""
 
-#: common.opt:826
+#: common.opt:823
 #, no-c-format
 msgid "Enable all -Wunused- warnings."
 msgstr ""
 
-#: common.opt:830
+#: common.opt:827
 #, no-c-format
 msgid "Warn when a function parameter is only set, otherwise unused."
 msgstr ""
 
-#: common.opt:834
+#: common.opt:831
 #, no-c-format
 msgid "Warn when a variable is only set, otherwise unused."
 msgstr ""
 
-#: common.opt:838
+#: common.opt:835
 #, no-c-format
 msgid "Warn when a function is unused."
 msgstr ""
 
-#: common.opt:842
+#: common.opt:839
 #, no-c-format
 msgid "Warn when a label is unused."
 msgstr ""
 
-#: common.opt:846
+#: common.opt:843
 #, no-c-format
 msgid "Warn when a function parameter is unused."
 msgstr ""
 
-#: common.opt:850
+#: common.opt:847
 #, no-c-format
 msgid "Warn when an expression value is unused."
 msgstr ""
 
-#: common.opt:854
+#: common.opt:851
 #, no-c-format
 msgid "Warn when a variable is unused."
 msgstr ""
 
-#: common.opt:858
+#: common.opt:855
 #, no-c-format
 msgid "Warn in case profiles in -fprofile-use do not match."
 msgstr ""
 
-#: common.opt:862
+#: common.opt:859
 #, no-c-format
 msgid ""
 "Warn in case a function ends earlier than it begins due to an invalid "
 "linenum macros."
 msgstr ""
 
-#: common.opt:866
+#: common.opt:863
 #, no-c-format
 msgid "Warn in case profiles in -fprofile-use do not exist."
 msgstr ""
 
-#: common.opt:870
+#: common.opt:867
 #, no-c-format
 msgid "Warn when a vector operation is compiled outside the SIMD."
 msgstr ""
 
-#: common.opt:874
+#: common.opt:871
 #, no-c-format
 msgid "Warn about unsupported features in ThreadSanitizer."
 msgstr ""
 
-#: common.opt:890
+#: common.opt:887
 #, no-c-format
 msgid "-aux-info <file>\tEmit declaration information into <file>."
 msgstr ""
 
-#: common.opt:903
+#: common.opt:900
 #, no-c-format
 msgid "-d<letters>\tEnable dumps from specific passes of the compiler."
 msgstr ""
 
-#: common.opt:907
+#: common.opt:904
 #, no-c-format
 msgid "-dumpbase <file>\tSet the file basename to be used for dumps."
 msgstr ""
 
-#: common.opt:911
+#: common.opt:908
 #, no-c-format
 msgid ""
 "-dumpbase-ext .<ext>    Drop a trailing .<ext> from the dump basename to "
 "name auxiliary output files."
 msgstr ""
 
-#: common.opt:915
+#: common.opt:912
 #, no-c-format
 msgid "-dumpdir <dir>\tSet the directory name to be used for dumps."
 msgstr ""
@@ -13878,269 +14546,273 @@ msgstr ""
 msgid "This switch is deprecated; use -fsanitize-recover= instead."
 msgstr ""
 
-#: common.opt:1113
+#: common.opt:1110
 #, no-c-format
-msgid ""
-"Use trap instead of a library function for undefined behavior sanitization."
+msgid "Use traps instead of diagnostics of undefined behavior sanitizers."
+msgstr ""
+
+#: common.opt:1120
+#, no-c-format
+msgid "This switch is deprecated; use -fsanitize-trap= instead."
 msgstr ""
 
-#: common.opt:1117
+#: common.opt:1124
 #, no-c-format
 msgid "Generate unwind tables that are exact at each instruction boundary."
 msgstr ""
 
-#: common.opt:1121
+#: common.opt:1128
 #, no-c-format
 msgid "Generate auto-inc/dec instructions."
 msgstr ""
 
-#: common.opt:1125
+#: common.opt:1132
 #, 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:1130
+#: common.opt:1137
 #, no-c-format
 msgid ""
 "Use sample profile information for call graph node weights. The profile file "
 "is specified in the argument."
 msgstr ""
 
-#: common.opt:1139
+#: common.opt:1146
 #, no-c-format
 msgid "Generate code to check bounds before indexing arrays."
 msgstr ""
 
-#: common.opt:1143
+#: common.opt:1150
 #, no-c-format
 msgid "Replace add, compare, branch with branch on count register."
 msgstr ""
 
-#: common.opt:1147
+#: common.opt:1154
 #, no-c-format
 msgid "Use profiling information for branch probabilities."
 msgstr ""
 
-#: common.opt:1163
+#: common.opt:1170
 #, no-c-format
 msgid "Output callgraph information on a per-file basis."
 msgstr ""
 
-#: common.opt:1167
+#: common.opt:1174
 #, no-c-format
 msgid "Output callgraph information on a per-file basis with decorations."
 msgstr ""
 
-#: common.opt:1171
+#: common.opt:1178
 #, no-c-format
 msgid ""
 "-fcall-saved-<register>\tMark <register> as being preserved across functions."
 msgstr ""
 
-#: common.opt:1175
+#: common.opt:1182
 #, no-c-format
 msgid ""
 "-fcall-used-<register>\tMark <register> as being corrupted by function calls."
 msgstr ""
 
-#: common.opt:1182
+#: common.opt:1189
 #, no-c-format
 msgid "Save registers around function calls."
 msgstr ""
 
-#: common.opt:1186
+#: common.opt:1193
 #, no-c-format
 msgid "This switch is deprecated; do not use."
 msgstr ""
 
-#: common.opt:1190
+#: common.opt:1197
 #, no-c-format
 msgid "Check the return value of new in C++."
 msgstr ""
 
-#: common.opt:1194 common.opt:1198
+#: common.opt:1201 common.opt:1205
 #, no-c-format
 msgid "Perform internal consistency checkings."
 msgstr ""
 
-#: common.opt:1202
+#: common.opt:1209
 #, no-c-format
 msgid "Enable code hoisting."
 msgstr ""
 
-#: common.opt:1206
+#: common.opt:1213
 #, no-c-format
 msgid ""
 "Looks for opportunities to reduce stack adjustments and stack references."
 msgstr ""
 
-#: common.opt:1210
+#: common.opt:1217
 #, no-c-format
 msgid "Put uninitialized globals in the common section."
 msgstr ""
 
-#: common.opt:1218
+#: common.opt:1225
 #, no-c-format
 msgid ""
 "-fcompare-debug[=<opts>]\tCompile with and without e.g. -gtoggle, and "
 "compare the final-insns dump."
 msgstr ""
 
-#: common.opt:1222
+#: common.opt:1229
 #, no-c-format
 msgid "Run only the second compilation of -fcompare-debug."
 msgstr ""
 
-#: common.opt:1226
+#: common.opt:1233
 #, no-c-format
 msgid "Perform comparison elimination after register allocation has finished."
 msgstr ""
 
-#: common.opt:1230
+#: common.opt:1237
 #, no-c-format
 msgid "Do not perform optimizations increasing noticeably stack usage."
 msgstr ""
 
-#: common.opt:1234
+#: common.opt:1241
 #, no-c-format
 msgid "Perform a register copy-propagation optimization pass."
 msgstr ""
 
-#: common.opt:1238
+#: common.opt:1245
 #, no-c-format
 msgid "Perform cross-jumping optimization."
 msgstr ""
 
-#: common.opt:1242
+#: common.opt:1249
 #, no-c-format
 msgid "When running CSE, follow jumps to their targets."
 msgstr ""
 
-#: common.opt:1250
+#: common.opt:1257
 #, no-c-format
 msgid "Omit range reduction step when performing complex division."
 msgstr ""
 
-#: common.opt:1254
+#: common.opt:1261
 #, no-c-format
 msgid "Complex multiplication and division follow Fortran rules."
 msgstr ""
 
-#: common.opt:1258
+#: common.opt:1265
 #, no-c-format
 msgid "Place data items into their own section."
 msgstr ""
 
-#: common.opt:1262
+#: common.opt:1269
 #, no-c-format
 msgid "List all available debugging counters with their limits and counts."
 msgstr ""
 
-#: common.opt:1266
+#: common.opt:1273
 #, no-c-format
 msgid ""
 "-fdbg-cnt=<counter>[:<lower_limit1>-]<upper_limit1>[:<lower_limit2>-"
 "<upper_limit2>:...][,<counter>:...]\tSet the debug counter limit."
 msgstr ""
 
-#: common.opt:1270
+#: common.opt:1277
 #, no-c-format
 msgid ""
 "-fdebug-prefix-map=<old>=<new>\tMap one directory name to another in debug "
 "information."
 msgstr ""
 
-#: common.opt:1274
+#: common.opt:1281
 #, no-c-format
 msgid ""
 "-ffile-prefix-map=<old>=<new>\tMap one directory name to another in "
 "compilation result."
 msgstr ""
 
-#: common.opt:1278
+#: common.opt:1285
 #, no-c-format
 msgid "Output .debug_types section when using DWARF v4 debuginfo."
 msgstr ""
 
-#: common.opt:1284
+#: common.opt:1291
 #, no-c-format
 msgid "Defer popping functions args from stack until later."
 msgstr ""
 
-#: common.opt:1288
+#: common.opt:1295
 #, no-c-format
 msgid "Attempt to fill delay slots of branch instructions."
 msgstr ""
 
-#: common.opt:1292
+#: common.opt:1299
 #, no-c-format
 msgid "Delete dead instructions that may throw exceptions."
 msgstr ""
 
-#: common.opt:1296
+#: common.opt:1303
 #, no-c-format
 msgid "Delete useless null pointer checks."
 msgstr ""
 
-#: common.opt:1300
+#: common.opt:1307
 #, no-c-format
 msgid ""
 "Stream extra data to support more aggressive devirtualization in LTO local "
 "transformation mode."
 msgstr ""
 
-#: common.opt:1304
+#: common.opt:1311
 #, no-c-format
 msgid "Perform speculative devirtualization."
 msgstr ""
 
-#: common.opt:1308
+#: common.opt:1315
 #, no-c-format
 msgid "Try to convert virtual calls to direct ones."
 msgstr ""
 
-#: common.opt:1312
+#: common.opt:1319
 #, 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:1329
+#: common.opt:1336
 #, no-c-format
 msgid "Show the source line with a caret indicating the column."
 msgstr ""
 
-#: common.opt:1333
+#: common.opt:1340
 #, no-c-format
 msgid "Show labels annotating ranges of source code when showing source."
 msgstr ""
 
-#: common.opt:1337
+#: common.opt:1344
 #, no-c-format
 msgid "Show line numbers in the left margin when showing source."
 msgstr ""
 
-#: common.opt:1345
+#: common.opt:1352
 #, no-c-format
 msgid "-fdiagnostics-color=[never|always|auto]\tColorize diagnostics."
 msgstr ""
 
-#: common.opt:1365
+#: common.opt:1372
 #, no-c-format
 msgid "-fdiagnostics-urls=[never|always|auto]\tEmbed URLs in diagnostics."
 msgstr ""
 
-#: common.opt:1385
+#: common.opt:1392
 #, 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:1389
+#: common.opt:1396
 #, no-c-format
 msgid ""
 "-fdiagnostics-column-origin=<number>\tSet the number of the first column.  "
@@ -14148,442 +14820,449 @@ msgid ""
 "based, for example."
 msgstr ""
 
-#: common.opt:1393
+#: common.opt:1400
 #, no-c-format
-msgid "-fdiagnostics-format=[text|json]\tSelect output format."
+msgid ""
+"-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-"
+"file]\tSelect output format."
 msgstr ""
 
-#: common.opt:1397
+#: common.opt:1404
 #, 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:1432
+#: common.opt:1451
 #, no-c-format
 msgid "Print fix-it hints in machine-readable form."
 msgstr ""
 
-#: common.opt:1436
+#: common.opt:1455
 #, no-c-format
 msgid "Print fix-it hints to stderr in unified diff format."
 msgstr ""
 
-#: common.opt:1440
+#: common.opt:1459
 #, no-c-format
 msgid ""
 "Amend appropriate diagnostic messages with the command line option that "
 "controls them."
 msgstr ""
 
-#: common.opt:1444
+#: common.opt:1463
 #, no-c-format
 msgid "Print CWE identifiers for diagnostic messages, where available."
 msgstr ""
 
-#: common.opt:1448
+#: common.opt:1467
+#, no-c-format
+msgid "Print any rules associated with diagnostic messages."
+msgstr ""
+
+#: common.opt:1471
 #, no-c-format
 msgid ""
 "Specify how to print any control-flow path associated with a diagnostic."
 msgstr ""
 
-#: common.opt:1452
+#: common.opt:1475
 #, no-c-format
 msgid ""
 "Turn off any diagnostics features that complicate the output, such as line "
 "numbers, color, and warning URLs."
 msgstr ""
 
-#: common.opt:1456
+#: common.opt:1479
 #, no-c-format
 msgid ""
 "-ftabstop=<number>      Distance between tab stops for column reporting."
 msgstr ""
 
-#: common.opt:1472
+#: common.opt:1495
 #, no-c-format
 msgid "Show stack depths of events in paths."
 msgstr ""
 
-#: common.opt:1476
+#: common.opt:1499
 #, no-c-format
 msgid "Set minimum width of left margin of source code when showing source."
 msgstr ""
 
-#: common.opt:1480
+#: common.opt:1503
 #, no-c-format
 msgid ""
 "-fdisable-[tree|rtl|ipa]-<pass>=range1+range2\tDisable an optimization pass."
 msgstr ""
 
-#: common.opt:1484
+#: common.opt:1507
 #, no-c-format
 msgid ""
 "-fenable-[tree|rtl|ipa]-<pass>=range1+range2\tEnable an optimization pass."
 msgstr ""
 
-#: common.opt:1488
+#: common.opt:1511
 #, no-c-format
 msgid "-fdump-<type>\tDump various compiler internals to a file."
 msgstr ""
 
-#: common.opt:1495
+#: common.opt:1518
 #, no-c-format
 msgid ""
 "-fdump-final-insns=filename\tDump to filename the insns at the end of "
 "translation."
 msgstr ""
 
-#: common.opt:1499
+#: common.opt:1522
 #, no-c-format
 msgid "-fdump-go-spec=filename\tWrite all declarations to file as Go code."
 msgstr ""
 
-#: common.opt:1503
+#: common.opt:1526
 #, no-c-format
 msgid "Suppress output of addresses in debugging dumps."
 msgstr ""
 
-#: common.opt:1507
+#: common.opt:1530
 #, no-c-format
 msgid ""
 "Collect and dump debug information into temporary file if ICE in C/C++ "
 "compiler occurred."
 msgstr ""
 
-#: common.opt:1512
+#: common.opt:1535
 #, no-c-format
 msgid ""
 "Dump detailed information on GCC's internal representation of source code "
 "locations."
 msgstr ""
 
-#: common.opt:1516
+#: common.opt:1539
 #, no-c-format
 msgid "Dump optimization passes."
 msgstr ""
 
-#: common.opt:1520
+#: common.opt:1543
 #, no-c-format
 msgid ""
 "Suppress output of instruction numbers, line number notes and addresses in "
 "debugging dumps."
 msgstr ""
 
-#: common.opt:1524
+#: common.opt:1547
 #, no-c-format
 msgid "Suppress output of previous and next insn numbers in debugging dumps."
 msgstr ""
 
-#: common.opt:1528
+#: common.opt:1551
 #, no-c-format
 msgid "Enable CFI tables via GAS assembler directives."
 msgstr ""
 
-#: common.opt:1532
+#: common.opt:1555
 #, no-c-format
 msgid "Perform early inlining."
 msgstr ""
 
-#: common.opt:1540
+#: common.opt:1563
 #, no-c-format
 msgid "Perform interprocedural reduction of aggregates."
 msgstr ""
 
-#: common.opt:1544
+#: common.opt:1567
 #, no-c-format
 msgid "Perform unused symbol elimination in debug info."
 msgstr ""
 
-#: common.opt:1548
+#: common.opt:1571
 #, no-c-format
 msgid "Perform unused type elimination in debug info."
 msgstr ""
 
-#: common.opt:1552
+#: common.opt:1575
 #, no-c-format
 msgid "Do not suppress C++ class debug information."
 msgstr ""
 
-#: common.opt:1556
+#: common.opt:1579
 #, no-c-format
 msgid "Enable exception handling."
 msgstr ""
 
-#: common.opt:1560
+#: common.opt:1583
 #, no-c-format
 msgid "Perform a number of minor, expensive optimizations."
 msgstr ""
 
-#: common.opt:1564
+#: common.opt:1587
 #, no-c-format
 msgid ""
 "-fexcess-precision=[fast|standard|16]\tSpecify handling of excess floating-"
 "point precision."
 msgstr ""
 
-#: common.opt:1582
+#: common.opt:1605
 #, no-c-format
 msgid ""
 "-fpermitted-flt-eval-methods=[c11|ts-18661]\tSpecify which values of "
 "FLT_EVAL_METHOD are permitted."
 msgstr ""
 
-#: common.opt:1598
+#: common.opt:1621
 #, no-c-format
 msgid ""
 "Output lto objects containing both the intermediate language and binary "
 "output."
 msgstr ""
 
-#: common.opt:1602
+#: common.opt:1625
 #, no-c-format
 msgid "Assume no NaNs or infinities are generated."
 msgstr ""
 
-#: common.opt:1606
+#: common.opt:1629
 #, no-c-format
 msgid ""
 "Assume that loops with an exit will terminate and not loop indefinitely."
 msgstr ""
 
-#: common.opt:1610
+#: common.opt:1633
 #, no-c-format
 msgid ""
 "-ffixed-<register>\tMark <register> as being unavailable to the compiler."
 msgstr ""
 
-#: common.opt:1614
+#: common.opt:1637
 #, no-c-format
 msgid "Don't allocate floats and doubles in extended-precision registers."
 msgstr ""
 
-#: common.opt:1622
+#: common.opt:1645
 #, no-c-format
 msgid "Perform a forward propagation pass on RTL."
 msgstr ""
 
-#: common.opt:1626
+#: common.opt:1649
 #, no-c-format
 msgid ""
 "-ffp-contract=[off|on|fast]\tPerform floating-point expression contraction."
 msgstr ""
 
-#: common.opt:1643
+#: common.opt:1666
 #, no-c-format
 msgid ""
 "Allow built-in functions ceil, floor, round, trunc to raise \"inexact\" "
 "exceptions."
 msgstr ""
 
-#: common.opt:1650
+#: common.opt:1673
 #, no-c-format
 msgid "Allow function addresses to be held in registers."
 msgstr ""
 
-#: common.opt:1654
+#: common.opt:1677
 #, no-c-format
 msgid "Place each function into its own section."
 msgstr ""
 
-#: common.opt:1658
+#: common.opt:1681
 #, no-c-format
 msgid "Perform global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1662
+#: common.opt:1685
 #, no-c-format
 msgid ""
 "Perform enhanced load motion during global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1666
+#: common.opt:1689
 #, no-c-format
 msgid "Perform store motion after global common subexpression elimination."
 msgstr ""
 
-#: common.opt:1670
+#: common.opt:1693
 #, no-c-format
 msgid ""
 "Perform redundant load after store elimination in global common "
 "subexpression elimination."
 msgstr ""
 
-#: common.opt:1675
+#: common.opt:1698
 #, no-c-format
 msgid ""
 "Perform global common subexpression elimination after register allocation "
 "has finished."
 msgstr ""
 
-#: common.opt:1692
+#: common.opt:1715
 #, 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:1697
+#: common.opt:1720
 #, no-c-format
 msgid "Enable in and out of Graphite representation."
 msgstr ""
 
-#: common.opt:1701
+#: common.opt:1724
 #, no-c-format
 msgid "Enable Graphite Identity transformation."
 msgstr ""
 
-#: common.opt:1705
+#: common.opt:1728
 #, no-c-format
 msgid ""
 "Enable hoisting adjacent loads to encourage generating conditional move "
 "instructions."
 msgstr ""
 
-#: common.opt:1714
+#: common.opt:1737
 #, no-c-format
 msgid ""
 "Improve GCC's ability to track column numbers in large source files, at the "
 "expense of slower compilation."
 msgstr ""
 
-#: common.opt:1719
+#: common.opt:1742
 #, no-c-format
 msgid "Mark all loops as parallel."
 msgstr ""
 
-#: common.opt:1723 common.opt:1731 common.opt:2918
+#: common.opt:1746 common.opt:1754 common.opt:2971
 #, no-c-format
 msgid "Enable loop nest transforms.  Same as -floop-nest-optimize."
 msgstr ""
 
-#: common.opt:1727
+#: common.opt:1750
 #, no-c-format
 msgid "Enable loop interchange on trees."
 msgstr ""
 
-#: common.opt:1735
+#: common.opt:1758
 #, no-c-format
 msgid "Perform unroll-and-jam on loops."
 msgstr ""
 
-#: common.opt:1739
+#: common.opt:1762
 #, no-c-format
 msgid "Enable support for GNU transactional memory."
 msgstr ""
 
-#: common.opt:1743
+#: common.opt:1766
 #, no-c-format
 msgid "Use STB_GNU_UNIQUE if supported by the assembler."
 msgstr ""
 
-#: common.opt:1751
+#: common.opt:1774
 #, no-c-format
 msgid "Enable the loop nest optimizer."
 msgstr ""
 
-#: common.opt:1755
+#: common.opt:1778
 #, no-c-format
 msgid "Force bitfield accesses to match their type width."
 msgstr ""
 
-#: common.opt:1759
+#: common.opt:1782
 #, no-c-format
 msgid "Merge adjacent stores."
 msgstr ""
 
-#: common.opt:1763
+#: common.opt:1786
 #, no-c-format
 msgid "Enable guessing of branch probabilities."
 msgstr ""
 
-#: common.opt:1767
+#: common.opt:1790
 #, no-c-format
 msgid "Harden conditionals not used in branches, checking reversed conditions."
 msgstr ""
 
-#: common.opt:1771
+#: common.opt:1794
 #, no-c-format
 msgid "Harden conditional branches by checking reversed conditions."
 msgstr ""
 
-#: common.opt:1779
+#: common.opt:1802
 #, no-c-format
 msgid "Process #ident directives."
 msgstr ""
 
-#: common.opt:1783
+#: common.opt:1806
 #, no-c-format
 msgid "Perform conversion of conditional jumps to branchless equivalents."
 msgstr ""
 
-#: common.opt:1787
+#: common.opt:1810
 #, no-c-format
 msgid "Perform conversion of conditional jumps to conditional execution."
 msgstr ""
 
-#: common.opt:1791
+#: common.opt:1814
 #, no-c-format
 msgid ""
 "-fstack-reuse=[all|named_vars|none]\tSet stack reuse level for local "
 "variables."
 msgstr ""
 
-#: common.opt:1807
+#: common.opt:1830
 #, no-c-format
 msgid "Convert conditional jumps in innermost loops to branchless equivalents."
 msgstr ""
 
-#: common.opt:1819
+#: common.opt:1842
 #, no-c-format
 msgid "Do not generate .size directives."
 msgstr ""
 
-#: common.opt:1823
+#: common.opt:1846
 #, no-c-format
 msgid "Perform indirect inlining."
 msgstr ""
 
-#: common.opt:1829
+#: common.opt:1852
 #, no-c-format
 msgid ""
 "Enable inlining of function declared \"inline\", disabling disables all "
 "inlining."
 msgstr ""
 
-#: common.opt:1833
+#: common.opt:1856
 #, no-c-format
 msgid ""
 "Integrate functions into their callers when code size is known not to grow."
 msgstr ""
 
-#: common.opt:1837
+#: common.opt:1860
 #, no-c-format
 msgid ""
 "Integrate functions not declared \"inline\" into their callers when "
 "profitable."
 msgstr ""
 
-#: common.opt:1841
+#: common.opt:1864
 #, no-c-format
 msgid "Integrate functions only required by their single caller."
 msgstr ""
 
-#: common.opt:1848
+#: common.opt:1871
 #, no-c-format
 msgid ""
 "-finline-limit=<number>\tLimit the size of inlined functions to <number>."
 msgstr ""
 
-#: common.opt:1852
+#: common.opt:1875
 #, no-c-format
 msgid ""
 "Inline __atomic operations when a lock free instruction sequence is "
 "available."
 msgstr ""
 
-#: common.opt:1859
+#: common.opt:1882
 #, no-c-format
 msgid ""
 "-fcf-protection=[full|branch|return|none|check]\tInstrument functions with "
@@ -14591,585 +15270,599 @@ msgid ""
 "valid targets."
 msgstr ""
 
-#: common.opt:1882
+#: common.opt:1905
 #, no-c-format
 msgid "Instrument function entry and exit with profiling calls."
 msgstr ""
 
-#: common.opt:1886
+#: common.opt:1909
+#, no-c-format
+msgid "Instrument function entry and exit with profiling calls invoked once."
+msgstr ""
+
+#: common.opt:1913
 #, no-c-format
 msgid ""
 "-finstrument-functions-exclude-function-list=name,...\tDo not instrument "
 "listed functions."
 msgstr ""
 
-#: common.opt:1890
+#: common.opt:1917
 #, no-c-format
 msgid ""
 "-finstrument-functions-exclude-file-list=filename,...\tDo not instrument "
 "functions listed in files."
 msgstr ""
 
-#: common.opt:1894
+#: common.opt:1921
 #, no-c-format
 msgid "Perform interprocedural constant propagation."
 msgstr ""
 
-#: common.opt:1898
+#: common.opt:1925
 #, no-c-format
 msgid "Perform cloning to make Interprocedural constant propagation stronger."
 msgstr ""
 
-#: common.opt:1906
+#: common.opt:1933
 #, no-c-format
 msgid "Perform interprocedural bitwise constant propagation."
 msgstr ""
 
-#: common.opt:1910
+#: common.opt:1937
 #, no-c-format
 msgid "Perform interprocedural modref analysis."
 msgstr ""
 
-#: common.opt:1914
+#: common.opt:1941
 #, no-c-format
 msgid "Perform interprocedural profile propagation."
 msgstr ""
 
-#: common.opt:1918
+#: common.opt:1945
 #, no-c-format
 msgid "Perform interprocedural points-to analysis."
 msgstr ""
 
-#: common.opt:1922
+#: common.opt:1949
 #, no-c-format
 msgid "Discover pure and const functions."
 msgstr ""
 
-#: common.opt:1926
+#: common.opt:1953
 #, no-c-format
 msgid "Perform Identical Code Folding for functions and read-only variables."
 msgstr ""
 
-#: common.opt:1930
+#: common.opt:1957
 #, no-c-format
 msgid "Perform Identical Code Folding for functions."
 msgstr ""
 
-#: common.opt:1934
+#: common.opt:1961
 #, no-c-format
 msgid "Perform Identical Code Folding for variables."
 msgstr ""
 
-#: common.opt:1938
+#: common.opt:1965
 #, no-c-format
 msgid "Discover read-only and non addressable static variables."
 msgstr ""
 
-#: common.opt:1942
+#: common.opt:1969
 #, no-c-format
 msgid "Discover read-only, write-only and non-addressable static variables."
 msgstr ""
 
-#: common.opt:1946
+#: common.opt:1973
 #, no-c-format
 msgid "Reduce stack alignment on call sites if possible."
 msgstr ""
 
-#: common.opt:1958
+#: common.opt:1985
 #, no-c-format
 msgid "Perform IPA Value Range Propagation."
 msgstr ""
 
-#: common.opt:1962
+#: common.opt:1989
 #, no-c-format
 msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm."
 msgstr ""
 
-#: common.opt:1966
+#: common.opt:1993
 #, no-c-format
 msgid ""
 "Assume strict aliasing rules apply across (uninlined) function boundaries."
 msgstr ""
 
-#: common.opt:1979
+#: common.opt:2006
 #, no-c-format
 msgid "-fira-region=[one|all|mixed]\tSet regions for IRA."
 msgstr ""
 
-#: common.opt:1995
+#: common.opt:2022
 #, no-c-format
 msgid "Use IRA based register pressure calculation in RTL hoist optimizations."
 msgstr ""
 
-#: common.opt:2000
+#: common.opt:2027
 #, no-c-format
 msgid "Use IRA based register pressure calculation in RTL loop optimizations."
 msgstr ""
 
-#: common.opt:2005
+#: common.opt:2032
 #, no-c-format
 msgid "Share slots for saving different hard registers."
 msgstr ""
 
-#: common.opt:2009
+#: common.opt:2036
 #, no-c-format
 msgid "Share stack slots for spilled pseudo-registers."
 msgstr ""
 
-#: common.opt:2013
+#: common.opt:2040
 #, no-c-format
 msgid "-fira-verbose=<number>\tControl IRA's level of diagnostic messages."
 msgstr ""
 
-#: common.opt:2017
+#: common.opt:2044
 #, no-c-format
 msgid "Optimize induction variables on trees."
 msgstr ""
 
-#: common.opt:2021
+#: common.opt:2048
 #, no-c-format
 msgid "Use jump tables for sufficiently large switch statements."
 msgstr ""
 
-#: common.opt:2025
+#: common.opt:2052
 #, no-c-format
 msgid "Use bit tests for sufficiently large switch statements."
 msgstr ""
 
-#: common.opt:2029
+#: common.opt:2056
 #, no-c-format
 msgid "Generate code for functions even if they are fully inlined."
 msgstr ""
 
-#: common.opt:2033
+#: common.opt:2060
 #, no-c-format
 msgid "Generate code for static functions even if they are never called."
 msgstr ""
 
-#: common.opt:2037
+#: common.opt:2064
 #, no-c-format
 msgid "Emit static const variables even if they are not used."
 msgstr ""
 
-#: common.opt:2041
+#: common.opt:2068
 #, no-c-format
 msgid "Give external symbols a leading underscore."
 msgstr ""
 
-#: common.opt:2049
+#: common.opt:2076
 #, no-c-format
 msgid "Do CFG-sensitive rematerialization in LRA."
 msgstr ""
 
-#: common.opt:2053
+#: common.opt:2080
 #, no-c-format
 msgid "Enable link-time optimization."
 msgstr ""
 
-#: common.opt:2057
+#: common.opt:2084
 #, no-c-format
 msgid "Link-time optimization with number of parallel jobs or jobserver."
 msgstr ""
 
-#: common.opt:2079
+#: common.opt:2106
 #, no-c-format
 msgid "Specify the algorithm to partition symbols and vars at linktime."
 msgstr ""
 
-#: common.opt:2084
+#: common.opt:2111
 #, no-c-format
-msgid ""
-"-flto-compression-level=<number>\tUse zlib/zstd compression level <number> "
-"for IL."
+msgid "Use zlib/zstd compression level <number> for IL."
 msgstr ""
 
-#: common.opt:2092
+#: common.opt:2119
 #, no-c-format
 msgid "Report various link-time optimization statistics."
 msgstr ""
 
-#: common.opt:2096
+#: common.opt:2123
 #, no-c-format
 msgid "Report various link-time optimization statistics for WPA only."
 msgstr ""
 
-#: common.opt:2100
+#: common.opt:2127
 #, no-c-format
 msgid "Set errno after built-in math functions."
 msgstr ""
 
-#: common.opt:2104
+#: common.opt:2131
 #, no-c-format
 msgid "-fmax-errors=<number>\tMaximum number of errors to report."
 msgstr ""
 
-#: common.opt:2108
+#: common.opt:2135
 #, no-c-format
 msgid "Report on permanent memory allocation."
 msgstr ""
 
-#: common.opt:2112
+#: common.opt:2139
 #, no-c-format
 msgid "Report on permanent memory allocation in WPA only."
 msgstr ""
 
-#: common.opt:2119
+#: common.opt:2146
 #, no-c-format
 msgid "Attempt to merge identical constants and constant variables."
 msgstr ""
 
-#: common.opt:2123
+#: common.opt:2150
 #, no-c-format
 msgid "Attempt to merge identical constants across compilation units."
 msgstr ""
 
-#: common.opt:2127
+#: common.opt:2154
 #, no-c-format
 msgid "Attempt to merge identical debug strings across compilation units."
 msgstr ""
 
-#: common.opt:2131
+#: common.opt:2158
 #, no-c-format
 msgid ""
 "-fmessage-length=<number>\tLimit diagnostics to <number> characters per "
 "line.  0 suppresses line-wrapping."
 msgstr ""
 
-#: common.opt:2135
+#: common.opt:2162
 #, no-c-format
 msgid "Perform SMS based modulo scheduling before the first scheduling pass."
 msgstr ""
 
-#: common.opt:2139
+#: common.opt:2166
 #, no-c-format
 msgid "Perform SMS based modulo scheduling with register moves allowed."
 msgstr ""
 
-#: common.opt:2143
+#: common.opt:2170
 #, no-c-format
 msgid "Move loop invariant computations out of loops."
 msgstr ""
 
-#: common.opt:2147
+#: common.opt:2174
 #, no-c-format
 msgid "Move stores out of loops."
 msgstr ""
 
-#: common.opt:2151
+#: common.opt:2178
+#, no-c-format
+msgid "Building block for specs-based multilib-aware TFLAGS."
+msgstr ""
+
+#: common.opt:2182
 #, no-c-format
 msgid "Use the RTL dead code elimination pass."
 msgstr ""
 
-#: common.opt:2155
+#: common.opt:2186
 #, no-c-format
 msgid "Use the RTL dead store elimination pass."
 msgstr ""
 
-#: common.opt:2159
+#: common.opt:2190
 #, no-c-format
 msgid ""
 "Enable/Disable the traditional scheduling in loops that already passed "
 "modulo scheduling."
 msgstr ""
 
-#: common.opt:2163
+#: common.opt:2194
 #, no-c-format
 msgid "Support synchronous non-call exceptions."
 msgstr ""
 
-#: common.opt:2170
+#: common.opt:2201
 #, no-c-format
 msgid ""
 "-foffload-options=<targets>=<options>\tSpecify options for the offloading "
 "targets."
 msgstr ""
 
-#: common.opt:2174
+#: common.opt:2205
 #, no-c-format
 msgid "-foffload-abi=[lp64|ilp32]\tSet the ABI to use in an offload compiler."
 msgstr ""
 
-#: common.opt:2187
+#: common.opt:2218
 #, no-c-format
 msgid "When possible do not generate stack frames."
 msgstr ""
 
-#: common.opt:2191
+#: common.opt:2225
+#, no-c-format
+msgid ""
+"Generate SIMD clones for functions with the OpenMP declare target directive."
+msgstr ""
+
+#: common.opt:2244
 #, no-c-format
 msgid "Enable all optimization info dumps on stderr."
 msgstr ""
 
-#: common.opt:2195
+#: common.opt:2248
 #, no-c-format
 msgid "-fopt-info[-<type>=filename]\tDump compiler optimization details."
 msgstr ""
 
-#: common.opt:2199
+#: common.opt:2252
 #, no-c-format
 msgid ""
 "Write a SRCFILE.opt-record.json file detailing what optimizations were "
 "performed."
 msgstr ""
 
-#: common.opt:2207
+#: common.opt:2260
 #, no-c-format
 msgid "Optimize sibling and tail recursive calls."
 msgstr ""
 
-#: common.opt:2211
+#: common.opt:2264
 #, no-c-format
 msgid "Perform partial inlining."
 msgstr ""
 
-#: common.opt:2215 common.opt:2219
+#: common.opt:2268 common.opt:2272
 #, no-c-format
 msgid "Report on memory allocation before interprocedural optimization."
 msgstr ""
 
-#: common.opt:2223
+#: common.opt:2276
 #, no-c-format
 msgid "Pack structure members together without holes."
 msgstr ""
 
-#: common.opt:2227
+#: common.opt:2280
 #, no-c-format
 msgid "-fpack-struct=<number>\tSet initial maximum structure member alignment."
 msgstr ""
 
-#: common.opt:2231
+#: common.opt:2284
 #, no-c-format
 msgid "Return small aggregates in memory, not registers."
 msgstr ""
 
-#: common.opt:2235
+#: common.opt:2288
 #, no-c-format
 msgid "Perform loop peeling."
 msgstr ""
 
-#: common.opt:2239
+#: common.opt:2292
 #, no-c-format
 msgid "Enable machine specific peephole optimizations."
 msgstr ""
 
-#: common.opt:2243
+#: common.opt:2296
 #, no-c-format
 msgid "Enable an RTL peephole pass before sched2."
 msgstr ""
 
-#: common.opt:2247
+#: common.opt:2300
 #, no-c-format
 msgid "Generate position-independent code if possible (large mode)."
 msgstr ""
 
-#: common.opt:2251
+#: common.opt:2304
 #, no-c-format
 msgid ""
 "Generate position-independent code for executables if possible (large mode)."
 msgstr ""
 
-#: common.opt:2255
+#: common.opt:2308
 #, no-c-format
 msgid "Generate position-independent code if possible (small mode)."
 msgstr ""
 
-#: common.opt:2259
+#: common.opt:2312
 #, no-c-format
 msgid ""
 "Generate position-independent code for executables if possible (small mode)."
 msgstr ""
 
-#: common.opt:2263
+#: common.opt:2316
 #, no-c-format
 msgid ""
 "Use PLT for PIC calls (-fno-plt: load the address from GOT at call site)."
 msgstr ""
 
-#: common.opt:2267
+#: common.opt:2320
 #, no-c-format
 msgid "Specify a plugin to load."
 msgstr ""
 
-#: common.opt:2271
+#: common.opt:2324
 #, no-c-format
 msgid ""
 "-fplugin-arg-<name>-<key>[=<value>]\tSpecify argument <key>=<value> for "
 "plugin <name>."
 msgstr ""
 
-#: common.opt:2275
+#: common.opt:2328
 #, no-c-format
 msgid "Run predictive commoning optimization."
 msgstr ""
 
-#: common.opt:2279
+#: common.opt:2332
 #, no-c-format
 msgid "Generate prefetch instructions, if available, for arrays in loops."
 msgstr ""
 
-#: common.opt:2283
+#: common.opt:2336
 #, no-c-format
 msgid "Enable basic program profiling code."
 msgstr ""
 
-#: common.opt:2287
+#: common.opt:2340
 #, no-c-format
 msgid "Generate absolute source path names for gcov."
 msgstr ""
 
-#: common.opt:2291
+#: common.opt:2344
 #, no-c-format
 msgid "Insert arc-based program profiling code."
 msgstr ""
 
-#: common.opt:2295
+#: common.opt:2348
 #, no-c-format
 msgid ""
 "Set the top-level directory for storing the profile data. The default is "
 "'pwd'."
 msgstr ""
 
-#: common.opt:2300
+#: common.opt:2353
 #, no-c-format
 msgid "Select the name for storing the profile note file."
 msgstr ""
 
-#: common.opt:2304
+#: common.opt:2357
 #, no-c-format
 msgid "Enable correction of flow inconsistent profile data input."
 msgstr ""
 
-#: common.opt:2308
+#: common.opt:2361
 #, no-c-format
 msgid ""
 "-fprofile-update=[single|atomic|prefer-atomic]\tSet the profile update "
 "method."
 msgstr ""
 
-#: common.opt:2312
+#: common.opt:2365
 #, no-c-format
 msgid ""
 "Instrument only functions from files whose name matches any of the regular "
 "expressions (separated by semi-colons)."
 msgstr ""
 
-#: common.opt:2316
+#: common.opt:2369
 #, 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:2332
+#: common.opt:2385
 #, no-c-format
 msgid ""
 "-fprofile-reproducible=[serial|parallel-runs|multithreaded]\tControl level "
 "of reproducibility of profile gathered by -fprofile-generate."
 msgstr ""
 
-#: common.opt:2348
+#: common.opt:2401
 #, no-c-format
 msgid ""
 "Remove prefix from absolute path before mangling name for -fprofile-"
 "generate= and -fprofile-use=."
 msgstr ""
 
-#: common.opt:2352
+#: common.opt:2405
 #, no-c-format
 msgid ""
 "-fprofile-prefix-map=<old>=<new>\tMap one directory name to another in GCOV "
 "coverage result."
 msgstr ""
 
-#: common.opt:2356
+#: common.opt:2409
 #, no-c-format
 msgid ""
 "Enable common options for generating profile info for profile feedback "
 "directed optimizations."
 msgstr ""
 
-#: common.opt:2360
+#: common.opt:2413
 #, no-c-format
 msgid ""
 "Enable common options for generating profile info for profile feedback "
 "directed optimizations, and set -fprofile-dir=."
 msgstr ""
 
-#: common.opt:2364
+#: common.opt:2417
 #, no-c-format
 msgid ""
 "Register the profile information in the .gcov_info section instead of using "
 "a constructor/destructor."
 msgstr ""
 
-#: common.opt:2368
+#: common.opt:2421
 #, no-c-format
 msgid ""
 "Register the profile information in the specified section instead of using a "
 "constructor/destructor."
 msgstr ""
 
-#: common.opt:2372
+#: common.opt:2425
 #, no-c-format
 msgid ""
 "Do not assume that functions never executed during the train run are cold."
 msgstr ""
 
-#: common.opt:2376
+#: common.opt:2429
 #, no-c-format
 msgid ""
 "Enable common options for performing profile feedback directed optimizations."
 msgstr ""
 
-#: common.opt:2380
+#: common.opt:2433
 #, no-c-format
 msgid ""
 "Enable common options for performing profile feedback directed "
 "optimizations, and set -fprofile-dir=."
 msgstr ""
 
-#: common.opt:2384
+#: common.opt:2437
 #, no-c-format
 msgid "Insert code to profile values of expressions."
 msgstr ""
 
-#: common.opt:2388
+#: common.opt:2441
 #, no-c-format
 msgid "Report on consistency of profile."
 msgstr ""
 
-#: common.opt:2392
+#: common.opt:2445
 #, no-c-format
 msgid "Enable function reordering that improves code placement."
 msgstr ""
 
-#: common.opt:2396
+#: common.opt:2449
 #, no-c-format
 msgid "Insert NOP instructions at each function entry."
 msgstr ""
 
-#: common.opt:2403
+#: common.opt:2456
 #, no-c-format
 msgid "-frandom-seed=<string>\tMake compile reproducible using <string>."
 msgstr ""
 
-#: common.opt:2413
+#: common.opt:2466
 #, no-c-format
 msgid "Record gcc command line switches in the object file."
 msgstr ""
 
-#: common.opt:2417
+#: common.opt:2470
 #, no-c-format
 msgid "Return small aggregates in registers."
 msgstr ""
 
-#: common.opt:2425
+#: common.opt:2478
 #, 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:2436
+#: common.opt:2489
 #, no-c-format
 msgid ""
 "-flive-patching=[inline-only-static|inline-clone]\tControl IPA optimizations "
@@ -15177,483 +15870,483 @@ msgid ""
 "multiple-level control on the enabled IPA optimizations."
 msgstr ""
 
-#: common.opt:2451
+#: common.opt:2504
 #, no-c-format
 msgid "Tell DCE to remove unused C++ allocations."
 msgstr ""
 
-#: common.opt:2455
+#: common.opt:2508
 #, no-c-format
 msgid "Relief of register pressure through live range shrinkage."
 msgstr ""
 
-#: common.opt:2459
+#: common.opt:2512
 #, no-c-format
 msgid "Perform a register renaming optimization pass."
 msgstr ""
 
-#: common.opt:2463
+#: common.opt:2516
 #, no-c-format
 msgid "Perform a target dependent instruction fusion optimization pass."
 msgstr ""
 
-#: common.opt:2467
+#: common.opt:2520
 #, no-c-format
 msgid "Reorder basic blocks to improve code placement."
 msgstr ""
 
-#: common.opt:2471
+#: common.opt:2524
 #, no-c-format
 msgid ""
 "-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering "
 "algorithm."
 msgstr ""
 
-#: common.opt:2484
+#: common.opt:2537
 #, no-c-format
 msgid "Reorder basic blocks and partition into hot and cold sections."
 msgstr ""
 
-#: common.opt:2488
+#: common.opt:2541
 #, no-c-format
 msgid "Reorder functions to improve code placement."
 msgstr ""
 
-#: common.opt:2492
+#: common.opt:2545
 #, no-c-format
 msgid "Add a common subexpression elimination pass after loop optimizations."
 msgstr ""
 
-#: common.opt:2500
+#: common.opt:2553
 #, no-c-format
 msgid "Disable optimizations that assume default FP rounding behavior."
 msgstr ""
 
-#: common.opt:2504
+#: common.opt:2557
 #, no-c-format
 msgid "Enable scheduling across basic blocks."
 msgstr ""
 
-#: common.opt:2508
+#: common.opt:2561
 #, no-c-format
 msgid "Enable register pressure sensitive insn scheduling."
 msgstr ""
 
-#: common.opt:2512
+#: common.opt:2565
 #, no-c-format
 msgid "Allow speculative motion of non-loads."
 msgstr ""
 
-#: common.opt:2516
+#: common.opt:2569
 #, no-c-format
 msgid "Allow speculative motion of some loads."
 msgstr ""
 
-#: common.opt:2520
+#: common.opt:2573
 #, no-c-format
 msgid "Allow speculative motion of more loads."
 msgstr ""
 
-#: common.opt:2524
+#: common.opt:2577
 #, no-c-format
 msgid "-fsched-verbose=<number>\tSet the verbosity level of the scheduler."
 msgstr ""
 
-#: common.opt:2528
+#: common.opt:2581
 #, no-c-format
 msgid "If scheduling post reload, do superblock scheduling."
 msgstr ""
 
-#: common.opt:2536
+#: common.opt:2589
 #, no-c-format
 msgid "Reschedule instructions before register allocation."
 msgstr ""
 
-#: common.opt:2540
+#: common.opt:2593
 #, no-c-format
 msgid "Reschedule instructions after register allocation."
 msgstr ""
 
-#: common.opt:2547
+#: common.opt:2600
 #, no-c-format
 msgid "Schedule instructions using selective scheduling algorithm."
 msgstr ""
 
-#: common.opt:2551
+#: common.opt:2604
 #, no-c-format
 msgid "Run selective scheduling after reload."
 msgstr ""
 
-#: common.opt:2555
+#: common.opt:2608
 #, no-c-format
 msgid "Run self-tests, using the given path to locate test files."
 msgstr ""
 
-#: common.opt:2559
+#: common.opt:2612
 #, no-c-format
 msgid "Perform software pipelining of inner loops during selective scheduling."
 msgstr ""
 
-#: common.opt:2563
+#: common.opt:2616
 #, no-c-format
 msgid "Perform software pipelining of outer loops during selective scheduling."
 msgstr ""
 
-#: common.opt:2567
+#: common.opt:2620
 #, no-c-format
 msgid "Reschedule pipelined regions without pipelining."
 msgstr ""
 
-#: common.opt:2571
+#: common.opt:2624
 #, no-c-format
 msgid ""
 "Allow interposing function (or variables) by ones with different semantics "
 "(or initializer) respectively by dynamic linker."
 msgstr ""
 
-#: common.opt:2577
+#: common.opt:2630
 #, no-c-format
 msgid "Allow premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2581
+#: common.opt:2634
 #, no-c-format
 msgid ""
 "-fsched-stalled-insns=<number>\tSet number of queued insns that can be "
 "prematurely scheduled."
 msgstr ""
 
-#: common.opt:2589
+#: common.opt:2642
 #, no-c-format
 msgid ""
 "Set dependence distance checking in premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2593
+#: common.opt:2646
 #, no-c-format
 msgid ""
 "-fsched-stalled-insns-dep=<number>\tSet dependence distance checking in "
 "premature scheduling of queued insns."
 msgstr ""
 
-#: common.opt:2597
+#: common.opt:2650
 #, no-c-format
 msgid "Enable the group heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2601
+#: common.opt:2654
 #, no-c-format
 msgid "Enable the critical path heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2605
+#: common.opt:2658
 #, no-c-format
 msgid "Enable the speculative instruction heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2609
+#: common.opt:2662
 #, no-c-format
 msgid "Enable the rank heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2613
+#: common.opt:2666
 #, no-c-format
 msgid "Enable the last instruction heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2617
+#: common.opt:2670
 #, no-c-format
 msgid "Enable the dependent count heuristic in the scheduler."
 msgstr ""
 
-#: common.opt:2621
+#: common.opt:2674
 #, no-c-format
 msgid "Access data in the same section from shared anchor points."
 msgstr ""
 
-#: common.opt:2633
+#: common.opt:2686
 #, no-c-format
 msgid "Turn on Redundant Extensions Elimination pass."
 msgstr ""
 
-#: common.opt:2637
+#: common.opt:2690
 #, no-c-format
 msgid "Show column numbers in diagnostics, when available.  Default on."
 msgstr ""
 
-#: common.opt:2641
+#: common.opt:2694
 #, 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:2646
+#: common.opt:2699
 #, no-c-format
 msgid "Shrink-wrap parts of the prologue and epilogue separately."
 msgstr ""
 
-#: common.opt:2650
+#: common.opt:2703
 #, no-c-format
 msgid "Disable optimizations observable by IEEE signaling NaNs."
 msgstr ""
 
-#: common.opt:2654
+#: common.opt:2707
 #, no-c-format
 msgid ""
 "Disable floating point optimizations that ignore the IEEE signedness of zero."
 msgstr ""
 
-#: common.opt:2658
+#: common.opt:2711
 #, no-c-format
 msgid "Convert floating point constants to single precision constants."
 msgstr ""
 
-#: common.opt:2662
+#: common.opt:2715
 #, no-c-format
 msgid "Split lifetimes of induction variables when loops are unrolled."
 msgstr ""
 
-#: common.opt:2666
+#: common.opt:2719
 #, no-c-format
 msgid "Generate discontiguous stack frames."
 msgstr ""
 
-#: common.opt:2670
+#: common.opt:2723
 #, no-c-format
 msgid "Split wide types into independent registers."
 msgstr ""
 
-#: common.opt:2674
+#: common.opt:2727
 #, no-c-format
 msgid "Split wide types into independent registers earlier."
 msgstr ""
 
-#: common.opt:2678
+#: common.opt:2731
 #, no-c-format
 msgid "Enable backward propagation of use properties at the SSA level."
 msgstr ""
 
-#: common.opt:2682
+#: common.opt:2735
 #, no-c-format
 msgid "Optimize conditional patterns using SSA PHI nodes."
 msgstr ""
 
-#: common.opt:2686
+#: common.opt:2739
 #, no-c-format
 msgid ""
 "Optimize amount of stdarg registers saved to stack at start of function."
 msgstr ""
 
-#: common.opt:2690
+#: common.opt:2743
 #, no-c-format
 msgid "Apply variable expansion when loops are unrolled."
 msgstr ""
 
-#: common.opt:2694
+#: common.opt:2747
 #, no-c-format
 msgid ""
 "-fstack-check=[no|generic|specific]\tInsert stack checking code into the "
 "program."
 msgstr ""
 
-#: common.opt:2698
+#: common.opt:2751
 #, no-c-format
 msgid ""
 "Insert stack checking code into the program.  Same as -fstack-check=specific."
 msgstr ""
 
-#: common.opt:2702
+#: common.opt:2755
 #, 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:2710
+#: common.opt:2763
 #, no-c-format
 msgid ""
 "-fstack-limit-register=<register>\tTrap if the stack goes past <register>."
 msgstr ""
 
-#: common.opt:2714
+#: common.opt:2767
 #, no-c-format
 msgid "-fstack-limit-symbol=<name>\tTrap if the stack goes past symbol <name>."
 msgstr ""
 
-#: common.opt:2718
+#: common.opt:2771
 #, no-c-format
 msgid "Use propolice as a stack protection method."
 msgstr ""
 
-#: common.opt:2722
+#: common.opt:2775
 #, no-c-format
 msgid "Use a stack protection method for every function."
 msgstr ""
 
-#: common.opt:2726
+#: common.opt:2779
 #, no-c-format
 msgid "Use a smart stack protection method for certain functions."
 msgstr ""
 
-#: common.opt:2730
+#: common.opt:2783
 #, no-c-format
 msgid ""
 "Use stack protection method only for functions with the stack_protect "
 "attribute."
 msgstr ""
 
-#: common.opt:2734
+#: common.opt:2787
 #, no-c-format
 msgid "Output stack usage information on a per-function basis."
 msgstr ""
 
-#: common.opt:2746
+#: common.opt:2799
 #, no-c-format
 msgid "Assume strict aliasing rules apply."
 msgstr ""
 
-#: common.opt:2750
+#: common.opt:2803
 #, no-c-format
 msgid ""
 "Treat signed overflow as undefined.  Negated as -fwrapv -fwrapv-pointer."
 msgstr ""
 
-#: common.opt:2754
+#: common.opt:2807
 #, no-c-format
 msgid "Implement __atomic operations via libcalls to legacy __sync functions."
 msgstr ""
 
-#: common.opt:2758
+#: common.opt:2811
 #, no-c-format
 msgid "Check for syntax errors, then stop."
 msgstr ""
 
-#: common.opt:2762
+#: common.opt:2815
 #, no-c-format
 msgid "Create data files needed by \"gcov\"."
 msgstr ""
 
-#: common.opt:2766
+#: common.opt:2819
 #, no-c-format
 msgid "Perform jump threading optimizations."
 msgstr ""
 
-#: common.opt:2770
+#: common.opt:2823
 #, no-c-format
 msgid "Report the time taken by each compiler pass."
 msgstr ""
 
-#: common.opt:2774
+#: common.opt:2827
 #, no-c-format
 msgid "Record times taken by sub-phases separately."
 msgstr ""
 
-#: common.opt:2778
+#: common.opt:2831
 #, 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:2797
+#: common.opt:2850
 #, no-c-format
 msgid "Reorder top level functions, variables, and asms."
 msgstr ""
 
-#: common.opt:2801
+#: common.opt:2854
 #, no-c-format
 msgid "Perform superblock formation via tail duplication."
 msgstr ""
 
-#: common.opt:2805
+#: common.opt:2858
 #, no-c-format
 msgid ""
 "For targets that normally need trampolines for nested functions, always "
 "generate them instead of using descriptors."
 msgstr ""
 
-#: common.opt:2813
+#: common.opt:2866
 #, no-c-format
 msgid "Assume floating-point operations can trap."
 msgstr ""
 
-#: common.opt:2817
+#: common.opt:2870
 #, no-c-format
 msgid "Trap for signed overflow in addition, subtraction and multiplication."
 msgstr ""
 
-#: common.opt:2821
+#: common.opt:2874
 #, no-c-format
 msgid "Enable SSA-CCP optimization on trees."
 msgstr ""
 
-#: common.opt:2825
+#: common.opt:2878
 #, no-c-format
 msgid "Enable SSA-BIT-CCP optimization on trees."
 msgstr ""
 
-#: common.opt:2833
+#: common.opt:2886
 #, no-c-format
 msgid "Enable loop header copying on trees."
 msgstr ""
 
-#: common.opt:2841
+#: common.opt:2894
 #, no-c-format
 msgid "Enable SSA coalescing of user variables."
 msgstr ""
 
-#: common.opt:2849
+#: common.opt:2902
 #, no-c-format
 msgid "Enable copy propagation on trees."
 msgstr ""
 
-#: common.opt:2857
+#: common.opt:2910
 #, no-c-format
 msgid "Transform condition stores into unconditional ones."
 msgstr ""
 
-#: common.opt:2861
+#: common.opt:2914
 #, no-c-format
 msgid "Perform conversions of switch initializations."
 msgstr ""
 
-#: common.opt:2865
+#: common.opt:2918
 #, no-c-format
 msgid "Enable SSA dead code elimination optimization on trees."
 msgstr ""
 
-#: common.opt:2869
+#: common.opt:2922
 #, no-c-format
 msgid "Enable dominator optimizations."
 msgstr ""
 
-#: common.opt:2873
+#: common.opt:2926
 #, no-c-format
 msgid "Enable tail merging on trees."
 msgstr ""
 
-#: common.opt:2877
+#: common.opt:2930
 #, no-c-format
 msgid "Enable dead store elimination."
 msgstr ""
 
-#: common.opt:2881
+#: common.opt:2934
 #, no-c-format
 msgid "Enable forward propagation on trees."
 msgstr ""
 
-#: common.opt:2885
+#: common.opt:2938
 #, no-c-format
 msgid "Enable Full Redundancy Elimination (FRE) on trees."
 msgstr ""
 
-#: common.opt:2889
+#: common.opt:2942
 #, no-c-format
 msgid "Enable string length optimizations on trees."
 msgstr ""
 
-#: common.opt:2893
+#: common.opt:2946
 #, no-c-format
 msgid ""
 "Detect paths that trigger erroneous or undefined behavior due to "
@@ -15661,7 +16354,7 @@ msgid ""
 "flow and turn the statement with erroneous or undefined behavior into a trap."
 msgstr ""
 
-#: common.opt:2899
+#: common.opt:2952
 #, no-c-format
 msgid ""
 "Detect paths that trigger erroneous or undefined behavior due to a null "
@@ -15670,531 +16363,516 @@ msgid ""
 "statement with erroneous or undefined behavior into a trap."
 msgstr ""
 
-#: common.opt:2906
+#: common.opt:2959
 #, no-c-format
 msgid "Enable loop distribution on trees."
 msgstr ""
 
-#: common.opt:2910
+#: common.opt:2963
 #, no-c-format
 msgid "Enable loop distribution for patterns transformed into a library call."
 msgstr ""
 
-#: common.opt:2914
+#: common.opt:2967
 #, no-c-format
 msgid "Enable loop invariant motion on trees."
 msgstr ""
 
-#: common.opt:2922
+#: common.opt:2975
 #, no-c-format
 msgid "Create canonical induction variables in loops."
 msgstr ""
 
-#: common.opt:2926
+#: common.opt:2979
 #, no-c-format
 msgid "Enable loop optimizations on tree level."
 msgstr ""
 
-#: common.opt:2930
+#: common.opt:2983
 #, no-c-format
 msgid ""
 "-ftree-parallelize-loops=<number>\tEnable automatic parallelization of loops."
 msgstr ""
 
-#: common.opt:2934
+#: common.opt:2987
 #, no-c-format
 msgid "Enable hoisting loads from conditional pointers."
 msgstr ""
 
-#: common.opt:2938
+#: common.opt:2991
 #, no-c-format
 msgid "Enable SSA-PRE optimization on trees."
 msgstr ""
 
-#: common.opt:2942
+#: common.opt:2995
 #, no-c-format
 msgid ""
 "In SSA-PRE optimization on trees, enable partial-partial redundancy "
 "elimination."
 msgstr ""
 
-#: common.opt:2946
+#: common.opt:2999
 #, no-c-format
 msgid "Perform function-local points-to analysis on trees."
 msgstr ""
 
-#: common.opt:2950
+#: common.opt:3003
 #, no-c-format
 msgid "Enable reassociation on tree level."
 msgstr ""
 
-#: common.opt:2958
+#: common.opt:3011
 #, no-c-format
 msgid "Enable SSA code sinking on trees."
 msgstr ""
 
-#: common.opt:2962
+#: common.opt:3015
 #, no-c-format
 msgid "Perform straight-line strength reduction."
 msgstr ""
 
-#: common.opt:2966
+#: common.opt:3019
 #, no-c-format
 msgid "Perform scalar replacement of aggregates."
 msgstr ""
 
-#: common.opt:2970
+#: common.opt:3023
 #, no-c-format
 msgid "Replace temporary expressions in the SSA->normal pass."
 msgstr ""
 
-#: common.opt:2974
+#: common.opt:3027
 #, no-c-format
 msgid "Perform live range splitting during the SSA->normal pass."
 msgstr ""
 
-#: common.opt:2978
+#: common.opt:3031
 #, no-c-format
 msgid "Perform Value Range Propagation on trees."
 msgstr ""
 
-#: common.opt:2982
+#: common.opt:3035
 #, no-c-format
 msgid "Split paths leading to loop backedges."
 msgstr ""
 
-#: common.opt:2986
+#: common.opt:3039
 #, no-c-format
 msgid ""
 "Assume common declarations may be overridden with ones with a larger "
 "trailing array."
 msgstr ""
 
-#: common.opt:2991
+#: common.opt:3044
 #, no-c-format
 msgid "Compile whole compilation unit at a time."
 msgstr ""
 
-#: common.opt:2995
+#: common.opt:3048
+#, no-c-format
+msgid "Trap on __builtin_unreachable instead of using it for optimization."
+msgstr ""
+
+#: common.opt:3052
 #, no-c-format
 msgid "Perform loop unrolling when iteration count is known."
 msgstr ""
 
-#: common.opt:2999
+#: common.opt:3056
 #, no-c-format
 msgid "Perform loop unrolling for all loops."
 msgstr ""
 
-#: common.opt:3014
+#: common.opt:3071
 #, no-c-format
 msgid ""
 "Allow optimization for floating-point arithmetic which may change the result "
 "of the operation due to rounding."
 msgstr ""
 
-#: common.opt:3019
+#: common.opt:3076
 #, no-c-format
 msgid "Same as -fassociative-math for expressions which include division."
 msgstr ""
 
-#: common.opt:3027
+#: common.opt:3084
 #, no-c-format
 msgid "Allow math optimizations that may violate IEEE or ISO standards."
 msgstr ""
 
-#: common.opt:3031
+#: common.opt:3088
 #, no-c-format
 msgid "Perform loop unswitching."
 msgstr ""
 
-#: common.opt:3035
+#: common.opt:3092
 #, no-c-format
 msgid "Perform loop splitting."
 msgstr ""
 
-#: common.opt:3039
+#: common.opt:3096
 #, no-c-format
 msgid "Version loops based on whether indices have a stride of one."
 msgstr ""
 
-#: common.opt:3043
+#: common.opt:3100
 #, no-c-format
 msgid "Just generate unwind tables for exception handling."
 msgstr ""
 
-#: common.opt:3047
+#: common.opt:3104
 #, no-c-format
 msgid "Use the bfd linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3051
+#: common.opt:3108
 #, no-c-format
 msgid "Use the gold linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3055
+#: common.opt:3112
 #, no-c-format
 msgid "Use the lld LLVM linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3059
+#: common.opt:3116
 #, no-c-format
 msgid "Use the Modern linker (MOLD) linker instead of the default linker."
 msgstr ""
 
-#: common.opt:3069
+#: common.opt:3126
 #, no-c-format
 msgid "Perform variable tracking."
 msgstr ""
 
-#: common.opt:3076
+#: common.opt:3133
 #, no-c-format
 msgid "Perform variable tracking by annotating assignments."
 msgstr ""
 
-#: common.opt:3082
+#: common.opt:3139
 #, no-c-format
 msgid "Toggle -fvar-tracking-assignments."
 msgstr ""
 
-#: common.opt:3089
+#: common.opt:3146
 #, no-c-format
 msgid ""
 "Perform variable tracking and also tag variables that are uninitialized."
 msgstr ""
 
-#: common.opt:3094
+#: common.opt:3151
 #, no-c-format
 msgid "Enable vectorization on trees."
 msgstr ""
 
-#: common.opt:3102
+#: common.opt:3159
 #, no-c-format
 msgid "Enable loop vectorization on trees."
 msgstr ""
 
-#: common.opt:3106
+#: common.opt:3163
 #, no-c-format
 msgid "Enable basic block vectorization (SLP) on trees."
 msgstr ""
 
-#: common.opt:3110
+#: common.opt:3167
 #, no-c-format
 msgid ""
 "-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap]\tSpecifies the cost "
 "model for vectorization."
 msgstr ""
 
-#: common.opt:3114
+#: common.opt:3171
 #, 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:3133
+#: common.opt:3190
 #, no-c-format
 msgid ""
 "Enables the dynamic vectorizer cost model.  Preserved for backward "
 "compatibility."
 msgstr ""
 
-#: common.opt:3141
+#: common.opt:3198
 #, no-c-format
 msgid "Enable copy propagation of scalar-evolution information."
 msgstr ""
 
-#: common.opt:3145
+#: common.opt:3202
 #, no-c-format
 msgid ""
 "-ftrivial-auto-var-init=[uninitialized|pattern|zero]\tAdd initializations to "
 "automatic variables."
 msgstr ""
 
-#: common.opt:3167
+#: common.opt:3224
 #, no-c-format
 msgid "Add extra commentary to assembler output."
 msgstr ""
 
-#: common.opt:3171
+#: common.opt:3228
 #, no-c-format
 msgid ""
 "-fvisibility=[default|internal|hidden|protected]\tSet the default symbol "
 "visibility."
 msgstr ""
 
-#: common.opt:3190
+#: common.opt:3247
 #, no-c-format
 msgid "Validate vtable pointers before using them."
 msgstr ""
 
-#: common.opt:3206
+#: common.opt:3263
 #, no-c-format
 msgid "Output vtable verification counters."
 msgstr ""
 
-#: common.opt:3210
+#: common.opt:3267
 #, no-c-format
 msgid "Output vtable verification pointer sets information."
 msgstr ""
 
-#: common.opt:3214
+#: common.opt:3271
 #, no-c-format
 msgid "Use expression value profiles in optimizations."
 msgstr ""
 
-#: common.opt:3218
+#: common.opt:3275
 #, no-c-format
 msgid "Construct webs and split unrelated uses of single variable."
 msgstr ""
 
-#: common.opt:3222
+#: common.opt:3279
 #, no-c-format
 msgid "Enable conditional dead code elimination for builtin calls."
 msgstr ""
 
-#: common.opt:3226
+#: common.opt:3283
 #, no-c-format
 msgid "Perform whole program optimizations."
 msgstr ""
 
-#: common.opt:3230
+#: common.opt:3287
 #, no-c-format
 msgid "Assume pointer overflow wraps around."
 msgstr ""
 
-#: common.opt:3234
+#: common.opt:3291
 #, no-c-format
 msgid "Assume signed arithmetic overflow wraps around."
 msgstr ""
 
-#: common.opt:3238
+#: common.opt:3295
 #, no-c-format
 msgid "Put zero initialized data in the bss section."
 msgstr ""
 
-#: common.opt:3242
+#: common.opt:3299
 #, no-c-format
 msgid "Clear call-used registers upon function return."
 msgstr ""
 
-#: common.opt:3246
+#: common.opt:3303
 #, no-c-format
 msgid "Generate debug information in default format."
 msgstr ""
 
-#: common.opt:3250
+#: common.opt:3307
 #, no-c-format
 msgid "Assume assembler support for (DWARF2+) .loc directives."
 msgstr ""
 
-#: common.opt:3254
+#: common.opt:3311
 #, no-c-format
 msgid "Assume assembler support for view in (DWARF2+) .loc directives."
 msgstr ""
 
-#: common.opt:3274
+#: common.opt:3331
 #, no-c-format
 msgid "Record DW_AT_decl_column and DW_AT_call_column in DWARF."
 msgstr ""
 
-#: common.opt:3280
+#: common.opt:3337
 #, no-c-format
 msgid "Generate CTF debug information at default level."
 msgstr ""
 
-#: common.opt:3284
+#: common.opt:3341
 #, no-c-format
 msgid "Generate BTF debug information at default level."
 msgstr ""
 
-#: common.opt:3288
+#: common.opt:3345
 #, no-c-format
 msgid "Generate debug information in default version of DWARF format."
 msgstr ""
 
-#: common.opt:3292
+#: common.opt:3349
 #, no-c-format
 msgid "Generate debug information in DWARF v2 (or later) format."
 msgstr ""
 
-#: common.opt:3296
+#: common.opt:3353
 #, no-c-format
 msgid "Use 32-bit DWARF format when emitting DWARF debug information."
 msgstr ""
 
-#: common.opt:3300
+#: common.opt:3357
 #, no-c-format
 msgid "Use 64-bit DWARF format when emitting DWARF debug information."
 msgstr ""
 
-#: common.opt:3304
+#: common.opt:3361
 #, no-c-format
 msgid "Generate debug information in default extended format."
 msgstr ""
 
-#: common.opt:3308
+#: common.opt:3365
 #, no-c-format
 msgid "Generate extended entry point information for inlined functions."
 msgstr ""
 
-#: common.opt:3312
+#: common.opt:3369
 #, no-c-format
 msgid "Compute locview reset points based on insn length estimates."
 msgstr ""
 
-#: common.opt:3320
+#: common.opt:3377
 #, no-c-format
 msgid "Don't generate DWARF pubnames and pubtypes sections."
 msgstr ""
 
-#: common.opt:3324
+#: common.opt:3381
 #, no-c-format
 msgid "Generate DWARF pubnames and pubtypes sections."
 msgstr ""
 
-#: common.opt:3328
+#: common.opt:3385
 #, no-c-format
 msgid "Generate DWARF pubnames and pubtypes sections with GNU extensions."
 msgstr ""
 
-#: common.opt:3332
+#: common.opt:3389
 #, no-c-format
 msgid "Record gcc command line switches in DWARF DW_AT_producer."
 msgstr ""
 
-#: common.opt:3336
+#: common.opt:3393
 #, no-c-format
 msgid "Generate debug information in separate .dwo files."
 msgstr ""
 
-#: common.opt:3340
-#, no-c-format
-msgid "Generate debug information in STABS format."
-msgstr ""
-
-#: common.opt:3344
-#, no-c-format
-msgid "Generate debug information in extended STABS format."
-msgstr ""
-
-#: common.opt:3348
+#: common.opt:3405
 #, no-c-format
 msgid "Emit progressive recommended breakpoint locations."
 msgstr ""
 
-#: common.opt:3352
+#: common.opt:3409
 #, no-c-format
 msgid "Don't emit DWARF additions beyond selected version."
 msgstr ""
 
-#: common.opt:3356
+#: common.opt:3413
 #, no-c-format
 msgid ""
 "Add description attributes to some DWARF DIEs that have no name attribute."
 msgstr ""
 
-#: common.opt:3360
+#: common.opt:3417
 #, no-c-format
 msgid "Toggle debug information generation."
 msgstr ""
 
-#: common.opt:3364
+#: common.opt:3421
 #, no-c-format
 msgid "Augment variable location lists with progressive views."
 msgstr ""
 
-#: common.opt:3371
+#: common.opt:3428
 #, no-c-format
 msgid "Generate debug information in VMS format."
 msgstr ""
 
-#: common.opt:3375
-#, no-c-format
-msgid "Generate debug information in XCOFF format."
-msgstr ""
-
-#: common.opt:3379
-#, no-c-format
-msgid "Generate debug information in extended XCOFF format."
-msgstr ""
-
-#: common.opt:3397
+#: common.opt:3457
 #, no-c-format
 msgid "Generate compressed debug sections."
 msgstr ""
 
-#: common.opt:3401
+#: common.opt:3461
 #, no-c-format
 msgid "-gz=<format>\tGenerate compressed debug sections in format <format>."
 msgstr ""
 
-#: common.opt:3408
+#: common.opt:3468
 #, no-c-format
 msgid "-iplugindir=<dir>\tSet <dir> to be the default plugin directory."
 msgstr ""
 
-#: common.opt:3412
+#: common.opt:3472
 #, no-c-format
 msgid "-imultiarch <dir>\tSet <dir> to be the multiarch include subdirectory."
 msgstr ""
 
-#: common.opt:3437
+#: common.opt:3500
 #, no-c-format
 msgid "-o <file>\tPlace output into <file>."
 msgstr ""
 
-#: common.opt:3441
+#: common.opt:3504
 #, no-c-format
 msgid "Enable function profiling."
 msgstr ""
 
-#: common.opt:3451
+#: common.opt:3514
 #, no-c-format
 msgid "Like -pedantic but issue them as errors."
 msgstr ""
 
-#: common.opt:3491
+#: common.opt:3554
 #, no-c-format
 msgid "Do not display functions compiled or elapsed time."
 msgstr ""
 
-#: common.opt:3523
+#: common.opt:3586
 #, no-c-format
 msgid "Enable verbose output."
 msgstr ""
 
-#: common.opt:3527
+#: common.opt:3590
 #, no-c-format
 msgid "Display the compiler's version."
 msgstr ""
 
-#: common.opt:3531
+#: common.opt:3594
 #, no-c-format
 msgid "Suppress warnings."
 msgstr ""
 
-#: common.opt:3541
+#: common.opt:3604
 #, no-c-format
 msgid "Create a shared library."
 msgstr ""
 
-#: common.opt:3593
+#: common.opt:3664
 #, no-c-format
 msgid "Don't create a dynamically linked position independent executable."
 msgstr ""
 
-#: common.opt:3597
+#: common.opt:3668
 #, no-c-format
 msgid "Create a dynamically linked position independent executable."
 msgstr ""
 
-#: common.opt:3601
+#: common.opt:3672
 #, no-c-format
 msgid "Create a static position independent executable."
 msgstr ""
 
-#: common.opt:3608
+#: common.opt:3679
 #, no-c-format
 msgid "Use caller save register across calls if possible."
 msgstr ""
@@ -16365,94 +17043,80 @@ msgstr ""
 #: params.opt:139
 #, no-c-format
 msgid ""
-"--param=evrp-mode=[legacy|ranger|legacy-first|ranger-first] Specifies the "
-"mode Early VRP should operate in."
+"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:158
-#, no-c-format
-msgid ""
-"Scale factor to apply to the number of blocks in a threading path when "
-"comparing to the number of (scaled) statements."
-msgstr ""
-
-#: params.opt:162
-#, no-c-format
-msgid ""
-"Scale factor to apply to the number of statements in a threading path when "
-"comparing to the number of (scaled) blocks."
-msgstr ""
-
-#: params.opt:166
+#: params.opt:143
 #, no-c-format
 msgid ""
 "The threshold ratio of critical edges execution count that permit performing "
 "redundancy elimination after reload."
 msgstr ""
 
-#: params.opt:170
+#: params.opt:147
 #, no-c-format
 msgid ""
 "The threshold ratio for performing partial redundancy elimination after "
 "reload."
 msgstr ""
 
-#: params.opt:174
+#: params.opt:151
 #, no-c-format
 msgid ""
 "Scaling factor in calculation of maximum distance an expression can be moved "
 "by GCSE optimizations."
 msgstr ""
 
-#: params.opt:178
+#: params.opt:155
 #, no-c-format
 msgid ""
 "Cost at which GCSE optimizations will not constraint the distance an "
 "expression can travel."
 msgstr ""
 
-#: params.opt:182
+#: params.opt:159
 #, no-c-format
 msgid ""
 "Minimum heap expansion to trigger garbage collection, as a percentage of the "
 "total size of the heap."
 msgstr ""
 
-#: params.opt:186
+#: params.opt:163
 #, no-c-format
 msgid "Minimum heap size before we start collecting garbage, in kilobytes."
 msgstr ""
 
-#: params.opt:190
+#: params.opt:167
 #, 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:194
+#: params.opt:171
 #, no-c-format
 msgid "Whether codegen errors should be ICEs when -fchecking."
 msgstr ""
 
-#: params.opt:198
+#: params.opt:175
 #, no-c-format
 msgid "Maximum number of arrays per SCoP."
 msgstr ""
 
-#: params.opt:202
+#: params.opt:179
 #, no-c-format
 msgid "Maximum number of parameters in a SCoP."
 msgstr ""
 
-#: params.opt:206
+#: params.opt:183
 #, no-c-format
 msgid ""
 "The number of elements for which hash table verification is done for each "
 "searched element."
 msgstr ""
 
-#: params.opt:210
+#: params.opt:187
 #, no-c-format
 msgid ""
 "The denominator n of fraction 1/n of the maximal execution count of a basic "
@@ -16460,7 +17124,7 @@ msgid ""
 "order to be considered hot (used in non-LTO mode)."
 msgstr ""
 
-#: params.opt:214
+#: params.opt:191
 #, no-c-format
 msgid ""
 "The number of most executed permilles of the profiled execution of the "
@@ -16468,7 +17132,7 @@ msgid ""
 "in order to be considered hot (used in LTO mode)."
 msgstr ""
 
-#: params.opt:218
+#: params.opt:195
 #, no-c-format
 msgid ""
 "The denominator n of fraction 1/n of the execution frequency of the entry "
@@ -16476,177 +17140,199 @@ msgid ""
 "have in order to be considered hot."
 msgstr ""
 
-#: params.opt:222
+#: params.opt:199
 #, 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:226
+#: params.opt:203
 #, no-c-format
 msgid ""
 "The minimal estimated speedup allowing inliner to ignore inline-insns-single "
 "and inline-insns-auto."
 msgstr ""
 
-#: params.opt:230
+#: params.opt:207
 #, no-c-format
 msgid ""
 "How much can given compilation unit grow because of the inlining (in "
 "percent)."
 msgstr ""
 
-#: params.opt:234
+#: params.opt:211
 #, no-c-format
 msgid "The upper bound for sharing integer constants."
 msgstr ""
 
-#: params.opt:238
+#: params.opt:215
 #, no-c-format
 msgid ""
 "Threshold ipa-cp opportunity evaluation that is still considered beneficial "
 "to clone."
 msgstr ""
 
-#: params.opt:242
+#: params.opt:219
 #, no-c-format
 msgid ""
 "Compile-time bonus IPA-CP assigns to candidates which make loop bounds or "
 "strides known."
 msgstr ""
 
-#: params.opt:246
+#: params.opt:223
 #, no-c-format
 msgid "Maximum depth of recursive cloning for self-recursive function."
 msgstr ""
 
-#: params.opt:250
+#: params.opt:227
 #, no-c-format
 msgid ""
 "Recursive cloning only when the probability of call being executed exceeds "
 "the parameter."
 msgstr ""
 
-#: params.opt:254
+#: params.opt:231
 #, 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:258
+#: params.opt:235
 #, no-c-format
 msgid ""
 "Percentage penalty the recursive functions will receive when they are "
 "evaluated for cloning."
 msgstr ""
 
-#: params.opt:262
+#: params.opt:239
 #, 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:266
+#: params.opt:243
 #, no-c-format
 msgid ""
 "How much can given compilation unit grow because of the interprocedural "
 "constant propagation (in percent)."
 msgstr ""
 
-#: params.opt:270
+#: params.opt:247
 #, no-c-format
 msgid "The size of translation unit that IPA-CP pass considers large."
 msgstr ""
 
-#: params.opt:274
+#: params.opt:251
 #, no-c-format
 msgid ""
 "Maximum size of a list of values associated with each parameter for "
 "interprocedural constant propagation."
 msgstr ""
 
-#: params.opt:278
+#: params.opt:255
 #, no-c-format
 msgid ""
 "When using profile feedback, use the edge at this percentage position in "
 "frequncy histogram as the bases for IPA-CP heuristics."
 msgstr ""
 
-#: params.opt:282
+#: params.opt:259
 #, no-c-format
 msgid ""
 "Maximum number of statements visited during jump function offset discovery."
 msgstr ""
 
-#: params.opt:286
+#: params.opt:263
 #, 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:290
+#: params.opt:267
 #, no-c-format
 msgid ""
 "Maximum number of aggregate content items for a parameter in jump functions "
 "and lattices."
 msgstr ""
 
-#: params.opt:294
+#: params.opt:271
 #, no-c-format
 msgid ""
 "Maximum number of operations in a parameter expression that can be handled "
 "by IPA analysis."
 msgstr ""
 
-#: params.opt:298
+#: params.opt:275
 #, no-c-format
 msgid ""
 "Maximum number of different predicates used to track properties of loops in "
 "IPA analysis."
 msgstr ""
 
-#: params.opt:302
+#: params.opt:279
 #, no-c-format
 msgid ""
 "Maximal number of boundary endpoints of case ranges of switch statement used "
 "during IPA function summary generation."
 msgstr ""
 
-#: params.opt:306
+#: params.opt:283
+#, 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:287
 #, 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:310
+#: params.opt:291
+#, 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:295
 #, no-c-format
 msgid ""
-"Maximum allowed growth of number and total size of new parameters that ipa-"
-"sra replaces a pointer to an aggregate with."
+"Additional maximum allowed growth of total size of new parameters that ipa-"
+"sra replaces a pointer to an aggregate with, if it points to a local "
+"variable that the caller only writes to and passes it as an argument to "
+"functions."
 msgstr ""
 
-#: params.opt:314
+#: params.opt:299
 #, no-c-format
 msgid ""
 "The number of registers in each class kept unused by loop invariant motion."
 msgstr ""
 
-#: params.opt:318
+#: params.opt:303
 #, no-c-format
 msgid "Max size of conflict table in MB."
 msgstr ""
 
-#: params.opt:322
+#: params.opt:307
+#, no-c-format
+msgid ""
+"Approximate function insn number in 1K units triggering simple local RA."
+msgstr ""
+
+#: params.opt:311
 #, no-c-format
 msgid "Max loops number for regional RA."
 msgstr ""
 
-#: params.opt:326
+#: params.opt:315
 #, no-c-format
 msgid ""
 "Control ira to consider matching constraint (duplicated operand number) "
@@ -16658,56 +17344,56 @@ msgid ""
 "class and respect the found qualified matching constraint."
 msgstr ""
 
-#: params.opt:330
+#: params.opt:319
 #, 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:323
 #, no-c-format
 msgid ""
 "Bound on number of candidates below that all candidates are considered in iv "
 "optimizations."
 msgstr ""
 
-#: params.opt:338
+#: params.opt:327
 #, no-c-format
 msgid "Bound on number of iv uses in loop optimized in iv optimizations."
 msgstr ""
 
-#: params.opt:342
+#: params.opt:331
 #, 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:335
 #, 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:339
 #, no-c-format
 msgid "The size of L1 cache line."
 msgstr ""
 
-#: params.opt:354
+#: params.opt:343
 #, no-c-format
 msgid ""
 "The minimum recommended offset between two concurrently-accessed objects to "
 "avoid additional performance degradation due to contention introduced by the "
 "implementation.  Typically the L1 cache line size, but can be larger to "
-"accommodate a variety of target processors with different cache line sizes. C"
-"++17 code might use this value in structure layout, but is strongly "
+"accommodate a variety of target processors with different cache line sizes. "
+"C++17 code might use this value in structure layout, but is strongly "
 "discouraged from doing so in public ABIs."
 msgstr ""
 
-#: params.opt:363
+#: params.opt:352
 #, no-c-format
 msgid ""
 "The maximum recommended size of contiguous memory occupied by two objects "
@@ -16716,737 +17402,730 @@ msgid ""
 "processors with different cache line sizes."
 msgstr ""
 
-#: params.opt:370
+#: params.opt:359
 #, no-c-format
 msgid "The size of L1 cache."
 msgstr ""
 
-#: params.opt:374
+#: params.opt:363
 #, no-c-format
 msgid "The size of L2 cache."
 msgstr ""
 
-#: params.opt:378
+#: params.opt:367
 #, no-c-format
 msgid "Maximal growth due to inlining of large function (in percent)."
 msgstr ""
 
-#: params.opt:382
+#: params.opt:371
 #, no-c-format
 msgid "The size of function body to be considered large."
 msgstr ""
 
-#: params.opt:386
+#: params.opt:375
 #, no-c-format
 msgid "The size of stack frame to be considered large."
 msgstr ""
 
-#: params.opt:390
+#: params.opt:379
 #, no-c-format
 msgid "Maximal stack frame growth due to inlining (in percent)."
 msgstr ""
 
-#: params.opt:394
+#: params.opt:383
 #, no-c-format
 msgid "The size of translation unit to be considered large."
 msgstr ""
 
-#: params.opt:398
+#: params.opt:387
 #, no-c-format
 msgid "Maximum number of concurrently open C++ module files when lazy loading."
 msgstr ""
 
-#: params.opt:402
+#: params.opt:391
 #, no-c-format
 msgid ""
 "The minimum cost of an expensive expression in the loop invariant motion."
 msgstr ""
 
-#: params.opt:406
+#: params.opt:395
 #, no-c-format
 msgid "True if a non-short-circuit operation is optimal."
 msgstr ""
 
-#: params.opt:410
+#: params.opt:399
 #, no-c-format
 msgid "Size of tiles for loop blocking."
 msgstr ""
 
-#: params.opt:414
+#: params.opt:403
 #, no-c-format
 msgid "The maximum number of stmts in loop nest for loop interchange."
 msgstr ""
 
-#: params.opt:418
+#: params.opt:407
 #, no-c-format
 msgid "The minimum stride ratio for loop interchange to be profitable."
 msgstr ""
 
-#: params.opt:422
+#: params.opt:411
 #, no-c-format
 msgid "Max basic blocks number in loop for loop invariant motion."
 msgstr ""
 
-#: params.opt:426
+#: params.opt:415
 #, no-c-format
 msgid "Maximum number of datarefs in loop for building loop data dependencies."
 msgstr ""
 
-#: params.opt:430
+#: params.opt:419
 #, 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:423
 #, 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:427
 #, 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:431
 #, 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:435
 #, no-c-format
 msgid "Maximal size of a partition for LTO (in estimated instructions)."
 msgstr ""
 
-#: params.opt:450
+#: params.opt:439
 #, no-c-format
 msgid "maximal number of LTO partitions streamed in parallel."
 msgstr ""
 
-#: params.opt:454
+#: params.opt:443
 #, no-c-format
 msgid "Minimal size of a partition for LTO (in estimated instructions)."
 msgstr ""
 
-#: params.opt:458
+#: params.opt:447
 #, no-c-format
 msgid "Number of partitions the program should be split to."
 msgstr ""
 
-#: params.opt:462
+#: params.opt:451
 #, no-c-format
 msgid ""
 "The maximum number of instructions to consider to unroll in a loop on "
 "average."
 msgstr ""
 
-#: params.opt:466
+#: params.opt:455
 #, no-c-format
 msgid "The maximum number of insns combine tries to combine."
 msgstr ""
 
-#: params.opt:470
+#: params.opt:459
 #, no-c-format
 msgid "The maximum depth of a loop nest we completely peel."
 msgstr ""
 
-#: params.opt:474
+#: params.opt:463
 #, no-c-format
 msgid ""
 "The maximum number of peelings of a single loop that is peeled completely."
 msgstr ""
 
-#: params.opt:478
+#: params.opt:467
 #, no-c-format
 msgid "The maximum number of insns of a completely peeled loop."
 msgstr ""
 
-#: params.opt:482
+#: params.opt:471
 #, no-c-format
 msgid "The maximum number of incoming edges to consider for crossjumping."
 msgstr ""
 
-#: params.opt:486
+#: params.opt:475
 #, no-c-format
 msgid "The maximum instructions CSE process before flushing."
 msgstr ""
 
-#: params.opt:490
+#: params.opt:479
 #, no-c-format
 msgid "The maximum length of path considered in cse."
 msgstr ""
 
-#: params.opt:494
+#: params.opt:483
 #, no-c-format
 msgid "The maximum memory locations recorded by cselib."
 msgstr ""
 
-#: params.opt:498
+#: params.opt:487
 #, no-c-format
 msgid "Max. count of debug markers to expand or inline."
 msgstr ""
 
-#: params.opt:502
+#: params.opt:491
 #, no-c-format
 msgid "The maximum number of instructions to consider to fill a delay slot."
 msgstr ""
 
-#: params.opt:506
+#: params.opt:495
 #, no-c-format
 msgid ""
 "The maximum number of instructions to consider to find accurate live "
 "register information."
 msgstr ""
 
-#: params.opt:510
+#: params.opt:499
 #, no-c-format
 msgid "Maximum number of active local stores in RTL dead store elimination."
 msgstr ""
 
-#: params.opt:514
+#: params.opt:503
 #, no-c-format
 msgid ""
 "The maximum number of nested indirect inlining performed by early inliner."
 msgstr ""
 
-#: params.opt:518
+#: params.opt:507
 #, 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
-#, no-c-format
-msgid "Maximum number of basic blocks on a jump thread path."
-msgstr ""
-
-#: params.opt:526
+#: params.opt:511
 #, no-c-format
 msgid ""
 "Maximum number of instructions to copy when duplicating blocks on a finite "
 "state automaton jump thread path."
 msgstr ""
 
-#: params.opt:530
+#: params.opt:515
 #, no-c-format
 msgid "The maximum ratio of insertions to deletions of expressions in GCSE."
 msgstr ""
 
-#: params.opt:534
+#: params.opt:519
 #, no-c-format
 msgid "The maximum amount of memory to be allocated by GCSE, in kilobytes."
 msgstr ""
 
-#: params.opt:538
+#: params.opt:523
 #, no-c-format
 msgid ""
 "The maximum number of insns to duplicate when unfactoring computed gotos."
 msgstr ""
 
-#: params.opt:542
+#: params.opt:527
 #, no-c-format
 msgid "The maximum expansion factor when copying basic blocks."
 msgstr ""
 
-#: params.opt:546
+#: params.opt:531
 #, no-c-format
 msgid "Maximum depth of search in the dominator tree for expressions to hoist."
 msgstr ""
 
-#: params.opt:550
+#: params.opt:535
 #, no-c-format
 msgid ""
 "Maximum loop depth of a call which is considered for inlining functions "
 "called once."
 msgstr ""
 
-#: params.opt:554
+#: params.opt:539
 #, no-c-format
 msgid ""
 "Maximum combined size of caller and callee which is inlined if callee is "
 "called once."
 msgstr ""
 
-#: params.opt:558
+#: params.opt:543
 #, no-c-format
 msgid "The maximum number of instructions when automatically inlining."
 msgstr ""
 
-#: params.opt:562
+#: params.opt:547
 #, no-c-format
 msgid ""
 "The maximum number of instructions inline function can grow to via recursive "
 "inlining."
 msgstr ""
 
-#: params.opt:566
+#: params.opt:551
 #, no-c-format
 msgid ""
 "The maximum number of instructions non-inline function can grow to via "
 "recursive inlining."
 msgstr ""
 
-#: params.opt:570
+#: params.opt:555
 #, no-c-format
 msgid ""
 "The maximum number of instructions in a single function eligible for "
 "inlining."
 msgstr ""
 
-#: params.opt:574
+#: params.opt:559
 #, no-c-format
 msgid "The maximum number of instructions when inlining for size."
 msgstr ""
 
-#: params.opt:578
+#: params.opt:563
 #, no-c-format
 msgid ""
 "The maximum number of instructions when automatically inlining small "
 "functions."
 msgstr ""
 
-#: params.opt:582
+#: params.opt:567
 #, no-c-format
 msgid "The maximum depth of recursive inlining for inline functions."
 msgstr ""
 
-#: params.opt:586
+#: params.opt:571
 #, no-c-format
 msgid "The maximum depth of recursive inlining for non-inline functions."
 msgstr ""
 
-#: params.opt:590
+#: params.opt:575
 #, no-c-format
 msgid "Maximum number of isl operations, 0 means unlimited."
 msgstr ""
 
-#: params.opt:594
+#: params.opt:579
 #, no-c-format
 msgid "Bound on the cost of an expression to compute the number of iterations."
 msgstr ""
 
-#: params.opt:598
+#: params.opt:583
 #, no-c-format
 msgid ""
 "Bound on the number of iterations the brute force # of iterations analysis "
 "algorithm evaluates."
 msgstr ""
 
-#: params.opt:602
+#: params.opt:587
 #, no-c-format
 msgid ""
 "Maximum number of statements allowed in a block that needs to be duplicated "
 "when threading jumps."
 msgstr ""
 
-#: params.opt:606
+#: params.opt:591
+#, no-c-format
+msgid "Search space limit for the backwards jump threader."
+msgstr ""
+
+#: params.opt:595
 #, 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:599
 #, 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:603
 #, 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:607
 #, no-c-format
 msgid "Minimum page size for warning purposes."
 msgstr ""
 
-#: params.opt:622
+#: params.opt:611
 #, no-c-format
 msgid ""
 "Maximum length of partial antic set when performing tree pre optimization."
 msgstr ""
 
-#: params.opt:626
+#: params.opt:615
 #, no-c-format
 msgid "The maximum number of branches on the path through the peeled sequence."
 msgstr ""
 
-#: params.opt:630
+#: params.opt:619
 #, no-c-format
 msgid "The maximum number of peelings of a single loop."
 msgstr ""
 
-#: params.opt:634
+#: params.opt:623
 #, no-c-format
 msgid "The maximum number of insns of a peeled loop."
 msgstr ""
 
-#: params.opt:638
+#: params.opt:627
 #, no-c-format
 msgid "The maximum length of scheduling's pending operations list."
 msgstr ""
 
-#: params.opt:642 params.opt:686
+#: params.opt:631 params.opt:675
 #, 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:635 params.opt:679
 #, no-c-format
 msgid ""
 "The maximum number of insns in a region to be considered for interblock "
 "scheduling."
 msgstr ""
 
-#: params.opt:650
+#: params.opt:639
 #, no-c-format
 msgid ""
 "Maximum depth of sqrt chains to use when synthesizing exponentiation by a "
 "real constant."
 msgstr ""
 
-#: params.opt:654
+#: params.opt:643
 #, no-c-format
 msgid "The maximum number of loop iterations we predict statically."
 msgstr ""
 
-#: params.opt:658
+#: params.opt:647
 #, no-c-format
 msgid ""
 "The maximum number of instructions to search backward when looking for "
 "equivalent reload."
 msgstr ""
 
-#: params.opt:662
+#: params.opt:651
 #, no-c-format
 msgid ""
 "Maximum number of insns in a basic block to consider for RTL if-conversion."
 msgstr ""
 
-#: params.opt:666
+#: params.opt:655
 #, 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:659
 #, 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:663
 #, no-c-format
 msgid "The maximum number of iterations through CFG to extend regions."
 msgstr ""
 
-#: params.opt:678
+#: params.opt:667
 #, no-c-format
 msgid ""
 "The maximum conflict delay for an insn to be considered for speculative "
 "motion."
 msgstr ""
 
-#: params.opt:682
+#: params.opt:671
 #, 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:683
 #, no-c-format
 msgid "Maximum length of candidate scans for straight-line strength reduction."
 msgstr ""
 
-#: params.opt:698
+#: params.opt:687
 #, no-c-format
 msgid "Maximum number of may-defs visited when devirtualizing speculatively."
 msgstr ""
 
-#: params.opt:702
+#: params.opt:691
 #, no-c-format
 msgid ""
 "Maximum recursion depth allowed when querying a property of an SSA name."
 msgstr ""
 
-#: params.opt:706
+#: params.opt:695
 #, no-c-format
 msgid "Maximum number of constant stores to merge in the store merging pass."
 msgstr ""
 
-#: params.opt:710
+#: params.opt:699
 #, no-c-format
 msgid "Maximum number of conditional store pairs that can be sunk."
 msgstr ""
 
-#: params.opt:714 params.opt:718
+#: params.opt:703 params.opt:707
 #, 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:711
 #, no-c-format
 msgid "Maximum amount of similar bbs to compare a bb with."
 msgstr ""
 
-#: params.opt:726
+#: params.opt:715
 #, no-c-format
 msgid "Maximum amount of iterations of the pass over a function."
 msgstr ""
 
-#: params.opt:730
+#: params.opt:719
 #, no-c-format
 msgid ""
 "Maximum number of strings for which strlen optimization pass will track "
 "string lengths."
 msgstr ""
 
-#: params.opt:734
+#: params.opt:723
 #, 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:727
 #, no-c-format
 msgid "The maximum number of unrollings of a single loop."
 msgstr ""
 
-#: params.opt:742
+#: params.opt:731
 #, no-c-format
 msgid "The maximum number of instructions to consider to unroll in a loop."
 msgstr ""
 
-#: params.opt:746
+#: params.opt:735
 #, no-c-format
 msgid "The maximum number of insns of an unswitched loop."
 msgstr ""
 
-#: params.opt:750
+#: params.opt:739
 #, no-c-format
-msgid "The maximum number of unswitchings in a single loop."
+msgid "The maximum depth of a loop nest to be unswitched."
 msgstr ""
 
-#: params.opt:754
+#: params.opt:743
 #, 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:747
 #, no-c-format
 msgid "Max. recursion depth for expanding var tracking expressions."
 msgstr ""
 
-#: params.opt:762
+#: params.opt:751
 #, no-c-format
 msgid "Max. size of loc list for which reverse ops should be added."
 msgstr ""
 
-#: params.opt:766
+#: params.opt:755
 #, no-c-format
 msgid "Max. size of var tracking hash tables."
 msgstr ""
 
-#: params.opt:770
+#: params.opt:759
 #, no-c-format
 msgid "Maximum number of VALUEs handled during a single find_base_term call."
 msgstr ""
 
-#: params.opt:774
-#, no-c-format
-msgid ""
-"Maximum number of assertions to add along the default edge of a switch "
-"statement during VRP."
-msgstr ""
-
-#: params.opt:778
+#: params.opt:763
 #, no-c-format
 msgid ""
 "The minimum number of matching instructions to consider for crossjumping."
 msgstr ""
 
-#: params.opt:782
+#: params.opt:767
 #, no-c-format
 msgid ""
 "Inline recursively only when the probability of call being executed exceeds "
 "the parameter."
 msgstr ""
 
-#: params.opt:786
+#: params.opt:771
 #, no-c-format
 msgid ""
 "Min. ratio of insns to prefetches to enable prefetching for a loop with an "
 "unknown trip count."
 msgstr ""
 
-#: params.opt:790
+#: params.opt:775
 #, no-c-format
 msgid ""
 "The minimum threshold for probability of semi-invariant condition statement "
 "to trigger loop split."
 msgstr ""
 
-#: params.opt:794
+#: params.opt:779
 #, no-c-format
 msgid "The minimum UID to be used for a nondebug insn."
 msgstr ""
 
-#: params.opt:798
+#: params.opt:783
 #, no-c-format
 msgid ""
 "The minimum size of variables taking part in stack slot sharing when not "
 "optimizing."
 msgstr ""
 
-#: params.opt:802
+#: params.opt:787
 #, no-c-format
 msgid ""
 "The minimum probability of reaching a source block for interblock "
 "speculative scheduling."
 msgstr ""
 
-#: params.opt:806
+#: params.opt:791
 #, no-c-format
 msgid ""
 "If -ftree-vectorize is used, the minimal loop bound of a loop to be "
 "considered for vectorization."
 msgstr ""
 
-#: params.opt:810
+#: params.opt:795
 #, no-c-format
 msgid ""
 "--param=openacc-kernels=[decompose|parloops]\tSpecify mode of OpenACC "
 "'kernels' constructs handling."
 msgstr ""
 
-#: params.opt:823
+#: params.opt:808
 #, no-c-format
 msgid ""
 "--param=openacc-privatization=[quiet|noisy]\tSpecify mode of OpenACC "
 "privatization diagnostics."
 msgstr ""
 
-#: params.opt:836
+#: params.opt:821
 #, no-c-format
 msgid "Chunk size of omp schedule for loops parallelized by parloops."
 msgstr ""
 
-#: params.opt:840
+#: params.opt:825
 #, no-c-format
 msgid ""
 "Minimum number of iterations per thread of an innermost parallelized loop."
 msgstr ""
 
-#: params.opt:844
+#: params.opt:829
 #, 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:866
+#: params.opt:851
 #, 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:870
+#: params.opt:855
 #, no-c-format
 msgid "Maximal estimated outcome of branch considered predictable."
 msgstr ""
 
-#: params.opt:874
+#: params.opt:859
 #, no-c-format
 msgid ""
 "Whether software prefetch hints should be issued for non-constant strides."
 msgstr ""
 
-#: params.opt:878
+#: params.opt:863
 #, no-c-format
 msgid "The number of insns executed before prefetch is completed."
 msgstr ""
 
-#: params.opt:882
+#: params.opt:867
 #, no-c-format
 msgid "Min. ratio of insns to mem ops to enable prefetching in a loop."
 msgstr ""
 
-#: params.opt:886
+#: params.opt:871
 #, no-c-format
 msgid ""
 "The minimum constant stride beyond which we should use prefetch hints for."
 msgstr ""
 
-#: params.opt:890
+#: params.opt:875
 #, no-c-format
 msgid "Use internal function id in profile lookup."
 msgstr ""
 
-#: params.opt:894
+#: params.opt:879
 #, no-c-format
 msgid ""
 "--param=ranger-debug=[none|trace|gori|cache|tracegori|all] Specifies the "
 "output mode for debugging ranger."
 msgstr ""
 
-#: params.opt:919
+#: params.opt:904
 #, no-c-format
 msgid ""
 "Maximum depth of logical expression evaluation ranger will look through when "
 "evaluating outgoing edge ranges."
 msgstr ""
 
-#: params.opt:924
+#: params.opt:909
 #, no-c-format
 msgid "Maximum number of relations the oracle will register in a basic block."
 msgstr ""
 
-#: params.opt:928
+#: params.opt:913
 #, no-c-format
 msgid "Maximum depth of a loop nest to fully value-number optimistically."
 msgstr ""
 
-#: params.opt:932
+#: params.opt:917
 #, no-c-format
 msgid "Maximum number of disambiguations to perform per memory access."
 msgstr ""
 
-#: params.opt:936
+#: params.opt:921
 #, no-c-format
 msgid ""
 "Bound on the complexity of the expressions in the scalar evolutions analyzer."
 msgstr ""
 
-#: params.opt:940
+#: params.opt:925
 #, no-c-format
 msgid "Bound on size of expressions used in the scalar evolutions analyzer."
 msgstr ""
 
-#: params.opt:944
+#: params.opt:929
 #, no-c-format
 msgid ""
 "Hardware autoprefetcher scheduler model control flag.  Number of lookahead "
@@ -17454,285 +18133,285 @@ msgid ""
 "heuristic.  Disabled by default."
 msgstr ""
 
-#: params.opt:948
+#: params.opt:933
 #, no-c-format
 msgid "Minimal distance between possibly conflicting store and load."
 msgstr ""
 
-#: params.opt:952
+#: params.opt:937
 #, no-c-format
 msgid "Which -fsched-pressure algorithm to apply."
 msgstr ""
 
-#: params.opt:956
+#: params.opt:941
 #, no-c-format
 msgid ""
 "The minimal probability of speculation success (in percents), so that "
 "speculative insn will be scheduled."
 msgstr ""
 
-#: params.opt:960
+#: params.opt:945
 #, no-c-format
 msgid ""
 "The minimum probability an edge must have for the scheduler to save its "
 "state across it."
 msgstr ""
 
-#: params.opt:964
+#: params.opt:949
 #, no-c-format
 msgid ""
 "Maximum number of instructions in the ready list that are considered "
 "eligible for renaming."
 msgstr ""
 
-#: params.opt:968
+#: params.opt:953
 #, no-c-format
 msgid "The maximum size of the lookahead window of selective scheduling."
 msgstr ""
 
-#: params.opt:972
+#: params.opt:957
 #, no-c-format
 msgid "Maximum number of times that an insn could be scheduled."
 msgstr ""
 
-#: params.opt:976
+#: params.opt:961
 #, no-c-format
 msgid "The number of prefetches that can run at the same time."
 msgstr ""
 
-#: params.opt:980
+#: params.opt:965
 #, no-c-format
 msgid ""
 "Target block's relative execution frequency (as a percentage) required to "
 "sink a statement."
 msgstr ""
 
-#: params.opt:984
+#: params.opt:969
 #, no-c-format
 msgid ""
 "The number of cycles the swing modulo scheduler considers when checking "
 "conflicts using DFA."
 msgstr ""
 
-#: params.opt:988
+#: params.opt:973
 #, no-c-format
 msgid ""
 "A threshold on the average loop count considered by the swing modulo "
 "scheduler."
 msgstr ""
 
-#: params.opt:992
+#: params.opt:977
 #, no-c-format
 msgid ""
 "A factor for tuning the upper bound that swing modulo scheduler uses for "
 "scheduling a loop."
 msgstr ""
 
-#: params.opt:996
+#: params.opt:981
 #, no-c-format
 msgid ""
 "The minimum value of stage count that swing modulo scheduler will generate."
 msgstr ""
 
-#: params.opt:1000
+#: params.opt:985
 #, 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:1004
+#: params.opt:989
 #, 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:1008
+#: params.opt:993
 #, 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:1012
+#: params.opt:997
 #, no-c-format
 msgid ""
 "The maximum number of SSA_NAME assignments to follow in determining a value."
 msgstr ""
 
-#: params.opt:1016
+#: params.opt:1001
 #, no-c-format
 msgid ""
 "The lower bound for a buffer to be considered for stack smashing protection."
 msgstr ""
 
-#: params.opt:1020
+#: params.opt:1005
 #, no-c-format
 msgid "Size of the stack guard expressed as a power of two in bytes."
 msgstr ""
 
-#: params.opt:1024
+#: params.opt:1009
 #, no-c-format
 msgid ""
 "Interval in which to probe the stack expressed as a power of two in bytes."
 msgstr ""
 
-#: params.opt:1028
+#: params.opt:1013
 #, no-c-format
 msgid ""
 "Allow the store merging pass to introduce unaligned stores if it is legal to "
 "do so."
 msgstr ""
 
-#: params.opt:1032
+#: params.opt:1017
 #, no-c-format
 msgid "Maximum size of a single store merging region in bytes."
 msgstr ""
 
-#: params.opt:1036
+#: params.opt:1021
 #, no-c-format
 msgid ""
 "The maximum ratio between array size and switch branches for a switch "
 "conversion to take place."
 msgstr ""
 
-#: params.opt:1040
+#: params.opt:1025
 #, no-c-format
 msgid "Maximum number of bases stored in each modref tree."
 msgstr ""
 
-#: params.opt:1044
+#: params.opt:1029
 #, no-c-format
 msgid "Maximum number of references stored in each modref base."
 msgstr ""
 
-#: params.opt:1048
+#: params.opt:1033
 #, no-c-format
 msgid "Maximum number of accesses stored in each modref reference."
 msgstr ""
 
-#: params.opt:1052
+#: params.opt:1037
 #, no-c-format
 msgid "Maximum number of tests performed by modref query."
 msgstr ""
 
-#: params.opt:1056
+#: params.opt:1041
 #, no-c-format
 msgid "Maximum depth of DFS walk used by modref escape analysis."
 msgstr ""
 
-#: params.opt:1060
+#: params.opt:1045
 #, no-c-format
 msgid "Maximum number of escape points tracked by modref per SSA-name."
 msgstr ""
 
-#: params.opt:1064
+#: params.opt:1049
 #, no-c-format
 msgid "Maximum number of times a given range is adjusted during the dataflow."
 msgstr ""
 
-#: params.opt:1068
+#: params.opt:1053
 #, no-c-format
 msgid ""
 "--param=threader-debug=[none|all] Enables verbose dumping of the threader "
 "solver."
 msgstr ""
 
-#: params.opt:1081
+#: params.opt:1066
 #, 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:1085
+#: params.opt:1070
 #, 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:1089
+#: params.opt:1074
 #, 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:1093
+#: params.opt:1078
 #, no-c-format
 msgid "Maximal code growth caused by tail duplication (in percent)."
 msgstr ""
 
-#: params.opt:1097
+#: params.opt:1082
 #, 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:1101
+#: params.opt:1086
 #, 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:1105
+#: params.opt:1090
 #, no-c-format
 msgid ""
 "Stop reverse growth if the reverse probability of best edge is less than "
 "this threshold (in percent)."
 msgstr ""
 
-#: params.opt:1109
+#: params.opt:1094
 #, 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:1113
+#: params.opt:1098
 #, no-c-format
 msgid "Emit special instrumentation for accesses to volatiles."
 msgstr ""
 
-#: params.opt:1117
+#: params.opt:1102
 #, no-c-format
 msgid ""
 "Emit instrumentation calls to __tsan_func_entry() and __tsan_func_exit()."
 msgstr ""
 
-#: params.opt:1121
+#: params.opt:1106
 #, no-c-format
 msgid ""
 "Maximum number of nested calls to search for control dependencies during "
 "uninitialized variable analysis."
 msgstr ""
 
-#: params.opt:1125
+#: params.opt:1110
 #, no-c-format
 msgid ""
 "Instruction accounted for function prologue, epilogue and other overhead."
 msgstr ""
 
-#: params.opt:1129
+#: params.opt:1114
 #, no-c-format
 msgid "Time accounted for function prologue, epilogue and other overhead."
 msgstr ""
 
-#: params.opt:1133
+#: params.opt:1118
 #, no-c-format
 msgid "Instruction accounted for function thunk overhead."
 msgstr ""
 
-#: params.opt:1137
+#: params.opt:1122
 #, no-c-format
 msgid "Time accounted for function thunk overhead."
 msgstr ""
 
-#: params.opt:1141
+#: params.opt:1126
 #, no-c-format
 msgid ""
 "The denominator n of fraction 1/n of the number of profiled runs of the "
@@ -17740,57 +18419,64 @@ msgid ""
 "order for the basic block to be considered unlikely."
 msgstr ""
 
-#: params.opt:1145
+#: params.opt:1130
 #, no-c-format
 msgid "Maximum unroll factor for the unroll-and-jam transformation."
 msgstr ""
 
-#: params.opt:1149
+#: params.opt:1134
 #, no-c-format
 msgid ""
 "Minimum percentage of memrefs that must go away for unroll-and-jam to be "
 "considered profitable."
 msgstr ""
 
-#: params.opt:1153
+#: params.opt:1138
 #, no-c-format
 msgid ""
 "Use direct poisoning/unpoisoning instructions for variables smaller or equal "
 "to this number."
 msgstr ""
 
-#: params.opt:1157
+#: params.opt:1142
 #, no-c-format
 msgid "Whether to use canonical types."
 msgstr ""
 
-#: params.opt:1161
+#: params.opt:1146
 #, no-c-format
 msgid "Enable loop epilogue vectorization using smaller vector size."
 msgstr ""
 
-#: params.opt:1165
+#: params.opt:1150
+#, no-c-format
+msgid ""
+"Maximum number of possible vector layouts (such as permutations) to consider "
+"when optimizing to-be-vectorized code."
+msgstr ""
+
+#: params.opt:1154
 #, no-c-format
 msgid ""
 "Maximum number of loop peels to enhance alignment of data references in a "
 "loop."
 msgstr ""
 
-#: params.opt:1169
+#: params.opt:1158
 #, no-c-format
 msgid ""
 "Bound on number of runtime checks inserted by the vectorizer's loop "
 "versioning for alias check."
 msgstr ""
 
-#: params.opt:1173
+#: params.opt:1162
 #, no-c-format
 msgid ""
 "Bound on number of runtime checks inserted by the vectorizer's loop "
 "versioning for alignment check."
 msgstr ""
 
-#: params.opt:1177
+#: params.opt:1166
 #, no-c-format
 msgid ""
 "Controls how loop vectorizer uses partial vectors.  0 means never, 1 means "
@@ -17798,30 +18484,18 @@ msgid ""
 "The default value is 2."
 msgstr ""
 
-#: params.opt:1181
+#: params.opt:1170
 #, 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:1185
+#: params.opt:1174
 #, no-c-format
 msgid "Enable loop vectorization of floating point inductions."
 msgstr ""
 
-#: params.opt:1189
-#, no-c-format
-msgid ""
-"--param=vrp1-mode=[vrp|ranger] Specifies the mode VRP1 should operate in."
-msgstr ""
-
-#: params.opt:1193
-#, no-c-format
-msgid ""
-"--param=vrp2-mode=[vrp|ranger] Specifies the mode VRP2 should operate in."
-msgstr ""
-
 #: cfgrtl.cc:2797
 msgid "flow control insn inside a basic block"
 msgstr ""
@@ -17884,146 +18558,146 @@ msgid ""
 "ldd output with constructors/destructors.\n"
 msgstr ""
 
-#: cprop.cc:1750
+#: cprop.cc:1753
 msgid "const/copy propagation disabled"
 msgstr ""
 
-#: diagnostic.cc:159
+#: diagnostic-format-json.cc:317 diagnostic-format-sarif.cc:1530
 #, c-format
-msgid "%s: all warnings being treated as errors"
+msgid "error: unable to open '%s' for writing: %s\n"
 msgstr ""
 
-#: diagnostic.cc:164
+#: diagnostic.cc:160
 #, c-format
-msgid "%s: some warnings being treated as errors"
+msgid "%s: all warnings being treated as errors"
 msgstr ""
 
-#: diagnostic.cc:464 input.cc:278 input.cc:2036 c-family/c-opts.cc:1480
-#: fortran/cpp.cc:608 fortran/error.cc:1150 fortran/error.cc:1170
-msgid "<built-in>"
+#: diagnostic.cc:165
+#, c-format
+msgid "%s: some warnings being treated as errors"
 msgstr ""
 
-#: diagnostic.cc:622
+#: diagnostic.cc:631
 #, c-format
 msgid "compilation terminated due to -fmax-errors=%u.\n"
 msgstr ""
 
-#: diagnostic.cc:650
+#: diagnostic.cc:659
 #, c-format
 msgid "compilation terminated due to -Wfatal-errors.\n"
 msgstr ""
 
-#: diagnostic.cc:671
+#: diagnostic.cc:680
 #, c-format
 msgid "Please submit a full bug report, with preprocessed source.\n"
 msgstr ""
 
-#: diagnostic.cc:674
+#: diagnostic.cc:683
 #, c-format
 msgid ""
 "Please submit a full bug report, with preprocessed source (by using -freport-"
 "bug).\n"
 msgstr ""
 
-#: diagnostic.cc:678
+#: diagnostic.cc:687
 #, c-format
 msgid "Please include the complete backtrace with any bug report.\n"
 msgstr ""
 
-#: diagnostic.cc:680
+#: diagnostic.cc:689
 #, c-format
 msgid "See %s for instructions.\n"
 msgstr ""
 
-#: diagnostic.cc:689
+#: diagnostic.cc:698
 #, c-format
 msgid "compilation terminated.\n"
 msgstr ""
 
-#: diagnostic.cc:783
+#: diagnostic.cc:792
 msgid "                 from"
 msgstr ""
 
-#: diagnostic.cc:784
+#: diagnostic.cc:793
 msgid "In file included from"
 msgstr ""
 
 #. 2
-#: diagnostic.cc:785
+#: diagnostic.cc:794
 msgid "        included from"
 msgstr ""
 
-#: diagnostic.cc:786
+#: diagnostic.cc:795
 msgid "In module"
 msgstr ""
 
 #. 4
-#: diagnostic.cc:787
+#: diagnostic.cc:796
 msgid "of module"
 msgstr ""
 
-#: diagnostic.cc:788
+#: diagnostic.cc:797
 msgid "In module imported at"
 msgstr ""
 
 #. 6
-#: diagnostic.cc:789
+#: diagnostic.cc:798
 msgid "imported at"
 msgstr ""
 
-#: diagnostic.cc:1362
+#: diagnostic.cc:1557
 #, c-format
 msgid "%s:%d: confused by earlier errors, bailing out\n"
 msgstr ""
 
-#: diagnostic.cc:1997
+#: diagnostic.cc:2192
 #, c-format
 msgid "internal compiler error: error reporting routines re-entered.\n"
 msgstr ""
 
-#: diagnostic.cc:2028 diagnostic.cc:2047
+#: diagnostic.cc:2223 diagnostic.cc:2242
 #, gcc-internal-format, gfc-internal-format
 msgid "in %s, at %s:%d"
 msgstr ""
 
-#: final.cc:1113
+#: final.cc:1096
 msgid "negative insn length"
 msgstr ""
 
-#: final.cc:2861
+#: final.cc:2808
 msgid "could not split insn"
 msgstr ""
 
-#: final.cc:3228
+#: final.cc:3183
 msgid "invalid 'asm': "
 msgstr ""
 
-#: final.cc:3361
+#: final.cc:3316
 #, c-format
 msgid "nested assembly dialect alternatives"
 msgstr ""
 
-#: final.cc:3389 final.cc:3401
+#: final.cc:3344 final.cc:3356
 #, c-format
 msgid "unterminated assembly dialect alternative"
 msgstr ""
 
-#: final.cc:3543
+#: final.cc:3498
 #, c-format
 msgid "operand number missing after %%-letter"
 msgstr ""
 
-#: final.cc:3546 final.cc:3587
+#: final.cc:3501 final.cc:3542
 #, c-format
 msgid "operand number out of range"
 msgstr ""
 
-#: final.cc:3604
+#: final.cc:3559
 #, c-format
 msgid "invalid %%-code"
 msgstr ""
 
-#: final.cc:3638
+#: final.cc:3593
 #, c-format
 msgid "'%%l' operand isn't a label"
 msgstr ""
@@ -18032,298 +18706,298 @@ msgstr ""
 #. PRINT_OPERAND must handle them.
 #. We can't handle floating point constants;
 #. TARGET_PRINT_OPERAND must handle them.
-#: final.cc:3774 config/arc/arc.cc:6409 config/i386/i386.cc:12277
+#: final.cc:3729 config/arc/arc.cc:6430 config/i386/i386.cc:12312
 #, c-format
 msgid "floating constant misused"
 msgstr ""
 
-#: final.cc:3832 config/arc/arc.cc:6506 config/i386/i386.cc:12368
-#: config/pdp11/pdp11.cc:1872
+#: final.cc:3787 config/arc/arc.cc:6527 config/i386/i386.cc:12403
+#: config/pdp11/pdp11.cc:1871
 #, c-format
 msgid "invalid expression as operand"
 msgstr ""
 
-#: gcc.cc:119
+#: gcc.cc:122
 #, c-format
 msgid "%s\n"
 msgstr ""
 
-#: gcc.cc:1848
+#: gcc.cc:1840
 #, c-format
 msgid "Using built-in specs.\n"
 msgstr ""
 
-#: gcc.cc:2093
+#: gcc.cc:2085
 #, c-format
 msgid ""
 "Setting spec %s to '%s'\n"
 "\n"
 msgstr ""
 
-#: gcc.cc:2298
+#: gcc.cc:2290
 #, c-format
 msgid "Reading specs from %s\n"
 msgstr ""
 
-#: gcc.cc:2430
+#: gcc.cc:2422
 #, c-format
 msgid "could not find specs file %s\n"
 msgstr ""
 
-#: gcc.cc:2505
+#: gcc.cc:2497
 #, c-format
 msgid "rename spec %s to %s\n"
 msgstr ""
 
-#: gcc.cc:2507
+#: gcc.cc:2499
 #, c-format
 msgid ""
 "spec is '%s'\n"
 "\n"
 msgstr ""
 
-#: gcc.cc:3368
+#: gcc.cc:3360
 #, c-format
 msgid ""
 "\n"
 "Go ahead? (y or n) "
 msgstr ""
 
-#: gcc.cc:3540
+#: gcc.cc:3532
 #, c-format
 msgid "# %s %.2f %.2f\n"
 msgstr ""
 
-#: gcc.cc:3756
+#: gcc.cc:3712
 #, c-format
 msgid "Usage: %s [options] file...\n"
 msgstr ""
 
-#: gcc.cc:3757
+#: gcc.cc:3713
 msgid "Options:\n"
 msgstr ""
 
-#: gcc.cc:3759
+#: gcc.cc:3715
 msgid "  -pass-exit-codes         Exit with highest error code from a phase.\n"
 msgstr ""
 
-#: gcc.cc:3760
+#: gcc.cc:3716
 msgid "  --help                   Display this information.\n"
 msgstr ""
 
-#: gcc.cc:3761
+#: gcc.cc:3717
 msgid ""
 "  --target-help            Display target specific command line options "
 "(including assembler and linker options).\n"
 msgstr ""
 
-#: gcc.cc:3763
+#: gcc.cc:3719
 msgid ""
 "  --help={common|optimizers|params|target|warnings|[^]{joined|separate|"
 "undocumented}}[,...].\n"
 msgstr ""
 
-#: gcc.cc:3764
+#: gcc.cc:3720
 msgid ""
 "                           Display specific types of command line options.\n"
 msgstr ""
 
-#: gcc.cc:3766
+#: gcc.cc:3722
 msgid "  (Use '-v --help' to display command line options of sub-processes).\n"
 msgstr ""
 
-#: gcc.cc:3767
+#: gcc.cc:3723
 msgid "  --version                Display compiler version information.\n"
 msgstr ""
 
-#: gcc.cc:3768
+#: gcc.cc:3724
 msgid "  -dumpspecs               Display all of the built in spec strings.\n"
 msgstr ""
 
-#: gcc.cc:3769
+#: gcc.cc:3725
 msgid "  -dumpversion             Display the version of the compiler.\n"
 msgstr ""
 
-#: gcc.cc:3770
+#: gcc.cc:3726
 msgid "  -dumpmachine             Display the compiler's target processor.\n"
 msgstr ""
 
-#: gcc.cc:3771
+#: gcc.cc:3727
 msgid "  -foffload=<targets>      Specify offloading targets.\n"
 msgstr ""
 
-#: gcc.cc:3772
+#: gcc.cc:3728
 msgid ""
 "  -print-search-dirs       Display the directories in the compiler's search "
 "path.\n"
 msgstr ""
 
-#: gcc.cc:3773
+#: gcc.cc:3729
 msgid ""
 "  -print-libgcc-file-name  Display the name of the compiler's companion "
 "library.\n"
 msgstr ""
 
-#: gcc.cc:3774
+#: gcc.cc:3730
 msgid "  -print-file-name=<lib>   Display the full path to library <lib>.\n"
 msgstr ""
 
-#: gcc.cc:3775
+#: gcc.cc:3731
 msgid ""
 "  -print-prog-name=<prog>  Display the full path to compiler component "
 "<prog>.\n"
 msgstr ""
 
-#: gcc.cc:3776
+#: gcc.cc:3732
 msgid ""
 "  -print-multiarch         Display the target's normalized GNU triplet, used "
 "as\n"
 "                           a component in the library path.\n"
 msgstr ""
 
-#: gcc.cc:3779
+#: gcc.cc:3735
 msgid ""
 "  -print-multi-directory   Display the root directory for versions of "
 "libgcc.\n"
 msgstr ""
 
-#: gcc.cc:3780
+#: gcc.cc:3736
 msgid ""
 "  -print-multi-lib         Display the mapping between command line options "
 "and\n"
 "                           multiple library search directories.\n"
 msgstr ""
 
-#: gcc.cc:3783
+#: gcc.cc:3739
 msgid ""
 "  -print-multi-os-directory Display the relative path to OS libraries.\n"
 msgstr ""
 
-#: gcc.cc:3784
+#: gcc.cc:3740
 msgid "  -print-sysroot           Display the target libraries directory.\n"
 msgstr ""
 
-#: gcc.cc:3785
+#: gcc.cc:3741
 msgid ""
 "  -print-sysroot-headers-suffix Display the sysroot suffix used to find "
 "headers.\n"
 msgstr ""
 
-#: gcc.cc:3786
+#: gcc.cc:3742
 msgid ""
 "  -Wa,<options>            Pass comma-separated <options> on to the "
 "assembler.\n"
 msgstr ""
 
-#: gcc.cc:3787
+#: gcc.cc:3743
 msgid ""
 "  -Wp,<options>            Pass comma-separated <options> on to the "
 "preprocessor.\n"
 msgstr ""
 
-#: gcc.cc:3788
+#: gcc.cc:3744
 msgid ""
 "  -Wl,<options>            Pass comma-separated <options> on to the linker.\n"
 msgstr ""
 
-#: gcc.cc:3789
+#: gcc.cc:3745
 msgid "  -Xassembler <arg>        Pass <arg> on to the assembler.\n"
 msgstr ""
 
-#: gcc.cc:3790
+#: gcc.cc:3746
 msgid "  -Xpreprocessor <arg>     Pass <arg> on to the preprocessor.\n"
 msgstr ""
 
-#: gcc.cc:3791
+#: gcc.cc:3747
 msgid "  -Xlinker <arg>           Pass <arg> on to the linker.\n"
 msgstr ""
 
-#: gcc.cc:3792
+#: gcc.cc:3748
 msgid "  -save-temps              Do not delete intermediate files.\n"
 msgstr ""
 
-#: gcc.cc:3793
+#: gcc.cc:3749
 msgid "  -save-temps=<arg>        Do not delete intermediate files.\n"
 msgstr ""
 
-#: gcc.cc:3794
+#: gcc.cc:3750
 msgid ""
 "  -no-canonical-prefixes   Do not canonicalize paths when building relative\n"
 "                           prefixes to other gcc components.\n"
 msgstr ""
 
-#: gcc.cc:3797
+#: gcc.cc:3753
 msgid "  -pipe                    Use pipes rather than intermediate files.\n"
 msgstr ""
 
-#: gcc.cc:3798
+#: gcc.cc:3754
 msgid "  -time                    Time the execution of each subprocess.\n"
 msgstr ""
 
-#: gcc.cc:3799
+#: gcc.cc:3755
 msgid ""
 "  -specs=<file>            Override built-in specs with the contents of "
 "<file>.\n"
 msgstr ""
 
-#: gcc.cc:3800
+#: gcc.cc:3756
 msgid ""
 "  -std=<standard>          Assume that the input sources are for "
 "<standard>.\n"
 msgstr ""
 
-#: gcc.cc:3801
+#: gcc.cc:3757
 msgid ""
 "  --sysroot=<directory>    Use <directory> as the root directory for "
 "headers\n"
 "                           and libraries.\n"
 msgstr ""
 
-#: gcc.cc:3804
+#: gcc.cc:3760
 msgid ""
 "  -B <directory>           Add <directory> to the compiler's search paths.\n"
 msgstr ""
 
-#: gcc.cc:3805
+#: gcc.cc:3761
 msgid ""
 "  -v                       Display the programs invoked by the compiler.\n"
 msgstr ""
 
-#: gcc.cc:3806
+#: gcc.cc:3762
 msgid ""
 "  -###                     Like -v but options quoted and commands not "
 "executed.\n"
 msgstr ""
 
-#: gcc.cc:3807
+#: gcc.cc:3763
 msgid ""
 "  -E                       Preprocess only; do not compile, assemble or "
 "link.\n"
 msgstr ""
 
-#: gcc.cc:3808
+#: gcc.cc:3764
 msgid "  -S                       Compile only; do not assemble or link.\n"
 msgstr ""
 
-#: gcc.cc:3809
+#: gcc.cc:3765
 msgid "  -c                       Compile and assemble, but do not link.\n"
 msgstr ""
 
-#: gcc.cc:3810
+#: gcc.cc:3766
 msgid "  -o <file>                Place the output into <file>.\n"
 msgstr ""
 
-#: gcc.cc:3811
+#: gcc.cc:3767
 msgid ""
 "  -pie                     Create a dynamically linked position independent\n"
 "                           executable.\n"
 msgstr ""
 
-#: gcc.cc:3813
+#: gcc.cc:3769
 msgid "  -shared                  Create a shared library.\n"
 msgstr ""
 
-#: gcc.cc:3814
+#: gcc.cc:3770
 msgid ""
 "  -x <language>            Specify the language of the following input "
 "files.\n"
@@ -18334,7 +19008,7 @@ msgid ""
 "extension.\n"
 msgstr ""
 
-#: gcc.cc:3821
+#: gcc.cc:3777
 #, c-format
 msgid ""
 "\n"
@@ -18343,96 +19017,96 @@ msgid ""
 " other options on to these processes the -W<letter> options must be used.\n"
 msgstr ""
 
-#: gcc.cc:6790
+#: gcc.cc:6762
 #, c-format
 msgid "Processing spec (%s), which is '%s'\n"
 msgstr ""
 
-#: gcc.cc:7551
+#: gcc.cc:7523
 #, c-format
 msgid "Target: %s\n"
 msgstr ""
 
-#: gcc.cc:7552
+#: gcc.cc:7524
 #, c-format
 msgid "Configured with: %s\n"
 msgstr ""
 
-#: gcc.cc:7566
+#: gcc.cc:7538
 #, c-format
 msgid "Thread model: %s\n"
 msgstr ""
 
-#: gcc.cc:7567
+#: gcc.cc:7539
 #, c-format
 msgid "Supported LTO compression algorithms: zlib"
 msgstr ""
 
-#: gcc.cc:7569
+#: gcc.cc:7541
 #, c-format
 msgid " zstd"
 msgstr ""
 
-#: gcc.cc:7571 gcov.cc:1510 gcov.cc:1568 gcov.cc:1580 gcov.cc:2894
+#: gcc.cc:7543 gcov.cc:1510 gcov.cc:1568 gcov.cc:1580 gcov.cc:2903
 #, c-format
 msgid "\n"
 msgstr ""
 
-#: gcc.cc:7582
+#: gcc.cc:7554
 #, c-format
 msgid "gcc version %s %s\n"
 msgstr ""
 
-#: gcc.cc:7585
+#: gcc.cc:7557
 #, c-format
 msgid "gcc driver version %s %sexecuting gcc version %s\n"
 msgstr ""
 
-#: gcc.cc:7658 gcc.cc:7868
+#: gcc.cc:7630 gcc.cc:7840
 #, c-format
 msgid ""
 "The bug is not reproducible, so it is likely a hardware or OS problem.\n"
 msgstr ""
 
-#: gcc.cc:7792
+#: gcc.cc:7764
 #, c-format
 msgid ""
 "Preprocessed source stored into %s file, please attach this to your "
 "bugreport.\n"
 msgstr ""
 
-#: gcc.cc:8643
+#: gcc.cc:8615
 #, c-format
 msgid "install: %s%s\n"
 msgstr ""
 
-#: gcc.cc:8646
+#: gcc.cc:8618
 #, c-format
 msgid "programs: %s\n"
 msgstr ""
 
-#: gcc.cc:8648
+#: gcc.cc:8620
 #, c-format
 msgid "libraries: %s\n"
 msgstr ""
 
-#: gcc.cc:8765
+#: gcc.cc:8737
 #, c-format
 msgid ""
 "\n"
 "For bug reporting instructions, please see:\n"
 msgstr ""
 
-#: gcc.cc:8781 gcov-tool.cc:594
+#: gcc.cc:8753 gcov-tool.cc:594
 #, c-format
 msgid "%s %s%s\n"
 msgstr ""
 
-#: gcc.cc:8784 gcov-tool.cc:596 gcov.cc:968 fortran/gfortranspec.cc:282
+#: gcc.cc:8756 gcov-tool.cc:596 gcov.cc:968 fortran/gfortranspec.cc:282
 msgid "(C)"
 msgstr ""
 
-#: gcc.cc:8785 gcov-tool.cc:598 gcov.cc:970 fortran/gfortranspec.cc:283
+#: gcc.cc:8757 gcov-tool.cc:598 gcov.cc:970 fortran/gfortranspec.cc:283
 #, c-format
 msgid ""
 "This is free software; see the source for copying conditions.  There is NO\n"
@@ -18440,7 +19114,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: gcc.cc:9128
+#: gcc.cc:9100
 #, c-format
 msgid ""
 "\n"
@@ -18449,14 +19123,14 @@ msgid ""
 "\n"
 msgstr ""
 
-#: gcc.cc:9129
+#: gcc.cc:9101
 #, c-format
 msgid ""
 "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
 "\n"
 msgstr ""
 
-#: gcc.cc:10544
+#: gcc.cc:10502
 #, c-format
 msgid ""
 "Assembler options\n"
@@ -18464,7 +19138,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: gcc.cc:10545
+#: gcc.cc:10503
 #, c-format
 msgid ""
 "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
@@ -18624,7 +19298,7 @@ msgstr ""
 
 #: gcov-tool.cc:595
 #, c-format
-msgid "Copyright %s 2022 Free Software Foundation, Inc.\n"
+msgid "Copyright %s 2023 Free Software Foundation, Inc.\n"
 msgstr ""
 
 #: gcov.cc:925
@@ -18956,47 +19630,47 @@ msgstr ""
 msgid "No calls\n"
 msgstr ""
 
-#: gcov.cc:2748
+#: gcov.cc:2755
 #, c-format
 msgid "%s:no lines for '%s'\n"
 msgstr ""
 
-#: gcov.cc:2874
+#: gcov.cc:2881
 #, c-format
 msgid "call   %2d returned %s\n"
 msgstr ""
 
-#: gcov.cc:2879
+#: gcov.cc:2886
 #, c-format
 msgid "call   %2d never executed\n"
 msgstr ""
 
-#: gcov.cc:2884
+#: gcov.cc:2891
 #, c-format
 msgid "branch %2d taken %s%s"
 msgstr ""
 
-#: gcov.cc:2889
+#: gcov.cc:2896
 #, c-format
-msgid "branch %2d never executed"
+msgid "branch %2d never executed%s"
 msgstr ""
 
-#: gcov.cc:2892
+#: gcov.cc:2901
 #, c-format
 msgid " (BB %d)"
 msgstr ""
 
-#: gcov.cc:2899
+#: gcov.cc:2908
 #, c-format
 msgid "unconditional %2d taken %s\n"
 msgstr ""
 
-#: gcov.cc:2902
+#: gcov.cc:2911
 #, c-format
 msgid "unconditional %2d never executed\n"
 msgstr ""
 
-#: gcov.cc:3154
+#: gcov.cc:3163
 #, c-format
 msgid "Cannot open source file %s\n"
 msgstr ""
@@ -19039,6 +19713,10 @@ msgstr ""
 msgid "End of search list.\n"
 msgstr ""
 
+#: input.cc:35
+msgid "<built-in>"
+msgstr ""
+
 #. Opening quotation mark.
 #: intl.cc:62
 msgid "`"
@@ -19089,143 +19767,143 @@ msgid "unable to generate reloads for:"
 msgstr ""
 
 #. What to print when a switch has no documentation.
-#: opts.cc:316
+#: opts.cc:321
 msgid "This option lacks documentation."
 msgstr ""
 
-#: opts.cc:317
+#: opts.cc:322
 msgid "Uses of this option are diagnosed."
 msgstr ""
 
-#: opts.cc:1586
+#: opts.cc:1647
 #, c-format
 msgid "Same as %s%s (or, in negated form, %s%s)."
 msgstr ""
 
-#: opts.cc:1591
+#: opts.cc:1652
 #, c-format
 msgid "Same as %s%s."
 msgstr ""
 
-#: opts.cc:1596
+#: opts.cc:1657
 #, c-format
 msgid "Same as %s."
 msgstr ""
 
-#: opts.cc:1604
+#: opts.cc:1665
 #, c-format
 msgid "%s  Same as %s."
 msgstr ""
 
-#: opts.cc:1667
+#: opts.cc:1728
 msgid "[available in "
 msgstr ""
 
-#: opts.cc:1699
+#: opts.cc:1760
 msgid "[default]"
 msgstr ""
 
-#: opts.cc:1708
+#: opts.cc:1769
 #, c-format
 msgid "%llu bytes"
 msgstr ""
 
-#: opts.cc:1745
+#: opts.cc:1806
 msgid "[enabled]"
 msgstr ""
 
-#: opts.cc:1747
+#: opts.cc:1808
 msgid "[disabled]"
 msgstr ""
 
-#: opts.cc:1783
+#: opts.cc:1844
 #, c-format
 msgid " No options with the desired characteristics were found\n"
 msgstr ""
 
-#: opts.cc:1792
+#: opts.cc:1853
 #, c-format
 msgid ""
 " None found.  Use --help=%s to show *all* the options supported by the %s "
 "front-end.\n"
 msgstr ""
 
-#: opts.cc:1798
+#: opts.cc:1859
 #, c-format
 msgid ""
 " All options with the desired characteristics have already been displayed\n"
 msgstr ""
 
-#: opts.cc:1843
+#: opts.cc:1904
 #, c-format
 msgid ""
 "  Known valid arguments for %s option:\n"
 "   "
 msgstr ""
 
-#: opts.cc:1893
+#: opts.cc:1954
 msgid "The following options are target specific"
 msgstr ""
 
-#: opts.cc:1896
+#: opts.cc:1957
 msgid "The following options control compiler warning messages"
 msgstr ""
 
-#: opts.cc:1899
+#: opts.cc:1960
 msgid "The following options control optimizations"
 msgstr ""
 
-#: opts.cc:1902 opts.cc:1942
+#: opts.cc:1963 opts.cc:2003
 msgid "The following options are language-independent"
 msgstr ""
 
-#: opts.cc:1905
+#: opts.cc:1966
 msgid "The following options control parameters"
 msgstr ""
 
-#: opts.cc:1911
+#: opts.cc:1972
 msgid "The following options are specific to just the language "
 msgstr ""
 
-#: opts.cc:1913
+#: opts.cc:1974
 msgid "The following options are supported by the language "
 msgstr ""
 
-#: opts.cc:1924
+#: opts.cc:1985
 msgid "The following options are not documented"
 msgstr ""
 
-#: opts.cc:1926
+#: opts.cc:1987
 msgid "The following options take separate arguments"
 msgstr ""
 
-#: opts.cc:1928
+#: opts.cc:1989
 msgid "The following options take joined arguments"
 msgstr ""
 
-#: opts.cc:1940
+#: opts.cc:2001
 msgid "The following options are language-related"
 msgstr ""
 
-#: passes.cc:1833
+#: passes.cc:1839
 #, c-format
 msgid "during %s pass: %s\n"
 msgstr ""
 
-#: passes.cc:1838
+#: passes.cc:1844
 #, c-format
 msgid "dump file: %s\n"
 msgstr ""
 
-#: plugin.cc:926
+#: plugin.cc:965
 msgid "Event"
 msgstr ""
 
-#: plugin.cc:926
+#: plugin.cc:965
 msgid "Plugins"
 msgstr ""
 
-#: plugin.cc:958
+#: plugin.cc:997
 #, c-format
 msgid ""
 "*** WARNING *** there are active plugins, do not report this as a bug unless "
@@ -19258,327 +19936,327 @@ msgstr ""
 msgid "insn does not satisfy its constraints:"
 msgstr ""
 
-#: targhooks.cc:2236
+#: targhooks.cc:2268
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr ""
 
-#: targhooks.cc:2251
+#: targhooks.cc:2283
 msgid "created and used with different settings of %<-fpic%>"
 msgstr ""
 
-#: targhooks.cc:2253
+#: targhooks.cc:2285
 msgid "created and used with different settings of %<-fpie%>"
 msgstr ""
 
-#: toplev.cc:318
+#: toplev.cc:310
 #, c-format
 msgid "unrecoverable error"
 msgstr ""
 
-#: toplev.cc:611
+#: toplev.cc:603
 #, c-format
 msgid ""
 "%s%s%s %sversion %s (%s)\n"
 "%s\tcompiled by GNU C version %s, "
 msgstr ""
 
-#: toplev.cc:613
+#: toplev.cc:605
 #, c-format
 msgid "%s%s%s %sversion %s (%s) compiled by CC, "
 msgstr ""
 
-#: toplev.cc:617
+#: toplev.cc:609
 #, c-format
 msgid "GMP version %s, MPFR version %s, MPC version %s, isl version %s\n"
 msgstr ""
 
-#: toplev.cc:619
+#: toplev.cc:611
 #, c-format
 msgid "%s%swarning: %s header version %s differs from library version %s.\n"
 msgstr ""
 
-#: toplev.cc:621
+#: toplev.cc:613
 #, c-format
 msgid ""
 "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
 msgstr ""
 
-#: tree-diagnostic-path.cc:257 tree-diagnostic.cc:290 c/c-decl.cc:6073
-#: c/c-typeck.cc:7894 cp/error.cc:1165 c-family/c-pretty-print.cc:425
+#: tree-diagnostic-path.cc:255 tree-diagnostic.cc:294 c/c-decl.cc:6346
+#: c/c-typeck.cc:8068 cp/error.cc:1181 c-family/c-pretty-print.cc:426
 #, gcc-internal-format
 msgid "<anonymous>"
 msgstr ""
 
-#: c-family/c-format.cc:437
+#: c-family/c-format.cc:432
 msgid "format"
 msgstr ""
 
-#: c-family/c-format.cc:438
+#: c-family/c-format.cc:433
 msgid "field width specifier"
 msgstr ""
 
-#: c-family/c-format.cc:439
+#: c-family/c-format.cc:434
 msgid "field precision specifier"
 msgstr ""
 
-#: c-family/c-format.cc:558 c-family/c-format.cc:582
+#: c-family/c-format.cc:569 c-family/c-format.cc:593
 #: config/i386/msformat-c.cc:45
 msgid "' ' flag"
 msgstr ""
 
-#: c-family/c-format.cc:558 c-family/c-format.cc:582
+#: c-family/c-format.cc:569 c-family/c-format.cc:593
 #: config/i386/msformat-c.cc:45
 msgid "the ' ' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:559 c-family/c-format.cc:583 c-family/c-format.cc:614
-#: c-family/c-format.cc:680 config/i386/msformat-c.cc:46
+#: c-family/c-format.cc:570 c-family/c-format.cc:594 c-family/c-format.cc:625
+#: c-family/c-format.cc:691 config/i386/msformat-c.cc:46
 msgid "'+' flag"
 msgstr ""
 
-#: c-family/c-format.cc:559 c-family/c-format.cc:583 c-family/c-format.cc:614
+#: c-family/c-format.cc:570 c-family/c-format.cc:594 c-family/c-format.cc:625
 #: config/i386/msformat-c.cc:46
 msgid "the '+' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:560 c-family/c-format.cc:584 c-family/c-format.cc:615
-#: c-family/c-format.cc:655 config/i386/msformat-c.cc:47
+#: c-family/c-format.cc:571 c-family/c-format.cc:595 c-family/c-format.cc:626
+#: c-family/c-format.cc:666 config/i386/msformat-c.cc:47
 #: config/i386/msformat-c.cc:82
 msgid "'#' flag"
 msgstr ""
 
-#: c-family/c-format.cc:560 c-family/c-format.cc:584 c-family/c-format.cc:615
+#: c-family/c-format.cc:571 c-family/c-format.cc:595 c-family/c-format.cc:626
 #: config/i386/msformat-c.cc:47
 msgid "the '#' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:561 c-family/c-format.cc:585 c-family/c-format.cc:653
+#: c-family/c-format.cc:572 c-family/c-format.cc:596 c-family/c-format.cc:664
 #: config/i386/msformat-c.cc:48
 msgid "'0' flag"
 msgstr ""
 
-#: c-family/c-format.cc:561 c-family/c-format.cc:585
+#: c-family/c-format.cc:572 c-family/c-format.cc:596
 #: config/i386/msformat-c.cc:48
 msgid "the '0' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:562 c-family/c-format.cc:586 c-family/c-format.cc:652
-#: c-family/c-format.cc:683 config/i386/msformat-c.cc:49
+#: c-family/c-format.cc:573 c-family/c-format.cc:597 c-family/c-format.cc:663
+#: c-family/c-format.cc:694 config/i386/msformat-c.cc:49
 msgid "'-' flag"
 msgstr ""
 
-#: c-family/c-format.cc:562 c-family/c-format.cc:586
+#: c-family/c-format.cc:573 c-family/c-format.cc:597
 #: config/i386/msformat-c.cc:49
 msgid "the '-' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:563 c-family/c-format.cc:635
+#: c-family/c-format.cc:574 c-family/c-format.cc:646
 #: config/i386/msformat-c.cc:50 config/i386/msformat-c.cc:70
 msgid "''' flag"
 msgstr ""
 
-#: c-family/c-format.cc:563 config/i386/msformat-c.cc:50
+#: c-family/c-format.cc:574 config/i386/msformat-c.cc:50
 msgid "the ''' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:564 c-family/c-format.cc:636
+#: c-family/c-format.cc:575 c-family/c-format.cc:647
 msgid "'I' flag"
 msgstr ""
 
-#: c-family/c-format.cc:564
+#: c-family/c-format.cc:575
 msgid "the 'I' printf flag"
 msgstr ""
 
-#: c-family/c-format.cc:565 c-family/c-format.cc:587 c-family/c-format.cc:633
-#: c-family/c-format.cc:656 c-family/c-format.cc:684 config/sol2-c.cc:43
+#: c-family/c-format.cc:576 c-family/c-format.cc:598 c-family/c-format.cc:644
+#: c-family/c-format.cc:667 c-family/c-format.cc:695 config/sol2-c.cc:43
 #: config/i386/msformat-c.cc:51 config/i386/msformat-c.cc:68
 msgid "field width"
 msgstr ""
 
-#: c-family/c-format.cc:565 c-family/c-format.cc:587 config/sol2-c.cc:43
+#: c-family/c-format.cc:576 c-family/c-format.cc:598 config/sol2-c.cc:43
 #: config/i386/msformat-c.cc:51
 msgid "field width in printf format"
 msgstr ""
 
-#: c-family/c-format.cc:566 c-family/c-format.cc:588 c-family/c-format.cc:617
+#: c-family/c-format.cc:577 c-family/c-format.cc:599 c-family/c-format.cc:628
 #: config/i386/msformat-c.cc:52
 msgid "precision"
 msgstr ""
 
-#: c-family/c-format.cc:566 c-family/c-format.cc:588 c-family/c-format.cc:617
+#: c-family/c-format.cc:577 c-family/c-format.cc:599 c-family/c-format.cc:628
 #: config/i386/msformat-c.cc:52
 msgid "precision in printf format"
 msgstr ""
 
-#: c-family/c-format.cc:567 c-family/c-format.cc:589 c-family/c-format.cc:618
-#: c-family/c-format.cc:634 c-family/c-format.cc:687 config/sol2-c.cc:44
+#: c-family/c-format.cc:578 c-family/c-format.cc:600 c-family/c-format.cc:629
+#: c-family/c-format.cc:645 c-family/c-format.cc:698 config/sol2-c.cc:44
 #: config/i386/msformat-c.cc:53 config/i386/msformat-c.cc:69
 msgid "length modifier"
 msgstr ""
 
-#: c-family/c-format.cc:567 c-family/c-format.cc:589 c-family/c-format.cc:618
+#: c-family/c-format.cc:578 c-family/c-format.cc:600 c-family/c-format.cc:629
 #: config/sol2-c.cc:44 config/i386/msformat-c.cc:53
 msgid "length modifier in printf format"
 msgstr ""
 
-#: c-family/c-format.cc:616
+#: c-family/c-format.cc:627
 msgid "'q' flag"
 msgstr ""
 
-#: c-family/c-format.cc:616
+#: c-family/c-format.cc:627
 msgid "the 'q' diagnostic flag"
 msgstr ""
 
-#: c-family/c-format.cc:630 config/i386/msformat-c.cc:66
+#: c-family/c-format.cc:641 config/i386/msformat-c.cc:66
 msgid "assignment suppression"
 msgstr ""
 
-#: c-family/c-format.cc:630 config/i386/msformat-c.cc:66
+#: c-family/c-format.cc:641 config/i386/msformat-c.cc:66
 msgid "the assignment suppression scanf feature"
 msgstr ""
 
-#: c-family/c-format.cc:631 config/i386/msformat-c.cc:67
+#: c-family/c-format.cc:642 config/i386/msformat-c.cc:67
 msgid "'a' flag"
 msgstr ""
 
-#: c-family/c-format.cc:631 config/i386/msformat-c.cc:67
+#: c-family/c-format.cc:642 config/i386/msformat-c.cc:67
 msgid "the 'a' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:632
+#: c-family/c-format.cc:643
 msgid "'m' flag"
 msgstr ""
 
-#: c-family/c-format.cc:632
+#: c-family/c-format.cc:643
 msgid "the 'm' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:633 config/i386/msformat-c.cc:68
+#: c-family/c-format.cc:644 config/i386/msformat-c.cc:68
 msgid "field width in scanf format"
 msgstr ""
 
-#: c-family/c-format.cc:634 config/i386/msformat-c.cc:69
+#: c-family/c-format.cc:645 config/i386/msformat-c.cc:69
 msgid "length modifier in scanf format"
 msgstr ""
 
-#: c-family/c-format.cc:635 config/i386/msformat-c.cc:70
+#: c-family/c-format.cc:646 config/i386/msformat-c.cc:70
 msgid "the ''' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:636
+#: c-family/c-format.cc:647
 msgid "the 'I' scanf flag"
 msgstr ""
 
-#: c-family/c-format.cc:651
+#: c-family/c-format.cc:662
 msgid "'_' flag"
 msgstr ""
 
-#: c-family/c-format.cc:651
+#: c-family/c-format.cc:662
 msgid "the '_' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:652
+#: c-family/c-format.cc:663
 msgid "the '-' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:653
+#: c-family/c-format.cc:664
 msgid "the '0' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:654 c-family/c-format.cc:679
+#: c-family/c-format.cc:665 c-family/c-format.cc:690
 msgid "'^' flag"
 msgstr ""
 
-#: c-family/c-format.cc:654
+#: c-family/c-format.cc:665
 msgid "the '^' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:655 config/i386/msformat-c.cc:82
+#: c-family/c-format.cc:666 config/i386/msformat-c.cc:82
 msgid "the '#' strftime flag"
 msgstr ""
 
-#: c-family/c-format.cc:656
+#: c-family/c-format.cc:667
 msgid "field width in strftime format"
 msgstr ""
 
-#: c-family/c-format.cc:657
+#: c-family/c-format.cc:668
 msgid "'E' modifier"
 msgstr ""
 
-#: c-family/c-format.cc:657
+#: c-family/c-format.cc:668
 msgid "the 'E' strftime modifier"
 msgstr ""
 
-#: c-family/c-format.cc:658
+#: c-family/c-format.cc:669
 msgid "'O' modifier"
 msgstr ""
 
-#: c-family/c-format.cc:658
+#: c-family/c-format.cc:669
 msgid "the 'O' strftime modifier"
 msgstr ""
 
-#: c-family/c-format.cc:659 c-family/c-format.cc:660
+#: c-family/c-format.cc:670 c-family/c-format.cc:671
 msgid "the 'O' modifier"
 msgstr ""
 
-#: c-family/c-format.cc:678
+#: c-family/c-format.cc:689
 msgid "fill character"
 msgstr ""
 
-#: c-family/c-format.cc:678
+#: c-family/c-format.cc:689
 msgid "fill character in strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:679
+#: c-family/c-format.cc:690
 msgid "the '^' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:680
+#: c-family/c-format.cc:691
 msgid "the '+' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:681
+#: c-family/c-format.cc:692
 msgid "'(' flag"
 msgstr ""
 
-#: c-family/c-format.cc:681
+#: c-family/c-format.cc:692
 msgid "the '(' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:682
+#: c-family/c-format.cc:693
 msgid "'!' flag"
 msgstr ""
 
-#: c-family/c-format.cc:682
+#: c-family/c-format.cc:693
 msgid "the '!' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:683
+#: c-family/c-format.cc:694
 msgid "the '-' strfmon flag"
 msgstr ""
 
-#: c-family/c-format.cc:684
+#: c-family/c-format.cc:695
 msgid "field width in strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:685
+#: c-family/c-format.cc:696
 msgid "left precision"
 msgstr ""
 
-#: c-family/c-format.cc:685
+#: c-family/c-format.cc:696
 msgid "left precision in strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:686
+#: c-family/c-format.cc:697
 msgid "right precision"
 msgstr ""
 
-#: c-family/c-format.cc:686
+#: c-family/c-format.cc:697
 msgid "right precision in strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:687
+#: c-family/c-format.cc:698
 msgid "length modifier in strfmon format"
 msgstr ""
 
@@ -19587,83 +20265,85 @@ msgstr ""
 msgid "<command-line>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11676
+#: config/aarch64/aarch64.cc:11858 config/loongarch/loongarch.cc:4992
 #, c-format
 msgid "unsupported operand for code '%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11685 config/aarch64/aarch64.cc:11698
-#: config/aarch64/aarch64.cc:11710 config/aarch64/aarch64.cc:11721
-#: config/aarch64/aarch64.cc:11737 config/aarch64/aarch64.cc:11751
-#: config/aarch64/aarch64.cc:11771 config/aarch64/aarch64.cc:11848
-#: config/aarch64/aarch64.cc:11859 config/aarch64/aarch64.cc:11873
-#: config/aarch64/aarch64.cc:12095 config/aarch64/aarch64.cc:12115
-#: config/pru/pru.cc:1700 config/pru/pru.cc:1710 config/pru/pru.cc:1741
-#: config/pru/pru.cc:1752 config/pru/pru.cc:1824
+#: config/aarch64/aarch64.cc:11867 config/aarch64/aarch64.cc:11880
+#: config/aarch64/aarch64.cc:11892 config/aarch64/aarch64.cc:11903
+#: config/aarch64/aarch64.cc:11919 config/aarch64/aarch64.cc:11933
+#: config/aarch64/aarch64.cc:11953 config/aarch64/aarch64.cc:12030
+#: config/aarch64/aarch64.cc:12041 config/aarch64/aarch64.cc:12055
+#: config/aarch64/aarch64.cc:12277 config/aarch64/aarch64.cc:12297
+#: config/pru/pru.cc:1760 config/pru/pru.cc:1771 config/pru/pru.cc:1843
 #, c-format
 msgid "invalid operand for '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11789 config/aarch64/aarch64.cc:11800
-#: config/aarch64/aarch64.cc:11955 config/aarch64/aarch64.cc:11966
+#: config/aarch64/aarch64.cc:11971 config/aarch64/aarch64.cc:11982
+#: config/aarch64/aarch64.cc:12137 config/aarch64/aarch64.cc:12148
+#: config/riscv/riscv.cc:4236 config/riscv/riscv.cc:4242
+#: config/riscv/riscv.cc:4248 config/riscv/riscv.cc:4252
+#: config/riscv/riscv.cc:4299 config/riscv/riscv.cc:4318
 #, c-format
 msgid "invalid vector constant"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11812 config/aarch64/aarch64.cc:11824
+#: config/aarch64/aarch64.cc:11994 config/aarch64/aarch64.cc:12006
 #, c-format
 msgid "incompatible floating point / vector register operand for '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11841
+#: config/aarch64/aarch64.cc:12023
 #, c-format
 msgid "incompatible register operand for '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11907 config/arm/arm.cc:24478
+#: config/aarch64/aarch64.cc:12089 config/arm/arm.cc:24708
 #, c-format
 msgid "missing operand"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11992
+#: config/aarch64/aarch64.cc:12174
 #, c-format
 msgid "invalid constant"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:11995
+#: config/aarch64/aarch64.cc:12177
 #, c-format
 msgid "invalid operand"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12123 config/aarch64/aarch64.cc:12128
+#: config/aarch64/aarch64.cc:12305 config/aarch64/aarch64.cc:12310
 #, c-format
 msgid "invalid operand prefix '%%%c'"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:12148
+#: config/aarch64/aarch64.cc:12330
 #, c-format
 msgid "invalid address mode"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:26829 config/arm/arm.cc:33900
+#: config/aarch64/aarch64.cc:27088 config/arm/arm.cc:34257
 msgid "invalid conversion from type %<bfloat16_t%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:26831 config/arm/arm.cc:33902
+#: config/aarch64/aarch64.cc:27090 config/arm/arm.cc:34259
 msgid "invalid conversion to type %<bfloat16_t%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:26846 config/aarch64/aarch64.cc:26862
-#: config/arm/arm.cc:33917 config/arm/arm.cc:33933
+#: config/aarch64/aarch64.cc:27105 config/aarch64/aarch64.cc:27121
+#: config/arm/arm.cc:34274 config/arm/arm.cc:34290
 msgid "operation not permitted on type %<bfloat16_t%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:26870
+#: config/aarch64/aarch64.cc:27129
 msgid "cannot combine GNU and SVE vectors in a binary operation"
 msgstr ""
 
-#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13537
-#: config/rs6000/rs6000.cc:14278 config/sparc/sparc.cc:9369
+#: config/alpha/alpha.cc:5076 config/i386/i386.cc:13572
+#: config/rs6000/rs6000.cc:14388 config/sparc/sparc.cc:9370
 #, c-format
 msgid "'%%&' used without any local dynamic TLS references"
 msgstr ""
@@ -19673,24 +20353,24 @@ msgstr ""
 msgid "invalid %%J value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5164 config/ia64/ia64.cc:5577 config/or1k/or1k.cc:1249
+#: config/alpha/alpha.cc:5164 config/ia64/ia64.cc:5578 config/or1k/or1k.cc:1249
 #, c-format
 msgid "invalid %%r value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5531
-#: config/rs6000/rs6000.cc:13972 config/xtensa/xtensa.cc:2460
+#: config/alpha/alpha.cc:5174 config/ia64/ia64.cc:5532
+#: config/rs6000/rs6000.cc:14083 config/xtensa/xtensa.cc:2971
 #, c-format
 msgid "invalid %%R value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:13892
-#: config/xtensa/xtensa.cc:2427
+#: config/alpha/alpha.cc:5180 config/rs6000/rs6000.cc:14003
+#: config/xtensa/xtensa.cc:2944
 #, c-format
 msgid "invalid %%N value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:13920
+#: config/alpha/alpha.cc:5188 config/rs6000/rs6000.cc:14031
 #, c-format
 msgid "invalid %%P value"
 msgstr ""
@@ -19700,7 +20380,7 @@ msgstr ""
 msgid "invalid %%h value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5204 config/xtensa/xtensa.cc:2453
+#: config/alpha/alpha.cc:5204 config/xtensa/xtensa.cc:2964
 #, c-format
 msgid "invalid %%L value"
 msgstr ""
@@ -19720,7 +20400,7 @@ msgstr ""
 msgid "invalid %%U value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:13980
+#: config/alpha/alpha.cc:5274 config/rs6000/rs6000.cc:14091
 #, c-format
 msgid "invalid %%s value"
 msgstr ""
@@ -19730,7 +20410,7 @@ msgstr ""
 msgid "invalid %%C value"
 msgstr ""
 
-#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13756
+#: config/alpha/alpha.cc:5322 config/rs6000/rs6000.cc:13867
 #, c-format
 msgid "invalid %%E value"
 msgstr ""
@@ -19740,10 +20420,10 @@ msgstr ""
 msgid "unknown relocation unspec"
 msgstr ""
 
-#: config/alpha/alpha.cc:5356 config/cr16/cr16.cc:1572 config/gcn/gcn.cc:6051
-#: config/gcn/gcn.cc:6060 config/gcn/gcn.cc:6120 config/gcn/gcn.cc:6128
-#: config/gcn/gcn.cc:6144 config/gcn/gcn.cc:6162 config/gcn/gcn.cc:6213
-#: config/gcn/gcn.cc:6332 config/gcn/gcn.cc:6443 config/rs6000/rs6000.cc:14283
+#: config/alpha/alpha.cc:5356 config/gcn/gcn.cc:6731 config/gcn/gcn.cc:6740
+#: config/gcn/gcn.cc:6800 config/gcn/gcn.cc:6808 config/gcn/gcn.cc:6824
+#: config/gcn/gcn.cc:6842 config/gcn/gcn.cc:6893 config/gcn/gcn.cc:7012
+#: config/gcn/gcn.cc:7123 config/rs6000/rs6000.cc:14393
 #, c-format
 msgid "invalid %%xn code"
 msgstr ""
@@ -19753,122 +20433,122 @@ msgstr ""
 msgid "invalid operand address"
 msgstr ""
 
-#: config/arc/arc.cc:4524
+#: config/arc/arc.cc:4545
 #, c-format
 msgid "invalid operand to %%Z code"
 msgstr ""
 
-#: config/arc/arc.cc:4532
+#: config/arc/arc.cc:4553
 #, c-format
 msgid "invalid operand to %%z code"
 msgstr ""
 
-#: config/arc/arc.cc:4540
+#: config/arc/arc.cc:4561
 #, c-format
 msgid "invalid operands to %%c code"
 msgstr ""
 
-#: config/arc/arc.cc:4548
+#: config/arc/arc.cc:4569
 #, c-format
 msgid "invalid operand to %%M code"
 msgstr ""
 
-#: config/arc/arc.cc:4556 config/m32r/m32r.cc:2086
+#: config/arc/arc.cc:4577 config/m32r/m32r.cc:2090
 #, c-format
 msgid "invalid operand to %%p code"
 msgstr ""
 
-#: config/arc/arc.cc:4567 config/m32r/m32r.cc:2079
+#: config/arc/arc.cc:4588 config/m32r/m32r.cc:2083
 #, c-format
 msgid "invalid operand to %%s code"
 msgstr ""
 
-#: config/arc/arc.cc:4715 config/m32r/m32r.cc:2112
+#: config/arc/arc.cc:4736 config/m32r/m32r.cc:2116
 #, c-format
 msgid "invalid operand to %%R code"
 msgstr ""
 
-#: config/arc/arc.cc:4791 config/m32r/m32r.cc:2135
+#: config/arc/arc.cc:4812 config/m32r/m32r.cc:2139
 #, c-format
 msgid "invalid operand to %%H/%%L code"
 msgstr ""
 
-#: config/arc/arc.cc:4859 config/m32r/m32r.cc:2206
+#: config/arc/arc.cc:4880 config/m32r/m32r.cc:2210
 #, c-format
 msgid "invalid operand to %%U code"
 msgstr ""
 
-#: config/arc/arc.cc:4871
+#: config/arc/arc.cc:4892
 #, c-format
 msgid "invalid operand to %%V code"
 msgstr ""
 
-#: config/arc/arc.cc:4928
+#: config/arc/arc.cc:4949
 #, c-format
 msgid "invalid operand to %%O code"
 msgstr ""
 
 #. Unknown flag.
 #. Undocumented flag.
-#: config/arc/arc.cc:4954 config/epiphany/epiphany.cc:1309
-#: config/m32r/m32r.cc:2233 config/nds32/nds32.cc:3517
-#: config/sparc/sparc.cc:9648
+#: config/arc/arc.cc:4975 config/epiphany/epiphany.cc:1311
+#: config/m32r/m32r.cc:2237 config/nds32/nds32.cc:3520
+#: config/sparc/sparc.cc:9649
 #, c-format
 msgid "invalid operand output code"
 msgstr ""
 
-#: config/arc/arc.cc:6494
+#: config/arc/arc.cc:6515
 #, c-format
 msgid "invalid UNSPEC as operand: %d"
 msgstr ""
 
-#: config/arc/arc.cc:6710
+#: config/arc/arc.cc:6731
 msgid "unrecognized supposed constant"
 msgstr ""
 
-#: config/arm/arm.cc:20842 config/arm/arm.cc:20867 config/arm/arm.cc:20877
-#: config/arm/arm.cc:20886 config/arm/arm.cc:20895
+#: config/arm/arm.cc:20996 config/arm/arm.cc:21021 config/arm/arm.cc:21031
+#: config/arm/arm.cc:21040 config/arm/arm.cc:21049
 #, c-format
 msgid "invalid shift operand"
 msgstr ""
 
-#: config/arm/arm.cc:23751 config/arm/arm.cc:23769
+#: config/arm/arm.cc:23958 config/arm/arm.cc:23976
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr ""
 
-#: config/arm/arm.cc:23757
+#: config/arm/arm.cc:23964
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr ""
 
-#: config/arm/arm.cc:23875 config/arm/arm.cc:23888 config/arm/arm.cc:23913
-#: config/nios2/nios2.cc:3081
+#: config/arm/arm.cc:24085 config/arm/arm.cc:24098 config/arm/arm.cc:24123
+#: config/nios2/nios2.cc:3084
 #, c-format
 msgid "Unsupported operand for code '%c'"
 msgstr ""
 
-#: config/arm/arm.cc:23990 config/arm/arm.cc:24012 config/arm/arm.cc:24022
-#: config/arm/arm.cc:24032 config/arm/arm.cc:24042 config/arm/arm.cc:24081
-#: config/arm/arm.cc:24099 config/arm/arm.cc:24124 config/arm/arm.cc:24139
-#: config/arm/arm.cc:24166 config/arm/arm.cc:24173 config/arm/arm.cc:24191
-#: config/arm/arm.cc:24198 config/arm/arm.cc:24206 config/arm/arm.cc:24227
-#: config/arm/arm.cc:24234 config/arm/arm.cc:24425 config/arm/arm.cc:24432
-#: config/arm/arm.cc:24459 config/arm/arm.cc:24466 config/bfin/bfin.cc:1441
-#: config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455 config/bfin/bfin.cc:1462
-#: config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478 config/bfin/bfin.cc:1485
-#: config/bfin/bfin.cc:1492 config/nds32/nds32.cc:3543
+#: config/arm/arm.cc:24200 config/arm/arm.cc:24222 config/arm/arm.cc:24232
+#: config/arm/arm.cc:24242 config/arm/arm.cc:24252 config/arm/arm.cc:24291
+#: config/arm/arm.cc:24309 config/arm/arm.cc:24327 config/arm/arm.cc:24354
+#: config/arm/arm.cc:24369 config/arm/arm.cc:24396 config/arm/arm.cc:24403
+#: config/arm/arm.cc:24421 config/arm/arm.cc:24428 config/arm/arm.cc:24436
+#: config/arm/arm.cc:24457 config/arm/arm.cc:24464 config/arm/arm.cc:24655
+#: config/arm/arm.cc:24662 config/arm/arm.cc:24689 config/arm/arm.cc:24696
+#: config/bfin/bfin.cc:1441 config/bfin/bfin.cc:1448 config/bfin/bfin.cc:1455
+#: config/bfin/bfin.cc:1462 config/bfin/bfin.cc:1471 config/bfin/bfin.cc:1478
+#: config/bfin/bfin.cc:1485 config/bfin/bfin.cc:1492 config/nds32/nds32.cc:3546
 #, c-format
 msgid "invalid operand for code '%c'"
 msgstr ""
 
-#: config/arm/arm.cc:24094
+#: config/arm/arm.cc:24304
 #, c-format
 msgid "instruction never executed"
 msgstr ""
 
 #. Former Maverick support, removed after GCC-4.7.
-#: config/arm/arm.cc:24115
+#: config/arm/arm.cc:24345
 #, c-format
 msgid "obsolete Maverick format code '%c'"
 msgstr ""
@@ -19977,24 +20657,27 @@ msgstr ""
 msgid "invalid const_double operand"
 msgstr ""
 
-#: config/bpf/bpf.cc:921
+#: config/bpf/bpf.cc:953
 msgid "invalid address in operand"
 msgstr ""
 
 #. Fallthrough.
-#: config/bpf/bpf.cc:928
+#: config/bpf/bpf.cc:960
 msgid "unsupported operand"
 msgstr ""
 
 #. Format punctuators via %s to avoid -Wformat-diag.
 #: config/cris/cris.cc:775 config/ft32/ft32.cc:110 config/moxie/moxie.cc:108
-#: final.cc:3233 final.cc:3235 fold-const.cc:277 gcc.cc:6154 gcc.cc:6168
-#: rtl-error.cc:101 toplev.cc:322 vr-values.cc:2383 cp/logic.cc:312
-#: cp/logic.cc:314 cp/typeck.cc:7308 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
+#: final.cc:3188 final.cc:3190 fold-const.cc:277 gcc.cc:6114 gcc.cc:6128
+#: rtl-error.cc:101 toplev.cc:314 cp/logic.cc:312 cp/logic.cc:314
+#: cp/typeck.cc:7627 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:180
+#: m2/gm2-gcc/m2linemap.cc:251 rust/rust-gcc-diagnostics.cc:31
+#: rust/rust-gcc-diagnostics.cc:40 rust/rust-gcc-diagnostics.cc:48
+#: rust/rust-gcc-diagnostics.cc:55 rust/rust-gcc-diagnostics.cc:62
+#: rust/rust-gcc-diagnostics.cc:70
 #, gcc-internal-format, gfc-internal-format
 msgid "%s"
 msgstr ""
@@ -20075,149 +20758,149 @@ msgstr ""
 msgid "unexpected side-effects in address"
 msgstr ""
 
-#: config/fr30/fr30.cc:510
+#: config/fr30/fr30.cc:513
 #, c-format
 msgid "fr30_print_operand_address: unhandled address"
 msgstr ""
 
-#: config/fr30/fr30.cc:534
+#: config/fr30/fr30.cc:537
 #, c-format
 msgid "fr30_print_operand: unrecognized %%p code"
 msgstr ""
 
-#: config/fr30/fr30.cc:554
+#: config/fr30/fr30.cc:557
 #, c-format
 msgid "fr30_print_operand: unrecognized %%b code"
 msgstr ""
 
-#: config/fr30/fr30.cc:575
+#: config/fr30/fr30.cc:578
 #, c-format
 msgid "fr30_print_operand: unrecognized %%B code"
 msgstr ""
 
-#: config/fr30/fr30.cc:583
+#: config/fr30/fr30.cc:586
 #, c-format
 msgid "fr30_print_operand: invalid operand to %%A code"
 msgstr ""
 
-#: config/fr30/fr30.cc:600
+#: config/fr30/fr30.cc:603
 #, c-format
 msgid "fr30_print_operand: invalid %%x code"
 msgstr ""
 
-#: config/fr30/fr30.cc:607
+#: config/fr30/fr30.cc:610
 #, c-format
 msgid "fr30_print_operand: invalid %%F code"
 msgstr ""
 
-#: config/fr30/fr30.cc:624
+#: config/fr30/fr30.cc:627
 #, c-format
 msgid "fr30_print_operand: unknown code"
 msgstr ""
 
-#: config/fr30/fr30.cc:652 config/fr30/fr30.cc:661 config/fr30/fr30.cc:672
-#: config/fr30/fr30.cc:685
+#: config/fr30/fr30.cc:655 config/fr30/fr30.cc:664 config/fr30/fr30.cc:675
+#: config/fr30/fr30.cc:688
 #, c-format
 msgid "fr30_print_operand: unhandled MEM"
 msgstr ""
 
-#: config/frv/frv.cc:2490
+#: config/frv/frv.cc:2491
 msgid "bad insn to frv_print_operand_address:"
 msgstr ""
 
-#: config/frv/frv.cc:2501
+#: config/frv/frv.cc:2502
 msgid "bad register to frv_print_operand_memory_reference_reg:"
 msgstr ""
 
-#: config/frv/frv.cc:2540 config/frv/frv.cc:2550 config/frv/frv.cc:2559
-#: config/frv/frv.cc:2580 config/frv/frv.cc:2585
+#: config/frv/frv.cc:2541 config/frv/frv.cc:2551 config/frv/frv.cc:2560
+#: config/frv/frv.cc:2581 config/frv/frv.cc:2586
 msgid "bad insn to frv_print_operand_memory_reference:"
 msgstr ""
 
-#: config/frv/frv.cc:2670
+#: config/frv/frv.cc:2671
 #, c-format
 msgid "bad condition code"
 msgstr ""
 
-#: config/frv/frv.cc:2744
+#: config/frv/frv.cc:2745
 msgid "bad insn in frv_print_operand, bad const_double"
 msgstr ""
 
-#: config/frv/frv.cc:2805
+#: config/frv/frv.cc:2806
 msgid "bad insn to frv_print_operand, 'e' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2813
+#: config/frv/frv.cc:2814
 msgid "bad insn to frv_print_operand, 'F' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2829
+#: config/frv/frv.cc:2830
 msgid "bad insn to frv_print_operand, 'f' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2843
+#: config/frv/frv.cc:2844
 msgid "bad insn to frv_print_operand, 'g' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2891
+#: config/frv/frv.cc:2892
 msgid "bad insn to frv_print_operand, 'L' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2904
+#: config/frv/frv.cc:2905
 msgid "bad insn to frv_print_operand, 'M/N' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2925
+#: config/frv/frv.cc:2926
 msgid "bad insn to frv_print_operand, 'O' modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2943
+#: config/frv/frv.cc:2944
 msgid "bad insn to frv_print_operand, P modifier:"
 msgstr ""
 
-#: config/frv/frv.cc:2963
+#: config/frv/frv.cc:2964
 msgid "bad insn in frv_print_operand, z case"
 msgstr ""
 
-#: config/frv/frv.cc:2994
+#: config/frv/frv.cc:2995
 msgid "bad insn in frv_print_operand, 0 case"
 msgstr ""
 
-#: config/frv/frv.cc:2999
+#: config/frv/frv.cc:3000
 msgid "frv_print_operand: unknown code"
 msgstr ""
 
-#: config/frv/frv.cc:4373
+#: config/frv/frv.cc:4374
 msgid "bad output_move_single operand"
 msgstr ""
 
-#: config/frv/frv.cc:4500
+#: config/frv/frv.cc:4501
 msgid "bad output_move_double operand"
 msgstr ""
 
-#: config/frv/frv.cc:4642
+#: config/frv/frv.cc:4643
 msgid "bad output_condmove_single operand"
 msgstr ""
 
-#: config/gcn/gcn.cc:5712 config/gcn/gcn.cc:5745 config/gcn/gcn.cc:5749
-#: config/gcn/gcn.cc:6093 config/gcn/gcn.cc:6104 config/gcn/gcn.cc:6107
+#: config/gcn/gcn.cc:6417 config/gcn/gcn.cc:6437 config/gcn/gcn.cc:6441
+#: config/gcn/gcn.cc:6773 config/gcn/gcn.cc:6784 config/gcn/gcn.cc:6787
 #, c-format
 msgid "bad ADDR_SPACE_GLOBAL address"
 msgstr ""
 
-#: config/gcn/gcn.cc:5861 config/gcn/gcn.cc:5884 config/gcn/gcn.cc:5916
-#: config/gcn/gcn.cc:5932 config/gcn/gcn.cc:5947 config/gcn/gcn.cc:5966
-#: config/gcn/gcn.cc:6042 config/gcn/gcn.cc:6238 config/gcn/gcn.cc:6353
+#: config/gcn/gcn.cc:6553 config/gcn/gcn.cc:6576 config/gcn/gcn.cc:6608
+#: config/gcn/gcn.cc:6624 config/gcn/gcn.cc:6639 config/gcn/gcn.cc:6658
+#: config/gcn/gcn.cc:6722 config/gcn/gcn.cc:6918 config/gcn/gcn.cc:7033
 #, c-format
 msgid "invalid operand %%xn code"
 msgstr ""
 
-#: config/gcn/gcn.cc:6341
+#: config/gcn/gcn.cc:7021
 #, c-format
 msgid "operand %%xn code invalid for QImode"
 msgstr ""
 
-#: config/gcn/gcn.cc:6423
+#: config/gcn/gcn.cc:7103
 #, c-format
 msgid "invalid fp constant"
 msgstr ""
@@ -20229,130 +20912,129 @@ msgstr ""
 msgid "Expected register or constant integer."
 msgstr ""
 
-#: config/i386/i386.cc:12362
+#: config/i386/i386.cc:12397
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr ""
 
-#: config/i386/i386.cc:12901
+#: config/i386/i386.cc:12936
 #, c-format
 msgid "invalid use of register '%s'"
 msgstr ""
 
-#: config/i386/i386.cc:12906
+#: config/i386/i386.cc:12941
 #, c-format
 msgid "invalid use of asm flag output"
 msgstr ""
 
-#: config/i386/i386.cc:13139
+#: config/i386/i386.cc:13174
 #, c-format
 msgid "invalid operand size for operand code 'O'"
 msgstr ""
 
-#: config/i386/i386.cc:13174
+#: config/i386/i386.cc:13209
 #, c-format
 msgid "invalid operand size for operand code 'z'"
 msgstr ""
 
-#: config/i386/i386.cc:13243
+#: config/i386/i386.cc:13278
 #, c-format
 msgid "invalid operand type used with operand code 'Z'"
 msgstr ""
 
-#: config/i386/i386.cc:13248
+#: config/i386/i386.cc:13283
 #, c-format
 msgid "invalid operand size for operand code 'Z'"
 msgstr ""
 
-#: config/i386/i386.cc:13325
+#: config/i386/i386.cc:13360
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'Y'"
 msgstr ""
 
-#: config/i386/i386.cc:13404
+#: config/i386/i386.cc:13439
 #, c-format
 msgid "operand is not a condition code, invalid operand code 'D'"
 msgstr ""
 
-#: config/i386/i386.cc:13422
+#: config/i386/i386.cc:13457
 #, c-format
 msgid "operand is not a condition code, invalid operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.cc:13435
+#: config/i386/i386.cc:13470
 #, c-format
 msgid ""
 "operand is not an offsettable memory reference, invalid operand code 'H'"
 msgstr ""
 
-#: config/i386/i386.cc:13450
+#: config/i386/i386.cc:13485
 #, c-format
 msgid "operand is not an integer, invalid operand code 'K'"
 msgstr ""
 
-#: config/i386/i386.cc:13478
+#: config/i386/i386.cc:13513
 #, c-format
 msgid "operand is not a specific integer, invalid operand code 'r'"
 msgstr ""
 
-#: config/i386/i386.cc:13496
+#: config/i386/i386.cc:13531
 #, c-format
 msgid "operand is not an integer, invalid operand code 'R'"
 msgstr ""
 
-#: config/i386/i386.cc:13519
+#: config/i386/i386.cc:13554
 #, c-format
 msgid "operand is not a specific integer, invalid operand code 'R'"
 msgstr ""
 
-#: config/i386/i386.cc:13623
+#: config/i386/i386.cc:13658
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr ""
 
-#: config/i386/i386.cc:13685 config/i386/i386.cc:14074
+#: config/i386/i386.cc:13720 config/i386/i386.cc:14109
 #, c-format
 msgid "invalid constraints for operand"
 msgstr ""
 
-#: config/i386/i386.cc:13786
+#: config/i386/i386.cc:13821
 #, c-format
 msgid "invalid vector immediate"
 msgstr ""
 
-#: config/i386/i386.cc:16793
+#: config/i386/i386.cc:16890
 msgid "unknown insn mode"
 msgstr ""
 
-#: config/ia64/ia64.cc:5459
+#: config/ia64/ia64.cc:5460
 #, c-format
 msgid "invalid %%G mode"
 msgstr ""
 
-#: config/ia64/ia64.cc:5630
+#: config/ia64/ia64.cc:5631
 #, c-format
 msgid "ia64_print_operand: unknown code"
 msgstr ""
 
-#: config/ia64/ia64.cc:11243
+#: config/ia64/ia64.cc:11255
 msgid "invalid conversion from %<__fpreg%>"
 msgstr ""
 
-#: config/ia64/ia64.cc:11246
+#: config/ia64/ia64.cc:11258
 msgid "invalid conversion to %<__fpreg%>"
 msgstr ""
 
-#: config/ia64/ia64.cc:11259 config/ia64/ia64.cc:11270
+#: config/ia64/ia64.cc:11271 config/ia64/ia64.cc:11282
 msgid "invalid operation on %<__fpreg%>"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:3126 config/tilegx/tilegx.cc:5302
-#: config/tilepro/tilepro.cc:4690
+#: config/iq2000/iq2000.cc:3126
 #, c-format
 msgid "invalid %%P operand"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:13910
+#: config/iq2000/iq2000.cc:3134 config/rs6000/rs6000.cc:14021
 #, c-format
 msgid "invalid %%p value"
 msgstr ""
@@ -20379,137 +21061,137 @@ msgstr ""
 msgid "invalid addressing mode"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:4242 config/loongarch/loongarch.cc:4264
-#: config/loongarch/loongarch.cc:4456 config/mips/mips.cc:9065
+#: config/loongarch/loongarch.cc:4754 config/loongarch/loongarch.cc:4776
+#: config/loongarch/loongarch.cc:5120 config/mips/mips.cc:9065
 #: config/mips/mips.cc:9092 config/mips/mips.cc:9275
 #, c-format
 msgid "'%%%c' is not a valid operand prefix"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:4373 config/loongarch/loongarch.cc:4380
-#: config/loongarch/loongarch.cc:4387 config/loongarch/loongarch.cc:4394
-#: config/loongarch/loongarch.cc:4404 config/loongarch/loongarch.cc:4407
-#: config/loongarch/loongarch.cc:4419 config/loongarch/loongarch.cc:4422
-#: config/loongarch/loongarch.cc:4487 config/loongarch/loongarch.cc:4502
-#: config/loongarch/loongarch.cc:4511 config/mips/mips.cc:9164
+#: config/loongarch/loongarch.cc:5004 config/loongarch/loongarch.cc:5042
+#: config/loongarch/loongarch.cc:5077 config/loongarch/loongarch.cc:5080
+#: config/loongarch/loongarch.cc:5092 config/loongarch/loongarch.cc:5099
+#: config/loongarch/loongarch.cc:5109 config/loongarch/loongarch.cc:5112
+#: config/loongarch/loongarch.cc:5136 config/loongarch/loongarch.cc:5151
+#: config/loongarch/loongarch.cc:5160 config/mips/mips.cc:9164
 #: config/mips/mips.cc:9171 config/mips/mips.cc:9178 config/mips/mips.cc:9185
 #: config/mips/mips.cc:9198 config/mips/mips.cc:9205 config/mips/mips.cc:9215
 #: config/mips/mips.cc:9218 config/mips/mips.cc:9230 config/mips/mips.cc:9233
 #: config/mips/mips.cc:9293 config/mips/mips.cc:9300 config/mips/mips.cc:9321
 #: config/mips/mips.cc:9336 config/mips/mips.cc:9355 config/mips/mips.cc:9364
-#: config/riscv/riscv.cc:3557 config/riscv/riscv.cc:3686
-#: config/riscv/riscv.cc:3692 config/riscv/riscv.cc:3701
+#: config/riscv/riscv.cc:4138 config/riscv/riscv.cc:4368
+#: config/riscv/riscv.cc:4374 config/riscv/riscv.cc:4383
 #, c-format
 msgid "invalid use of '%%%c'"
 msgstr ""
 
-#: config/m32r/m32r.cc:2144
+#: config/m32r/m32r.cc:2148
 msgid "bad insn for 'A'"
 msgstr ""
 
-#: config/m32r/m32r.cc:2191
+#: config/m32r/m32r.cc:2195
 #, c-format
 msgid "invalid operand to %%T/%%B code"
 msgstr ""
 
-#: config/m32r/m32r.cc:2214
+#: config/m32r/m32r.cc:2218
 #, c-format
 msgid "invalid operand to %%N code"
 msgstr ""
 
-#: config/m32r/m32r.cc:2247
+#: config/m32r/m32r.cc:2251
 msgid "pre-increment address is not a register"
 msgstr ""
 
-#: config/m32r/m32r.cc:2254
+#: config/m32r/m32r.cc:2258
 msgid "pre-decrement address is not a register"
 msgstr ""
 
-#: config/m32r/m32r.cc:2261
+#: config/m32r/m32r.cc:2265
 msgid "post-increment address is not a register"
 msgstr ""
 
-#: config/m32r/m32r.cc:2336 config/m32r/m32r.cc:2351
-#: config/rs6000/rs6000.cc:20560
+#: config/m32r/m32r.cc:2340 config/m32r/m32r.cc:2355
+#: config/rs6000/rs6000.cc:20735
 msgid "bad address"
 msgstr ""
 
-#: config/m32r/m32r.cc:2356
+#: config/m32r/m32r.cc:2360
 msgid "lo_sum not of register"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:2294
+#: config/microblaze/microblaze.cc:2299
 #, c-format
 msgid "unknown punctuation '%c'"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:2303
+#: config/microblaze/microblaze.cc:2308
 #, c-format
 msgid "null pointer"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:2338
+#: config/microblaze/microblaze.cc:2343
 #, c-format
 msgid "PRINT_OPERAND, invalid insn for %%C"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:2367
+#: config/microblaze/microblaze.cc:2372
 #, c-format
 msgid "PRINT_OPERAND, invalid insn for %%N"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:2387 config/microblaze/microblaze.cc:2563
+#: config/microblaze/microblaze.cc:2392 config/microblaze/microblaze.cc:2568
 msgid "insn contains an invalid address !"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:2403 config/microblaze/microblaze.cc:2633
-#: config/xtensa/xtensa.cc:2557
+#: config/microblaze/microblaze.cc:2408 config/microblaze/microblaze.cc:2638
+#: config/xtensa/xtensa.cc:3068
 msgid "invalid address"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:2506
+#: config/microblaze/microblaze.cc:2511
 #, c-format
 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:1636 config/mmix/mmix.cc:1757
 msgid "MMIX Internal: Expected a CONST_INT, not this"
 msgstr ""
 
-#: config/mmix/mmix.cc:1714
+#: config/mmix/mmix.cc:1715
 msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
 msgstr ""
 
-#: config/mmix/mmix.cc:1724
+#: config/mmix/mmix.cc:1725
 msgid "MMIX Internal: Expected a register, not this"
 msgstr ""
 
-#: config/mmix/mmix.cc:1734
+#: config/mmix/mmix.cc:1735
 msgid "MMIX Internal: Expected a constant, not this"
 msgstr ""
 
 #. We need the original here.
-#: config/mmix/mmix.cc:1818
+#: config/mmix/mmix.cc:1819
 msgid "MMIX Internal: Cannot decode this operand"
 msgstr ""
 
-#: config/mmix/mmix.cc:1877
+#: config/mmix/mmix.cc:1878
 msgid "MMIX Internal: This is not a recognized address"
 msgstr ""
 
-#: config/mmix/mmix.cc:2769
+#: config/mmix/mmix.cc:2770
 msgid "MMIX Internal: Trying to output invalidly reversed condition:"
 msgstr ""
 
-#: config/mmix/mmix.cc:2776
+#: config/mmix/mmix.cc:2777
 msgid "MMIX Internal: What's the CC of this?"
 msgstr ""
 
-#: config/mmix/mmix.cc:2780
+#: config/mmix/mmix.cc:2781
 msgid "MMIX Internal: What is the CC of this?"
 msgstr ""
 
-#: config/mmix/mmix.cc:2822
+#: config/mmix/mmix.cc:2823
 msgid "MMIX Internal: This is not a constant:"
 msgstr ""
 
@@ -20540,7 +21222,7 @@ msgstr ""
 msgid "invalid %%H value"
 msgstr ""
 
-#: config/or1k/or1k.cc:1269 config/xtensa/xtensa.cc:2474
+#: config/or1k/or1k.cc:1269 config/xtensa/xtensa.cc:2985
 #, c-format
 msgid "invalid %%d value"
 msgstr ""
@@ -20550,42 +21232,42 @@ msgstr ""
 msgid "unknown operand letter: '%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1672 config/pru/pru.cc:1683
+#: config/pru/pru.cc:1711 config/pru/pru.cc:1722
 #, c-format
 msgid "I/O register operand for '%%%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1689
+#: config/pru/pru.cc:1728
 #, c-format
 msgid "non 32 bit register operand for '%%%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1794
+#: config/pru/pru.cc:1813
 #, c-format
 msgid "unsupported code '%c' for fixed-point:"
 msgstr ""
 
-#: config/pru/pru.cc:1808
+#: config/pru/pru.cc:1827
 #, c-format
 msgid "double constants not supported"
 msgstr ""
 
-#: config/pru/pru.cc:1891
+#: config/pru/pru.cc:1910
 #, c-format
 msgid "unsupported operand %s for code '%c'"
 msgstr ""
 
-#: config/pru/pru.cc:1901
+#: config/pru/pru.cc:1920
 #, c-format
 msgid "unexpected text address:"
 msgstr ""
 
-#: config/pru/pru.cc:1920
+#: config/pru/pru.cc:1939
 #, c-format
 msgid "unsupported constant address:"
 msgstr ""
 
-#: config/pru/pru.cc:1981
+#: config/pru/pru.cc:2000
 #, c-format
 msgid "unsupported memory expression:"
 msgstr ""
@@ -20605,286 +21287,270 @@ msgstr ""
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3843
+#: config/rs6000/rs6000.cc:3804
 msgid "%<-mvsx%> requires hardware floating point"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3851
+#: config/rs6000/rs6000.cc:3812
 msgid "%<-mvsx%> needs indexed addressing"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3856
+#: config/rs6000/rs6000.cc:3817
 msgid "%<-mvsx%> and %<-mno-altivec%> are incompatible"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3858
+#: config/rs6000/rs6000.cc:3819
 msgid "%<-mno-altivec%> disables vsx"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4007
+#: config/rs6000/rs6000.cc:3968
 msgid "%<-mquad-memory%> requires 64-bit mode"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4010
+#: config/rs6000/rs6000.cc:3971
 msgid "%<-mquad-memory-atomic%> requires 64-bit mode"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4022
+#: config/rs6000/rs6000.cc:3983
 msgid "%<-mquad-memory%> is not available in little endian mode"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:10963
+#: config/rs6000/rs6000.cc:11074
 msgid "bad move"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13540
+#: config/rs6000/rs6000.cc:13651
 msgid "Bad 128-bit move"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13720
+#: config/rs6000/rs6000.cc:13831
 #, c-format
 msgid "invalid %%A value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13729 config/xtensa/xtensa.cc:2403
+#: config/rs6000/rs6000.cc:13840 config/xtensa/xtensa.cc:2920
 #, c-format
 msgid "invalid %%D value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13744
+#: config/rs6000/rs6000.cc:13855
 #, c-format
 msgid "invalid %%e value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13765
+#: config/rs6000/rs6000.cc:13876
 #, c-format
 msgid "invalid %%f value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13774
+#: config/rs6000/rs6000.cc:13885
 #, c-format
 msgid "invalid %%F value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13783
+#: config/rs6000/rs6000.cc:13894
 #, c-format
 msgid "invalid %%G value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13818
+#: config/rs6000/rs6000.cc:13929
 #, c-format
 msgid "invalid %%j code"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13828
+#: config/rs6000/rs6000.cc:13939
 #, c-format
 msgid "invalid %%J code"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13838
+#: config/rs6000/rs6000.cc:13949
 #, c-format
 msgid "invalid %%k value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13853 config/xtensa/xtensa.cc:2446
+#: config/rs6000/rs6000.cc:13964 config/xtensa/xtensa.cc:2957
 #, c-format
 msgid "invalid %%K value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13900
+#: config/rs6000/rs6000.cc:14011
 #, c-format
 msgid "invalid %%O value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13947
+#: config/rs6000/rs6000.cc:14058
 #, c-format
 msgid "invalid %%q value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:13989
+#: config/rs6000/rs6000.cc:14100
 #, c-format
 msgid "invalid %%t value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14006
+#: config/rs6000/rs6000.cc:14117
 #, c-format
 msgid "invalid %%T value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14018
+#: config/rs6000/rs6000.cc:14129
 #, c-format
 msgid "invalid %%u value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14032 config/xtensa/xtensa.cc:2415
+#: config/rs6000/rs6000.cc:14143 config/xtensa/xtensa.cc:2932
 #, c-format
 msgid "invalid %%v value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14082
+#: config/rs6000/rs6000.cc:14193
 #, c-format
 msgid "invalid %%V value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14099 config/xtensa/xtensa.cc:2467
+#: config/rs6000/rs6000.cc:14209 config/xtensa/xtensa.cc:2978
 #, c-format
 msgid "invalid %%x value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14156
+#: config/rs6000/rs6000.cc:14266
 #, c-format
 msgid "invalid %%z value"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:14225
+#: config/rs6000/rs6000.cc:14335
 #, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:15093
+#: config/rs6000/rs6000.cc:15265
 msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:23944
+#: config/rs6000/rs6000.cc:24132
 msgid "AltiVec argument passed to unprototyped function"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:27601
+#: config/rs6000/rs6000.cc:27754
 msgid "Could not generate addis value for fusion"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:27670
+#: config/rs6000/rs6000.cc:27823
 msgid "Unable to generate load/store offset for fusion"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:27746
+#: config/rs6000/rs6000.cc:27899
 msgid "Bad GPR fusion"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28285
+#: config/rs6000/rs6000.cc:28438
 msgid "invalid conversion from type %<__vector_quad%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28287
+#: config/rs6000/rs6000.cc:28440
 msgid "invalid conversion to type %<__vector_quad%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28289
+#: config/rs6000/rs6000.cc:28442
 msgid "invalid conversion from type %<__vector_pair%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28291
+#: config/rs6000/rs6000.cc:28444
 msgid "invalid conversion to type %<__vector_pair%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28306
-msgid "invalid conversion from type %<* __vector_quad%>"
-msgstr ""
-
-#: config/rs6000/rs6000.cc:28308
-msgid "invalid conversion to type %<* __vector_quad%>"
-msgstr ""
-
-#: config/rs6000/rs6000.cc:28310
-msgid "invalid conversion from type %<* __vector_pair%>"
-msgstr ""
-
-#: config/rs6000/rs6000.cc:28312
-msgid "invalid conversion to type %<* __vector_pair%>"
-msgstr ""
-
-#: config/s390/s390.cc:7953
+#: config/s390/s390.cc:8072
 #, c-format
 msgid "symbolic memory references are only supported on z10 or later"
 msgstr ""
 
-#: config/s390/s390.cc:7964
+#: config/s390/s390.cc:8083
 #, c-format
 msgid "cannot decompose address"
 msgstr ""
 
-#: config/s390/s390.cc:8046
+#: config/s390/s390.cc:8165
 #, c-format
 msgid "invalid comparison operator for 'E' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8069
+#: config/s390/s390.cc:8188
 #, c-format
 msgid "invalid reference for 'J' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8087
+#: config/s390/s390.cc:8206
 #, c-format
 msgid "invalid address for 'O' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8109
+#: config/s390/s390.cc:8228
 #, c-format
 msgid "invalid address for 'R' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8127
+#: config/s390/s390.cc:8246
 #, c-format
 msgid "memory reference expected for 'S' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8137
+#: config/s390/s390.cc:8256
 #, c-format
 msgid "invalid address for 'S' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8158
+#: config/s390/s390.cc:8277
 #, c-format
 msgid "register or memory expression expected for 'N' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8169
+#: config/s390/s390.cc:8288
 #, c-format
 msgid "register or memory expression expected for 'M' output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8278 config/s390/s390.cc:8299
+#: config/s390/s390.cc:8397 config/s390/s390.cc:8418
 #, c-format
 msgid "invalid constant for output modifier '%c'"
 msgstr ""
 
-#: config/s390/s390.cc:8296
+#: config/s390/s390.cc:8415
 #, c-format
 msgid "invalid constant - try using an output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8333
+#: config/s390/s390.cc:8452
 #, c-format
 msgid "invalid constant vector for output modifier '%c'"
 msgstr ""
 
-#: config/s390/s390.cc:8340
+#: config/s390/s390.cc:8459
 #, c-format
 msgid "invalid expression - try using an output modifier"
 msgstr ""
 
-#: config/s390/s390.cc:8343
+#: config/s390/s390.cc:8462
 #, c-format
 msgid "invalid expression for output modifier '%c'"
 msgstr ""
 
-#: config/s390/s390.cc:12122
+#: config/s390/s390.cc:12310
 msgid "vector argument passed to unprototyped function"
 msgstr ""
 
-#: config/s390/s390.cc:16546
+#: config/s390/s390.cc:16762
 msgid "types differ in signedness"
 msgstr ""
 
-#: config/s390/s390.cc:16556
+#: config/s390/s390.cc:16772
 msgid "binary operator does not support two vector bool operands"
 msgstr ""
 
-#: config/s390/s390.cc:16559
+#: config/s390/s390.cc:16775
 msgid "binary operator does not support vector bool operand"
 msgstr ""
 
-#: config/s390/s390.cc:16567
+#: config/s390/s390.cc:16783
 msgid ""
 "binary operator does not support mixing vector bool with floating point "
 "vector operands"
@@ -20900,55 +21566,54 @@ msgstr ""
 msgid "invalid operand to %%S"
 msgstr ""
 
-#: config/sh/sh.cc:8666
+#: config/sh/sh.cc:8667
 msgid "created and used with different architectures / ABIs"
 msgstr ""
 
-#: config/sh/sh.cc:8668
+#: config/sh/sh.cc:8669
 msgid "created and used with different ABIs"
 msgstr ""
 
-#: config/sh/sh.cc:8670
+#: config/sh/sh.cc:8671
 msgid "created and used with different endianness"
 msgstr ""
 
-#: config/sparc/sparc.cc:9378 config/sparc/sparc.cc:9384
+#: config/sparc/sparc.cc:9379 config/sparc/sparc.cc:9385
 #, c-format
 msgid "invalid %%Y operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9471
+#: config/sparc/sparc.cc:9472
 #, c-format
 msgid "invalid %%A operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9491
+#: config/sparc/sparc.cc:9492
 #, c-format
 msgid "invalid %%B operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9571 config/tilegx/tilegx.cc:5089
-#: config/tilepro/tilepro.cc:4497
+#: config/sparc/sparc.cc:9572
 #, c-format
 msgid "invalid %%C operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9603 config/tilegx/tilegx.cc:5122
+#: config/sparc/sparc.cc:9604
 #, c-format
 msgid "invalid %%D operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9622
+#: config/sparc/sparc.cc:9623
 #, c-format
 msgid "invalid %%f operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9634
+#: config/sparc/sparc.cc:9635
 #, c-format
 msgid "invalid %%s operand"
 msgstr ""
 
-#: config/sparc/sparc.cc:9679
+#: config/sparc/sparc.cc:9680
 #, c-format
 msgid "floating-point constant not a valid immediate operand"
 msgstr ""
@@ -20973,86 +21638,6 @@ msgstr ""
 msgid "xstormy16_print_operand: unknown code"
 msgstr ""
 
-#: config/tilegx/tilegx.cc:5074 config/tilepro/tilepro.cc:4482
-#, c-format
-msgid "invalid %%c operand"
-msgstr ""
-
-#: config/tilegx/tilegx.cc:5105
-#, c-format
-msgid "invalid %%d operand"
-msgstr ""
-
-#: config/tilegx/tilegx.cc:5202
-#, c-format
-msgid "invalid %%H specifier"
-msgstr ""
-
-#: config/tilegx/tilegx.cc:5244 config/tilepro/tilepro.cc:4511
-#, c-format
-msgid "invalid %%h operand"
-msgstr ""
-
-#: config/tilegx/tilegx.cc:5256 config/tilepro/tilepro.cc:4575
-#, c-format
-msgid "invalid %%I operand"
-msgstr ""
-
-#: config/tilegx/tilegx.cc:5268 config/tilepro/tilepro.cc:4587
-#, c-format
-msgid "invalid %%i operand"
-msgstr ""
-
-#: config/tilegx/tilegx.cc:5289 config/tilepro/tilepro.cc:4608
-#, c-format
-msgid "invalid %%j operand"
-msgstr ""
-
-#: config/tilegx/tilegx.cc:5320
-#, c-format
-msgid "invalid %%%c operand"
-msgstr ""
-
-#: config/tilegx/tilegx.cc:5335 config/tilepro/tilepro.cc:4722
-#, c-format
-msgid "invalid %%N operand"
-msgstr ""
-
-#: config/tilegx/tilegx.cc:5379
-#, c-format
-msgid "invalid operand for 'r' specifier"
-msgstr ""
-
-#: config/tilegx/tilegx.cc:5403 config/tilepro/tilepro.cc:4802
-#, c-format
-msgid "unable to print out operand yet; code == %d (%c)"
-msgstr ""
-
-#: config/tilepro/tilepro.cc:4547
-#, c-format
-msgid "invalid %%H operand"
-msgstr ""
-
-#: config/tilepro/tilepro.cc:4647
-#, c-format
-msgid "invalid %%L operand"
-msgstr ""
-
-#: config/tilepro/tilepro.cc:4707
-#, c-format
-msgid "invalid %%M operand"
-msgstr ""
-
-#: config/tilepro/tilepro.cc:4750 config/tilepro/tilepro.cc:4757
-#, c-format
-msgid "invalid %%t operand"
-msgstr ""
-
-#: config/tilepro/tilepro.cc:4777
-#, c-format
-msgid "invalid %%r operand"
-msgstr ""
-
 #: config/v850/v850.cc:271
 msgid "const_double_split got a bad insn:"
 msgstr ""
@@ -21061,76 +21646,75 @@ msgstr ""
 msgid "output_move_single:"
 msgstr ""
 
-#: config/vax/vax.cc:484
+#: config/vax/vax.cc:481
 #, c-format
 msgid "symbol used with both base and indexed registers"
 msgstr ""
 
-#: config/vax/vax.cc:493
+#: config/vax/vax.cc:490
 #, c-format
 msgid "symbol with offset used in PIC mode"
 msgstr ""
 
-#: config/vax/vax.cc:581
+#: config/vax/vax.cc:578
 #, c-format
 msgid "symbol used as immediate operand"
 msgstr ""
 
-#: config/vax/vax.cc:1683
+#: config/vax/vax.cc:1680
 msgid "illegal operand detected"
 msgstr ""
 
-#: config/visium/visium.cc:3364
+#: config/visium/visium.cc:3365
 msgid "illegal operand "
 msgstr ""
 
-#: config/visium/visium.cc:3415
+#: config/visium/visium.cc:3416
 msgid "illegal operand address (1)"
 msgstr ""
 
-#: config/visium/visium.cc:3422
+#: config/visium/visium.cc:3423
 msgid "illegal operand address (2)"
 msgstr ""
 
-#: config/visium/visium.cc:3437
+#: config/visium/visium.cc:3438
 msgid "illegal operand address (3)"
 msgstr ""
 
-#: config/visium/visium.cc:3445
+#: config/visium/visium.cc:3446
 msgid "illegal operand address (4)"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:814 config/xtensa/xtensa.cc:846
-#: config/xtensa/xtensa.cc:855
+#: config/xtensa/xtensa.cc:830 config/xtensa/xtensa.cc:868
 msgid "bad test"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2441
+#: config/xtensa/xtensa.cc:2952
 msgid "invalid mask"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2493 config/xtensa/xtensa.cc:2503
+#: config/xtensa/xtensa.cc:3004 config/xtensa/xtensa.cc:3014
 #, c-format
 msgid "invalid %%t/%%b value"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2582
+#: config/xtensa/xtensa.cc:3093
 msgid "no register in address"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2590
+#: config/xtensa/xtensa.cc:3101
 msgid "address offset not a constant"
 msgstr ""
 
-#: c/c-objc-common.cc:190
+#: c/c-objc-common.cc:193
 msgid "{erroneous}"
 msgstr ""
 
-#: c/c-objc-common.cc:231
+#: c/c-objc-common.cc:234
 msgid "aka"
 msgstr ""
 
-#: c/c-objc-common.cc:323
+#: c/c-objc-common.cc:326
 msgid "({anonymous})"
 msgstr ""
 
@@ -21143,467 +21727,468 @@ msgstr ""
 #. ;
 #. <~~~~~~~~~ declaration ~~~~~~~~~~>
 #. Use c_parser_require to get an error with a fix-it hint.
-#: c/c-parser.cc:2467 c/c-parser.cc:2586 c/c-parser.cc:2600 c/c-parser.cc:5664
-#: c/c-parser.cc:6265 c/c-parser.cc:6694 c/c-parser.cc:6873 c/c-parser.cc:6906
-#: c/c-parser.cc:7172 c/c-parser.cc:11078 c/c-parser.cc:11113
-#: c/c-parser.cc:11144 c/c-parser.cc:11191 c/c-parser.cc:11372
-#: c/c-parser.cc:12204 c/c-parser.cc:12279 c/c-parser.cc:12322
-#: c/c-parser.cc:18438 c/c-parser.cc:18518 c/c-parser.cc:18848
-#: c/c-parser.cc:18874 c/c-parser.cc:18897 c/c-parser.cc:19347
-#: c/c-parser.cc:19391 c/gimple-parser.cc:396 c/gimple-parser.cc:437
-#: c/gimple-parser.cc:446 c/gimple-parser.cc:655 c/gimple-parser.cc:2245
-#: c/gimple-parser.cc:2282 c/gimple-parser.cc:2361 c/gimple-parser.cc:2388
-#: c/c-parser.cc:3279 c/c-parser.cc:3466 c/c-parser.cc:3499 c/c-parser.cc:11365
-#: c/gimple-parser.cc:2053 c/gimple-parser.cc:2110 cp/parser.cc:15227
-#: cp/parser.cc:32340 cp/parser.cc:32953
+#: c/c-parser.cc:2762 c/c-parser.cc:2884 c/c-parser.cc:2898 c/c-parser.cc:6161
+#: c/c-parser.cc:6784 c/c-parser.cc:7213 c/c-parser.cc:7392 c/c-parser.cc:7425
+#: c/c-parser.cc:7691 c/c-parser.cc:11762 c/c-parser.cc:11797
+#: c/c-parser.cc:11828 c/c-parser.cc:11875 c/c-parser.cc:12056
+#: c/c-parser.cc:12889 c/c-parser.cc:12964 c/c-parser.cc:13007
+#: c/c-parser.cc:19400 c/c-parser.cc:19480 c/c-parser.cc:19809
+#: c/c-parser.cc:19835 c/c-parser.cc:19858 c/c-parser.cc:20305
+#: c/c-parser.cc:20349 c/gimple-parser.cc:406 c/gimple-parser.cc:447
+#: c/gimple-parser.cc:456 c/gimple-parser.cc:665 c/gimple-parser.cc:2261
+#: c/gimple-parser.cc:2298 c/gimple-parser.cc:2377 c/gimple-parser.cc:2404
+#: c/c-parser.cc:3672 c/c-parser.cc:3862 c/c-parser.cc:3897 c/c-parser.cc:12049
+#: c/gimple-parser.cc:2069 c/gimple-parser.cc:2126 cp/parser.cc:15337
+#: cp/parser.cc:33066 cp/parser.cc:33700
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr ""
 
-#: c/c-parser.cc:3049 c/c-parser.cc:4019 c/c-parser.cc:4214 c/c-parser.cc:4279
-#: c/c-parser.cc:4337 c/c-parser.cc:4699 c/c-parser.cc:4720 c/c-parser.cc:4729
-#: c/c-parser.cc:4780 c/c-parser.cc:4789 c/c-parser.cc:8541 c/c-parser.cc:8608
-#: c/c-parser.cc:9115 c/c-parser.cc:9140 c/c-parser.cc:9174 c/c-parser.cc:9283
-#: c/c-parser.cc:10104 c/c-parser.cc:11479 c/c-parser.cc:13822
-#: c/c-parser.cc:14536 c/c-parser.cc:14595 c/c-parser.cc:14650
-#: c/c-parser.cc:16262 c/c-parser.cc:16382 c/c-parser.cc:17702
-#: c/c-parser.cc:18939 c/c-parser.cc:19355 c/c-parser.cc:22322
-#: c/c-parser.cc:22400 c/gimple-parser.cc:195 c/gimple-parser.cc:198
-#: c/gimple-parser.cc:531 c/gimple-parser.cc:565 c/gimple-parser.cc:570
-#: c/gimple-parser.cc:739 c/gimple-parser.cc:836 c/gimple-parser.cc:1038
-#: c/gimple-parser.cc:1064 c/gimple-parser.cc:1067 c/gimple-parser.cc:1198
-#: c/gimple-parser.cc:1325 c/gimple-parser.cc:1451 c/gimple-parser.cc:1467
-#: c/gimple-parser.cc:1483 c/gimple-parser.cc:1505 c/gimple-parser.cc:1535
-#: c/gimple-parser.cc:1561 c/gimple-parser.cc:1767 c/gimple-parser.cc:1975
-#: c/gimple-parser.cc:1995 c/gimple-parser.cc:2155 c/gimple-parser.cc:2318
-#: c/c-parser.cc:7124 cp/parser.cc:33001
+#: c/c-parser.cc:3356 c/c-parser.cc:4461 c/c-parser.cc:4656 c/c-parser.cc:4714
+#: c/c-parser.cc:4772 c/c-parser.cc:5154 c/c-parser.cc:5177 c/c-parser.cc:5186
+#: c/c-parser.cc:5237 c/c-parser.cc:5246 c/c-parser.cc:9124 c/c-parser.cc:9192
+#: c/c-parser.cc:9702 c/c-parser.cc:9727 c/c-parser.cc:9761 c/c-parser.cc:9873
+#: c/c-parser.cc:10692 c/c-parser.cc:12163 c/c-parser.cc:14547
+#: c/c-parser.cc:15261 c/c-parser.cc:15320 c/c-parser.cc:15375
+#: c/c-parser.cc:17169 c/c-parser.cc:17289 c/c-parser.cc:18623
+#: c/c-parser.cc:19900 c/c-parser.cc:20313 c/c-parser.cc:23398
+#: c/c-parser.cc:23480 c/gimple-parser.cc:195 c/gimple-parser.cc:198
+#: c/gimple-parser.cc:541 c/gimple-parser.cc:575 c/gimple-parser.cc:580
+#: c/gimple-parser.cc:749 c/gimple-parser.cc:846 c/gimple-parser.cc:1048
+#: c/gimple-parser.cc:1074 c/gimple-parser.cc:1077 c/gimple-parser.cc:1208
+#: c/gimple-parser.cc:1335 c/gimple-parser.cc:1462 c/gimple-parser.cc:1478
+#: c/gimple-parser.cc:1494 c/gimple-parser.cc:1516 c/gimple-parser.cc:1546
+#: c/gimple-parser.cc:1572 c/gimple-parser.cc:1779 c/gimple-parser.cc:1991
+#: c/gimple-parser.cc:2011 c/gimple-parser.cc:2171 c/gimple-parser.cc:2334
+#: c/c-parser.cc:7643 cp/parser.cc:33748
 #, gcc-internal-format
 msgid "expected %<)%>"
 msgstr ""
 
-#: c/c-parser.cc:4108 c/c-parser.cc:4840 c/c-parser.cc:4988 c/c-parser.cc:5014
-#: c/c-parser.cc:5015 c/c-parser.cc:5429 c/c-parser.cc:5465 c/c-parser.cc:7223
-#: c/c-parser.cc:9274 c/c-parser.cc:10220 c/c-parser.cc:10509
-#: c/c-parser.cc:13225 c/gimple-parser.cc:1744 cp/parser.cc:32965
+#: c/c-parser.cc:4550 c/c-parser.cc:5297 c/c-parser.cc:5449 c/c-parser.cc:5475
+#: c/c-parser.cc:5476 c/c-parser.cc:5916 c/c-parser.cc:5960 c/c-parser.cc:7742
+#: c/c-parser.cc:9864 c/c-parser.cc:10833 c/c-parser.cc:11187
+#: c/c-parser.cc:13950 c/gimple-parser.cc:1755 cp/parser.cc:33712
 #, gcc-internal-format
 msgid "expected %<]%>"
 msgstr ""
 
-#: c/c-parser.cc:4317
+#: c/c-parser.cc:4752
 msgid "expected %<;%>, %<,%> or %<)%>"
 msgstr ""
 
 #. Look for the two `(' tokens.
-#: c/c-parser.cc:4749 c/c-parser.cc:4754 c/c-parser.cc:13805
-#: c/c-parser.cc:14625 c/c-parser.cc:21681 c/c-parser.cc:22130
-#: c/c-parser.cc:22343 c/gimple-parser.cc:180 c/gimple-parser.cc:478
-#: c/gimple-parser.cc:517 c/gimple-parser.cc:549 c/gimple-parser.cc:806
-#: c/gimple-parser.cc:1032 c/gimple-parser.cc:1058 c/gimple-parser.cc:1185
-#: c/gimple-parser.cc:1320 c/gimple-parser.cc:1441 c/gimple-parser.cc:1501
-#: c/gimple-parser.cc:1519 c/gimple-parser.cc:1554 c/gimple-parser.cc:1944
-#: c/gimple-parser.cc:1955 c/gimple-parser.cc:1961 c/gimple-parser.cc:2144
-#: c/gimple-parser.cc:2315 c/c-parser.cc:13627 cp/parser.cc:32956
+#: c/c-parser.cc:5206 c/c-parser.cc:5211 c/c-parser.cc:14530
+#: c/c-parser.cc:15350 c/c-parser.cc:22674 c/c-parser.cc:23206
+#: c/c-parser.cc:23423 c/gimple-parser.cc:180 c/gimple-parser.cc:488
+#: c/gimple-parser.cc:527 c/gimple-parser.cc:559 c/gimple-parser.cc:816
+#: c/gimple-parser.cc:1042 c/gimple-parser.cc:1068 c/gimple-parser.cc:1195
+#: c/gimple-parser.cc:1330 c/gimple-parser.cc:1452 c/gimple-parser.cc:1512
+#: c/gimple-parser.cc:1530 c/gimple-parser.cc:1565 c/gimple-parser.cc:1960
+#: c/gimple-parser.cc:1971 c/gimple-parser.cc:1977 c/gimple-parser.cc:2160
+#: c/gimple-parser.cc:2331 c/c-parser.cc:14352 cp/parser.cc:33703
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:4984 c/c-parser.cc:4986 c/c-parser.cc:13133 cp/parser.cc:32968
-#: cp/parser.cc:36701 go/gofrontend/embed.cc:439
+#: c/c-parser.cc:5445 c/c-parser.cc:5447 c/c-parser.cc:13854 cp/parser.cc:33715
+#: cp/parser.cc:37465 go/gofrontend/embed.cc:439
 #, gcc-internal-format
 msgid "expected %<[%>"
 msgstr ""
 
-#: c/c-parser.cc:5600 c/c-parser.cc:11708 c/c-parser.cc:18413
-#: c/c-parser.cc:18499 c/c-parser.cc:19151 c/c-parser.cc:20033
-#: c/c-parser.cc:23378 c/gimple-parser.cc:389 c/gimple-parser.cc:2321
-#: c/c-parser.cc:3267 c/c-parser.cc:3489 c/c-parser.cc:11260 cp/parser.cc:20883
-#: cp/parser.cc:32962 go/gofrontend/embed.cc:370
+#: c/c-parser.cc:6097 c/c-parser.cc:12392 c/c-parser.cc:19375
+#: c/c-parser.cc:19461 c/c-parser.cc:20119 c/c-parser.cc:20991
+#: c/c-parser.cc:24654 c/gimple-parser.cc:399 c/gimple-parser.cc:2337
+#: c/c-parser.cc:3659 c/c-parser.cc:3886 c/c-parser.cc:11944 cp/parser.cc:21026
+#: cp/parser.cc:33709 go/gofrontend/embed.cc:370
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr ""
 
-#: c/c-parser.cc:5890 c/c-parser.cc:5899 c/c-parser.cc:7656 c/c-parser.cc:8745
-#: c/c-parser.cc:11472 c/c-parser.cc:11868 c/c-parser.cc:11932
-#: c/c-parser.cc:13207 c/c-parser.cc:14227 c/c-parser.cc:14453
-#: c/c-parser.cc:14971 c/c-parser.cc:15072 c/c-parser.cc:15606
-#: c/c-parser.cc:15924 c/c-parser.cc:16000 c/c-parser.cc:16112
-#: c/c-parser.cc:21543 c/c-parser.cc:22187 c/c-parser.cc:22246
-#: c/gimple-parser.cc:572 c/gimple-parser.cc:877 c/gimple-parser.cc:2369
-#: c/gimple-parser.cc:2396 c/c-parser.cc:7131 c/c-parser.cc:13730
-#: c/c-parser.cc:15077 cp/parser.cc:32995 cp/parser.cc:34677 cp/parser.cc:37550
-#: cp/parser.cc:38425 go/gofrontend/embed.cc:403
+#: c/c-parser.cc:6392 c/c-parser.cc:6401 c/c-parser.cc:8189 c/c-parser.cc:9329
+#: c/c-parser.cc:12156 c/c-parser.cc:12553 c/c-parser.cc:12617
+#: c/c-parser.cc:13932 c/c-parser.cc:14952 c/c-parser.cc:15178
+#: c/c-parser.cc:15696 c/c-parser.cc:15797 c/c-parser.cc:16331
+#: c/c-parser.cc:16767 c/c-parser.cc:16843 c/c-parser.cc:16960
+#: c/c-parser.cc:17032 c/c-parser.cc:22536 c/c-parser.cc:23263
+#: c/c-parser.cc:23322 c/gimple-parser.cc:582 c/gimple-parser.cc:887
+#: c/gimple-parser.cc:2385 c/gimple-parser.cc:2412 c/c-parser.cc:7650
+#: c/c-parser.cc:14455 c/c-parser.cc:15802 cp/parser.cc:33742
+#: cp/parser.cc:35426 cp/parser.cc:38313 cp/parser.cc:39188
+#: go/gofrontend/embed.cc:403
 #, gcc-internal-format
 msgid "expected %<:%>"
 msgstr ""
 
-#: c/c-parser.cc:6681 cp/parser.cc:32882
+#: c/c-parser.cc:7200 cp/parser.cc:33629
 #, gcc-internal-format
 msgid "expected %<while%>"
 msgstr ""
 
-#: c/c-parser.cc:8504 c/c-parser.cc:8696 c/c-parser.cc:9164 c/c-parser.cc:9207
-#: c/c-parser.cc:9345 c/c-parser.cc:10094 c/c-parser.cc:14630
-#: c/c-parser.cc:16068 c/gimple-parser.cc:1035 c/gimple-parser.cc:1061
-#: c/gimple-parser.cc:1189 c/gimple-parser.cc:1192 c/gimple-parser.cc:1523
-#: c/gimple-parser.cc:1529 cp/parser.cc:32338 cp/parser.cc:32971
+#: c/c-parser.cc:9087 c/c-parser.cc:9280 c/c-parser.cc:9751 c/c-parser.cc:9794
+#: c/c-parser.cc:9935 c/c-parser.cc:10682 c/c-parser.cc:15355
+#: c/c-parser.cc:16912 c/gimple-parser.cc:1045 c/gimple-parser.cc:1071
+#: c/gimple-parser.cc:1199 c/gimple-parser.cc:1202 c/gimple-parser.cc:1534
+#: c/gimple-parser.cc:1540 cp/parser.cc:33064 cp/parser.cc:33718
 #, gcc-internal-format
 msgid "expected %<,%>"
 msgstr ""
 
-#: c/c-parser.cc:9061
+#: c/c-parser.cc:9648
 msgid "expected %<.%>"
 msgstr ""
 
-#: c/c-parser.cc:10931 c/c-parser.cc:10963 c/c-parser.cc:11203
-#: cp/parser.cc:35251 cp/parser.cc:35272
+#: c/c-parser.cc:11615 c/c-parser.cc:11647 c/c-parser.cc:11887
+#: cp/parser.cc:36000 cp/parser.cc:36021
 #, gcc-internal-format
 msgid "expected %<@end%>"
 msgstr ""
 
-#: c/c-parser.cc:11621 c/gimple-parser.cc:1359 cp/parser.cc:32980
+#: c/c-parser.cc:12305 c/gimple-parser.cc:1370 cp/parser.cc:33727
 #, gcc-internal-format
 msgid "expected %<>%>"
 msgstr ""
 
-#: c/c-parser.cc:15166 c/c-parser.cc:16400 cp/parser.cc:33004
+#: c/c-parser.cc:15891 c/c-parser.cc:17307 cp/parser.cc:33751
 #, gcc-internal-format
 msgid "expected %<,%> or %<)%>"
 msgstr ""
 
 #. All following cases are statements with LHS.
-#: c/c-parser.cc:15916 c/c-parser.cc:18306 c/c-parser.cc:18353
-#: c/c-parser.cc:18510 c/c-parser.cc:18858 c/c-parser.cc:19334
-#: c/c-parser.cc:21750 c/c-parser.cc:22384 c/gimple-parser.cc:730
-#: c/c-parser.cc:5488 c/c-parser.cc:18430 c/c-parser.cc:18654
-#: cp/parser.cc:32983 cp/parser.cc:40998 cp/parser.cc:41171
+#: c/c-parser.cc:16759 c/c-parser.cc:19268 c/c-parser.cc:19315
+#: c/c-parser.cc:19472 c/c-parser.cc:19819 c/c-parser.cc:20292
+#: c/c-parser.cc:22743 c/c-parser.cc:23464 c/gimple-parser.cc:740
+#: c/c-parser.cc:5983 c/c-parser.cc:19392 c/c-parser.cc:19615
+#: cp/parser.cc:33730 cp/parser.cc:42040 cp/parser.cc:42213
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr ""
 
-#: c/c-parser.cc:18441 c/c-parser.cc:18521 c/c-parser.cc:18875
-#: c/c-parser.cc:19199 c/gimple-parser.cc:1577 c/gimple-parser.cc:1609
-#: c/gimple-parser.cc:1619 c/gimple-parser.cc:2406 cp/parser.cc:32959
-#: cp/parser.cc:35461
+#: c/c-parser.cc:19403 c/c-parser.cc:19483 c/c-parser.cc:19836
+#: c/c-parser.cc:20170 c/gimple-parser.cc:1588 c/gimple-parser.cc:1620
+#: c/gimple-parser.cc:1630 c/gimple-parser.cc:2422 cp/parser.cc:33706
+#: cp/parser.cc:36210
 #, gcc-internal-format
 msgid "expected %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:18534 cp/parser.cc:41096
+#: c/c-parser.cc:19496 cp/parser.cc:42138
 #, gcc-internal-format
 msgid "expected %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:20078 c/c-parser.cc:20067 cp/parser.cc:43336
+#: c/c-parser.cc:21036 c/c-parser.cc:21025 cp/parser.cc:44395
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:22955 cp/parser.cc:46854
+#: c/c-parser.cc:24024 cp/parser.cc:48240
 msgid "<message unknown at compile time>"
 msgstr ""
 
-#: c/c-typeck.cc:8489
+#: c/c-typeck.cc:8865
 msgid "(anonymous)"
 msgstr ""
 
-#: c/gimple-parser.cc:1348 cp/parser.cc:18235 cp/parser.cc:32977
+#: c/gimple-parser.cc:1359 cp/parser.cc:18374 cp/parser.cc:33724
 #, gcc-internal-format
 msgid "expected %<<%>"
 msgstr ""
 
-#: c/gimple-parser.cc:2365 c/gimple-parser.cc:2392 c/gimple-parser.cc:2231
-#: c/gimple-parser.cc:2268
+#: c/gimple-parser.cc:2381 c/gimple-parser.cc:2408 c/gimple-parser.cc:2247
+#: c/gimple-parser.cc:2284
 #, gcc-internal-format
 msgid "expected label"
 msgstr ""
 
-#: cp/call.cc:4018
+#: cp/call.cc:4056
 msgid "candidate:"
 msgstr ""
 
-#: cp/call.cc:7746
+#: cp/call.cc:8190
 msgid "  after user-defined conversion:"
 msgstr ""
 
-#: cp/call.cc:7885 cp/pt.cc:2056 cp/pt.cc:25664
+#: cp/call.cc:8350 cp/pt.cc:2018 cp/pt.cc:25934
 msgid "candidate is:"
 msgid_plural "candidates are:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/call.cc:12539
+#: cp/call.cc:12782 cp/call.cc:13174
 msgid "candidate 1:"
 msgstr ""
 
-#: cp/call.cc:12540
+#: cp/call.cc:12784 cp/call.cc:13175
 msgid "candidate 2:"
 msgstr ""
 
-#: cp/decl.cc:3465
+#: cp/decl.cc:3587
 msgid "jump to label %qD"
 msgstr ""
 
-#: cp/decl.cc:3466
+#: cp/decl.cc:3588
 msgid "jump to case label"
 msgstr ""
 
-#: cp/error.cc:456
+#: cp/error.cc:462
 msgid "<missing>"
 msgstr ""
 
-#: cp/error.cc:558
+#: cp/error.cc:564
 msgid "<brace-enclosed initializer list>"
 msgstr ""
 
-#: cp/error.cc:560
+#: cp/error.cc:566
 msgid "<unresolved overloaded function type>"
 msgstr ""
 
-#: cp/error.cc:730
+#: cp/error.cc:733
 msgid "<type error>"
 msgstr ""
 
 #. A lambda's "type" is essentially its signature.
-#: cp/error.cc:837
+#: cp/error.cc:840
 msgid "<lambda"
 msgstr ""
 
-#: cp/error.cc:847 objc/objc-act.cc:6364 cp/cxx-pretty-print.cc:154
-#: cp/cxx-pretty-print.cc:2897
+#: cp/error.cc:850 objc/objc-act.cc:6364 cp/cxx-pretty-print.cc:154
+#: cp/cxx-pretty-print.cc:2828
 #, gcc-internal-format
 msgid "<unnamed>"
 msgstr ""
 
-#: cp/error.cc:849
+#: cp/error.cc:852
 #, c-format
 msgid "<unnamed %s>"
 msgstr ""
 
-#: cp/error.cc:982
+#: cp/error.cc:990
 msgid "<typeprefixerror>"
 msgstr ""
 
-#: cp/error.cc:1115
+#: cp/error.cc:1131
 #, c-format
 msgid "(static initializers for %s)"
 msgstr ""
 
-#: cp/error.cc:1117
+#: cp/error.cc:1133
 #, c-format
 msgid "(static destructors for %s)"
 msgstr ""
 
-#: cp/error.cc:1163
+#: cp/error.cc:1179
 msgid "<structured bindings>"
 msgstr ""
 
-#: cp/error.cc:1271
+#: cp/error.cc:1303
 msgid "vtable for "
 msgstr ""
 
-#: cp/error.cc:1295
+#: cp/error.cc:1327
 msgid "<return value> "
 msgstr ""
 
-#: cp/error.cc:1310
+#: cp/error.cc:1342
 msgid "{anonymous}"
 msgstr ""
 
-#: cp/error.cc:1312
+#: cp/error.cc:1344
 msgid "(anonymous namespace)"
 msgstr ""
 
-#: cp/error.cc:1412
+#: cp/error.cc:1444
 msgid "<template arguments error>"
 msgstr ""
 
-#: cp/error.cc:1437
+#: cp/error.cc:1469
 msgid "<enumerator>"
 msgstr ""
 
-#: cp/error.cc:1492
+#: cp/error.cc:1533
 msgid "<declaration error>"
 msgstr ""
 
-#: cp/error.cc:2045 cp/error.cc:2065
+#: cp/error.cc:2099 cp/error.cc:2119
 msgid "<template parameter error>"
 msgstr ""
 
-#: cp/error.cc:2195
+#: cp/error.cc:2249
 msgid "<statement>"
 msgstr ""
 
-#: cp/error.cc:2225 cp/error.cc:3318 c-family/c-pretty-print.cc:2644
+#: cp/error.cc:2279 cp/error.cc:3374 c-family/c-pretty-print.cc:2661
 #, gcc-internal-format
 msgid "<unknown>"
 msgstr ""
 
 #. While waiting for caret diagnostics, avoid printing
 #. __cxa_allocate_exception, __cxa_throw, and the like.
-#: cp/error.cc:2243
+#: cp/error.cc:2297
 msgid "<throw-expression>"
 msgstr ""
 
-#: cp/error.cc:2344
+#: cp/error.cc:2398
 msgid "<ubsan routine call>"
 msgstr ""
 
-#: cp/error.cc:2835
+#: cp/error.cc:2889
 msgid "<unparsed>"
 msgstr ""
 
-#: cp/error.cc:2992
+#: cp/error.cc:3046
 msgid "<lambda>"
 msgstr ""
 
-#: cp/error.cc:3031
+#: cp/error.cc:3085
 msgid "*this"
 msgstr ""
 
-#: cp/error.cc:3045
+#: cp/error.cc:3099
 msgid "<expression error>"
 msgstr ""
 
-#: cp/error.cc:3060
+#: cp/error.cc:3114
 msgid "<unknown operator>"
 msgstr ""
 
-#: cp/error.cc:3531
+#: cp/error.cc:3589
 msgid "At global scope:"
 msgstr ""
 
-#: cp/error.cc:3590
+#: cp/error.cc:3648
 msgid "    inlined from %qD at %r%s:%d:%d%R"
 msgstr ""
 
-#: cp/error.cc:3595
+#: cp/error.cc:3653
 msgid "    inlined from %qD at %r%s:%d%R"
 msgstr ""
 
-#: cp/error.cc:3601
+#: cp/error.cc:3659
 msgid "    inlined from %qD"
 msgstr ""
 
-#: cp/error.cc:3628
+#: cp/error.cc:3686
 msgid "In static member function %qD"
 msgstr ""
 
-#: cp/error.cc:3630
+#: cp/error.cc:3688
 msgid "In copy constructor %qD"
 msgstr ""
 
-#: cp/error.cc:3632
+#: cp/error.cc:3690
 msgid "In constructor %qD"
 msgstr ""
 
-#: cp/error.cc:3634
+#: cp/error.cc:3692
 msgid "In destructor %qD"
 msgstr ""
 
-#: cp/error.cc:3636
+#: cp/error.cc:3694
 msgid "In lambda function"
 msgstr ""
 
-#: cp/error.cc:3638
+#: cp/error.cc:3696
 msgid "In member function %qD"
 msgstr ""
 
-#: cp/error.cc:3641
+#: cp/error.cc:3699
 msgid "In function %qD"
 msgstr ""
 
-#: cp/error.cc:3664
+#: cp/error.cc:3722
 #, c-format
 msgid "%s: In substitution of %qS:\n"
 msgstr ""
 
-#: cp/error.cc:3665
+#: cp/error.cc:3723
 msgid "%s: In instantiation of %q#D:\n"
 msgstr ""
 
-#: cp/error.cc:3690 cp/error.cc:3844
+#: cp/error.cc:3748 cp/error.cc:3902
 msgid "%r%s:%d:%d:%R   "
 msgstr ""
 
-#: cp/error.cc:3693 cp/error.cc:3847
+#: cp/error.cc:3751 cp/error.cc:3905
 msgid "%r%s:%d:%R   "
 msgstr ""
 
-#: cp/error.cc:3701
+#: cp/error.cc:3759
 #, c-format
 msgid "recursively required by substitution of %qS\n"
 msgstr ""
 
-#: cp/error.cc:3702
+#: cp/error.cc:3760
 #, c-format
 msgid "required by substitution of %qS\n"
 msgstr ""
 
-#: cp/error.cc:3707
+#: cp/error.cc:3765
 msgid "recursively required from %q#D\n"
 msgstr ""
 
-#: cp/error.cc:3708
+#: cp/error.cc:3766
 msgid "required from %q#D\n"
 msgstr ""
 
-#: cp/error.cc:3715
+#: cp/error.cc:3773
 msgid "recursively required from here\n"
 msgstr ""
 
-#: cp/error.cc:3716
+#: cp/error.cc:3774
 msgid "required from here\n"
 msgstr ""
 
-#: cp/error.cc:3768
+#: cp/error.cc:3826
 msgid ""
 "%r%s:%d:%d:%R   [ skipping %d instantiation contexts, use -ftemplate-"
 "backtrace-limit=0 to disable ]\n"
 msgstr ""
 
-#: cp/error.cc:3774
+#: cp/error.cc:3832
 msgid ""
 "%r%s:%d:%R   [ skipping %d instantiation contexts, use -ftemplate-backtrace-"
 "limit=0 to disable ]\n"
 msgstr ""
 
-#: cp/error.cc:3828
+#: cp/error.cc:3886
 msgid "%r%s:%d:%d:%R   in %<constexpr%> expansion of %qs"
 msgstr ""
 
-#: cp/error.cc:3832
+#: cp/error.cc:3890
 msgid "%r%s:%d:%R   in %<constexpr%> expansion of %qs"
 msgstr ""
 
-#: cp/parser.cc:6032
+#: cp/parser.cc:6140
 msgid "parameter %qD may not appear in this context"
 msgstr ""
 
-#: cp/parser.cc:6033
+#: cp/parser.cc:6141
 msgid "local variable %qD may not appear in this context"
 msgstr ""
 
-#: cp/parser.cc:21691
+#: cp/parser.cc:21870
 msgid "%<using enum%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:21694
+#: cp/parser.cc:21873
 msgid "%<using enum%> of dependent type %qT"
 msgstr ""
 
-#: cp/parser.cc:21696
+#: cp/parser.cc:21875
 msgid "%<using enum%> of non-enumeration type %q#T"
 msgstr ""
 
-#: cp/parser.cc:21698
+#: cp/parser.cc:21877
 msgid "%<using enum%> of incomplete type %qT"
 msgstr ""
 
-#: cp/parser.cc:21700
+#: cp/parser.cc:21879
 msgid "%<using enum%> of %qT before its enum-specifier"
 msgstr ""
 
-#: cp/pt.cc:2054 cp/semantics.cc:5928
+#: cp/pt.cc:2016 cp/semantics.cc:5984
 msgid "candidates are:"
 msgstr ""
 
@@ -21643,56 +22228,56 @@ msgstr ""
 msgid "conversion casts away constness"
 msgstr ""
 
-#: cp/rtti.cc:814
+#: cp/rtti.cc:818
 msgid "source type is not polymorphic"
 msgstr ""
 
-#: cp/typeck.cc:7013 c/c-typeck.cc:4481
+#: cp/typeck.cc:7321 c/c-typeck.cc:4611
 #, gcc-internal-format
 msgid "wrong type argument to unary minus"
 msgstr ""
 
-#: cp/typeck.cc:7014 c/c-typeck.cc:4468
+#: cp/typeck.cc:7322 c/c-typeck.cc:4598
 #, gcc-internal-format
 msgid "wrong type argument to unary plus"
 msgstr ""
 
-#: cp/typeck.cc:7041 c/c-typeck.cc:4525
+#: cp/typeck.cc:7349 c/c-typeck.cc:4655
 #, gcc-internal-format
 msgid "wrong type argument to bit-complement"
 msgstr ""
 
-#: cp/typeck.cc:7058 c/c-typeck.cc:4533
+#: cp/typeck.cc:7366 c/c-typeck.cc:4663
 #, gcc-internal-format
 msgid "wrong type argument to abs"
 msgstr ""
 
-#: cp/typeck.cc:7070 c/c-typeck.cc:4555
+#: cp/typeck.cc:7378 c/c-typeck.cc:4685
 #, gcc-internal-format
 msgid "wrong type argument to conjugation"
 msgstr ""
 
-#: cp/typeck.cc:7088
+#: cp/typeck.cc:7400
 msgid "in argument to unary !"
 msgstr ""
 
-#: cp/typeck.cc:7134
+#: cp/typeck.cc:7449
 msgid "no pre-increment operator for type"
 msgstr ""
 
-#: cp/typeck.cc:7136
+#: cp/typeck.cc:7451
 msgid "no post-increment operator for type"
 msgstr ""
 
-#: cp/typeck.cc:7138
+#: cp/typeck.cc:7453
 msgid "no pre-decrement operator for type"
 msgstr ""
 
-#: cp/typeck.cc:7140
+#: cp/typeck.cc:7455
 msgid "no post-decrement operator for type"
 msgstr ""
 
-#: fortran/arith.cc:1414
+#: fortran/arith.cc:1487
 msgid "elemental binary operation"
 msgstr ""
 
@@ -21705,17 +22290,17 @@ msgstr ""
 msgid "arguments 'a%d' and 'a%d' for intrinsic '%s'"
 msgstr ""
 
-#: fortran/check.cc:3913 fortran/check.cc:3994 fortran/check.cc:4059
+#: fortran/check.cc:3914 fortran/check.cc:3996 fortran/check.cc:4061
 #, c-format
 msgid "arguments '%s' and '%s' for intrinsic %s"
 msgstr ""
 
-#: fortran/check.cc:4400 fortran/intrinsic.cc:4821
+#: fortran/check.cc:4402 fortran/intrinsic.cc:4821
 #, c-format
 msgid "arguments '%s' and '%s' for intrinsic '%s'"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:3553
+#: fortran/dump-parse-tree.cc:3649
 #, c-format
 msgid ""
 "/* Prototypes for external procedures generated from %s\n"
@@ -21758,7 +22343,7 @@ msgstr ""
 msgid "Deleted feature:"
 msgstr ""
 
-#: fortran/expr.cc:3774
+#: fortran/expr.cc:3783
 msgid "array assignment"
 msgstr ""
 
@@ -21769,29 +22354,29 @@ msgid ""
 msgstr ""
 
 #. Macros for unified error messages.
-#: fortran/frontend-passes.cc:4067
+#: fortran/frontend-passes.cc:4078
 #, c-format
 msgid ""
 "Incorrect extent in argument B in MATMUL intrinsic in dimension 1: is %ld, "
 "should be %ld"
 msgstr ""
 
-#: fortran/frontend-passes.cc:4070
+#: fortran/frontend-passes.cc:4081
 #, c-format
 msgid "Array bound mismatch for dimension 1 of array (%ld/%ld)"
 msgstr ""
 
-#: fortran/frontend-passes.cc:4073
+#: fortran/frontend-passes.cc:4084
 #, c-format
 msgid "Array bound mismatch for dimension 2 of array (%ld/%ld)"
 msgstr ""
 
-#: fortran/gfortranspec.cc:427
+#: fortran/gfortranspec.cc:427 m2/gm2spec.cc:791
 #, c-format
 msgid "Driving:"
 msgstr ""
 
-#: fortran/interface.cc:3574 fortran/intrinsic.cc:4505
+#: fortran/interface.cc:3618 fortran/intrinsic.cc:4505
 msgid "actual argument to INTENT = OUT/INOUT"
 msgstr ""
 
@@ -21925,237 +22510,237 @@ msgstr ""
 msgid "Unexpected end of module"
 msgstr ""
 
-#: fortran/parse.cc:1936
+#: fortran/parse.cc:1947
 msgid "arithmetic IF"
 msgstr ""
 
-#: fortran/parse.cc:1945
+#: fortran/parse.cc:1956
 msgid "attribute declaration"
 msgstr ""
 
-#: fortran/parse.cc:1981
+#: fortran/parse.cc:1992
 msgid "data declaration"
 msgstr ""
 
-#: fortran/parse.cc:1999
+#: fortran/parse.cc:2010
 msgid "derived type declaration"
 msgstr ""
 
-#: fortran/parse.cc:2126
+#: fortran/parse.cc:2137
 msgid "block IF"
 msgstr ""
 
-#: fortran/parse.cc:2135
+#: fortran/parse.cc:2146
 msgid "implied END DO"
 msgstr ""
 
-#: fortran/parse.cc:2229 fortran/resolve.cc:12074
+#: fortran/parse.cc:2240 fortran/resolve.cc:12129
 msgid "assignment"
 msgstr ""
 
-#: fortran/parse.cc:2232 fortran/resolve.cc:12132 fortran/resolve.cc:12135
+#: fortran/parse.cc:2243 fortran/resolve.cc:12187 fortran/resolve.cc:12190
 msgid "pointer assignment"
 msgstr ""
 
-#: fortran/parse.cc:2256
+#: fortran/parse.cc:2267
 msgid "simple IF"
 msgstr ""
 
-#: fortran/resolve.cc:2388 fortran/resolve.cc:2583
+#: fortran/resolve.cc:2394 fortran/resolve.cc:2589
 msgid "elemental procedure"
 msgstr ""
 
-#: fortran/resolve.cc:2486
+#: fortran/resolve.cc:2492
 msgid "allocatable argument"
 msgstr ""
 
-#: fortran/resolve.cc:2491
+#: fortran/resolve.cc:2497
 msgid "asynchronous argument"
 msgstr ""
 
-#: fortran/resolve.cc:2496
+#: fortran/resolve.cc:2502
 msgid "optional argument"
 msgstr ""
 
-#: fortran/resolve.cc:2501
+#: fortran/resolve.cc:2507
 msgid "pointer argument"
 msgstr ""
 
-#: fortran/resolve.cc:2506
+#: fortran/resolve.cc:2512
 msgid "target argument"
 msgstr ""
 
-#: fortran/resolve.cc:2511
+#: fortran/resolve.cc:2517
 msgid "value argument"
 msgstr ""
 
-#: fortran/resolve.cc:2516
+#: fortran/resolve.cc:2522
 msgid "volatile argument"
 msgstr ""
 
-#: fortran/resolve.cc:2521
+#: fortran/resolve.cc:2527
 msgid "assumed-shape argument"
 msgstr ""
 
-#: fortran/resolve.cc:2526
+#: fortran/resolve.cc:2532
 msgid "assumed-rank argument"
 msgstr ""
 
-#: fortran/resolve.cc:2531
+#: fortran/resolve.cc:2537
 msgid "coarray argument"
 msgstr ""
 
-#: fortran/resolve.cc:2536
+#: fortran/resolve.cc:2542
 msgid "parametrized derived type argument"
 msgstr ""
 
-#: fortran/resolve.cc:2541
+#: fortran/resolve.cc:2547
 msgid "polymorphic argument"
 msgstr ""
 
-#: fortran/resolve.cc:2546
+#: fortran/resolve.cc:2552
 msgid "NO_ARG_CHECK attribute"
 msgstr ""
 
 #. As assumed-type is unlimited polymorphic (cf. above).
 #. See also TS 29113, Note 6.1.
-#: fortran/resolve.cc:2553
+#: fortran/resolve.cc:2559
 msgid "assumed-type argument"
 msgstr ""
 
-#: fortran/resolve.cc:2564
+#: fortran/resolve.cc:2570
 msgid "array result"
 msgstr ""
 
-#: fortran/resolve.cc:2569
+#: fortran/resolve.cc:2575
 msgid "pointer or allocatable result"
 msgstr ""
 
-#: fortran/resolve.cc:2576
+#: fortran/resolve.cc:2582
 msgid "result with non-constant character length"
 msgstr ""
 
-#: fortran/resolve.cc:2588
+#: fortran/resolve.cc:2594
 msgid "bind(c) procedure"
 msgstr ""
 
-#: fortran/resolve.cc:4132
+#: fortran/resolve.cc:4138
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr ""
 
-#: fortran/resolve.cc:4149
+#: fortran/resolve.cc:4155
 #, c-format
 msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.cc:4166
+#: fortran/resolve.cc:4172
 #, c-format
 msgid ""
-"Unexpected derived-type entities in binary intrinsic numeric operator %%<%s"
-"%%> at %%L"
+"Unexpected derived-type entities in binary intrinsic numeric operator "
+"%%<%s%%> at %%L"
 msgstr ""
 
-#: fortran/resolve.cc:4171
+#: fortran/resolve.cc:4177
 #, c-format
 msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.cc:4186
+#: fortran/resolve.cc:4192
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.cc:4229
+#: fortran/resolve.cc:4235
 #, c-format
 msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.cc:4252
+#: fortran/resolve.cc:4258
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.cc:4266
+#: fortran/resolve.cc:4272
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4364
+#: fortran/resolve.cc:4370
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr ""
 
-#: fortran/resolve.cc:4370
+#: fortran/resolve.cc:4376
 #, c-format
 msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.cc:4384
+#: fortran/resolve.cc:4390
 #, c-format
-msgid "Unknown operator %%<%s%%> at %%L; did you mean '%s'?"
+msgid "Unknown operator %%<%s%%> at %%L; did you mean %%<%s%%>?"
 msgstr ""
 
-#: fortran/resolve.cc:4387
+#: fortran/resolve.cc:4393
 #, c-format
 msgid "Unknown operator %%<%s%%> at %%L"
 msgstr ""
 
-#: fortran/resolve.cc:4392
+#: fortran/resolve.cc:4398
 #, c-format
 msgid "Operand of user operator %%<%s%%> at %%L is %s"
 msgstr ""
 
-#: fortran/resolve.cc:4397
+#: fortran/resolve.cc:4403
 #, c-format
 msgid "Operands of user operator %%<%s%%> at %%L are %s/%s"
 msgstr ""
 
-#: fortran/resolve.cc:4483
+#: fortran/resolve.cc:4489
 #, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
 msgstr ""
 
-#: fortran/resolve.cc:7324
+#: fortran/resolve.cc:7339
 msgid "Loop variable"
 msgstr ""
 
-#: fortran/resolve.cc:7328
+#: fortran/resolve.cc:7343
 msgid "iterator variable"
 msgstr ""
 
-#: fortran/resolve.cc:7332
+#: fortran/resolve.cc:7347
 msgid "Start expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.cc:7336
+#: fortran/resolve.cc:7351
 msgid "End expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.cc:7340
+#: fortran/resolve.cc:7355
 msgid "Step expression in DO loop"
 msgstr ""
 
-#: fortran/resolve.cc:7626 fortran/resolve.cc:7629
+#: fortran/resolve.cc:7642 fortran/resolve.cc:7645
 msgid "DEALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.cc:8007 fortran/resolve.cc:8010
+#: fortran/resolve.cc:8023 fortran/resolve.cc:8026
 msgid "ALLOCATE object"
 msgstr ""
 
-#: fortran/resolve.cc:8244 fortran/resolve.cc:10215 fortran/resolve.cc:10336
+#: fortran/resolve.cc:8260 fortran/resolve.cc:10236 fortran/resolve.cc:10357
 msgid "STAT variable"
 msgstr ""
 
-#: fortran/resolve.cc:8295 fortran/resolve.cc:10227 fortran/resolve.cc:10348
+#: fortran/resolve.cc:8311 fortran/resolve.cc:10248 fortran/resolve.cc:10369
 msgid "ERRMSG variable"
 msgstr ""
 
-#: fortran/resolve.cc:10021
+#: fortran/resolve.cc:10038
 msgid "item in READ"
 msgstr ""
 
-#: fortran/resolve.cc:10239
+#: fortran/resolve.cc:10260
 msgid "ACQUIRED_LOCK variable"
 msgstr ""
 
@@ -22168,116 +22753,116 @@ msgstr ""
 msgid "Integer overflow when calculating the amount of memory to allocate"
 msgstr ""
 
-#: fortran/trans-array.cc:10118
+#: fortran/trans-array.cc:10117
 #, 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:6143
+#: fortran/trans-decl.cc:6168
 #, c-format
 msgid ""
 "Actual string length does not match the declared one for dummy argument "
 "'%s' (%ld/%ld)"
 msgstr ""
 
-#: fortran/trans-decl.cc:6151
+#: fortran/trans-decl.cc:6176
 #, c-format
 msgid ""
 "Actual string length is shorter than the declared one for dummy argument "
 "'%s' (%ld/%ld)"
 msgstr ""
 
-#: fortran/trans-expr.cc:10304
+#: fortran/trans-expr.cc:10343
 #, c-format
 msgid "Target of rank remapping is too small (%ld < %ld)"
 msgstr ""
 
-#: fortran/trans-expr.cc:11764
+#: fortran/trans-expr.cc:11806
 msgid "Assignment of scalar to unallocated array"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:975
+#: fortran/trans-intrinsic.cc:983
 #, c-format
 msgid "Unequal character lengths (%ld/%ld) in %s"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6510
+#: fortran/trans-intrinsic.cc:6518
 #, c-format
 msgid "POS argument (%ld) out of range 0:%ld in intrinsic BTEST"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6605
+#: fortran/trans-intrinsic.cc:6613
 #, c-format
 msgid "POS argument (%ld) out of range 0:%ld in intrinsic %s"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6652
+#: fortran/trans-intrinsic.cc:6660
 #, c-format
 msgid "POS argument (%ld) out of range 0:%ld in intrinsic IBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6662
+#: fortran/trans-intrinsic.cc:6670
 #, c-format
 msgid "LEN argument (%ld) out of range 0:%ld in intrinsic IBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6669
+#: fortran/trans-intrinsic.cc:6677
 #, c-format
 msgid "POS(%ld)+LEN(%ld)>BIT_SIZE(%ld) in intrinsic IBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6742
+#: fortran/trans-intrinsic.cc:6750
 #, c-format
 msgid "SHIFT argument (%ld) out of range 0:%ld in intrinsic %s"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6810
+#: fortran/trans-intrinsic.cc:6818
 #, c-format
 msgid "SHIFT argument (%ld) out of range -%ld:%ld in intrinsic ISHFT"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6876
+#: fortran/trans-intrinsic.cc:6884
 #, c-format
 msgid "SIZE argument (%ld) out of range 1:%ld in intrinsic ISHFTC"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:6884 fortran/trans-intrinsic.cc:6929
+#: fortran/trans-intrinsic.cc:6892 fortran/trans-intrinsic.cc:6937
 #, c-format
 msgid "SHIFT argument (%ld) out of range -%ld:%ld in intrinsic ISHFTC"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:9279
+#: fortran/trans-intrinsic.cc:9290
 #, c-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative (its value is %ld)"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:9311
+#: fortran/trans-intrinsic.cc:9322
 msgid "Argument NCOPIES of REPEAT intrinsic is too large"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12027
+#: fortran/trans-intrinsic.cc:12280
 #, c-format
 msgid "FROMPOS argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12039
+#: fortran/trans-intrinsic.cc:12292
 #, c-format
 msgid "LEN argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12051
+#: fortran/trans-intrinsic.cc:12304
 #, c-format
 msgid "TOPOS argument (%ld) out of range 0:%d in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12063
+#: fortran/trans-intrinsic.cc:12316
 #, c-format
 msgid "FROMPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:12071
+#: fortran/trans-intrinsic.cc:12324
 #, c-format
 msgid "TOPOS(%ld)+LEN(%ld)>BIT_SIZE(%d) in intrinsic MVBITS"
 msgstr ""
@@ -22294,20 +22879,20 @@ msgstr ""
 msgid "Assigned label is not a target label"
 msgstr ""
 
-#: fortran/trans-stmt.cc:1287
+#: fortran/trans-stmt.cc:1288
 #, c-format
 msgid "Invalid image number %d in SYNC IMAGES"
 msgstr ""
 
-#: fortran/trans-stmt.cc:2449
+#: fortran/trans-stmt.cc:2450
 msgid "Loop iterates infinitely"
 msgstr ""
 
-#: fortran/trans-stmt.cc:2469 fortran/trans-stmt.cc:2725
+#: fortran/trans-stmt.cc:2470 fortran/trans-stmt.cc:2726
 msgid "Loop variable has been modified"
 msgstr ""
 
-#: fortran/trans-stmt.cc:2578
+#: fortran/trans-stmt.cc:2579
 msgid "DO step value is zero"
 msgstr ""
 
@@ -22339,23 +22924,24 @@ msgstr ""
 msgid "Error reallocating to %lu bytes"
 msgstr ""
 
-#: go/go-backend.cc:166
+#: go/go-backend.cc:166 rust/rust-object-export.cc:148
 msgid "lseek failed while reading export data"
 msgstr ""
 
-#: go/go-backend.cc:173
+#: go/go-backend.cc:173 rust/rust-object-export.cc:155
 msgid "memory allocation failed while reading export data"
 msgstr ""
 
-#: go/go-backend.cc:181
+#: go/go-backend.cc:181 rust/rust-object-export.cc:163
 msgid "read failed while reading export data"
 msgstr ""
 
-#: go/go-backend.cc:187
+#: go/go-backend.cc:187 rust/rust-object-export.cc:169
 msgid "short read while reading export data"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:183 c-family/c-warn.cc:683 cp/cvt.cc:1397
+#: go/gofrontend/expressions.cc:183 c-family/c-warn.cc:683 cp/cvt.cc:1401
+#: rust/backend/rust-tree.cc:513
 #, gcc-internal-format
 msgid "value computed is not used"
 msgstr ""
@@ -22364,257 +22950,261 @@ msgstr ""
 msgid "invalid use of type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:3626 go/gofrontend/expressions.cc:3642
+#: go/gofrontend/expressions.cc:3549 go/gofrontend/expressions.cc:3565
 msgid "constant refers to itself"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:4741 go/gofrontend/expressions.cc:5240
+#: go/gofrontend/expressions.cc:4677 go/gofrontend/expressions.cc:5176
 msgid "expected pointer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5211
+#: go/gofrontend/expressions.cc:5147
 msgid "expected numeric type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5216
+#: go/gofrontend/expressions.cc:5152
 msgid "expected boolean type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:5221 c/c-parser.cc:15829 c/c-parser.cc:15836
-#: cp/parser.cc:39045 cp/parser.cc:39052
+#: go/gofrontend/expressions.cc:5157 c/c-parser.cc:16671 c/c-parser.cc:16678
+#: cp/parser.cc:39948 cp/parser.cc:39955
 #, gcc-internal-format
 msgid "expected integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7000
+#: go/gofrontend/expressions.cc:6937
 msgid "invalid comparison of nil with nil"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7006 go/gofrontend/expressions.cc:7024
+#: go/gofrontend/expressions.cc:6943 go/gofrontend/expressions.cc:6961
 msgid "incompatible types in binary expression"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7044
+#: go/gofrontend/expressions.cc:6981
 msgid "integer division by zero"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7052
+#: go/gofrontend/expressions.cc:6989
 msgid "shift of non-integer operand"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7055 go/gofrontend/expressions.cc:7058
-#: go/gofrontend/expressions.cc:7066
+#: go/gofrontend/expressions.cc:6992 go/gofrontend/expressions.cc:6995
+#: go/gofrontend/expressions.cc:7003
 msgid "shift count not integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7071
+#: go/gofrontend/expressions.cc:7008
 msgid "negative shift count"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7956
+#: go/gofrontend/expressions.cc:7892
 msgid "object is not a method"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:7973
+#: go/gofrontend/expressions.cc:7909
 msgid "method type does not match object type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8387
+#: go/gofrontend/expressions.cc:8323
 msgid "invalid use of %<...%> with builtin function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8398
+#: go/gofrontend/expressions.cc:8334
 msgid "invalid use of method value as argument of Offsetof"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8412
+#: go/gofrontend/expressions.cc:8348
 msgid "argument of Offsetof implies indirection of an embedded field"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8437 go/gofrontend/expressions.cc:8473
-#: go/gofrontend/expressions.cc:8909 go/gofrontend/expressions.cc:10265
-#: go/gofrontend/expressions.cc:10405 go/gofrontend/expressions.cc:10451
-#: go/gofrontend/expressions.cc:10486 go/gofrontend/expressions.cc:10562
-#: go/gofrontend/expressions.cc:10587 go/gofrontend/expressions.cc:12740
-#: go/gofrontend/expressions.cc:12757 go/gofrontend/expressions.cc:12773
+#: go/gofrontend/expressions.cc:8373 go/gofrontend/expressions.cc:8409
+#: go/gofrontend/expressions.cc:8850 go/gofrontend/expressions.cc:10206
+#: go/gofrontend/expressions.cc:10351 go/gofrontend/expressions.cc:10397
+#: go/gofrontend/expressions.cc:10432 go/gofrontend/expressions.cc:10508
+#: go/gofrontend/expressions.cc:10533 go/gofrontend/expressions.cc:12686
+#: go/gofrontend/expressions.cc:12703 go/gofrontend/expressions.cc:12719
 msgid "not enough arguments"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8439 go/gofrontend/expressions.cc:8475
-#: go/gofrontend/expressions.cc:10270 go/gofrontend/expressions.cc:10388
-#: go/gofrontend/expressions.cc:10410 go/gofrontend/expressions.cc:10491
-#: go/gofrontend/expressions.cc:10564 go/gofrontend/expressions.cc:10589
-#: go/gofrontend/expressions.cc:11469 go/gofrontend/expressions.cc:12745
-#: go/gofrontend/expressions.cc:12759 go/gofrontend/expressions.cc:12780
-#: cp/pt.cc:9167
+#: go/gofrontend/expressions.cc:8375 go/gofrontend/expressions.cc:8411
+#: go/gofrontend/expressions.cc:10211 go/gofrontend/expressions.cc:10334
+#: go/gofrontend/expressions.cc:10356 go/gofrontend/expressions.cc:10437
+#: go/gofrontend/expressions.cc:10510 go/gofrontend/expressions.cc:10535
+#: go/gofrontend/expressions.cc:11415 go/gofrontend/expressions.cc:12691
+#: go/gofrontend/expressions.cc:12705 go/gofrontend/expressions.cc:12726
+#: cp/pt.cc:9197
 #, gcc-internal-format
 msgid "too many arguments"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8477
+#: go/gofrontend/expressions.cc:8413
 msgid "argument 1 must be a map"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8939
+#: go/gofrontend/expressions.cc:8880
 msgid "invalid type for make function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8952
+#: go/gofrontend/expressions.cc:8893
 msgid "length required when allocating a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:8996
+#: go/gofrontend/expressions.cc:8937
 msgid "len larger than cap"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:9005
+#: go/gofrontend/expressions.cc:8946
 msgid "too many arguments to make"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10314
+#: go/gofrontend/expressions.cc:10255
 msgid "argument must be array or slice or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10324
+#: go/gofrontend/expressions.cc:10265
 msgid "argument must be string or array or slice or map or channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10361
+#: go/gofrontend/expressions.cc:10302
 msgid "unsupported argument type to builtin function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10372
+#: go/gofrontend/expressions.cc:10313
 msgid "argument must be channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10374
+#: go/gofrontend/expressions.cc:10315
 msgid "cannot close receive-only channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10396
+#: go/gofrontend/expressions.cc:10326
+msgid "argument to builtin has void type"
+msgstr ""
+
+#: go/gofrontend/expressions.cc:10342
 msgid "argument must be a field reference"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10426
+#: go/gofrontend/expressions.cc:10372
 msgid "left argument must be a slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10434
+#: go/gofrontend/expressions.cc:10380
 msgid "element types must be the same"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10439
+#: go/gofrontend/expressions.cc:10385
 msgid "first argument must be []byte"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10442
+#: go/gofrontend/expressions.cc:10388
 msgid "second argument must be slice or string"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10554
+#: go/gofrontend/expressions.cc:10500
 msgid "argument must have complex type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10573
+#: go/gofrontend/expressions.cc:10519
 msgid "complex arguments must have identical types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:10575
+#: go/gofrontend/expressions.cc:10521
 msgid "complex arguments must have floating-point type"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11235
+#: go/gofrontend/expressions.cc:11181
 msgid "type conversion result count mismatch"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11249 go/gofrontend/expressions.cc:12686
-#: go/gofrontend/expressions.cc:13122
+#: go/gofrontend/expressions.cc:11195 go/gofrontend/expressions.cc:12632
+#: go/gofrontend/expressions.cc:13068
 msgid "expected function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11277
+#: go/gofrontend/expressions.cc:11223
 msgid "multiple-value argument in single-value context"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:11473
+#: go/gofrontend/expressions.cc:11419
 msgid "invalid use of %<...%> with non-slice"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12694
+#: go/gofrontend/expressions.cc:12640
 msgid "function result count mismatch"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12712
+#: go/gofrontend/expressions.cc:12658
 msgid "incompatible type for receiver"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:12730
+#: go/gofrontend/expressions.cc:12676
 msgid "invalid use of %<...%> calling non-variadic function"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13131 go/gofrontend/expressions.cc:13145
+#: go/gofrontend/expressions.cc:13077 go/gofrontend/expressions.cc:13091
 msgid "number of results does not match number of values"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13437 go/gofrontend/expressions.cc:14109
+#: go/gofrontend/expressions.cc:13383 go/gofrontend/expressions.cc:14054
 msgid "index must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13446 go/gofrontend/expressions.cc:14118
+#: go/gofrontend/expressions.cc:13392 go/gofrontend/expressions.cc:14063
 msgid "slice end must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13455
+#: go/gofrontend/expressions.cc:13401
 msgid "slice capacity must be integer"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13505 go/gofrontend/expressions.cc:14152
+#: go/gofrontend/expressions.cc:13452 go/gofrontend/expressions.cc:14097
 msgid "inverted slice range"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:13548
+#: go/gofrontend/expressions.cc:13495
 msgid "slice of unaddressable value"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14408
+#: go/gofrontend/expressions.cc:14353
 msgid "incompatible type for map index"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:14846
+#: go/gofrontend/expressions.cc:14791
 msgid "expected interface or pointer to interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:15632
+#: go/gofrontend/expressions.cc:15577
 msgid "too many expressions for struct"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:15645
+#: go/gofrontend/expressions.cc:15590
 msgid "too few expressions for struct"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:17594 go/gofrontend/statements.cc:1911
+#: go/gofrontend/expressions.cc:17555 go/gofrontend/statements.cc:1921
 msgid "type assertion only valid for interface types"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:17606
+#: go/gofrontend/expressions.cc:17567
 msgid "impossible type assertion: type does not implement interface"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:17805 go/gofrontend/expressions.cc:17825
-#: go/gofrontend/statements.cc:1758
+#: go/gofrontend/expressions.cc:17766 go/gofrontend/expressions.cc:17786
+#: go/gofrontend/statements.cc:1768
 msgid "expected channel"
 msgstr ""
 
-#: go/gofrontend/expressions.cc:17830 go/gofrontend/statements.cc:1763
+#: go/gofrontend/expressions.cc:17791 go/gofrontend/statements.cc:1773
 msgid "invalid receive on send-only channel"
 msgstr ""
 
-#: go/gofrontend/parse.cc:3169
+#: go/gofrontend/parse.cc:3274
 msgid ""
 "parentheses required around this composite literal to avoid parsing ambiguity"
 msgstr ""
 
-#: go/gofrontend/parse.cc:4743
+#: go/gofrontend/parse.cc:4848
 msgid "cannot fallthrough final case in switch"
 msgstr ""
 
@@ -22622,47 +23212,47 @@ msgstr ""
 msgid "invalid left hand side of assignment"
 msgstr ""
 
-#: go/gofrontend/statements.cc:1082 go/gofrontend/statements.cc:1427
+#: go/gofrontend/statements.cc:1082 go/gofrontend/statements.cc:1437
 msgid "use of untyped nil"
 msgstr ""
 
-#: go/gofrontend/statements.cc:1549
+#: go/gofrontend/statements.cc:1559
 msgid "expected map index on right hand side"
 msgstr ""
 
-#: go/gofrontend/statements.cc:3198 go/gofrontend/statements.cc:3228
+#: go/gofrontend/statements.cc:3196 go/gofrontend/statements.cc:3226
 msgid "not enough arguments to return"
 msgstr ""
 
-#: go/gofrontend/statements.cc:3206
+#: go/gofrontend/statements.cc:3204
 msgid "return with value in function with no return type"
 msgstr ""
 
-#: go/gofrontend/statements.cc:3234
+#: go/gofrontend/statements.cc:3232
 msgid "too many values in return statement"
 msgstr ""
 
-#: go/gofrontend/statements.cc:3787
+#: go/gofrontend/statements.cc:3785
 msgid "expected boolean expression"
 msgstr ""
 
-#: go/gofrontend/statements.cc:4984
+#: go/gofrontend/statements.cc:4982
 msgid "cannot type switch on non-interface value"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5119
+#: go/gofrontend/statements.cc:5117
 msgid "incompatible types in send"
 msgstr ""
 
-#: go/gofrontend/statements.cc:5124
+#: go/gofrontend/statements.cc:5122
 msgid "invalid send on receive-only channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:6442
+#: go/gofrontend/statements.cc:6440
 msgid "too many variables for range clause with channel"
 msgstr ""
 
-#: go/gofrontend/statements.cc:6449
+#: go/gofrontend/statements.cc:6447
 msgid "range clause must have array, slice, string, map, or channel type"
 msgstr ""
 
@@ -22724,81 +23314,81 @@ msgstr ""
 msgid "conversion from normal type to notinheap type"
 msgstr ""
 
-#: go/gofrontend/types.cc:4793
+#: go/gofrontend/types.cc:4802
 msgid "different receiver types"
 msgstr ""
 
-#: go/gofrontend/types.cc:4816 go/gofrontend/types.cc:4829
-#: go/gofrontend/types.cc:4843
+#: go/gofrontend/types.cc:4825 go/gofrontend/types.cc:4838
+#: go/gofrontend/types.cc:4852
 msgid "different number of parameters"
 msgstr ""
 
-#: go/gofrontend/types.cc:4836
+#: go/gofrontend/types.cc:4845
 msgid "different parameter types"
 msgstr ""
 
-#: go/gofrontend/types.cc:4851
+#: go/gofrontend/types.cc:4860
 msgid "different varargs"
 msgstr ""
 
-#: go/gofrontend/types.cc:4864 go/gofrontend/types.cc:4877
-#: go/gofrontend/types.cc:4891
+#: go/gofrontend/types.cc:4873 go/gofrontend/types.cc:4886
+#: go/gofrontend/types.cc:4900
 msgid "different number of results"
 msgstr ""
 
-#: go/gofrontend/types.cc:4884
+#: go/gofrontend/types.cc:4893
 msgid "different result types"
 msgstr ""
 
-#: go/gofrontend/types.cc:9302
+#: go/gofrontend/types.cc:9294
 #, c-format
 msgid "need explicit conversion; missing method %s%s%s"
 msgstr ""
 
-#: go/gofrontend/types.cc:9320 go/gofrontend/types.cc:9465
+#: go/gofrontend/types.cc:9312 go/gofrontend/types.cc:9459
 #, c-format
 msgid "incompatible type for method %s%s%s"
 msgstr ""
 
-#: go/gofrontend/types.cc:9324 go/gofrontend/types.cc:9469
+#: go/gofrontend/types.cc:9316 go/gofrontend/types.cc:9463
 #, c-format
 msgid "incompatible type for method %s%s%s (%s)"
 msgstr ""
 
-#: go/gofrontend/types.cc:9405 go/gofrontend/types.cc:9418
+#: go/gofrontend/types.cc:9399 go/gofrontend/types.cc:9412
 msgid "pointer to interface type has no methods"
 msgstr ""
 
-#: go/gofrontend/types.cc:9407 go/gofrontend/types.cc:9420
+#: go/gofrontend/types.cc:9401 go/gofrontend/types.cc:9414
 msgid "type has no methods"
 msgstr ""
 
-#: go/gofrontend/types.cc:9441
+#: go/gofrontend/types.cc:9435
 #, c-format
 msgid "ambiguous method %s%s%s"
 msgstr ""
 
-#: go/gofrontend/types.cc:9444
+#: go/gofrontend/types.cc:9438
 #, c-format
 msgid "missing method %s%s%s"
 msgstr ""
 
-#: go/gofrontend/types.cc:9486
+#: go/gofrontend/types.cc:9480
 #, c-format
 msgid "method %s%s%s requires a pointer receiver"
 msgstr ""
 
-#: go/gofrontend/types.cc:9504
+#: go/gofrontend/types.cc:9498
 #, c-format
 msgid "method %s%s%s is marked go:nointerface"
 msgstr ""
 
-#: lto-streamer.h:1028
+#: lto-streamer.h:1031
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: expected tag %s instead of %s"
 msgstr ""
 
-#: lto-streamer.h:1038
+#: lto-streamer.h:1041
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
 msgstr ""
@@ -22808,13 +23398,13 @@ 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:682
+#: config/darwin.h:648
 #, gcc-internal-format
 msgid "alias definitions not supported in Mach-O; ignored"
 msgstr ""
 
 #. No profiling.
-#: config/vx-common.h:122
+#: config/vx-common.h:123
 #, gcc-internal-format
 msgid "profiler support for VxWorks"
 msgstr ""
@@ -22824,18 +23414,13 @@ msgstr ""
 msgid "target OS does not support unaligned accesses"
 msgstr ""
 
-#: config/c6x/c6x.h:346 config/nvptx/nvptx.h:173
+#: config/c6x/c6x.h:346 config/nvptx/nvptx.h:181
 #, gcc-internal-format
 msgid "profiling is not yet implemented for this architecture"
 msgstr ""
 
-#: config/cr16/cr16.h:403
-#, gcc-internal-format
-msgid "profiler support for CR16"
-msgstr ""
-
 #. Definitions for GCC.  Part of the machine description for CRIS.
-#. Copyright (C) 1998-2022 Free Software Foundation, Inc.
+#. Copyright (C) 1998-2023 Free Software Foundation, Inc.
 #. Contributed by Axis Communications.  Written by Hans-Peter Nilsson.
 #.
 #. This file is part of GCC.
@@ -22904,7 +23489,7 @@ msgstr ""
 msgid "environment variable DJGPP points to corrupt file %qs"
 msgstr ""
 
-#: config/pa/som.h:338
+#: config/pa/som.h:323
 #, gcc-internal-format
 msgid "weak aliases are not supported"
 msgstr ""
@@ -22912,7 +23497,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-2022 Free Software Foundation, Inc.
+#. Copyright (C) 2002-2023 Free Software Foundation, Inc.
 #. Contributed by David Edelsohn (edelsohn@gnu.org).
 #.
 #. This file is part of GCC.
@@ -22935,7 +23520,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-2022 Free Software Foundation, Inc.
+#. Copyright (C) 2002-2023 Free Software Foundation, Inc.
 #. Contributed by David Edelsohn (edelsohn@gnu.org).
 #.
 #. This file is part of GCC.
@@ -22958,7 +23543,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-2022 Free Software Foundation, Inc.
+#. Copyright (C) 2002-2023 Free Software Foundation, Inc.
 #. Contributed by David Edelsohn (edelsohn@gnu.org).
 #.
 #. This file is part of GCC.
@@ -22996,7 +23581,7 @@ msgid ""
 msgstr ""
 
 #: config/rs6000/aix71.h:48 config/rs6000/aix72.h:48 config/rs6000/aix73.h:48
-#: config/rs6000/rtems.h:121 config/rs6000/rs6000.cc:3515
+#: config/rs6000/rtems.h:124 config/rs6000/rs6000.cc:3462
 #, gcc-internal-format
 msgid "%<-mcmodel%> incompatible with other toc options"
 msgstr ""
@@ -23006,7 +23591,7 @@ msgstr ""
 msgid "%<soft-float%> and long-double-128 are incompatible"
 msgstr ""
 
-#: config/rs6000/rtems.h:114 config/rs6000/rs6000.cc:3507
+#: config/rs6000/rtems.h:117 config/rs6000/rs6000.cc:3454
 #, gcc-internal-format
 msgid "%<-m64%> requires a PowerPC64 cpu"
 msgstr ""
@@ -23065,7 +23650,7 @@ msgid "%<-mrelax%> is only supported for RTP PIC"
 msgstr ""
 
 #. A general purpose syntax error.
-#: fortran/gfortran.h:3295 fortran/io.cc:3736 fortran/io.cc:4422
+#: fortran/gfortran.h:3337 fortran/io.cc:3736 fortran/io.cc:4422
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in %s statement at %C"
 msgstr ""
@@ -23085,6 +23670,16 @@ msgstr ""
 msgid "unable to open file"
 msgstr ""
 
+#: m2/gm2-gcc/m2assert.h:36 m2/gm2-gcc/m2assert.h:59
+#, gcc-internal-format, gfc-internal-format
+msgid "%s:%d:condition %s failed"
+msgstr ""
+
+#: m2/gm2-gcc/m2assert.h:48
+#, gcc-internal-format, gfc-internal-format
+msgid "%s:%d:the value %s is not a BOOLEAN as the value is %d"
+msgstr ""
+
 #: fortran/lang.opt:428
 #, gcc-internal-format
 msgid "Unrecognized option to endianness value: %qs"
@@ -23100,6 +23695,21 @@ msgstr ""
 msgid "Unrecognized option: %qs"
 msgstr ""
 
+#: rust/lang.opt:82
+#, gcc-internal-format
+msgid "unknown rust mangling option %qs"
+msgstr ""
+
+#: rust/lang.opt:99
+#, gcc-internal-format
+msgid "unknown rust edition %qs"
+msgstr ""
+
+#: rust/lang.opt:126
+#, gcc-internal-format
+msgid "unknown rust compile-until %qs"
+msgstr ""
+
 #: c-family/c.opt:43 c-family/c.opt:46 c-family/c.opt:181
 #, gcc-internal-format
 msgid "assertion missing after %qs"
@@ -23113,15 +23723,15 @@ 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:2203 c-family/c.opt:2211
-#: config/darwin.opt:30 common.opt:331 common.opt:334 common.opt:3436
+#: c-family/c.opt:236 c-family/c.opt:2292 c-family/c.opt:2300
+#: config/darwin.opt:30 common.opt:329 common.opt:332 common.opt:3499
 #, 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:2199
-#: c-family/c.opt:2219 c-family/c.opt:2223 c-family/c.opt:2227
+#: c-family/c.opt:200 c-family/c.opt:212 c-family/c.opt:2288
+#: c-family/c.opt:2308 c-family/c.opt:2312 c-family/c.opt:2316
 #, gcc-internal-format
 msgid "missing path after %qs"
 msgstr ""
@@ -23141,59 +23751,64 @@ msgstr ""
 msgid "argument %qs to %<-Wbidi-chars%> not recognized"
 msgstr ""
 
-#: c-family/c.opt:1081
+#: c-family/c.opt:1106
 #, gcc-internal-format
 msgid "argument %qs to %<-Wnormalized%> not recognized"
 msgstr ""
 
-#: c-family/c.opt:1626
+#: c-family/c.opt:1667
 #, gcc-internal-format
 msgid "no class name specified with %qs"
 msgstr ""
 
-#: c-family/c.opt:1753
+#: c-family/c.opt:1695
+#, gcc-internal-format
+msgid "argument %qs must be either %<on%> or %<off%>"
+msgstr ""
+
+#: c-family/c.opt:1835
 #, gcc-internal-format
 msgid ""
 "%<-fhandle-exceptions%> has been renamed %<-fexceptions%> (and is now on by "
 "default)"
 msgstr ""
 
-#: c-family/c.opt:1824
+#: c-family/c.opt:1906
 #, gcc-internal-format
 msgid "missing mapper"
 msgstr ""
 
-#: c-family/c.opt:1848
+#: c-family/c.opt:1930
 #, gcc-internal-format
 msgid "missing header name"
 msgstr ""
 
-#: c-family/c.opt:1856
+#: c-family/c.opt:1938
 #, gcc-internal-format
 msgid "missing module name"
 msgstr ""
 
-#: c-family/c.opt:1903
+#: c-family/c.opt:1985
 #, gcc-internal-format
 msgid "unrecognized ivar visibility value %qs"
 msgstr ""
 
-#: c-family/c.opt:2063
+#: c-family/c.opt:2152
 #, gcc-internal-format
 msgid "unrecognized scalar storage order value %qs"
 msgstr ""
 
-#: d/lang.opt:189
+#: d/lang.opt:193
 #, gcc-internal-format
 msgid "unknown array bounds setting %qs"
 msgstr ""
 
-#: d/lang.opt:231
+#: d/lang.opt:235
 #, gcc-internal-format
 msgid "unknown checkaction setting %qs"
 msgstr ""
 
-#: d/lang.opt:287
+#: d/lang.opt:291
 #, gcc-internal-format
 msgid "unknown C++ standard %qs"
 msgstr ""
@@ -23215,32 +23830,37 @@ msgid ""
 "masm=intel%> and %<-masm=att%> instead"
 msgstr ""
 
-#: config/i386/i386.opt:698
+#: config/i386/i386.opt:702
 #, gcc-internal-format
 msgid "%<-msse5%> was removed"
 msgstr ""
 
+#: config/i386/i386.opt:1263
+#, gcc-internal-format
+msgid "unknown lam type %qs"
+msgstr ""
+
 #: config/avr/avr.opt:26
 #, gcc-internal-format
 msgid "missing device or architecture after %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.opt:312
+#: config/rs6000/rs6000.opt:308
 #, gcc-internal-format
 msgid "%<-mvrsave=no%> is deprecated; use %<-mno-vrsave%> instead"
 msgstr ""
 
-#: config/rs6000/rs6000.opt:316
+#: config/rs6000/rs6000.opt:312
 #, gcc-internal-format
 msgid "%<-mvrsave=yes%> is deprecated; use %<-mvrsave%> instead"
 msgstr ""
 
-#: config/rs6000/rs6000.opt:383
+#: config/rs6000/rs6000.opt:379
 #, gcc-internal-format
 msgid "using darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.opt:386
+#: config/rs6000/rs6000.opt:382
 #, gcc-internal-format
 msgid "using old darwin ABI"
 msgstr ""
@@ -23260,208 +23880,203 @@ msgstr ""
 msgid "%qs is deprecated; use -fno-zero-initialized-in-bss"
 msgstr ""
 
-#: config/arc/arc.opt:169 config/arc/arc.opt:328 config/arc/arc.opt:332
-#: config/arc/arc.opt:336 config/arc/arc.opt:343 config/arc/arc.opt:347
-#: config/arc/arc.opt:351 config/arc/arc.opt:355 config/arc/arc.opt:358
-#: config/arc/arc.opt:361 config/arc/arc.opt:378
+#: config/arc/arc.opt:169 config/arc/arc.opt:333 config/arc/arc.opt:337
+#: config/arc/arc.opt:341 config/arc/arc.opt:348 config/arc/arc.opt:352
+#: config/arc/arc.opt:356 config/arc/arc.opt:360 config/arc/arc.opt:363
+#: config/arc/arc.opt:366 config/arc/arc.opt:383
 #, gcc-internal-format
 msgid "%qs is deprecated"
 msgstr ""
 
-#: lto/lang.opt:31
+#: lto/lang.opt:28
 #, gcc-internal-format
 msgid "unknown linker output %qs"
 msgstr ""
 
-#: common.opt:1567
+#: common.opt:1590
 #, gcc-internal-format
 msgid "unknown excess precision style %qs"
 msgstr ""
 
-#: common.opt:1585
+#: common.opt:1608
 #, gcc-internal-format
 msgid ""
 "unknown specification for the set of FLT_EVAL_METHOD values to permit %qs"
 msgstr ""
 
-#: common.opt:1629
+#: common.opt:1652
 #, gcc-internal-format
 msgid "unknown floating point contraction style %qs"
 msgstr ""
 
-#: common.opt:1794
+#: common.opt:1817
 #, gcc-internal-format
 msgid "unknown Stack Reuse Level %qs"
 msgstr ""
 
-#: common.opt:1863
+#: common.opt:1886
 #, gcc-internal-format
 msgid "unknown Control-Flow Protection Level %qs"
 msgstr ""
 
-#: common.opt:1969
+#: common.opt:1996
 #, gcc-internal-format
 msgid "unknown IRA algorithm %qs"
 msgstr ""
 
-#: common.opt:1982
+#: common.opt:2009
 #, gcc-internal-format
 msgid "unknown IRA region %qs"
 msgstr ""
 
-#: common.opt:2060
+#: common.opt:2087
 #, gcc-internal-format
 msgid "unknown LTO partitioning model %qs"
 msgstr ""
 
-#: common.opt:2166
+#: common.opt:2197
 #, gcc-internal-format
 msgid "targets missing after %qs"
 msgstr ""
 
-#: common.opt:2169
+#: common.opt:2200
 #, gcc-internal-format
 msgid "options or targets=options missing after %qs"
 msgstr ""
 
-#: common.opt:2177
+#: common.opt:2208
 #, gcc-internal-format
 msgid "unknown offload ABI %qs"
 msgstr ""
 
-#: common.opt:2319
+#: common.opt:2372
 #, gcc-internal-format
 msgid "unknown profile reproducibility method %qs"
 msgstr ""
 
-#: common.opt:2335
+#: common.opt:2388
 #, gcc-internal-format
 msgid "unknown profile update method %qs"
 msgstr ""
 
-#: common.opt:2441
+#: common.opt:2494
 #, gcc-internal-format
 msgid "unknown Live-Patching Level %qs"
 msgstr ""
 
-#: common.opt:2474
+#: common.opt:2527
 #, gcc-internal-format
 msgid "unknown basic block reordering algorithm %qs"
 msgstr ""
 
-#: common.opt:2781
+#: common.opt:2834
 #, gcc-internal-format
 msgid "unknown TLS model %qs"
 msgstr ""
 
-#: common.opt:3117
+#: common.opt:3174
 #, gcc-internal-format
 msgid "unknown vectorizer cost model %qs"
 msgstr ""
 
-#: common.opt:3148
+#: common.opt:3205
 #, gcc-internal-format
 msgid "unrecognized automatic variable initialization type %qs"
 msgstr ""
 
-#: common.opt:3174
+#: common.opt:3231
 #, gcc-internal-format
 msgid "unrecognized visibility value %qs"
 msgstr ""
 
-#: common.opt:3193
+#: common.opt:3250
 #, gcc-internal-format
 msgid "unknown vtable verify initialization priority %qs"
 msgstr ""
 
-#: params.opt:142
-#, gcc-internal-format
-msgid "unknown evrp mode %qs"
-msgstr ""
-
-#: params.opt:897
+#: params.opt:882
 #, gcc-internal-format
 msgid "unknown ranger debug mode %qs"
 msgstr ""
 
-#: params.opt:1071
+#: params.opt:1056
 #, gcc-internal-format
 msgid "unknown threader debug mode %qs"
 msgstr ""
 
-#: params.opt:1196
-#, gcc-internal-format
-msgid "unknown vrp mode %qs"
-msgstr ""
-
-#: attribs.cc:254 attribs.cc:277 attribs.cc:290
+#: attribs.cc:255 attribs.cc:278 attribs.cc:291
 #, gcc-internal-format
 msgid "wrong argument to ignored attributes"
 msgstr ""
 
-#: attribs.cc:255
+#: attribs.cc:256
 #, gcc-internal-format
 msgid "valid format is %<ns::attr%> or %<ns::%>"
 msgstr ""
 
-#: attribs.cc:540
+#: attribs.cc:541
 #, gcc-internal-format
 msgid ""
 "ignoring attribute %qE in declaration of a built-in function %qD because it "
 "conflicts with attribute %qs"
 msgstr ""
 
-#: attribs.cc:546
+#: attribs.cc:547
 #, gcc-internal-format
 msgid "ignoring attribute %qE because it conflicts with attribute %qs"
 msgstr ""
 
-#: attribs.cc:552 c-family/c-attribs.cc:912 c-family/c-attribs.cc:2424
-#: c-family/c-attribs.cc:2870 c-family/c-attribs.cc:4696
-#: c-family/c-attribs.cc:4789 cp/decl.cc:15654 cp/decl.cc:15704
-#: cp/friend.cc:316 cp/tree.cc:5111
+#: attribs.cc:553 c-family/c-attribs.cc:937 c-family/c-attribs.cc:2439
+#: c-family/c-attribs.cc:2928 c-family/c-attribs.cc:4786
+#: c-family/c-attribs.cc:4879 cp/decl.cc:15925 cp/decl.cc:15975
+#: cp/friend.cc:318 cp/tree.cc:5261
 #, gcc-internal-format
 msgid "previous declaration here"
 msgstr ""
 
 #. Warn about and ignore all others for now, but store them.
-#: attribs.cc:719 c-family/c-attribs.cc:3898 objc/objc-act.cc:5133
+#: attribs.cc:720 c-family/c-attribs.cc:3956 objc/objc-act.cc:5133
 #: objc/objc-act.cc:7124 objc/objc-act.cc:8322 objc/objc-act.cc:8378
 #, gcc-internal-format
 msgid "%qE attribute directive ignored"
 msgstr ""
 
-#: attribs.cc:723
+#: attribs.cc:724
 #, gcc-internal-format
 msgid "%<%E::%E%> scoped attribute directive ignored"
 msgstr ""
 
-#: attribs.cc:735
+#: attribs.cc:737 c/c-parser.cc:1961 cp/cp-gimplify.cc:3201
 #, gcc-internal-format
 msgid "wrong number of arguments specified for %qE attribute"
 msgstr ""
 
-#: attribs.cc:738
+#: attribs.cc:740
 #, gcc-internal-format, gfc-internal-format
 msgid "expected %i or more, found %i"
 msgstr ""
 
-#: attribs.cc:741
+#: attribs.cc:743 c/c-parser.cc:1964 cp/cp-gimplify.cc:3203
+#, gcc-internal-format, gfc-internal-format
+msgid "expected %i, found %i"
+msgstr ""
+
+#: attribs.cc:746
 #, gcc-internal-format, gfc-internal-format
 msgid "expected between %i and %i, found %i"
 msgstr ""
 
-#: attribs.cc:761 c-family/c-attribs.cc:4562
+#: attribs.cc:766 c-family/c-attribs.cc:4652
 #, gcc-internal-format
 msgid "%qE attribute does not apply to types"
 msgstr ""
 
-#: attribs.cc:810
+#: attribs.cc:815
 #, gcc-internal-format
 msgid "%qE attribute only applies to function types"
 msgstr ""
 
-#: attribs.cc:820
+#: attribs.cc:825
 #, gcc-internal-format
 msgid "type attributes ignored after type is already defined"
 msgstr ""
@@ -23474,122 +24089,125 @@ 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:878 attribs.cc:1829 attribs.cc:1839 attribs.cc:1849
-#: c-family/c-attribs.cc:940 c-family/c-attribs.cc:1002
-#: c-family/c-attribs.cc:1021 c-family/c-attribs.cc:1039
-#: c-family/c-attribs.cc:1069 c-family/c-attribs.cc:1090
-#: c-family/c-attribs.cc:1111 c-family/c-attribs.cc:1152
-#: c-family/c-attribs.cc:1183 c-family/c-attribs.cc:1199
-#: c-family/c-attribs.cc:1216 c-family/c-attribs.cc:1232
-#: c-family/c-attribs.cc:1249 c-family/c-attribs.cc:1274
-#: c-family/c-attribs.cc:1290 c-family/c-attribs.cc:1305
-#: c-family/c-attribs.cc:1333 c-family/c-attribs.cc:1350
-#: c-family/c-attribs.cc:1368 c-family/c-attribs.cc:1392
-#: c-family/c-attribs.cc:1430 c-family/c-attribs.cc:1453
-#: c-family/c-attribs.cc:1470 c-family/c-attribs.cc:1499
-#: c-family/c-attribs.cc:1520 c-family/c-attribs.cc:1541
-#: c-family/c-attribs.cc:1568 c-family/c-attribs.cc:1599
-#: c-family/c-attribs.cc:1628 c-family/c-attribs.cc:1682
-#: c-family/c-attribs.cc:1735 c-family/c-attribs.cc:1801
-#: c-family/c-attribs.cc:1859 c-family/c-attribs.cc:1948
-#: c-family/c-attribs.cc:1978 c-family/c-attribs.cc:2029
-#: c-family/c-attribs.cc:2524 c-family/c-attribs.cc:2723
-#: c-family/c-attribs.cc:2784 c-family/c-attribs.cc:3025
-#: c-family/c-attribs.cc:3105 c-family/c-attribs.cc:3257
-#: c-family/c-attribs.cc:3712 c-family/c-attribs.cc:3778
-#: c-family/c-attribs.cc:3814 c-family/c-attribs.cc:3869
-#: c-family/c-attribs.cc:4051 c-family/c-attribs.cc:4072
-#: c-family/c-attribs.cc:4185 c-family/c-attribs.cc:4250
-#: c-family/c-attribs.cc:4453 c-family/c-attribs.cc:4564
-#: c-family/c-attribs.cc:5306 c-family/c-attribs.cc:5329
-#: c-family/c-attribs.cc:5368 c-family/c-attribs.cc:5450
-#: c-family/c-attribs.cc:5517 c-family/c-attribs.cc:5533
-#: c-family/c-attribs.cc:5701 c-family/c-common.cc:6037
-#: c-family/c-common.cc:6040 config/darwin.cc:2143 config/arm/arm.cc:7412
-#: config/arm/arm.cc:7440 config/arm/arm.cc:7457 config/avr/avr.cc:9568
-#: config/csky/csky.cc:6494 config/csky/csky.cc:6516 config/h8300/h8300.cc:4968
-#: config/h8300/h8300.cc:4992 config/i386/i386-options.cc:3381
-#: config/i386/i386-options.cc:3539 config/i386/i386-options.cc:3771
-#: config/i386/i386-options.cc:3801 config/ia64/ia64.cc:785
-#: config/rs6000/rs6000.cc:20324 ada/gcc-interface/utils.cc:6582
-#: ada/gcc-interface/utils.cc:6598 ada/gcc-interface/utils.cc:6636
-#: ada/gcc-interface/utils.cc:6653 ada/gcc-interface/utils.cc:6670
-#: ada/gcc-interface/utils.cc:6685 ada/gcc-interface/utils.cc:6701
-#: ada/gcc-interface/utils.cc:6727 ada/gcc-interface/utils.cc:6796
-#: ada/gcc-interface/utils.cc:6823 ada/gcc-interface/utils.cc:6844
-#: ada/gcc-interface/utils.cc:6865 ada/gcc-interface/utils.cc:6881
-#: ada/gcc-interface/utils.cc:6936 c/c-decl.cc:4644 c/c-decl.cc:4647
-#: c/c-decl.cc:4662 c/c-parser.cc:4973 d/d-attribs.cc:468 d/d-attribs.cc:677
-#: d/d-attribs.cc:698 d/d-attribs.cc:714 d/d-attribs.cc:731 d/d-attribs.cc:763
-#: d/d-attribs.cc:892 d/d-attribs.cc:951 d/d-attribs.cc:967 d/d-attribs.cc:983
-#: d/d-attribs.cc:1131 d/d-attribs.cc:1144 d/d-attribs.cc:1361
-#: d/d-attribs.cc:1382 d/d-attribs.cc:1406 jit/dummy-frontend.cc:185
-#: lto/lto-lang.cc:288
+#: attribs.cc:899 attribs.cc:1878 attribs.cc:1888 attribs.cc:1898
+#: c-family/c-attribs.cc:965 c-family/c-attribs.cc:1027
+#: c-family/c-attribs.cc:1046 c-family/c-attribs.cc:1064
+#: c-family/c-attribs.cc:1094 c-family/c-attribs.cc:1115
+#: c-family/c-attribs.cc:1136 c-family/c-attribs.cc:1177
+#: c-family/c-attribs.cc:1208 c-family/c-attribs.cc:1224
+#: c-family/c-attribs.cc:1241 c-family/c-attribs.cc:1257
+#: c-family/c-attribs.cc:1274 c-family/c-attribs.cc:1299
+#: c-family/c-attribs.cc:1315 c-family/c-attribs.cc:1330
+#: c-family/c-attribs.cc:1358 c-family/c-attribs.cc:1375
+#: c-family/c-attribs.cc:1393 c-family/c-attribs.cc:1417
+#: c-family/c-attribs.cc:1455 c-family/c-attribs.cc:1478
+#: c-family/c-attribs.cc:1495 c-family/c-attribs.cc:1524
+#: c-family/c-attribs.cc:1545 c-family/c-attribs.cc:1566
+#: c-family/c-attribs.cc:1593 c-family/c-attribs.cc:1624
+#: c-family/c-attribs.cc:1653 c-family/c-attribs.cc:1707
+#: c-family/c-attribs.cc:1760 c-family/c-attribs.cc:1826
+#: c-family/c-attribs.cc:1884 c-family/c-attribs.cc:1973
+#: c-family/c-attribs.cc:2003 c-family/c-attribs.cc:2054
+#: c-family/c-attribs.cc:2582 c-family/c-attribs.cc:2781
+#: c-family/c-attribs.cc:2842 c-family/c-attribs.cc:3083
+#: c-family/c-attribs.cc:3163 c-family/c-attribs.cc:3315
+#: c-family/c-attribs.cc:3770 c-family/c-attribs.cc:3836
+#: c-family/c-attribs.cc:3872 c-family/c-attribs.cc:3927
+#: c-family/c-attribs.cc:4109 c-family/c-attribs.cc:4130
+#: c-family/c-attribs.cc:4219 c-family/c-attribs.cc:4251
+#: c-family/c-attribs.cc:4316 c-family/c-attribs.cc:4519
+#: c-family/c-attribs.cc:4654 c-family/c-attribs.cc:5395
+#: c-family/c-attribs.cc:5418 c-family/c-attribs.cc:5457
+#: c-family/c-attribs.cc:5539 c-family/c-attribs.cc:5612
+#: c-family/c-attribs.cc:5628 c-family/c-attribs.cc:5796
+#: c-family/c-attribs.cc:5808 c-family/c-common.cc:6041
+#: c-family/c-common.cc:6044 config/darwin.cc:2143 config/arm/arm.cc:7444
+#: config/arm/arm.cc:7472 config/arm/arm.cc:7489 config/avr/avr.cc:9568
+#: config/csky/csky.cc:6498 config/csky/csky.cc:6520 config/h8300/h8300.cc:4968
+#: config/h8300/h8300.cc:4992 config/i386/i386-options.cc:3426
+#: config/i386/i386-options.cc:3584 config/i386/i386-options.cc:3816
+#: config/i386/i386-options.cc:3846 config/ia64/ia64.cc:785
+#: config/loongarch/loongarch.cc:6539 config/rs6000/rs6000.cc:20499
+#: ada/gcc-interface/utils.cc:6588 ada/gcc-interface/utils.cc:6604
+#: ada/gcc-interface/utils.cc:6642 ada/gcc-interface/utils.cc:6659
+#: ada/gcc-interface/utils.cc:6676 ada/gcc-interface/utils.cc:6691
+#: ada/gcc-interface/utils.cc:6707 ada/gcc-interface/utils.cc:6733
+#: ada/gcc-interface/utils.cc:6802 ada/gcc-interface/utils.cc:6829
+#: ada/gcc-interface/utils.cc:6850 ada/gcc-interface/utils.cc:6871
+#: ada/gcc-interface/utils.cc:6919 ada/gcc-interface/utils.cc:6935
+#: ada/gcc-interface/utils.cc:6990 c/c-decl.cc:4778 c/c-decl.cc:4781
+#: c/c-decl.cc:4796 c/c-parser.cc:5434 cp/tree.cc:5032 d/d-attribs.cc:480
+#: d/d-attribs.cc:699 d/d-attribs.cc:720 d/d-attribs.cc:736 d/d-attribs.cc:753
+#: d/d-attribs.cc:785 d/d-attribs.cc:914 d/d-attribs.cc:973 d/d-attribs.cc:989
+#: d/d-attribs.cc:1005 d/d-attribs.cc:1154 d/d-attribs.cc:1167
+#: d/d-attribs.cc:1384 d/d-attribs.cc:1402 d/d-attribs.cc:1449
+#: d/d-attribs.cc:1487 d/d-attribs.cc:1503 d/d-attribs.cc:1560
+#: d/d-attribs.cc:1588 jit/dummy-frontend.cc:185 lto/lto-lang.cc:288
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr ""
 
-#: attribs.cc:1153
+#: attribs.cc:1175
 #, gcc-internal-format
 msgid "missing %<target%> attribute for multi-versioned %qD"
 msgstr ""
 
-#: attribs.cc:1156 cp/decl.cc:1215 cp/decl.cc:2175 cp/decl.cc:2221
-#: cp/decl.cc:2237 cp/decl.cc:2866 cp/decl.cc:3312
+#: attribs.cc:1178 cp/decl.cc:1281 cp/decl.cc:2244 cp/decl.cc:2292
+#: cp/decl.cc:2308 cp/decl.cc:2988 cp/decl.cc:3434
 #, gcc-internal-format
 msgid "previous declaration of %qD"
 msgstr ""
 
-#: attribs.cc:1265
+#: attribs.cc:1287
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr ""
 
-#: attribs.cc:1760
+#: attribs.cc:1809
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr ""
 
-#: attribs.cc:1772
+#: attribs.cc:1821
 #, gcc-internal-format
 msgid ""
 "%q+D redeclared without dllimport attribute after being referenced with dll "
 "linkage"
 msgstr ""
 
-#: attribs.cc:1786
+#: attribs.cc:1835
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr ""
 
-#: attribs.cc:1867
+#: attribs.cc:1916
 #, gcc-internal-format
 msgid "inline function %q+D declared as dllimport: attribute ignored"
 msgstr ""
 
-#: attribs.cc:1875
+#: attribs.cc:1924
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr ""
 
-#: attribs.cc:1883
+#: attribs.cc:1932
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr ""
 
-#: attribs.cc:1914
+#: attribs.cc:1963
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qE attribute"
 msgstr ""
 
-#: attribs.cc:1928
+#: attribs.cc:1977
 #, gcc-internal-format
 msgid ""
 "%qE implies default visibility, but %qD has already been declared with a "
 "different visibility"
 msgstr ""
 
-#: attribs.cc:2191
+#: attribs.cc:2279
 #, gcc-internal-format
 msgid "%qD specifies more restrictive attribute than its target %qD: %s"
 msgid_plural ""
@@ -23597,12 +24215,12 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: attribs.cc:2197 attribs.cc:2217
+#: attribs.cc:2285 attribs.cc:2305
 #, gcc-internal-format
 msgid "%qD target declared here"
 msgstr ""
 
-#: attribs.cc:2211
+#: attribs.cc:2299
 #, gcc-internal-format
 msgid "%qD specifies less restrictive attribute than its target %qD: %s"
 msgid_plural ""
@@ -23615,221 +24233,221 @@ msgstr[1] ""
 msgid "offset exceeds 16 bytes"
 msgstr ""
 
-#: auto-profile.cc:863
+#: auto-profile.cc:862
 #, gcc-internal-format
 msgid "Not expected TAG."
 msgstr ""
 
-#: auto-profile.cc:928
+#: auto-profile.cc:927
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot open profile file %s"
 msgstr ""
 
-#: auto-profile.cc:934
+#: auto-profile.cc:933
 #, gcc-internal-format
 msgid "AutoFDO profile magic number does not match"
 msgstr ""
 
-#: auto-profile.cc:942
+#: auto-profile.cc:941
 #, gcc-internal-format, gfc-internal-format
 msgid "AutoFDO profile version %u does not match %u"
 msgstr ""
 
-#: auto-profile.cc:954
+#: auto-profile.cc:953
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read string table from %s"
 msgstr ""
 
-#: auto-profile.cc:962
+#: auto-profile.cc:961
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read function profile from %s"
 msgstr ""
 
-#: builtins.cc:700
+#: builtins.cc:701
 #, gcc-internal-format
 msgid "offset %qwi outside bounds of constant string"
 msgstr ""
 
-#: builtins.cc:704 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6415
+#: builtins.cc:705 gimple-ssa-warn-access.cc:4596 cp/name-lookup.cc:6417
 #, gcc-internal-format
 msgid "%qE declared here"
 msgstr ""
 
-#: builtins.cc:1312
+#: builtins.cc:1313
 #, gcc-internal-format
 msgid "second argument to %<__builtin_prefetch%> must be a constant"
 msgstr ""
 
-#: builtins.cc:1319
+#: builtins.cc:1320
 #, gcc-internal-format
 msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
 msgstr ""
 
-#: builtins.cc:1327
+#: builtins.cc:1328
 #, gcc-internal-format
 msgid "third argument to %<__builtin_prefetch%> must be a constant"
 msgstr ""
 
-#: builtins.cc:1334
+#: builtins.cc:1335
 #, gcc-internal-format
 msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
 msgstr ""
 
-#: builtins.cc:3725 gimple-fold.cc:2526 gimple-ssa-warn-access.cc:2541
-#: tree-ssa-strlen.cc:3187
+#: builtins.cc:4030 gimple-fold.cc:2523 gimple-ssa-warn-access.cc:2546
+#: tree-ssa-strlen.cc:3188
 #, gcc-internal-format
 msgid "%qD specified bound %E equals destination size"
 msgstr ""
 
-#: builtins.cc:4830 gimplify.cc:3600
+#: builtins.cc:5135 gimplify.cc:3647
 #, gcc-internal-format
 msgid "too few arguments to function %<va_start%>"
 msgstr ""
 
-#: builtins.cc:4930
+#: builtins.cc:5235
 #, gcc-internal-format
 msgid "invalid argument to %qD"
 msgstr ""
 
-#: builtins.cc:4943
+#: builtins.cc:5248
 #, 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:4951
+#: builtins.cc:5256
 #, gcc-internal-format
 msgid "calling %qD with a nonzero argument is unsafe"
 msgstr ""
 
-#: builtins.cc:5300
+#: builtins.cc:5608
 #, gcc-internal-format
 msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
 msgstr ""
 
-#: builtins.cc:5390
+#: builtins.cc:5698
 #, gcc-internal-format
 msgid "trampoline generated for nested function %qD"
 msgstr ""
 
-#: builtins.cc:5764 builtins.cc:5777
+#: builtins.cc:6072 builtins.cc:6085
 #, gcc-internal-format
 msgid "%qD changed semantics in GCC 4.4"
 msgstr ""
 
-#: builtins.cc:6512
+#: builtins.cc:6855
 #, gcc-internal-format
 msgid "non-constant argument 1 to %qs"
 msgstr ""
 
-#: builtins.cc:6554
+#: builtins.cc:6897
 #, gcc-internal-format
 msgid "non-integer argument 1 to %qs"
 msgstr ""
 
-#: builtins.cc:6618
+#: builtins.cc:6961
 #, gcc-internal-format
 msgid "%<__builtin_thread_pointer%> is not supported on this target"
 msgstr ""
 
-#: builtins.cc:6638
+#: builtins.cc:6981
 #, gcc-internal-format
 msgid "%<__builtin_set_thread_pointer%> is not supported on this target"
 msgstr ""
 
-#: builtins.cc:6697
+#: builtins.cc:7040
 #, gcc-internal-format
 msgid "%qs only supported in OpenACC code"
 msgstr ""
 
-#: builtins.cc:6704
+#: builtins.cc:7047
 #, gcc-internal-format
 msgid "non-constant argument 0 to %qs"
 msgstr ""
 
-#: builtins.cc:6716
+#: builtins.cc:7059
 #, gcc-internal-format
 msgid "illegal argument 0 to %qs"
 msgstr ""
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.cc:7194 expr.cc:11501
+#: builtins.cc:7544 expr.cc:11837
 #, 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:7200
+#: builtins.cc:7550
 #, gcc-internal-format
 msgid "invalid use of %<__builtin_va_arg_pack_len ()%>"
 msgstr ""
 
-#: builtins.cc:7469
+#: builtins.cc:7818
 #, gcc-internal-format
 msgid "%<__builtin_longjmp%> second argument must be 1"
 msgstr ""
 
-#: builtins.cc:8366
+#: builtins.cc:8714
 #, gcc-internal-format
 msgid "target format does not support infinity"
 msgstr ""
 
-#: builtins.cc:9988
+#: builtins.cc:10360
 #, gcc-internal-format
 msgid "%<va_start%> used in function with fixed arguments"
 msgstr ""
 
-#: builtins.cc:9996
+#: builtins.cc:10368
 #, gcc-internal-format
 msgid "wrong number of arguments to function %<va_start%>"
 msgstr ""
 
-#: builtins.cc:10011
+#: builtins.cc:10383
 #, gcc-internal-format
 msgid "%<__builtin_next_arg%> called without an argument"
 msgstr ""
 
-#: builtins.cc:10016
+#: builtins.cc:10388
 #, gcc-internal-format
 msgid "wrong number of arguments to function %<__builtin_next_arg%>"
 msgstr ""
 
-#: builtins.cc:10049
+#: builtins.cc:10421
 #, gcc-internal-format
 msgid "second parameter of %<va_start%> not last named argument"
 msgstr ""
 
-#: builtins.cc:10062
+#: builtins.cc:10434
 #, gcc-internal-format
 msgid ""
 "undefined behavior when second parameter of %<va_start%> is declared with "
 "%<register%> storage"
 msgstr ""
 
-#: builtins.cc:10091
+#: builtins.cc:10463
 #, gcc-internal-format
 msgid "first argument of %qD must be a pointer, second integer constant"
 msgstr ""
 
-#: builtins.cc:10104
+#: builtins.cc:10476
 #, gcc-internal-format
 msgid "last argument of %qD is not integer constant between 0 and 3"
 msgstr ""
 
-#: calls.cc:1233
+#: calls.cc:1245
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot tail-call: %s"
 msgstr ""
 
-#: calls.cc:2729
+#: calls.cc:2761
 #, gcc-internal-format
 msgid "function call has aggregate value"
 msgstr ""
 
-#: calls.cc:3451
+#: calls.cc:3490
 #, gcc-internal-format
 msgid "passing too large argument on stack"
 msgstr ""
@@ -23844,7 +24462,7 @@ msgstr ""
 msgid "total size of local objects is too large"
 msgstr ""
 
-#: cfgexpand.cc:1819 function.cc:1014 varasm.cc:2334
+#: cfgexpand.cc:1819 function.cc:1014 varasm.cc:2330
 #, gcc-internal-format
 msgid "size of variable %q+D is too large"
 msgstr ""
@@ -23942,129 +24560,129 @@ msgstr ""
 msgid "%<asm%> clobber conflict with input operand"
 msgstr ""
 
-#: cfgexpand.cc:6660
+#: cfgexpand.cc:6684
 #, gcc-internal-format
 msgid "stack protector not protecting local variables: variable length buffer"
 msgstr ""
 
-#: cfgexpand.cc:6664
+#: cfgexpand.cc:6688
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "stack protector not protecting function: all local arrays are less than %d "
 "bytes long"
 msgstr ""
 
-#: cfgexpand.cc:6953
+#: cfgexpand.cc:6977
 #, gcc-internal-format
 msgid "patchable function entry %wu exceeds size %wu"
 msgstr ""
 
-#: cfghooks.cc:119
+#: cfghooks.cc:120
 #, gcc-internal-format, gfc-internal-format
 msgid "bb %d on wrong place"
 msgstr ""
 
-#: cfghooks.cc:125
+#: cfghooks.cc:126
 #, gcc-internal-format, gfc-internal-format
 msgid "prev_bb of %d should be %d, not %d"
 msgstr ""
 
-#: cfghooks.cc:142
+#: cfghooks.cc:143
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: Block %i has loop_father, but there are no loops"
 msgstr ""
 
-#: cfghooks.cc:148
+#: cfghooks.cc:149
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: Block %i lacks loop_father"
 msgstr ""
 
-#: cfghooks.cc:154
+#: cfghooks.cc:155
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: Wrong count of block %i"
 msgstr ""
 
-#: cfghooks.cc:162
+#: cfghooks.cc:163
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: Missing count of block %i"
 msgstr ""
 
-#: cfghooks.cc:168
+#: cfghooks.cc:169
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: unallocated flag set on BB %d"
 msgstr ""
 
-#: cfghooks.cc:176
+#: cfghooks.cc:177
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: Duplicate edge %i->%i"
 msgstr ""
 
-#: cfghooks.cc:185
+#: cfghooks.cc:186
 #, gcc-internal-format, gfc-internal-format
 msgid "Uninitialized probability of edge %i->%i"
 msgstr ""
 
-#: cfghooks.cc:191
+#: cfghooks.cc:192
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: Wrong probability of edge %i->%i"
 msgstr ""
 
-#: cfghooks.cc:203
+#: cfghooks.cc:204
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: Basic block %d succ edge is corrupted"
 msgstr ""
 
-#: cfghooks.cc:215
+#: cfghooks.cc:216
 #, gcc-internal-format, gfc-internal-format
 msgid "verify_flow_info: unallocated edge flag set on %d -> %d"
 msgstr ""
 
-#: cfghooks.cc:224
+#: cfghooks.cc:225
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong amount of branch edges after unconditional jump %i"
 msgstr ""
 
-#: cfghooks.cc:232 cfghooks.cc:243
+#: cfghooks.cc:233 cfghooks.cc:244
 #, gcc-internal-format, gfc-internal-format
 msgid "basic block %d pred edge is corrupted"
 msgstr ""
 
-#: cfghooks.cc:244
+#: cfghooks.cc:245
 #, gcc-internal-format, gfc-internal-format
 msgid "its dest_idx should be %d, not %d"
 msgstr ""
 
-#: cfghooks.cc:273
+#: cfghooks.cc:274
 #, gcc-internal-format, gfc-internal-format
 msgid "basic block %i edge lists are corrupted"
 msgstr ""
 
-#: cfghooks.cc:284
+#: cfghooks.cc:285
 #, gcc-internal-format
 msgid "verify_flow_info failed"
 msgstr ""
 
-#: cfghooks.cc:342
+#: cfghooks.cc:343
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support dump_bb_for_graph"
 msgstr ""
 
-#: cfghooks.cc:385
+#: cfghooks.cc:386
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support redirect_edge_and_branch"
 msgstr ""
 
-#: cfghooks.cc:405
+#: cfghooks.cc:406
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support can_remove_branch_p"
 msgstr ""
 
-#: cfghooks.cc:499
+#: cfghooks.cc:500
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support redirect_edge_and_branch_force"
 msgstr ""
 
-#: cfghooks.cc:537
+#: cfghooks.cc:538
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support split_block"
 msgstr ""
@@ -24124,22 +24742,22 @@ msgstr ""
 msgid "%s does not support can_duplicate_block_p"
 msgstr ""
 
-#: cfghooks.cc:1102
+#: cfghooks.cc:1109
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support duplicate_block"
 msgstr ""
 
-#: cfghooks.cc:1177
+#: cfghooks.cc:1184
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support block_ends_with_call_p"
 msgstr ""
 
-#: cfghooks.cc:1188
+#: cfghooks.cc:1195
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support block_ends_with_condjump_p"
 msgstr ""
 
-#: cfghooks.cc:1206
+#: cfghooks.cc:1213
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support flow_call_edges_add"
 msgstr ""
@@ -24486,320 +25104,320 @@ msgstr ""
 msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
 msgstr ""
 
-#: cgraph.cc:3192
+#: cgraph.cc:3204
 #, gcc-internal-format
 msgid "caller edge count invalid"
 msgstr ""
 
-#: cgraph.cc:3288
+#: cgraph.cc:3302
 #, gcc-internal-format
 msgid "missing indirect call in speculative call sequence"
 msgstr ""
 
-#: cgraph.cc:3293
+#: cgraph.cc:3307
 #, gcc-internal-format
 msgid "indirect call in speculative call sequence has no speculative flag"
 msgstr ""
 
-#: cgraph.cc:3323
+#: cgraph.cc:3337
 #, gcc-internal-format
 msgid "speculative edges are not adjacent"
 msgstr ""
 
-#: cgraph.cc:3329
+#: cgraph.cc:3343
 #, gcc-internal-format, gfc-internal-format
 msgid "direct call to %s in speculative call sequence has no speculative flag"
 msgstr ""
 
-#: cgraph.cc:3335 cgraph.cc:3365
+#: cgraph.cc:3349 cgraph.cc:3379
 #, 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:3342
+#: cgraph.cc:3356
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "duplicate direct call to %s in speculative call sequence with speculative_id "
 "%i"
 msgstr ""
 
-#: cgraph.cc:3353
+#: cgraph.cc:3367
 #, gcc-internal-format
 msgid ""
 "call stmt hash does not point to first direct edge of speculative call "
 "sequence"
 msgstr ""
 
-#: cgraph.cc:3372
+#: cgraph.cc:3386
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "duplicate reference %s in speculative call sequence with speculative_id %i"
 msgstr ""
 
-#: cgraph.cc:3385
+#: cgraph.cc:3399
 #, gcc-internal-format, gfc-internal-format
 msgid "missing direct call for speculation %i"
 msgstr ""
 
-#: cgraph.cc:3390
+#: cgraph.cc:3404
 #, gcc-internal-format, gfc-internal-format
 msgid "missing ref for speculation %i"
 msgstr ""
 
-#: cgraph.cc:3399
+#: cgraph.cc:3413
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "number of speculative targets %i mismatched with "
 "num_speculative_call_targets %i"
 msgstr ""
 
-#: cgraph.cc:3428
+#: cgraph.cc:3442
 #, gcc-internal-format, gfc-internal-format
 msgid "aux field set for edge %s->%s"
 msgstr ""
 
-#: cgraph.cc:3435
+#: cgraph.cc:3449
 #, gcc-internal-format
 msgid "cgraph count invalid"
 msgstr ""
 
-#: cgraph.cc:3440
+#: cgraph.cc:3454
 #, gcc-internal-format
 msgid "inline clone in same comdat group list"
 msgstr ""
 
-#: cgraph.cc:3445
+#: cgraph.cc:3459
 #, gcc-internal-format
 msgid "inline clone count is not compatible"
 msgstr ""
 
-#: cgraph.cc:3452
+#: cgraph.cc:3466
 #, gcc-internal-format
 msgid "tp_first_run must be non-negative"
 msgstr ""
 
-#: cgraph.cc:3457
+#: cgraph.cc:3471
 #, gcc-internal-format
 msgid "local symbols must be defined"
 msgstr ""
 
-#: cgraph.cc:3462
+#: cgraph.cc:3476
 #, gcc-internal-format
 msgid "externally visible inline clone"
 msgstr ""
 
-#: cgraph.cc:3467
+#: cgraph.cc:3481
 #, gcc-internal-format
 msgid "inline clone with address taken"
 msgstr ""
 
-#: cgraph.cc:3472
+#: cgraph.cc:3486
 #, gcc-internal-format
 msgid "inline clone is forced to output"
 msgstr ""
 
-#: cgraph.cc:3479
+#: cgraph.cc:3493
 #, gcc-internal-format
 msgid "calls_comdat_local is set outside of a comdat group"
 msgstr ""
 
-#: cgraph.cc:3484
+#: cgraph.cc:3498
 #, gcc-internal-format
 msgid "invalid calls_comdat_local flag"
 msgstr ""
 
-#: cgraph.cc:3491
+#: cgraph.cc:3505
 #, gcc-internal-format
 msgid "malloc attribute should be used for a function that returns a pointer"
 msgstr ""
 
-#: cgraph.cc:3503
+#: cgraph.cc:3517
 #, gcc-internal-format
 msgid "semantic interposition mismatch"
 msgstr ""
 
-#: cgraph.cc:3510
+#: cgraph.cc:3524
 #, gcc-internal-format, gfc-internal-format
 msgid "aux field set for indirect edge from %s"
 msgstr ""
 
-#: cgraph.cc:3516 cgraph.cc:3576
+#: cgraph.cc:3530 cgraph.cc:3590
 #, gcc-internal-format
 msgid "edge count is not compatible with function count"
 msgstr ""
 
-#: cgraph.cc:3524
+#: cgraph.cc:3538
 #, 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:3532 cgraph.cc:3603
+#: cgraph.cc:3546 cgraph.cc:3617
 #, gcc-internal-format
 msgid "edge has both call_stmt and lto_stmt_uid set"
 msgstr ""
 
-#: cgraph.cc:3544
+#: cgraph.cc:3558
 #, gcc-internal-format, gfc-internal-format
 msgid "comdat-local function called by %s outside its comdat"
 msgstr ""
 
-#: cgraph.cc:3554
+#: cgraph.cc:3568
 #, gcc-internal-format
 msgid "inlined_to pointer is wrong"
 msgstr ""
 
-#: cgraph.cc:3559
+#: cgraph.cc:3573
 #, gcc-internal-format
 msgid "multiple inline callers"
 msgstr ""
 
-#: cgraph.cc:3566
+#: cgraph.cc:3580
 #, gcc-internal-format
 msgid "inlined_to pointer set for noninline callers"
 msgstr ""
 
-#: cgraph.cc:3593
+#: cgraph.cc:3607
 #, gcc-internal-format
 msgid "caller edge count does not match BB count"
 msgstr ""
 
-#: cgraph.cc:3624
+#: cgraph.cc:3638
 #, gcc-internal-format
 msgid "indirect call count does not match BB count"
 msgstr ""
 
-#: cgraph.cc:3641
+#: cgraph.cc:3655
 #, gcc-internal-format
 msgid "reference has both stmt and lto_stmt_uid set"
 msgstr ""
 
-#: cgraph.cc:3652
+#: cgraph.cc:3666
 #, gcc-internal-format
 msgid "inlined_to pointer is set but no predecessors found"
 msgstr ""
 
-#: cgraph.cc:3657
+#: cgraph.cc:3671
 #, gcc-internal-format
 msgid "inlined_to pointer refers to itself"
 msgstr ""
 
-#: cgraph.cc:3668
+#: cgraph.cc:3682
 #, gcc-internal-format
 msgid "cgraph_node has wrong clone_of"
 msgstr ""
 
-#: cgraph.cc:3681
+#: cgraph.cc:3695
 #, gcc-internal-format
 msgid "cgraph_node has wrong clone list"
 msgstr ""
 
-#: cgraph.cc:3687
+#: cgraph.cc:3701
 #, gcc-internal-format
 msgid "cgraph_node is in clone list but it is not clone"
 msgstr ""
 
-#: cgraph.cc:3692
+#: cgraph.cc:3706
 #, gcc-internal-format
 msgid "cgraph_node has wrong prev_clone pointer"
 msgstr ""
 
-#: cgraph.cc:3697
+#: cgraph.cc:3711
 #, gcc-internal-format
 msgid "double linked list of clones corrupted"
 msgstr ""
 
-#: cgraph.cc:3709
+#: cgraph.cc:3723
 #, gcc-internal-format
 msgid "Alias has call edges"
 msgstr ""
 
-#: cgraph.cc:3715
+#: cgraph.cc:3729
 #, gcc-internal-format
 msgid "Alias has non-alias reference"
 msgstr ""
 
-#: cgraph.cc:3720
+#: cgraph.cc:3734
 #, gcc-internal-format
 msgid "Alias has more than one alias reference"
 msgstr ""
 
-#: cgraph.cc:3727
+#: cgraph.cc:3741
 #, gcc-internal-format
 msgid "Analyzed alias has no reference"
 msgstr ""
 
-#: cgraph.cc:3736
+#: cgraph.cc:3750
 #, gcc-internal-format
 msgid "No edge out of thunk node"
 msgstr ""
 
-#: cgraph.cc:3741
+#: cgraph.cc:3755
 #, gcc-internal-format
 msgid "More than one edge out of thunk node"
 msgstr ""
 
-#: cgraph.cc:3746
+#: cgraph.cc:3760
 #, gcc-internal-format
 msgid "Thunk is not supposed to have body"
 msgstr ""
 
-#: cgraph.cc:3780
+#: cgraph.cc:3796
 #, gcc-internal-format
 msgid "shared call_stmt:"
 msgstr ""
 
-#: cgraph.cc:3788
+#: cgraph.cc:3804
 #, gcc-internal-format
 msgid "edge points to wrong declaration:"
 msgstr ""
 
-#: cgraph.cc:3797
+#: cgraph.cc:3813
 #, gcc-internal-format
 msgid ""
 "an indirect edge with unknown callee corresponding to a call_stmt with a "
 "known declaration:"
 msgstr ""
 
-#: cgraph.cc:3807
+#: cgraph.cc:3823
 #, gcc-internal-format
 msgid "missing callgraph edge for call stmt:"
 msgstr ""
 
-#: cgraph.cc:3817
+#: cgraph.cc:3833
 #, gcc-internal-format
 msgid "reference to dead statement"
 msgstr ""
 
-#: cgraph.cc:3830
+#: cgraph.cc:3846
 #, gcc-internal-format, gfc-internal-format
 msgid "edge %s->%s has no corresponding call_stmt"
 msgstr ""
 
-#: cgraph.cc:3842
+#: cgraph.cc:3858
 #, gcc-internal-format, gfc-internal-format
 msgid "an indirect edge from %s has no corresponding call_stmt"
 msgstr ""
 
-#: cgraph.cc:3861 cgraph.cc:3874
+#: cgraph.cc:3877 cgraph.cc:3890
 #, gcc-internal-format
 msgid "missing origin for a node in a nested list"
 msgstr ""
 
-#: cgraph.cc:3866
+#: cgraph.cc:3882
 #, gcc-internal-format
 msgid "origin points to a different parent"
 msgstr ""
 
-#: cgraph.cc:3882
+#: cgraph.cc:3898
 #, gcc-internal-format
 msgid "verify_cgraph_node failed"
 msgstr ""
 
-#: cgraph.cc:4004 varpool.cc:304
+#: cgraph.cc:4020 varpool.cc:304
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: section %s.%d is missing"
 msgstr ""
@@ -24881,82 +25499,82 @@ msgstr ""
 
 #. include_self=
 #. TODO: Add OPT_Wundefined-inline.
-#: cgraphunit.cc:1087 c/c-decl.cc:12194
+#: cgraphunit.cc:1086 c/c-decl.cc:12855
 #, gcc-internal-format
 msgid "%q+F used but never defined"
 msgstr ""
 
-#: cgraphunit.cc:1089 c/c-decl.cc:12204
+#: cgraphunit.cc:1088 c/c-decl.cc:12865
 #, gcc-internal-format
 msgid "%q+F declared %<static%> but never defined"
 msgstr ""
 
-#: cgraphunit.cc:1134
+#: cgraphunit.cc:1131
 #, gcc-internal-format
 msgid "%qD defined but not used"
 msgstr ""
 
-#: cgraphunit.cc:1469
+#: cgraphunit.cc:1466
 #, gcc-internal-format
 msgid "%<ifunc%> resolver for %qD must return %qT"
 msgstr ""
 
-#: cgraphunit.cc:1472 cgraphunit.cc:1495
+#: cgraphunit.cc:1469 cgraphunit.cc:1492
 #, gcc-internal-format
 msgid "resolver indirect function declared here"
 msgstr ""
 
-#: cgraphunit.cc:1492
+#: cgraphunit.cc:1489
 #, gcc-internal-format
 msgid "%<ifunc%> resolver for %qD should return %qT"
 msgstr ""
 
-#: cgraphunit.cc:1502
+#: cgraphunit.cc:1499
 #, gcc-internal-format
 msgid "%qD alias between functions of incompatible types %qT and %qT"
 msgstr ""
 
-#: cgraphunit.cc:1505 cgraphunit.cc:1587
+#: cgraphunit.cc:1502 cgraphunit.cc:1584
 #, gcc-internal-format
 msgid "aliased declaration here"
 msgstr ""
 
-#: cgraphunit.cc:1543 c-family/c-pragma.cc:347
+#: cgraphunit.cc:1540 c-family/c-pragma.cc:347
 #, gcc-internal-format
 msgid "%q+D aliased to undefined symbol %qE"
 msgstr ""
 
-#: cgraphunit.cc:1559
+#: cgraphunit.cc:1556
 #, gcc-internal-format
 msgid "%q+D aliased to external symbol %qE"
 msgstr ""
 
-#: cgraphunit.cc:1584
+#: cgraphunit.cc:1581
 #, gcc-internal-format
 msgid "%q+D alias between function and variable is not supported"
 msgstr ""
 
-#: cgraphunit.cc:1658
+#: cgraphunit.cc:1655
 #, gcc-internal-format
 msgid "failed to reclaim unneeded function"
 msgstr ""
 
-#: cgraphunit.cc:1686
+#: cgraphunit.cc:1683
 #, gcc-internal-format
 msgid "failed to reclaim unneeded function in same comdat group"
 msgstr ""
 
-#: cgraphunit.cc:1862
+#: cgraphunit.cc:1859
 #, gcc-internal-format
 msgid "size of return value of %q+D is %u bytes"
 msgstr ""
 
-#: cgraphunit.cc:1866
+#: cgraphunit.cc:1863
 #, gcc-internal-format
 msgid "size of return value of %q+D is larger than %wu bytes"
 msgstr ""
 
-#: cgraphunit.cc:2381
+#: cgraphunit.cc:2425
 #, gcc-internal-format
 msgid "nodes with unreleased memory found"
 msgstr ""
@@ -24996,13 +25614,13 @@ msgstr ""
 msgid "cannot find %qs"
 msgstr ""
 
-#: collect-utils.cc:225 collect2.cc:2385 collect2.cc:2555 gcc.cc:3413
-#: gcc.cc:7705
+#: collect-utils.cc:225 collect2.cc:2385 collect2.cc:2555 gcc.cc:3405
+#: gcc.cc:7677
 #, gcc-internal-format
 msgid "%<pex_init%> failed: %m"
 msgstr ""
 
-#: collect-utils.cc:234 collect2.cc:2394 collect2.cc:2563 gcc.cc:2697
+#: collect-utils.cc:234 collect2.cc:2394 collect2.cc:2563 gcc.cc:2689
 #, gcc-internal-format
 msgid "%s: %m"
 msgstr ""
@@ -25017,8 +25635,8 @@ msgstr ""
 msgid "ld returned %d exit status"
 msgstr ""
 
-#: collect2.cc:913 gcc.cc:8224 config/gcn/mkoffload.cc:826
-#: config/i386/intelmic-mkoffload.cc:597 config/nvptx/mkoffload.cc:418
+#: collect2.cc:913 gcc.cc:8196 config/gcn/mkoffload.cc:827
+#: config/nvptx/mkoffload.cc:545
 #, gcc-internal-format
 msgid "atexit failed"
 msgstr ""
@@ -25028,13 +25646,13 @@ msgstr ""
 msgid "no arguments"
 msgstr ""
 
-#: collect2.cc:1283 opts.cc:1141
+#: collect2.cc:1283 opts.cc:1152
 #, gcc-internal-format
 msgid "LTO support has not been enabled in this configuration"
 msgstr ""
 
-#: collect2.cc:1324 graph.cc:55 lto-wrapper.cc:1717 lto-wrapper.cc:1773
-#: toplev.cc:1556 objc/objc-act.cc:461
+#: collect2.cc:1324 graph.cc:55 lto-wrapper.cc:1710 lto-wrapper.cc:1766
+#: toplev.cc:1513 objc/objc-act.cc:461
 #, gcc-internal-format
 msgid "cannot open %s: %m"
 msgstr ""
@@ -25054,7 +25672,7 @@ msgstr ""
 msgid "fclose %s: %m"
 msgstr ""
 
-#: collect2.cc:2319 lto-wrapper.cc:1196 lto-wrapper.cc:1211
+#: collect2.cc:2319 lto-wrapper.cc:1215 lto-wrapper.cc:1230
 #: lto/lto-object.cc:148 lto/lto-object.cc:182 lto/lto-object.cc:279
 #: lto/lto-object.cc:336 lto/lto-object.cc:360
 #, gcc-internal-format, gfc-internal-format
@@ -25131,45 +25749,45 @@ msgstr ""
 msgid "aggregate value used where a floating-point was expected"
 msgstr ""
 
-#: convert.cc:471
+#: convert.cc:479
 #, gcc-internal-format
 msgid "conversion to incomplete type"
 msgstr ""
 
-#: convert.cc:940
+#: convert.cc:948
 #, gcc-internal-format
 msgid ""
 "cannot convert a vector of type %qT to type %qT which has different size"
 msgstr ""
 
-#: convert.cc:948
+#: convert.cc:956
 #, gcc-internal-format
 msgid "aggregate value used where an integer was expected"
 msgstr ""
 
-#: convert.cc:1036
+#: convert.cc:1044
 #, gcc-internal-format
 msgid "pointer value used where a complex was expected"
 msgstr ""
 
-#: convert.cc:1040
+#: convert.cc:1048
 #, gcc-internal-format
 msgid "aggregate value used where a complex was expected"
 msgstr ""
 
-#: convert.cc:1077
+#: convert.cc:1085
 #, gcc-internal-format
 msgid ""
 "cannot convert a value of type %qT to vector type %qT which has different "
 "size"
 msgstr ""
 
-#: convert.cc:1085
+#: convert.cc:1093
 #, gcc-internal-format
 msgid "cannot convert value to a vector"
 msgstr ""
 
-#: convert.cc:1124
+#: convert.cc:1132
 #, gcc-internal-format
 msgid "aggregate value used where a fixed-point was expected"
 msgstr ""
@@ -25305,32 +25923,17 @@ msgstr ""
 msgid "closed intervals"
 msgstr ""
 
-#: dbxout.cc:3384
-#, gcc-internal-format
-msgid "common symbol debug info is not structured as symbol+offset"
-msgstr ""
-
-#: dbxout.cc:3915
-#, gcc-internal-format
-msgid "global destructors not supported on this target"
-msgstr ""
-
-#: dbxout.cc:3932
-#, gcc-internal-format
-msgid "global constructors not supported on this target"
-msgstr ""
-
-#: diagnostic.cc:2163
+#: diagnostic.cc:2392
 #, gcc-internal-format
 msgid "debug path"
 msgstr ""
 
-#: dominance.cc:1170
+#: dominance.cc:1180
 #, gcc-internal-format, gfc-internal-format
 msgid "dominator of %d status unknown"
 msgstr ""
 
-#: dominance.cc:1178
+#: dominance.cc:1188
 #, gcc-internal-format, gfc-internal-format
 msgid "dominator of %d should be %d, not %d"
 msgstr ""
@@ -25373,32 +25976,32 @@ msgid ""
 "cfi_personality%> directive"
 msgstr ""
 
-#: dwarf2out.cc:11153
+#: dwarf2out.cc:11164
 #, gcc-internal-format
 msgid "%<-gdwarf-6%> is output as version 5 with incompatibilities"
 msgstr ""
 
-#: dwarf2out.cc:14992
+#: dwarf2out.cc:15007
 #, gcc-internal-format, gfc-internal-format
 msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
 msgstr ""
 
-#: emit-rtl.cc:2894
+#: emit-rtl.cc:2898
 #, gcc-internal-format
 msgid "invalid rtl sharing found in the insn"
 msgstr ""
 
-#: emit-rtl.cc:2896
+#: emit-rtl.cc:2900
 #, gcc-internal-format
 msgid "shared rtx"
 msgstr ""
 
-#: emit-rtl.cc:2898
+#: emit-rtl.cc:2902
 #, gcc-internal-format
 msgid "internal consistency failure"
 msgstr ""
 
-#: emit-rtl.cc:4000
+#: emit-rtl.cc:4004
 #, gcc-internal-format
 msgid "ICE: %<emit_insn%> used where %<emit_jump_insn%> needed:"
 msgstr ""
@@ -25458,7 +26061,7 @@ msgstr ""
 msgid "%<lp_array%> does not match %<region_tree%>"
 msgstr ""
 
-#: except.cc:3518 tree.cc:13971 value-prof.cc:529
+#: except.cc:3518 tree.cc:14301 value-prof.cc:529
 #, gcc-internal-format
 msgid "%qs failed"
 msgstr ""
@@ -25490,17 +26093,17 @@ msgid ""
 "truncated into %wu-bit"
 msgstr ""
 
-#: expr.cc:11513
+#: expr.cc:11849
 #, gcc-internal-format
 msgid "call to %qs declared with attribute error: %s"
 msgstr ""
 
-#: expr.cc:11527
+#: expr.cc:11863
 #, gcc-internal-format
 msgid "call to %qs declared with attribute warning: %s"
 msgstr ""
 
-#: expr.cc:12565
+#: expr.cc:12901
 #, gcc-internal-format
 msgid ""
 "assuming signed overflow does not occur when simplifying %<X - Y %s 0%> to "
@@ -25512,17 +26115,17 @@ msgstr ""
 msgid "invalid argument %qs to %qs"
 msgstr ""
 
-#: final.cc:1789
+#: final.cc:1771
 #, gcc-internal-format
 msgid "the frame size of %wu bytes is larger than %wu bytes"
 msgstr ""
 
-#: final.cc:4436 toplev.cc:1399 tree-cfgcleanup.cc:1538
+#: final.cc:4392 toplev.cc:1393 tree-cfgcleanup.cc:1549
 #, gcc-internal-format
 msgid "could not open final insn dump file %qs: %m"
 msgstr ""
 
-#: final.cc:4505 tree-cfgcleanup.cc:1555
+#: final.cc:4461 tree-cfgcleanup.cc:1566
 #, gcc-internal-format
 msgid "could not close final insn dump file %qs: %m"
 msgstr ""
@@ -25532,45 +26135,45 @@ msgstr ""
 msgid "large fixed-point constant implicitly truncated to fixed-point type"
 msgstr ""
 
-#: fold-const.cc:4666 fold-const.cc:4676
+#: fold-const.cc:4691 fold-const.cc:4701
 #, gcc-internal-format, gfc-internal-format
 msgid "comparison is always %d due to width of bit-field"
 msgstr ""
 
-#: fold-const.cc:6055 tree-ssa-reassoc.cc:2859 tree-ssa-reassoc.cc:3913
+#: fold-const.cc:6079 tree-ssa-reassoc.cc:2859 tree-ssa-reassoc.cc:3941
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying range test"
 msgstr ""
 
-#: fold-const.cc:6519 fold-const.cc:6535
+#: fold-const.cc:6543 fold-const.cc:6559
 #, gcc-internal-format, gfc-internal-format
 msgid "comparison is always %d"
 msgstr ""
 
-#: fold-const.cc:6683
+#: fold-const.cc:6707
 #, gcc-internal-format
 msgid "%<or%> of unmatched not-equal tests is always 1"
 msgstr ""
 
-#: fold-const.cc:6688
+#: fold-const.cc:6712
 #, gcc-internal-format
 msgid "%<and%> of mutually exclusive equal-tests is always 0"
 msgstr ""
 
-#: fold-const.cc:9905
+#: fold-const.cc:9941
 #, gcc-internal-format
 msgid ""
 "assuming signed overflow does not occur when reducing constant in comparison"
 msgstr ""
 
-#: fold-const.cc:10312
+#: fold-const.cc:10348
 #, gcc-internal-format
 msgid ""
 "assuming signed overflow does not occur when combining constants around a "
 "comparison"
 msgstr ""
 
-#: fold-const.cc:13577
+#: fold-const.cc:13558
 #, gcc-internal-format
 msgid "fold check: original tree changed by fold"
 msgstr ""
@@ -25585,214 +26188,214 @@ msgstr ""
 msgid "total size of local objects exceeds maximum %wu"
 msgstr ""
 
-#: function.cc:1788 gimplify.cc:6598 gimplify.cc:6760
+#: function.cc:1788 gimplify.cc:6667 gimplify.cc:6829
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr ""
 
-#: function.cc:4293
+#: function.cc:4313
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.cc:4314
+#: function.cc:4334
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr ""
 
-#: function.cc:4988
+#: function.cc:5001
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr ""
 
-#: gcc.cc:2201
+#: gcc.cc:2193
 #, gcc-internal-format
 msgid "cannot open nested response file"
 msgstr ""
 
-#: gcc.cc:2238
+#: gcc.cc:2230
 #, gcc-internal-format
 msgid "cannot close nonexistent response file"
 msgstr ""
 
-#: gcc.cc:2261
+#: gcc.cc:2253
 #, gcc-internal-format, gfc-internal-format
 msgid "could not open temporary response file %s"
 msgstr ""
 
-#: gcc.cc:2268
+#: gcc.cc:2260
 #, gcc-internal-format, gfc-internal-format
 msgid "could not write to temporary response file %s"
 msgstr ""
 
-#: gcc.cc:2274
+#: gcc.cc:2266
 #, 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:2306
+#: gcc.cc:2298
 #, gcc-internal-format
 msgid "cannot read spec file %qs: %m"
 msgstr ""
 
-#: gcc.cc:2400 gcc.cc:2421
+#: gcc.cc:2392 gcc.cc:2413
 #, gcc-internal-format, gfc-internal-format
 msgid "specs %%include syntax malformed after %ld characters"
 msgstr ""
 
-#: gcc.cc:2448 gcc.cc:2458 gcc.cc:2469 gcc.cc:2480
+#: gcc.cc:2440 gcc.cc:2450 gcc.cc:2461 gcc.cc:2472
 #, gcc-internal-format, gfc-internal-format
 msgid "specs %%rename syntax malformed after %ld characters"
 msgstr ""
 
-#: gcc.cc:2491
+#: gcc.cc:2483
 #, gcc-internal-format, gfc-internal-format
 msgid "specs %s spec was not found to be renamed"
 msgstr ""
 
-#: gcc.cc:2499
+#: gcc.cc:2491
 #, gcc-internal-format
 msgid "%s: attempt to rename spec %qs to already defined spec %qs"
 msgstr ""
 
-#: gcc.cc:2521
+#: gcc.cc:2513
 #, gcc-internal-format, gfc-internal-format
 msgid "specs unknown %% command after %ld characters"
 msgstr ""
 
-#: gcc.cc:2533 gcc.cc:2547
+#: gcc.cc:2525 gcc.cc:2539
 #, gcc-internal-format, gfc-internal-format
 msgid "specs file malformed after %ld characters"
 msgstr ""
 
-#: gcc.cc:2602
+#: gcc.cc:2594
 #, gcc-internal-format
 msgid "spec file has no spec for linking"
 msgstr ""
 
-#: gcc.cc:3166 gcc.cc:3203
+#: gcc.cc:3158 gcc.cc:3195
 #, gcc-internal-format
 msgid "system path %qs is not absolute"
 msgstr ""
 
-#: gcc.cc:3292
+#: gcc.cc:3284
 #, gcc-internal-format
 msgid "%<-pipe%> not supported"
 msgstr ""
 
-#: gcc.cc:3430 gcc.cc:7714
+#: gcc.cc:3422 gcc.cc:7686
 #, gcc-internal-format
 msgid "cannot execute %qs: %s: %m"
 msgstr ""
 
-#: gcc.cc:3431 gcc.cc:7715
+#: gcc.cc:3423 gcc.cc:7687
 #, gcc-internal-format
 msgid "cannot execute %qs: %s"
 msgstr ""
 
-#: gcc.cc:3450
+#: gcc.cc:3442
 #, gcc-internal-format
 msgid "failed to get exit status: %m"
 msgstr ""
 
-#: gcc.cc:3456
+#: gcc.cc:3448
 #, gcc-internal-format
 msgid "failed to get process times: %m"
 msgstr ""
 
 #. The inferior failed to catch the signal.
-#: gcc.cc:3482 gcc.cc:3506
+#: gcc.cc:3474 gcc.cc:3498
 #, gcc-internal-format, gfc-internal-format
 msgid "%s signal terminated program %s"
 msgstr ""
 
-#: gcc.cc:3986 opts-common.cc:1544 opts-common.cc:1576
+#: gcc.cc:3942 opts-common.cc:1548 opts-common.cc:1580
 #, gcc-internal-format
 msgid "unrecognized command-line option %qs"
 msgstr ""
 
-#: gcc.cc:4028
+#: gcc.cc:3984
 #, gcc-internal-format
 msgid "GCC is not configured to support %qs as %<-foffload=%> argument"
 msgstr ""
 
-#: gcc.cc:4035
+#: gcc.cc:3991
 #, gcc-internal-format
 msgid "valid %<-foffload=%> arguments are: %s; did you mean %qs?"
 msgstr ""
 
-#: gcc.cc:4038
+#: gcc.cc:3994
 #, gcc-internal-format
 msgid "valid %<-foffload=%> arguments are: %s"
 msgstr ""
 
-#: gcc.cc:4058
+#: gcc.cc:4014
 #, gcc-internal-format
 msgid "%<=%>options missing after %<-foffload-options=%>target"
 msgstr ""
 
-#: gcc.cc:4445
+#: gcc.cc:4401
 #, gcc-internal-format
 msgid "%qs is an unknown %<-save-temps%> option"
 msgstr ""
 
-#: gcc.cc:4968 toplev.cc:717
+#: gcc.cc:4928 toplev.cc:709
 #, gcc-internal-format
 msgid "input file %qs is the same as output file"
 msgstr ""
 
-#: gcc.cc:4973
+#: gcc.cc:4933
 #, gcc-internal-format
 msgid "output filename may not be empty"
 msgstr ""
 
-#: gcc.cc:5358
+#: gcc.cc:5318
 #, gcc-internal-format
 msgid "%<-pipe%> ignored because %<-save-temps%> specified"
 msgstr ""
 
-#: gcc.cc:5446
+#: gcc.cc:5406
 #, gcc-internal-format
 msgid "%<-x %s%> after last input file has no effect"
 msgstr ""
 
-#: gcc.cc:5649
+#: gcc.cc:5609
 #, gcc-internal-format
 msgid "unable to locate default linker script %qs in the library search paths"
 msgstr ""
 
-#: gcc.cc:5856
+#: gcc.cc:5816
 #, gcc-internal-format
 msgid "switch %qs does not start with %<-%>"
 msgstr ""
 
-#: gcc.cc:5860
+#: gcc.cc:5820
 #, gcc-internal-format
 msgid "spec-generated switch is just %<-%>"
 msgstr ""
 
-#: gcc.cc:6081
+#: gcc.cc:6041
 #, gcc-internal-format
 msgid "spec %qs invalid"
 msgstr ""
 
-#: gcc.cc:6242
+#: gcc.cc:6202
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%0%c%>"
 msgstr ""
 
-#: gcc.cc:6521
+#: gcc.cc:6493
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%W%c%>"
 msgstr ""
 
-#: gcc.cc:6537
+#: gcc.cc:6509
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%@%c%>"
 msgstr ""
 
-#: gcc.cc:6556
+#: gcc.cc:6528
 #, gcc-internal-format
 msgid "spec %qs has invalid %<%%x%c%>"
 msgstr ""
@@ -25800,138 +26403,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:6767
+#: gcc.cc:6739
 #, gcc-internal-format
 msgid "spec failure: %<%%*%> has not been initialized by pattern match"
 msgstr ""
 
-#: gcc.cc:6818
+#: gcc.cc:6790
 #, gcc-internal-format
 msgid "spec failure: unrecognized spec option %qc"
 msgstr ""
 
-#: gcc.cc:6884
+#: gcc.cc:6856
 #, gcc-internal-format
 msgid "unknown spec function %qs"
 msgstr ""
 
-#: gcc.cc:6914
+#: gcc.cc:6886
 #, gcc-internal-format
 msgid "error in arguments to spec function %qs"
 msgstr ""
 
-#: gcc.cc:6973
+#: gcc.cc:6945
 #, gcc-internal-format
 msgid "malformed spec function name"
 msgstr ""
 
 #. )
-#: gcc.cc:6976
+#: gcc.cc:6948
 #, gcc-internal-format
 msgid "no arguments for spec function"
 msgstr ""
 
-#: gcc.cc:6995
+#: gcc.cc:6967
 #, gcc-internal-format
 msgid "malformed spec function arguments"
 msgstr ""
 
-#: gcc.cc:7174
+#: gcc.cc:7146
 #, gcc-internal-format
 msgid "braced spec %qs ends in escape"
 msgstr ""
 
-#: gcc.cc:7309
+#: gcc.cc:7281
 #, gcc-internal-format
 msgid "braced spec %qs is invalid at %qc"
 msgstr ""
 
-#: gcc.cc:7404
+#: gcc.cc:7376
 #, gcc-internal-format
 msgid "braced spec body %qs is invalid"
 msgstr ""
 
-#: gcc.cc:8013
+#: gcc.cc:7985
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: could not determine length of compare-debug file %s"
 msgstr ""
 
-#: gcc.cc:8024
+#: gcc.cc:7996
 #, gcc-internal-format
 msgid "%s: %<-fcompare-debug%> failure (length)"
 msgstr ""
 
-#: gcc.cc:8034 gcc.cc:8075
+#: gcc.cc:8006 gcc.cc:8047
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: could not open compare-debug file %s"
 msgstr ""
 
-#: gcc.cc:8054 gcc.cc:8091
+#: gcc.cc:8026 gcc.cc:8063
 #, gcc-internal-format
 msgid "%s: %<-fcompare-debug%> failure"
 msgstr ""
 
-#: gcc.cc:8394
+#: gcc.cc:8366
 #, gcc-internal-format
 msgid "spec failure: more than one argument to %<SYSROOT_SUFFIX_SPEC%>"
 msgstr ""
 
-#: gcc.cc:8419
+#: gcc.cc:8391
 #, gcc-internal-format
 msgid "spec failure: more than one argument to %<SYSROOT_HEADERS_SUFFIX_SPEC%>"
 msgstr ""
 
-#: gcc.cc:8626
+#: gcc.cc:8598
 #, gcc-internal-format
 msgid "unrecognized command-line option %<-%s%>; did you mean %<-%s%>?"
 msgstr ""
 
-#: gcc.cc:8630
+#: gcc.cc:8602
 #, gcc-internal-format
 msgid "unrecognized command-line option %<-%s%>"
 msgstr ""
 
-#: gcc.cc:8756
+#: gcc.cc:8728
 #, gcc-internal-format
 msgid "not configured with sysroot headers suffix"
 msgstr ""
 
-#: gcc.cc:8817
+#: gcc.cc:8789
 #, gcc-internal-format
 msgid "no input files"
 msgstr ""
 
-#: gcc.cc:8868
+#: gcc.cc:8840
 #, gcc-internal-format
 msgid "cannot specify %<-o%> with %<-c%>, %<-S%> or %<-E%> with multiple files"
 msgstr ""
 
-#: gcc.cc:8910
+#: gcc.cc:8882
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: %s compiler not installed on this system"
 msgstr ""
 
-#: gcc.cc:8935
+#: gcc.cc:8907
 #, gcc-internal-format
 msgid "recompiling with %<-fcompare-debug%>"
 msgstr ""
 
-#: gcc.cc:8951
+#: gcc.cc:8923
 #, gcc-internal-format
 msgid "during %<-fcompare-debug%> recompilation"
 msgstr ""
 
-#: gcc.cc:8960
+#: gcc.cc:8932
 #, gcc-internal-format
 msgid "comparing final insns dumps"
 msgstr ""
 
-#: gcc.cc:9113
+#: gcc.cc:9085
 #, gcc-internal-format
 msgid "%<-fuse-linker-plugin%>, but %s not found"
 msgstr ""
 
-#: gcc.cc:9147
+#: gcc.cc:9119
 #, gcc-internal-format, gfc-internal-format
 msgid "%s: linker input file unused because linking not done"
 msgstr ""
@@ -25939,92 +26542,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:9153
+#: gcc.cc:9125
 #, gcc-internal-format
 msgid "%s: linker input file not found: %m"
 msgstr ""
 
-#: gcc.cc:9249 c-family/c-opts.cc:793
+#: gcc.cc:9192 c-family/c-opts.cc:791
 #, gcc-internal-format
 msgid "cannot use %<-%> as input filename for a precompiled header"
 msgstr ""
 
-#: gcc.cc:9255
+#: gcc.cc:9198
 #, gcc-internal-format, gfc-internal-format
 msgid "language %s not recognized"
 msgstr ""
 
-#: gcc.cc:9495
+#: gcc.cc:9441
 #, gcc-internal-format
 msgid "multilib spec %qs is invalid"
 msgstr ""
 
-#: gcc.cc:9697
+#: gcc.cc:9643
 #, gcc-internal-format
 msgid "multilib exclusions %qs is invalid"
 msgstr ""
 
-#: gcc.cc:9761
+#: gcc.cc:9707 common/config/riscv/riscv-common.cc:1637
 #, gcc-internal-format
 msgid "multilib select %qs %qs is invalid"
 msgstr ""
 
-#: gcc.cc:9924
+#: gcc.cc:9881
 #, gcc-internal-format
 msgid "multilib select %qs is invalid"
 msgstr ""
 
-#: gcc.cc:9964
+#: gcc.cc:9921
 #, gcc-internal-format
 msgid "multilib exclusion %qs is invalid"
 msgstr ""
 
-#: gcc.cc:10215
+#: gcc.cc:10172
 #, gcc-internal-format
 msgid "environment variable %qs not defined"
 msgstr ""
 
-#: gcc.cc:10382 gcc.cc:10387
+#: gcc.cc:10340 gcc.cc:10345
 #, gcc-internal-format
 msgid "invalid version number %qs"
 msgstr ""
 
-#: gcc.cc:10430
+#: gcc.cc:10388
 #, gcc-internal-format, gfc-internal-format
 msgid "too few arguments to %%:version-compare"
 msgstr ""
 
-#: gcc.cc:10436
+#: gcc.cc:10394
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments to %%:version-compare"
 msgstr ""
 
-#: gcc.cc:10478
+#: gcc.cc:10436
 #, gcc-internal-format
 msgid "unknown operator %qs in %%:version-compare"
 msgstr ""
 
-#: gcc.cc:10602
+#: gcc.cc:10560
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments to %%:compare-debug-dump-opt"
 msgstr ""
 
-#: gcc.cc:10670
+#: gcc.cc:10628
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments to %%:compare-debug-self-opt"
 msgstr ""
 
-#: gcc.cc:10757
+#: gcc.cc:10715
 #, gcc-internal-format, gfc-internal-format
 msgid "too many arguments for %%:dumps"
 msgstr ""
 
-#: gcc.cc:10861
+#: gcc.cc:10819
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of arguments to %%:debug-level-gt"
 msgstr ""
 
-#: gcc.cc:10882
+#: gcc.cc:10840
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of arguments to %%:dwarf-version-gt"
 msgstr ""
@@ -26121,36 +26724,36 @@ msgstr ""
 msgid "duplicate definition of '%s'"
 msgstr ""
 
-#: ggc-common.cc:415 ggc-common.cc:423 ggc-common.cc:551 ggc-common.cc:569
-#: ggc-common.cc:683 ggc-common.cc:694 ggc-common.cc:709 ggc-page.cc:2499
+#: ggc-common.cc:418 ggc-common.cc:426 ggc-common.cc:554 ggc-common.cc:572
+#: ggc-common.cc:686 ggc-common.cc:697 ggc-common.cc:712 ggc-page.cc:2499
 #: ggc-page.cc:2530 ggc-page.cc:2537
 #, gcc-internal-format
 msgid "cannot write PCH file: %m"
 msgstr ""
 
-#: ggc-common.cc:533
+#: ggc-common.cc:536
 #, gcc-internal-format
 msgid "cannot write PCH file: required memory segment unavailable"
 msgstr ""
 
-#: ggc-common.cc:562 config/i386/host-cygwin.cc:57
+#: ggc-common.cc:565 config/i386/host-cygwin.cc:57
 #, gcc-internal-format
 msgid "cannot get position in PCH file: %m"
 msgstr ""
 
-#: ggc-common.cc:572
+#: ggc-common.cc:575
 #, gcc-internal-format
 msgid "cannot write padding to PCH file: %m"
 msgstr ""
 
-#: ggc-common.cc:748 ggc-common.cc:764 ggc-common.cc:767 ggc-common.cc:790
-#: ggc-common.cc:793 ggc-common.cc:797 ggc-common.cc:832 ggc-common.cc:861
-#: ggc-common.cc:869 ggc-common.cc:879 ggc-common.cc:890 ggc-page.cc:2601
+#: ggc-common.cc:751 ggc-common.cc:767 ggc-common.cc:770 ggc-common.cc:793
+#: ggc-common.cc:796 ggc-common.cc:800 ggc-common.cc:835 ggc-common.cc:864
+#: ggc-common.cc:872 ggc-common.cc:882 ggc-common.cc:893 ggc-page.cc:2601
 #, gcc-internal-format
 msgid "cannot read PCH file: %m"
 msgstr ""
 
-#: ggc-common.cc:777
+#: ggc-common.cc:780
 #, gcc-internal-format
 msgid "PCH allocation failure"
 msgstr ""
@@ -26165,122 +26768,127 @@ msgstr ""
 msgid "cannot write PCH file"
 msgstr ""
 
-#: gimple-array-bounds.cc:291
+#: gimple-array-bounds.cc:279
 #, gcc-internal-format
 msgid "array subscript %E is outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:317
+#: gimple-array-bounds.cc:298
 #, gcc-internal-format
 msgid "array subscript [%E, %E] is outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:327
+#: gimple-array-bounds.cc:312
 #, gcc-internal-format
 msgid "array subscript %E is above array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:332
+#: gimple-array-bounds.cc:321
 #, gcc-internal-format
 msgid "array subscript %E is below array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:338
+#: gimple-array-bounds.cc:394
 #, gcc-internal-format
 msgid ""
 "array subscript %E is outside the bounds of an interior zero-length array %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:340
+#: gimple-array-bounds.cc:396
 #, gcc-internal-format
 msgid ""
 "array subscript %qE is outside the bounds of an interior zero-length array "
 "%qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:374 gimple-array-bounds.cc:641
+#: gimple-array-bounds.cc:417
+#, gcc-internal-format
+msgid "trailing array %qT should not be used as a flexible array member"
+msgstr ""
+
+#: gimple-array-bounds.cc:443 gimple-array-bounds.cc:710
 #, gcc-internal-format
 msgid "while referencing %qD"
 msgstr ""
 
-#: gimple-array-bounds.cc:376
+#: gimple-array-bounds.cc:445
 #, gcc-internal-format
 msgid "defined here %qD"
 msgstr ""
 
-#: gimple-array-bounds.cc:497
+#: gimple-array-bounds.cc:566
 #, gcc-internal-format
 msgid "array subscript %wi is outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:502
+#: gimple-array-bounds.cc:571
 #, gcc-internal-format
 msgid "array subscript [%wi, %wi] is outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:517
+#: gimple-array-bounds.cc:586
 #, gcc-internal-format
 msgid "array subscript %<%T[%wi]%> is partly outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:540
+#: gimple-array-bounds.cc:609
 #, gcc-internal-format
 msgid "intermediate array offset %wi is outside array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:619
+#: gimple-array-bounds.cc:688
 #, gcc-internal-format
 msgid "array subscript %wi is below array bounds of %qT"
 msgstr ""
 
-#: gimple-array-bounds.cc:633
+#: gimple-array-bounds.cc:702
 #, gcc-internal-format
 msgid "array subscript %wu is above array bounds of %qT"
 msgstr ""
 
-#: gimple-fold.cc:2082 gimple-fold.cc:3133 gimple-ssa-warn-restrict.cc:2073
+#: gimple-fold.cc:2079 gimple-fold.cc:3130 gimple-ssa-warn-restrict.cc:2078
 #, gcc-internal-format
 msgid "%qD source argument is the same as destination"
 msgstr ""
 
-#: gimple-fold.cc:2148
+#: gimple-fold.cc:2145
 #, gcc-internal-format
 msgid ""
 "%qD destination unchanged after copying no bytes from a string of length %E"
 msgstr ""
 
-#: gimple-fold.cc:2153
+#: gimple-fold.cc:2150
 #, gcc-internal-format
 msgid "%qD destination unchanged after copying no bytes"
 msgstr ""
 
-#: gimple-fold.cc:2528 gimple-ssa-warn-access.cc:856
+#: gimple-fold.cc:2525 gimple-ssa-warn-access.cc:859
 #, gcc-internal-format
 msgid "%qD specified bound %E exceeds destination size %E"
 msgstr ""
 
-#: gimple-fold.cc:2547
+#: gimple-fold.cc:2544
 #, gcc-internal-format
 msgid "%qD specified bound %E equals source length"
 msgstr ""
 
-#: gimple-fold.cc:4545 gimple-fold.cc:4749
+#: gimple-fold.cc:4542 gimple-fold.cc:4746
 #, gcc-internal-format
 msgid ""
 "flexible array member %qD does not have well defined padding bits for %qs"
 msgstr ""
 
-#: gimple-fold.cc:4698 cp/constexpr.cc:4359
+#: gimple-fold.cc:4695 cp/constexpr.cc:4643
 #, gcc-internal-format
 msgid "PDP11 bit-field handling unsupported in %qs"
 msgstr ""
 
-#: gimple-fold.cc:4926
+#: gimple-fold.cc:4923
 #, gcc-internal-format, gfc-internal-format
 msgid "%s not supported for variable length aggregates"
 msgstr ""
 
-#: gimple-fold.cc:4932
+#: gimple-fold.cc:4929
 #, gcc-internal-format, gfc-internal-format
 msgid "%s not supported on this target"
 msgstr ""
@@ -26300,21 +26908,23 @@ msgstr ""
 msgid "function may return address of local variable"
 msgstr ""
 
-#: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:10989
+#: gimple-ssa-isolate-paths.cc:414 c/c-typeck.cc:11407
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr ""
 
-#: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2028
-#: gimple-ssa-warn-access.cc:3693 tree.cc:12208 tree.cc:12245 tree.cc:12286
-#: tree.cc:12319 c/c-typeck.cc:2991 c/c-typeck.cc:3084 c/c-typeck.cc:5634
-#: c/c-typeck.cc:10895 c/c-typeck.cc:10912 c/gimple-parser.cc:2468
-#: c/gimple-parser.cc:2476 cp/call.cc:7617 cp/call.cc:9692 cp/class.cc:9016
-#: cp/constexpr.cc:853 cp/constexpr.cc:3816 cp/cvt.cc:1075 cp/cvt.cc:1113
-#: cp/decl.cc:8648 cp/decl.cc:15856 cp/decl.cc:16223 cp/decl2.cc:5849
-#: cp/decl2.cc:5904 cp/parser.cc:21712 cp/pt.cc:8975 cp/semantics.cc:2172
-#: cp/semantics.cc:3489 cp/semantics.cc:4572 cp/typeck.cc:1991
-#: cp/typeck.cc:2210 cp/typeck.cc:4341 cp/typeck.cc:10191
+#: gimple-ssa-isolate-paths.cc:417 gimple-ssa-warn-access.cc:2034
+#: gimple-ssa-warn-access.cc:3702 tree.cc:12382 tree.cc:12419 tree.cc:12460
+#: tree.cc:12493 c/c-typeck.cc:3102 c/c-typeck.cc:3197 c/c-typeck.cc:5779
+#: c/c-typeck.cc:11313 c/c-typeck.cc:11330 c/gimple-parser.cc:2484
+#: c/gimple-parser.cc:2492 cp/call.cc:8061 cp/call.cc:10206 cp/class.cc:9066
+#: cp/constexpr.cc:893 cp/constexpr.cc:4090 cp/cvt.cc:1079 cp/cvt.cc:1117
+#: cp/decl.cc:8847 cp/decl.cc:16122 cp/decl.cc:16489 cp/decl2.cc:5680
+#: cp/decl2.cc:5735 cp/parser.cc:21891 cp/pt.cc:9005 cp/semantics.cc:2192
+#: cp/semantics.cc:3543 cp/semantics.cc:4628 cp/typeck.cc:2143
+#: cp/typeck.cc:2363 cp/typeck.cc:4494 cp/typeck.cc:10576
+#: rust/backend/rust-constexpr.cc:4415 rust/backend/rust-tree.cc:622
+#: rust/backend/rust-tree.cc:3780
 #, gcc-internal-format
 msgid "declared here"
 msgstr ""
@@ -26324,34 +26934,34 @@ msgstr ""
 msgid "%<nonnull%> argument %qD compared to NULL"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2814 gimple-ssa-sprintf.cc:2934
+#: gimple-ssa-sprintf.cc:2829 gimple-ssa-sprintf.cc:2949
 #, gcc-internal-format
 msgid "%qE output may be truncated before the last format character"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2816 gimple-ssa-sprintf.cc:2936
+#: gimple-ssa-sprintf.cc:2831 gimple-ssa-sprintf.cc:2951
 #, gcc-internal-format
 msgid "%qE output truncated before the last format character"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2819 gimple-ssa-sprintf.cc:2939
+#: gimple-ssa-sprintf.cc:2834 gimple-ssa-sprintf.cc:2954
 #, gcc-internal-format
 msgid "%qE may write a terminating nul past the end of the destination"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2821 gimple-ssa-sprintf.cc:2941
+#: gimple-ssa-sprintf.cc:2836 gimple-ssa-sprintf.cc:2956
 #, gcc-internal-format
 msgid "%qE writing a terminating nul past the end of the destination"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2831
+#: gimple-ssa-sprintf.cc:2846
 #, gcc-internal-format
 msgid "%<%.*s%> directive writing %wu byte into a region of size %wu"
 msgid_plural "%<%.*s%> directive writing %wu bytes into a region of size %wu"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2838
+#: gimple-ssa-sprintf.cc:2853
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing %wu byte into a region of "
@@ -26362,7 +26972,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2845
+#: gimple-ssa-sprintf.cc:2860
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing %wu byte into a region of size "
@@ -26373,86 +26983,86 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2856
+#: gimple-ssa-sprintf.cc:2871
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing up to %wu bytes into a "
 "region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2859
+#: gimple-ssa-sprintf.cc:2874
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing up to %wu bytes into a region of "
 "size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2861
+#: gimple-ssa-sprintf.cc:2876
 #, gcc-internal-format
 msgid "%<%.*s%> directive writing up to %wu bytes into a region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2873
+#: gimple-ssa-sprintf.cc:2888
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing likely %wu or more bytes "
 "into a region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2876
+#: gimple-ssa-sprintf.cc:2891
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing likely %wu or more bytes into a "
 "region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2879
+#: gimple-ssa-sprintf.cc:2894
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing likely %wu or more bytes into a region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2888
+#: gimple-ssa-sprintf.cc:2903
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes "
 "into a region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2891
+#: gimple-ssa-sprintf.cc:2906
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a "
 "region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2894
+#: gimple-ssa-sprintf.cc:2909
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing between %wu and %wu bytes into a region of size "
 "%wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2903
+#: gimple-ssa-sprintf.cc:2918
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing %wu or more bytes into a "
 "region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2906
+#: gimple-ssa-sprintf.cc:2921
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing %wu or more bytes into a region "
 "of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2908
+#: gimple-ssa-sprintf.cc:2923
 #, gcc-internal-format
 msgid "%<%.*s%> directive writing %wu or more bytes into a region of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2950
+#: gimple-ssa-sprintf.cc:2965
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu"
@@ -26462,7 +27072,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2957
+#: gimple-ssa-sprintf.cc:2972
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing %wu byte into a region of "
@@ -26473,7 +27083,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2965
+#: gimple-ssa-sprintf.cc:2980
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing %wu byte into a region of size "
@@ -26484,1100 +27094,1100 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:2977
+#: gimple-ssa-sprintf.cc:2992
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing up to %wu bytes into a "
 "region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2980
+#: gimple-ssa-sprintf.cc:2995
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing up to %wu bytes into a region of "
 "size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2983
+#: gimple-ssa-sprintf.cc:2998
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing up to %wu bytes into a region of size between %wu "
 "and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2996
+#: gimple-ssa-sprintf.cc:3011
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing likely %wu or more bytes "
 "into a region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:2999
+#: gimple-ssa-sprintf.cc:3014
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing likely %wu or more bytes into a "
 "region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3002
+#: gimple-ssa-sprintf.cc:3017
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing likely %wu or more bytes into a region of size "
 "between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3012
+#: gimple-ssa-sprintf.cc:3027
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing between %wu and %wu bytes "
 "into a region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3015
+#: gimple-ssa-sprintf.cc:3030
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing between %wu and %wu bytes into a "
 "region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3018
+#: gimple-ssa-sprintf.cc:3033
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing between %wu and %wu bytes into a region of size "
 "between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3027
+#: gimple-ssa-sprintf.cc:3042
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output may be truncated writing %wu or more bytes into a "
 "region of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3030
+#: gimple-ssa-sprintf.cc:3045
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output truncated writing %wu or more bytes into a region "
 "of size between %wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3033
+#: gimple-ssa-sprintf.cc:3048
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive writing %wu or more bytes into a region of size between "
 "%wu and %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3155
+#: gimple-ssa-sprintf.cc:3170
 #, gcc-internal-format
 msgid "%<%.*s%> directive argument is null"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3233
+#: gimple-ssa-sprintf.cc:3248
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output of %wu bytes exceeds minimum required size of 4095"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3239
+#: gimple-ssa-sprintf.cc:3254
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output between %wu and %wu bytes exceeds minimum required "
 "size of 4095"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3246
+#: gimple-ssa-sprintf.cc:3261
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output between %wu and %wu bytes may exceed minimum "
 "required size of 4095"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3276
+#: gimple-ssa-sprintf.cc:3291
 #, gcc-internal-format
 msgid "%<%.*s%> directive output of %wu bytes exceeds %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3282
+#: gimple-ssa-sprintf.cc:3297
 #, gcc-internal-format
 msgid "%<%.*s%> directive output between %wu and %wu bytes exceeds %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3293
+#: gimple-ssa-sprintf.cc:3308
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output of %wu bytes causes result to exceed %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3299
+#: gimple-ssa-sprintf.cc:3314
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output between %wu and %wu bytes causes result to exceed "
 "%<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3310
+#: gimple-ssa-sprintf.cc:3325
 #, gcc-internal-format
 msgid ""
 "%<%.*s%> directive output between %wu and %wu bytes may cause result to "
 "exceed %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3320
+#: gimple-ssa-sprintf.cc:3335
 #, gcc-internal-format
 msgid "%<%.*s%> directive argument is not a nul-terminated string"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3326 gimple-ssa-warn-access.cc:232
+#: gimple-ssa-sprintf.cc:3341 gimple-ssa-warn-access.cc:234
 #, gcc-internal-format
 msgid "referenced argument declared here"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3333
+#: gimple-ssa-sprintf.cc:3348
 #, gcc-internal-format
 msgid "assuming directive output of %wu byte"
 msgid_plural "assuming directive output of %wu bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:3340
+#: gimple-ssa-sprintf.cc:3355
 #, gcc-internal-format
 msgid "directive argument %qE"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3342
+#: gimple-ssa-sprintf.cc:3357
 #, gcc-internal-format
 msgid "directive argument in the range [%E, %E]"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3346
+#: gimple-ssa-sprintf.cc:3361
 #, gcc-internal-format
 msgid "using the range [%E, %E] for directive argument"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3366
+#: gimple-ssa-sprintf.cc:3381
 #, gcc-internal-format
 msgid "%qE output %wu byte into a destination of size %wu"
 msgid_plural "%qE output %wu bytes into a destination of size %wu"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:3371
+#: gimple-ssa-sprintf.cc:3386
 #, gcc-internal-format
 msgid "%qE output between %wu and %wu bytes into a destination of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3376
+#: gimple-ssa-sprintf.cc:3391
 #, gcc-internal-format
 msgid ""
 "%qE output %wu or more bytes (assuming %wu) into a destination of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3381
+#: gimple-ssa-sprintf.cc:3396
 #, gcc-internal-format
 msgid "%qE output %wu or more bytes into a destination of size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3392
+#: gimple-ssa-sprintf.cc:3407
 #, gcc-internal-format
 msgid "%qE output %wu byte"
 msgid_plural "%qE output %wu bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:3396
+#: gimple-ssa-sprintf.cc:3411
 #, gcc-internal-format
 msgid "%qE output between %wu and %wu bytes"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3400
+#: gimple-ssa-sprintf.cc:3415
 #, gcc-internal-format
 msgid "%qE output %wu or more bytes (assuming %wu)"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3404
+#: gimple-ssa-sprintf.cc:3419
 #, gcc-internal-format
 msgid "%qE output %wu or more bytes"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3783
+#: gimple-ssa-sprintf.cc:3803
 #, gcc-internal-format
 msgid "%<%.*s%> directive width out of range"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3817
+#: gimple-ssa-sprintf.cc:3837
 #, gcc-internal-format
 msgid "%<%.*s%> directive precision out of range"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3950
+#: gimple-ssa-sprintf.cc:3970
 msgid "%qE arguments %Z and maybe %Z overlap destination object %qE"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:3962
+#: gimple-ssa-sprintf.cc:3982
 msgid "%qE argument %Z overlaps destination object %qE"
 msgid_plural "%qE arguments %Z overlap destination object %qE"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:3973
+#: gimple-ssa-sprintf.cc:3993
 msgid "%qE argument %Z may overlap destination object %qE"
 msgid_plural "%qE arguments %Z may overlap destination object %qE"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-sprintf.cc:3993
+#: gimple-ssa-sprintf.cc:4013
 #, gcc-internal-format
 msgid ""
 "destination object referenced by %<restrict%>-qualified argument 1 was "
 "declared here"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4580
+#: gimple-ssa-sprintf.cc:4600
 #, gcc-internal-format
 msgid "specified bound %wu exceeds maximum object size %wu"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4591
+#: gimple-ssa-sprintf.cc:4611
 #, gcc-internal-format
 msgid "specified bound %wu exceeds %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4617
+#: gimple-ssa-sprintf.cc:4637
 #, gcc-internal-format
 msgid "specified bound range [%wu, %wu] exceeds %<INT_MAX%>"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4661
+#: gimple-ssa-sprintf.cc:4681
 #, gcc-internal-format
 msgid "null destination pointer"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4678
+#: gimple-ssa-sprintf.cc:4698
 #, gcc-internal-format
 msgid "specified bound %wu exceeds the size %wu of the destination object"
 msgstr ""
 
-#: gimple-ssa-sprintf.cc:4690
+#: gimple-ssa-sprintf.cc:4710
 #, gcc-internal-format
 msgid "null format string"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:172
+#: gimple-ssa-warn-access.cc:174
 #, gcc-internal-format
 msgid "%qD specified bound %s exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:180
+#: gimple-ssa-warn-access.cc:182
 #, gcc-internal-format
 msgid "%qD specified bound %s exceeds the size %E of unterminated array"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:183
+#: gimple-ssa-warn-access.cc:185
 #, 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:186
+#: gimple-ssa-warn-access.cc:188
 #, gcc-internal-format
 msgid ""
 "%qD specified bound %s exceeds the size of at most %E of unterminated array"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:194
+#: gimple-ssa-warn-access.cc:196
 #, gcc-internal-format
 msgid "%qD argument missing terminating nul"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:203
+#: gimple-ssa-warn-access.cc:205
 #, gcc-internal-format
 msgid "%qs specified bound %s exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:211
+#: gimple-ssa-warn-access.cc:213
 #, gcc-internal-format
 msgid "%qs specified bound %s exceeds the size %E of unterminated array"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:214
+#: gimple-ssa-warn-access.cc:216
 #, 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:217
+#: gimple-ssa-warn-access.cc:219
 #, gcc-internal-format
 msgid ""
 "%qs specified bound %s exceeds the size of at most %E of unterminated array"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:225
+#: gimple-ssa-warn-access.cc:227
 #, gcc-internal-format
 msgid "%qs argument missing terminating nul"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:488 gimple-ssa-warn-access.cc:729
+#: gimple-ssa-warn-access.cc:490 gimple-ssa-warn-access.cc:732
 #, gcc-internal-format
 msgid "%qD specified bound %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:493 gimple-ssa-warn-access.cc:745
+#: gimple-ssa-warn-access.cc:495 gimple-ssa-warn-access.cc:748
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:641
+#: gimple-ssa-warn-access.cc:643
 #, gcc-internal-format
 msgid ""
 "%qD argument %i declared attribute %<nonstring%> is smaller than the "
 "specified bound %wu"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:647
+#: gimple-ssa-warn-access.cc:649
 #, gcc-internal-format
 msgid ""
 "%qD argument %i declared attribute %<nonstring%> is smaller than the "
 "specified bound [%E, %E]"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:653
+#: gimple-ssa-warn-access.cc:655
 #, 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:663
+#: gimple-ssa-warn-access.cc:665
 #, gcc-internal-format
 msgid "%qD argument %i declared attribute %<nonstring%>"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:669
+#: gimple-ssa-warn-access.cc:671
 #, gcc-internal-format
 msgid "argument %qD declared here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:727
+#: gimple-ssa-warn-access.cc:730
 #, gcc-internal-format
 msgid "%qD specified bound %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:734
+#: gimple-ssa-warn-access.cc:737
 #, gcc-internal-format
 msgid "specified bound %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:736
+#: gimple-ssa-warn-access.cc:739
 #, gcc-internal-format
 msgid "specified bound %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:743
+#: gimple-ssa-warn-access.cc:746
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:751
+#: gimple-ssa-warn-access.cc:754
 #, gcc-internal-format
 msgid "specified bound [%E, %E] may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:753
+#: gimple-ssa-warn-access.cc:756
 #, gcc-internal-format
 msgid "specified bound [%E, %E] exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:763
+#: gimple-ssa-warn-access.cc:766
 #, gcc-internal-format
 msgid "%qD specified bound %E may exceed source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:765
+#: gimple-ssa-warn-access.cc:768
 #, gcc-internal-format
 msgid "%qD specified bound %E exceeds source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:770
+#: gimple-ssa-warn-access.cc:773
 #, gcc-internal-format
 msgid "specified bound %E may exceed source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:772
+#: gimple-ssa-warn-access.cc:775
 #, gcc-internal-format
 msgid "specified bound %E exceeds source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:779
+#: gimple-ssa-warn-access.cc:782
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] may exceed source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:781
+#: gimple-ssa-warn-access.cc:784
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] exceeds source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:786
+#: gimple-ssa-warn-access.cc:789
 #, gcc-internal-format
 msgid "specified bound [%E, %E] may exceed source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:788
+#: gimple-ssa-warn-access.cc:791
 #, gcc-internal-format
 msgid "specified bound [%E, %E] exceeds source size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:796
+#: gimple-ssa-warn-access.cc:799
 #, gcc-internal-format
 msgid "source object allocated here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:819
+#: gimple-ssa-warn-access.cc:822
 #, gcc-internal-format
 msgid "%qD specified size %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:821
+#: gimple-ssa-warn-access.cc:824
 #, gcc-internal-format
 msgid "%qD specified size %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:826
+#: gimple-ssa-warn-access.cc:829
 #, gcc-internal-format
 msgid "specified size %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:828
+#: gimple-ssa-warn-access.cc:831
 #, gcc-internal-format
 msgid "specified size %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:835
+#: gimple-ssa-warn-access.cc:838
 #, gcc-internal-format
 msgid "%qD specified size between %E and %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:837
+#: gimple-ssa-warn-access.cc:840
 #, gcc-internal-format
 msgid "%qD specified size between %E and %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:842
+#: gimple-ssa-warn-access.cc:845
 #, gcc-internal-format
 msgid "specified size between %E and %E may exceed maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:844
+#: gimple-ssa-warn-access.cc:847
 #, gcc-internal-format
 msgid "specified size between %E and %E exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:854
+#: gimple-ssa-warn-access.cc:857
 #, gcc-internal-format
 msgid "%qD specified bound %E may exceed destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:861
+#: gimple-ssa-warn-access.cc:864
 #, gcc-internal-format
 msgid "specified bound %E may exceed destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:863
+#: gimple-ssa-warn-access.cc:866
 #, gcc-internal-format
 msgid "specified bound %E exceeds destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:870
+#: gimple-ssa-warn-access.cc:873
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] may exceed destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:872
+#: gimple-ssa-warn-access.cc:875
 #, gcc-internal-format
 msgid "%qD specified bound [%E, %E] exceeds destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:877 gimple-ssa-warn-access.cc:879
+#: gimple-ssa-warn-access.cc:880 gimple-ssa-warn-access.cc:882
 #, gcc-internal-format
 msgid "specified bound [%E, %E] exceeds destination size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:888
+#: gimple-ssa-warn-access.cc:891
 #, gcc-internal-format
 msgid "destination object allocated here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:932
+#: gimple-ssa-warn-access.cc:935
 #, gcc-internal-format
 msgid "%qD may access %E byte in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:934
+#: gimple-ssa-warn-access.cc:937
 #, gcc-internal-format
 msgid "%qD accessing %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 may access %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:939
+#: gimple-ssa-warn-access.cc:942
 #, gcc-internal-format
 msgid "%qD accessing %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:944
+#: gimple-ssa-warn-access.cc:947
 #, gcc-internal-format
 msgid "may access %E byte in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:946
+#: gimple-ssa-warn-access.cc:949
 #, gcc-internal-format
 msgid "accessing %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 "may access %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:951
+#: gimple-ssa-warn-access.cc:954
 #, gcc-internal-format
 msgid "accessing %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:960
+#: gimple-ssa-warn-access.cc:963
 #, gcc-internal-format
 msgid "%qD may access %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:962
+#: gimple-ssa-warn-access.cc:965
 #, gcc-internal-format
 msgid "%qD accessing %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:967
+#: gimple-ssa-warn-access.cc:970
 #, gcc-internal-format
 msgid "may access %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:969
+#: gimple-ssa-warn-access.cc:972
 #, gcc-internal-format
 msgid "accessing %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:977
+#: gimple-ssa-warn-access.cc:980
 #, gcc-internal-format
 msgid "%qD may access between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:979
+#: gimple-ssa-warn-access.cc:982
 #, gcc-internal-format
 msgid "%qD accessing between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:984
+#: gimple-ssa-warn-access.cc:987
 #, gcc-internal-format
 msgid "may access between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:986
+#: gimple-ssa-warn-access.cc:989
 #, gcc-internal-format
 msgid "accessing between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:998
+#: gimple-ssa-warn-access.cc:1001
 #, gcc-internal-format
 msgid "%qD may write %E byte into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1000
+#: gimple-ssa-warn-access.cc:1003
 #, gcc-internal-format
 msgid "%qD writing %E byte into a region of size %E overflows the destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1003
+#: gimple-ssa-warn-access.cc:1006
 #, gcc-internal-format
 msgid "%qD may write %E bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1005
+#: gimple-ssa-warn-access.cc:1008
 #, gcc-internal-format
 msgid "%qD writing %E bytes into a region of size %E overflows the destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1010
+#: gimple-ssa-warn-access.cc:1013
 #, gcc-internal-format
 msgid "may write %E byte into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1012
+#: gimple-ssa-warn-access.cc:1015
 #, gcc-internal-format
 msgid "writing %E byte into a region of size %E overflows the destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1015
+#: gimple-ssa-warn-access.cc:1018
 #, gcc-internal-format
 msgid "may write %E bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1017
+#: gimple-ssa-warn-access.cc:1020
 #, gcc-internal-format
 msgid "writing %E bytes into a region of size %E overflows the destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1026
+#: gimple-ssa-warn-access.cc:1029
 #, gcc-internal-format
 msgid "%qD may write %E or more bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1028 gimple-ssa-warn-access.cc:1399
+#: gimple-ssa-warn-access.cc:1031 gimple-ssa-warn-access.cc:1403
 #, 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:1034
+#: gimple-ssa-warn-access.cc:1037
 #, gcc-internal-format
 msgid "may write %E or more bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1036 gimple-ssa-warn-access.cc:1404
+#: gimple-ssa-warn-access.cc:1039 gimple-ssa-warn-access.cc:1408
 #, gcc-internal-format
 msgid ""
 "writing %E or more bytes into a region of size %E overflows the destination"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1045
+#: gimple-ssa-warn-access.cc:1048
 #, gcc-internal-format
 msgid "%qD may write between %E and %E bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1047
+#: gimple-ssa-warn-access.cc:1050
 #, 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:1053
+#: gimple-ssa-warn-access.cc:1056
 #, gcc-internal-format
 msgid "may write between %E and %E bytes into a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1055
+#: gimple-ssa-warn-access.cc:1058
 #, 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:1069
+#: gimple-ssa-warn-access.cc:1072
 #, gcc-internal-format
 msgid "%qD may read %E byte from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1071
+#: gimple-ssa-warn-access.cc:1074
 #, gcc-internal-format
 msgid "%qD reading %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 may read %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1076
+#: gimple-ssa-warn-access.cc:1079
 #, gcc-internal-format
 msgid "%qD reading %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1082
+#: gimple-ssa-warn-access.cc:1085
 #, gcc-internal-format
 msgid "may read %E byte from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1084
+#: gimple-ssa-warn-access.cc:1087
 #, gcc-internal-format
 msgid "reading %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 "may read %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1089
+#: gimple-ssa-warn-access.cc:1092
 #, gcc-internal-format
 msgid "reading %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1098
+#: gimple-ssa-warn-access.cc:1101
 #, gcc-internal-format
 msgid "%qD may read %E or more bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1100
+#: gimple-ssa-warn-access.cc:1103
 #, gcc-internal-format
 msgid "%qD reading %E or more bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1105
+#: gimple-ssa-warn-access.cc:1108
 #, gcc-internal-format
 msgid "may read %E or more bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1107
+#: gimple-ssa-warn-access.cc:1110
 #, gcc-internal-format
 msgid "reading %E or more bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1115
+#: gimple-ssa-warn-access.cc:1118
 #, gcc-internal-format
 msgid "%qD may read between %E and %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1117
+#: gimple-ssa-warn-access.cc:1120
 #, gcc-internal-format
 msgid "%qD reading between %E and %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1122
+#: gimple-ssa-warn-access.cc:1125
 #, gcc-internal-format
 msgid "may read between %E and %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1124
+#: gimple-ssa-warn-access.cc:1127
 #, gcc-internal-format
 msgid "reading between %E and %E bytes from a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1139
+#: gimple-ssa-warn-access.cc:1142
 #, 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:1144
+#: gimple-ssa-warn-access.cc:1147
 #, 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:1152
+#: gimple-ssa-warn-access.cc:1155
 #, gcc-internal-format
 msgid "%qD expecting %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1156
+#: gimple-ssa-warn-access.cc:1159
 #, gcc-internal-format
 msgid "expecting %E or more bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1163
+#: gimple-ssa-warn-access.cc:1166
 #, gcc-internal-format
 msgid "%qD expecting between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:1167
+#: gimple-ssa-warn-access.cc:1170
 #, gcc-internal-format
 msgid "expecting between %E and %E bytes in a region of size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2023
+#: gimple-ssa-warn-access.cc:2029
 #, gcc-internal-format
 msgid "%qD called on pointer %qE with nonzero offset%s"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2038 gimple-ssa-warn-access.cc:3768
+#: gimple-ssa-warn-access.cc:2044 gimple-ssa-warn-access.cc:3779
 #, gcc-internal-format
 msgid "returned from %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2041
+#: gimple-ssa-warn-access.cc:2047
 #, gcc-internal-format
 msgid "returned from %qT"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2043
+#: gimple-ssa-warn-access.cc:2049
 #, gcc-internal-format
 msgid "obtained here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2251
+#: gimple-ssa-warn-access.cc:2256
 #, gcc-internal-format
 msgid "argument %i value %qE is negative"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2268
+#: gimple-ssa-warn-access.cc:2273
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %i value is zero"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2286
+#: gimple-ssa-warn-access.cc:2291
 #, gcc-internal-format
 msgid "argument %i value %qE exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2300
+#: gimple-ssa-warn-access.cc:2305
 #, gcc-internal-format
 msgid "argument %i range [%E, %E] is negative"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2307
+#: gimple-ssa-warn-access.cc:2312
 #, gcc-internal-format
 msgid "argument %i range [%E, %E] exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2337
+#: gimple-ssa-warn-access.cc:2342
 #, gcc-internal-format
 msgid "product %<%E * %E%> of arguments %i and %i exceeds %<SIZE_MAX%>"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2343
+#: gimple-ssa-warn-access.cc:2348
 #, gcc-internal-format
 msgid ""
 "product %<%E * %E%> of arguments %i and %i exceeds maximum object size %E"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2354 gimple-ssa-warn-access.cc:2357
+#: gimple-ssa-warn-access.cc:2359 gimple-ssa-warn-access.cc:2362
 #, gcc-internal-format
 msgid "argument %i in the range [%E, %E]"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2368
+#: gimple-ssa-warn-access.cc:2373
 #, gcc-internal-format
 msgid "in a call to built-in allocation function %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2371
+#: gimple-ssa-warn-access.cc:2376
 #, gcc-internal-format
 msgid "in a call to allocation function %qD declared here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2817
+#: gimple-ssa-warn-access.cc:2821
 #, gcc-internal-format
 msgid "unknown architecture specifier in memory model %wi for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2908
+#: gimple-ssa-warn-access.cc:2913
 #, gcc-internal-format
 msgid "invalid memory model %qs for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2912
+#: gimple-ssa-warn-access.cc:2917
 #, gcc-internal-format
 msgid "invalid memory model %wi for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2927 gimple-ssa-warn-access.cc:2979
+#: gimple-ssa-warn-access.cc:2932 gimple-ssa-warn-access.cc:2986
 #, gcc-internal-format, gfc-internal-format
 msgid "valid models are %s"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2940
+#: gimple-ssa-warn-access.cc:2946
 #, gcc-internal-format
 msgid "invalid failure memory model %qs for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2945
+#: gimple-ssa-warn-access.cc:2951
 #, gcc-internal-format
 msgid "valid failure models are %qs, %qs, %qs, %qs"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2960
+#: gimple-ssa-warn-access.cc:2967
 #, gcc-internal-format
 msgid ""
 "failure memory model %qs cannot be stronger than success memory model %qs "
 "for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:2986
+#: gimple-ssa-warn-access.cc:2993
 #, gcc-internal-format
 msgid ""
 "failure memory model %wi cannot be stronger than success memory model %wi "
 "for %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3417
+#: gimple-ssa-warn-access.cc:3424
 #, 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:3425
+#: gimple-ssa-warn-access.cc:3432
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %i value %s is negative"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3475
+#: gimple-ssa-warn-access.cc:3482
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "argument %i of variable length array %s is null but the corresponding bound "
 "argument %i value is %s"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3484
+#: gimple-ssa-warn-access.cc:3491
 #, 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:3495
+#: gimple-ssa-warn-access.cc:3502
 #, gcc-internal-format
 msgid "argument %i to %<%T[static %E]%> is null where non-null expected"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3558
+#: gimple-ssa-warn-access.cc:3565
 #, gcc-internal-format
 msgid "referencing argument %u of type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3572
+#: gimple-ssa-warn-access.cc:3579
 #, gcc-internal-format
 msgid "in a call to function %qD declared with attribute %qs"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3576
+#: gimple-ssa-warn-access.cc:3583
 #, gcc-internal-format
 msgid "in a call with type %qT and attribute %qs"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3583
+#: gimple-ssa-warn-access.cc:3590
 #, gcc-internal-format
 msgid "in a call to function %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3586
+#: gimple-ssa-warn-access.cc:3593
 #, gcc-internal-format
 msgid "in a call with type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3690
+#: gimple-ssa-warn-access.cc:3699
 #, gcc-internal-format
 msgid "%qD called on unallocated object %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3707
+#: gimple-ssa-warn-access.cc:3718
 #, gcc-internal-format
 msgid "%qD called on a pointer to an unallocated object %qE"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3716
+#: gimple-ssa-warn-access.cc:3727
 #, gcc-internal-format
 msgid "assigned here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3749
+#: gimple-ssa-warn-access.cc:3760
 #, gcc-internal-format
 msgid "%qD called on pointer returned from a mismatched allocation function"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3758
+#: gimple-ssa-warn-access.cc:3769
 #, gcc-internal-format
 msgid "%qD called on pointer to an unallocated object"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3910
+#: gimple-ssa-warn-access.cc:3922
 #, gcc-internal-format
 msgid "pointer %qE may be used after %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3911
+#: gimple-ssa-warn-access.cc:3923
 #, gcc-internal-format
 msgid "pointer %qE used after %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3915
+#: gimple-ssa-warn-access.cc:3927
 #, gcc-internal-format
 msgid "pointer may be used after %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3916
+#: gimple-ssa-warn-access.cc:3928
 #, gcc-internal-format
 msgid "pointer used after %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3920
+#: gimple-ssa-warn-access.cc:3932
 #, gcc-internal-format
 msgid "call to %qD here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3936
+#: gimple-ssa-warn-access.cc:3949
 #, gcc-internal-format
 msgid "dangling pointer %qE to %qD may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3937
+#: gimple-ssa-warn-access.cc:3950
 #, gcc-internal-format
 msgid "using dangling pointer %qE to %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3942
+#: gimple-ssa-warn-access.cc:3955
 #, gcc-internal-format
 msgid "dangling pointer to %qD may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3943
+#: gimple-ssa-warn-access.cc:3956
 #, gcc-internal-format
 msgid "using a dangling pointer to %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3946 gimple-ssa-warn-access.cc:4588
-#: gimple-ssa-warn-restrict.cc:1823 tree-ssa-uninit.cc:900
-#: tree-ssa-uninit.cc:1066 c/c-decl.cc:3893 c/c-decl.cc:4166 c/c-typeck.cc:8987
-#: c/c-typeck.cc:11696 cp/class.cc:1492 cp/class.cc:3276 cp/constexpr.cc:1013
-#: cp/decl.cc:4298 cp/decl.cc:12371 cp/decl.cc:12854 cp/decl.cc:12863
-#: cp/friend.cc:404 cp/friend.cc:414 cp/init.cc:2893 cp/parser.cc:3488
-#: cp/parser.cc:3634 cp/parser.cc:3685 cp/parser.cc:6882 cp/parser.cc:24265
-#: cp/typeck.cc:4777
+#: gimple-ssa-warn-access.cc:3959 gimple-ssa-warn-access.cc:4588
+#: gimple-ssa-warn-restrict.cc:1828 tree-ssa-uninit.cc:897
+#: tree-ssa-uninit.cc:1096 c/c-decl.cc:3986 c/c-decl.cc:4267 c/c-typeck.cc:9365
+#: c/c-typeck.cc:12115 cp/class.cc:1492 cp/class.cc:3291 cp/constexpr.cc:1066
+#: cp/decl.cc:4438 cp/decl.cc:12565 cp/decl.cc:13065 cp/decl.cc:13074
+#: cp/decl.cc:14035 cp/friend.cc:406 cp/friend.cc:416 cp/init.cc:2895
+#: cp/parser.cc:3566 cp/parser.cc:3712 cp/parser.cc:3763 cp/parser.cc:7005
+#: cp/parser.cc:24443 cp/typeck.cc:4944
 #, gcc-internal-format
 msgid "%qD declared here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3954
+#: gimple-ssa-warn-access.cc:3967
 #, gcc-internal-format
 msgid "dangling pointer %qE to an unnamed temporary may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3956
+#: gimple-ssa-warn-access.cc:3969
 #, gcc-internal-format
 msgid "using dangling pointer %qE to an unnamed temporary"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3962
+#: gimple-ssa-warn-access.cc:3975
 #, gcc-internal-format
 msgid "dangling pointer to an unnamed temporary may be used"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3964
+#: gimple-ssa-warn-access.cc:3977
 #, gcc-internal-format
 msgid "using a dangling pointer to an unnamed temporary"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:3968
+#: gimple-ssa-warn-access.cc:3981
 #, gcc-internal-format
 msgid "unnamed temporary defined here"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:4058
+#: gimple-ssa-warn-access.cc:4071
 #, gcc-internal-format
 msgid "%qD called on pointer %qE passed to mismatched allocation function %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:4063
+#: gimple-ssa-warn-access.cc:4076
 #, gcc-internal-format
 msgid "%qD called on a pointer passed to mismatched reallocation function %qD"
 msgstr ""
 
-#: gimple-ssa-warn-access.cc:4069
+#: gimple-ssa-warn-access.cc:4082
 #, gcc-internal-format
 msgid "call to %qD"
 msgstr ""
@@ -27587,91 +28197,91 @@ msgstr ""
 msgid "storing the address of local variable %qD in %qE"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:285
+#: gimple-ssa-warn-alloca.cc:286
 #, gcc-internal-format
 msgid "use of %<alloca%>"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:324
+#: gimple-ssa-warn-alloca.cc:325
 #, gcc-internal-format
 msgid "argument to variable-length array may be too large"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:326
+#: gimple-ssa-warn-alloca.cc:327
 #, gcc-internal-format
 msgid "argument to %<alloca%> may be too large"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:331
+#: gimple-ssa-warn-alloca.cc:332
 #, gcc-internal-format
 msgid "limit is %wu bytes, but argument may be as large as %s"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:343
+#: gimple-ssa-warn-alloca.cc:344
 #, gcc-internal-format
 msgid "argument to variable-length array is too large"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:345
+#: gimple-ssa-warn-alloca.cc:346
 #, gcc-internal-format
 msgid "argument to %<alloca%> is too large"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:349
+#: gimple-ssa-warn-alloca.cc:350
 #, gcc-internal-format
 msgid "limit is %wu bytes, but argument is %s"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:361
+#: gimple-ssa-warn-alloca.cc:362
 #, gcc-internal-format
 msgid "unbounded use of variable-length array"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:362
+#: gimple-ssa-warn-alloca.cc:363
 #, gcc-internal-format
 msgid "unbounded use of %<alloca%>"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:367
+#: gimple-ssa-warn-alloca.cc:368
 #, gcc-internal-format
 msgid "use of %<alloca%> within a loop"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:372
+#: gimple-ssa-warn-alloca.cc:373
 #, gcc-internal-format
 msgid "argument to variable-length array is zero"
 msgstr ""
 
-#: gimple-ssa-warn-alloca.cc:374
+#: gimple-ssa-warn-alloca.cc:375
 #, gcc-internal-format
 msgid "argument to %<alloca%> is zero"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1491
+#: gimple-ssa-warn-restrict.cc:1496
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s overlaps %wu byte at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1493
+#: gimple-ssa-warn-restrict.cc:1498
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s overlaps %wu bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1497
+#: gimple-ssa-warn-restrict.cc:1502
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu bytes at offsets %s and %s overlaps %wu byte at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1499
+#: gimple-ssa-warn-restrict.cc:1504
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu bytes at offsets %s and %s overlaps %wu bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1506
+#: gimple-ssa-warn-restrict.cc:1511
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s overlaps between %wu and %wu "
@@ -27682,7 +28292,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1516
+#: gimple-ssa-warn-restrict.cc:1521
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s overlaps %wu or more bytes at "
@@ -27693,7 +28303,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1529
+#: gimple-ssa-warn-restrict.cc:1534
 #, gcc-internal-format
 msgid ""
 "%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu "
@@ -27704,21 +28314,21 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1539
+#: gimple-ssa-warn-restrict.cc:1544
 #, gcc-internal-format
 msgid ""
 "%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps "
 "between %wu and %wu bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1547
+#: gimple-ssa-warn-restrict.cc:1552
 #, gcc-internal-format
 msgid ""
 "%qD accessing between %wu and %wu bytes at offsets %s and %s overlaps %wu or "
 "more bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1560
+#: gimple-ssa-warn-restrict.cc:1565
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu byte at "
@@ -27729,28 +28339,28 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1568
+#: gimple-ssa-warn-restrict.cc:1573
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu or more bytes at offsets %s and %s overlaps between %wu "
 "and %wu bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1575
+#: gimple-ssa-warn-restrict.cc:1580
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu or more bytes at offsets %s and %s overlaps %wu or more "
 "bytes at offset %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1603
+#: gimple-ssa-warn-restrict.cc:1608
 #, gcc-internal-format
 msgid "%qD accessing %wu byte may overlap %wu byte"
 msgid_plural "%qD accessing %wu bytes may overlap %wu byte"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1610
+#: gimple-ssa-warn-restrict.cc:1615
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s may overlap %wu byte at offset %s"
@@ -27760,14 +28370,14 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1621
+#: gimple-ssa-warn-restrict.cc:1626
 #, gcc-internal-format
 msgid "%qD accessing %wu byte may overlap up to %wu bytes"
 msgid_plural "%qD accessing %wu bytes may overlap up to %wu bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1628
+#: gimple-ssa-warn-restrict.cc:1633
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu byte at offsets %s and %s may overlap up to %wu bytes at "
@@ -27778,7 +28388,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1641
+#: gimple-ssa-warn-restrict.cc:1646
 #, gcc-internal-format
 msgid "%qD accessing between %wu and %wu bytes may overlap %wu byte"
 msgid_plural ""
@@ -27786,7 +28396,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1648
+#: gimple-ssa-warn-restrict.cc:1653
 #, gcc-internal-format
 msgid ""
 "%qD accessing between %wu and %wu bytes at offsets %s and %s may overlap %wu "
@@ -27797,7 +28407,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1660
+#: gimple-ssa-warn-restrict.cc:1665
 #, gcc-internal-format
 msgid ""
 "%qD accessing %wu or more bytes at offsets %s and %s may overlap %wu byte at "
@@ -27808,86 +28418,86 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: gimple-ssa-warn-restrict.cc:1706
+#: gimple-ssa-warn-restrict.cc:1711
 #, gcc-internal-format
 msgid "%qD specified bound %wu exceeds maximum object size %wu"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1712
+#: gimple-ssa-warn-restrict.cc:1717
 #, gcc-internal-format
 msgid "%qD specified bound between %wu and %wu exceeds maximum object size %wu"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1773
+#: gimple-ssa-warn-restrict.cc:1778
 #, gcc-internal-format
 msgid ""
 "%qD pointer overflow between offset %s and size %s accessing array %qD with "
 "type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1778 c-family/c-warn.cc:3759
+#: gimple-ssa-warn-restrict.cc:1783 c-family/c-warn.cc:3767
 #, gcc-internal-format
 msgid "array %qD declared here"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1783 gimple-ssa-warn-restrict.cc:1789
+#: gimple-ssa-warn-restrict.cc:1788 gimple-ssa-warn-restrict.cc:1794
 #, gcc-internal-format
 msgid "%qD pointer overflow between offset %s and size %s"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1806
+#: gimple-ssa-warn-restrict.cc:1811
 #, gcc-internal-format
 msgid ""
 "%qD forming offset %s is out of the bounds [0, %wu] of object %qD with type "
 "%qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1809
+#: gimple-ssa-warn-restrict.cc:1814
 #, gcc-internal-format
 msgid "%qD offset %s is out of the bounds [0, %wu] of object %qD with type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1815
+#: gimple-ssa-warn-restrict.cc:1820
 #, gcc-internal-format
 msgid "%qD forming offset %s is out of the bounds of object %qD with type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1817
+#: gimple-ssa-warn-restrict.cc:1822
 #, gcc-internal-format
 msgid "%qD offset %s is out of the bounds of object %qD with type %qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1830
+#: gimple-ssa-warn-restrict.cc:1835
 #, gcc-internal-format
 msgid "%qD forming offset %s is out of the bounds [0, %wu]"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1832
+#: gimple-ssa-warn-restrict.cc:1837
 #, gcc-internal-format
 msgid "%qD offset %s is out of the bounds [0, %wu]"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1838
+#: gimple-ssa-warn-restrict.cc:1843
 #, gcc-internal-format
 msgid "%qD forming offset %s is out of bounds"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1839
+#: gimple-ssa-warn-restrict.cc:1844
 #, gcc-internal-format
 msgid "%qD offset %s is out of bounds"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1851
+#: gimple-ssa-warn-restrict.cc:1856
 #, gcc-internal-format
 msgid "%qD offset %s from the object at %qE is out of the bounds of %qT"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1859 gimple-ssa-warn-restrict.cc:1880
+#: gimple-ssa-warn-restrict.cc:1864 gimple-ssa-warn-restrict.cc:1885
 #, gcc-internal-format
 msgid "subobject %qD declared here"
 msgstr ""
 
-#: gimple-ssa-warn-restrict.cc:1869
+#: gimple-ssa-warn-restrict.cc:1874
 #, gcc-internal-format
 msgid ""
 "%qD offset %s from the object at %qE is out of the bounds of referenced "
@@ -27909,7 +28519,7 @@ msgstr ""
 msgid "recursive call"
 msgstr ""
 
-#: gimple.cc:1292
+#: gimple.cc:1318
 #, gcc-internal-format, gfc-internal-format
 msgid "gimple check: expected %s(%s), have %s(%s) in %s, at %s:%d"
 msgstr ""
@@ -27941,689 +28551,724 @@ msgstr ""
 msgid "attribute %<fallthrough%> not preceding a case label or default label"
 msgstr ""
 
-#: gimplify.cc:3767
+#: gimplify.cc:3817
 #, gcc-internal-format
 msgid "using result of function returning %<void%>"
 msgstr ""
 
-#: gimplify.cc:6599
+#: gimplify.cc:6668
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory output %d must stay in memory"
 msgstr ""
 
-#: gimplify.cc:6614
+#: gimplify.cc:6683
 #, gcc-internal-format
 msgid "invalid lvalue in %<asm%> output %d"
 msgstr ""
 
-#: gimplify.cc:6761
+#: gimplify.cc:6830
 #, gcc-internal-format, gfc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr ""
 
-#: gimplify.cc:6801 gimplify.cc:6811
+#: gimplify.cc:6870 gimplify.cc:6880
 #, gcc-internal-format, gfc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr ""
 
-#: gimplify.cc:7426
+#: gimplify.cc:7495
 #, gcc-internal-format
 msgid ""
 "threadprivate variable %qE used in a region with %<order(concurrent)%> clause"
 msgstr ""
 
-#: gimplify.cc:7428
+#: gimplify.cc:7497
 #, gcc-internal-format
 msgid "enclosing region"
 msgstr ""
 
-#: gimplify.cc:7432
+#: gimplify.cc:7501
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in target region"
 msgstr ""
 
-#: gimplify.cc:7434
+#: gimplify.cc:7503
 #, gcc-internal-format
 msgid "enclosing target region"
 msgstr ""
 
-#: gimplify.cc:7447
+#: gimplify.cc:7516
 #, gcc-internal-format
 msgid "threadprivate variable %qE used in untied task"
 msgstr ""
 
-#: gimplify.cc:7449
+#: gimplify.cc:7518
 #, gcc-internal-format
 msgid "enclosing task"
 msgstr ""
 
-#: gimplify.cc:7546
+#: gimplify.cc:7615
 #, gcc-internal-format
 msgid "%qE not specified in enclosing %qs"
 msgstr ""
 
-#: gimplify.cc:7548
+#: gimplify.cc:7617
 #, gcc-internal-format
 msgid "enclosing %qs"
 msgstr ""
 
-#: gimplify.cc:7691
+#: gimplify.cc:7760
 #, gcc-internal-format
 msgid "%qE not specified in enclosing OpenACC %qs construct"
 msgstr ""
 
-#: gimplify.cc:7693
+#: gimplify.cc:7762
 #, gcc-internal-format
 msgid "enclosing OpenACC %qs construct"
 msgstr ""
 
-#: gimplify.cc:7754
+#: gimplify.cc:7823
 #, gcc-internal-format
 msgid "%qE with %<link%> clause used in %<routine%> function"
 msgstr ""
 
-#: gimplify.cc:7762
+#: gimplify.cc:7831
 #, gcc-internal-format
 msgid "%qE requires a %<declare%> directive for use in a %<routine%> function"
 msgstr ""
 
-#: gimplify.cc:7831
+#: gimplify.cc:7900
 #, gcc-internal-format
 msgid "%qE not specified in enclosing %<target%>"
 msgstr ""
 
-#: gimplify.cc:7833
+#: gimplify.cc:7902
 #, gcc-internal-format
 msgid "enclosing %<target%>"
 msgstr ""
 
-#: gimplify.cc:7863 gimplify.cc:9564
+#: gimplify.cc:7932 gimplify.cc:11175
 #, gcc-internal-format
 msgid "variable %qE declared in enclosing %<host_data%> region"
 msgstr ""
 
-#: gimplify.cc:7884
+#: gimplify.cc:7953
 #, gcc-internal-format
 msgid "%qD referenced in target region does not have a mappable type"
 msgstr ""
 
-#: gimplify.cc:8015
+#: gimplify.cc:8084
 #, gcc-internal-format
 msgid "iteration variable %qE is predetermined linear"
 msgstr ""
 
-#: gimplify.cc:8018
+#: gimplify.cc:8087
 #, gcc-internal-format
 msgid "iteration variable %qE should be private"
 msgstr ""
 
-#: gimplify.cc:8032
+#: gimplify.cc:8101
 #, gcc-internal-format
 msgid "iteration variable %qE should not be firstprivate"
 msgstr ""
 
-#: gimplify.cc:8035
+#: gimplify.cc:8104
 #, gcc-internal-format
 msgid "iteration variable %qE should not be reduction"
 msgstr ""
 
-#: gimplify.cc:8038
+#: gimplify.cc:8107
 #, gcc-internal-format
 msgid "iteration variable %qE should not be linear"
 msgstr ""
 
-#: gimplify.cc:9225 gimplify.cc:9231
+#: gimplify.cc:9093 gimplify.cc:9104 gimplify.cc:9116 gimplify.cc:9131
+#: gimplify.cc:9327 gimplify.cc:9330 gimplify.cc:9340 gimplify.cc:9358
+#, gcc-internal-format
+msgid "unexpected mapping node"
+msgstr ""
+
+#: gimplify.cc:9392
+#, gcc-internal-format
+msgid "unexpected pointer mapping node"
+msgstr ""
+
+#: gimplify.cc:9603
+#, gcc-internal-format
+msgid "base pointer cycle detected"
+msgstr ""
+
+#: gimplify.cc:9975
+#, gcc-internal-format
+msgid ""
+"data movement for component %qE is not compatible with movement for struct "
+"%qE"
+msgstr ""
+
+#: gimplify.cc:10020
+#, gcc-internal-format
+msgid "%qE appears more than once in map clauses"
+msgstr ""
+
+#: gimplify.cc:10626
+#, gcc-internal-format
+msgid "mapping field %qE of variable length structure"
+msgstr ""
+
+#: gimplify.cc:10836 gimplify.cc:10842
 #, gcc-internal-format
 msgid "conditional %<lastprivate%> clause on %qs construct"
 msgstr ""
 
-#: gimplify.cc:9248
+#: gimplify.cc:10859
 #, gcc-internal-format
 msgid "non-scalar variable %qD in conditional %<lastprivate%> clause"
 msgstr ""
 
-#: gimplify.cc:9270
+#: gimplify.cc:10881
 #, gcc-internal-format
 msgid "%<task%> reduction modifier on a construct with a %<nowait%> clause"
 msgstr ""
 
-#: gimplify.cc:9278
+#: gimplify.cc:10889
 #, gcc-internal-format
 msgid ""
 "invalid %<task%> reduction modifier on construct other than %<parallel%>, "
 "%qs, %<sections%> or %<scope%>"
 msgstr ""
 
-#: gimplify.cc:9289 gimplify.cc:9295 gimplify.cc:9301 gimplify.cc:9307
-#: gimplify.cc:9313 gimplify.cc:13646
+#: gimplify.cc:10900 gimplify.cc:10906 gimplify.cc:10912 gimplify.cc:10918
+#: gimplify.cc:10924 gimplify.cc:14904
 #, gcc-internal-format
 msgid "%<inscan%> %<reduction%> clause on %qs construct"
 msgstr ""
 
-#: gimplify.cc:9407
+#: gimplify.cc:11018
 #, gcc-internal-format
 msgid ""
 "%<linear%> clause for variable other than loop iterator specified on "
 "construct combined with %<distribute%>"
 msgstr ""
 
-#: gimplify.cc:9760
-#, gcc-internal-format
-msgid "mapping field %qE of variable length structure"
-msgstr ""
-
-#: gimplify.cc:10030
-#, gcc-internal-format
-msgid "%qE appears more than once in map clauses"
-msgstr ""
-
-#: gimplify.cc:10546
+#: gimplify.cc:11713
 #, gcc-internal-format
 msgid ""
 "copyprivate variable %qE is not threadprivate or private in outer context"
 msgstr ""
 
-#: gimplify.cc:10603
+#: gimplify.cc:11770
 #, gcc-internal-format
 msgid "%s variable %qE is private in outer context"
 msgstr ""
 
-#: gimplify.cc:10635
+#: gimplify.cc:11802
 #, gcc-internal-format
 msgid "expected %qs %<if%> clause modifier rather than %qs"
 msgstr ""
 
-#: gimplify.cc:10673
+#: gimplify.cc:11840
 #, gcc-internal-format
 msgid ""
 "%<device%> clause with %<ancestor%> is only allowed on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:10689
+#: gimplify.cc:11856
 #, gcc-internal-format
 msgid ""
 "with %<ancestor%>, only the %<device%>, %<firstprivate%>, %<private%>, "
 "%<defaultmap%>, and %<map%> clauses may appear on the construct"
 msgstr ""
 
-#: gimplify.cc:10901
+#: gimplify.cc:12068
 #, gcc-internal-format
 msgid ""
 "%qD specified in %qs clause but not in %<inscan%> %<reduction%> clause on "
 "the containing construct"
 msgstr ""
 
-#: gimplify.cc:11115
+#: gimplify.cc:12274
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in implicit %<map%> clause"
 msgstr ""
 
-#: gimplify.cc:11169
+#: gimplify.cc:12328
 #, gcc-internal-format
 msgid ""
 "%<_Atomic%> %qD in implicit %<firstprivate%> clause on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:11426
+#: gimplify.cc:12590
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<firstprivate%> clause on %<target%> construct"
 msgstr ""
 
-#: gimplify.cc:11499
+#: gimplify.cc:12663
 #, gcc-internal-format
 msgid ""
 "same variable used in %<firstprivate%> and %<lastprivate%> clauses on "
 "%<distribute%> construct"
 msgstr ""
 
-#: gimplify.cc:11600
+#: gimplify.cc:12777
 #, gcc-internal-format
 msgid ""
 "incompatible data clause with reduction on %qE; promoting to "
 "%<present_or_copy%>"
 msgstr ""
 
-#: gimplify.cc:11749
+#: gimplify.cc:12926
 #, gcc-internal-format
 msgid ""
 "%qD specified in %<inscan%> %<reduction%> clause but not in %<scan%> "
 "directive clause"
 msgstr ""
 
-#: gimplify.cc:11768
+#: gimplify.cc:12945
 #, gcc-internal-format
 msgid "invalid private reduction on %qE"
 msgstr ""
 
-#: gimplify.cc:11918
+#: gimplify.cc:13111
 #, gcc-internal-format
 msgid ""
 "%<inscan%> %<reduction%> clause used together with %<linear%> clause for a "
 "variable other than loop iterator"
 msgstr ""
 
-#: gimplify.cc:12252
+#: gimplify.cc:13450
 #, gcc-internal-format
 msgid "%<mutexinoutset%> kind in %<depend%> clause on a %<taskwait%> construct"
 msgstr ""
 
-#: gimplify.cc:12511 gimplify.cc:12515 gimplify.cc:12524
+#: gimplify.cc:13460
+#, gcc-internal-format
+msgid "%<taskwait%> construct with %<nowait%> clause but no %<depend%> clauses"
+msgstr ""
+
+#: gimplify.cc:13744 gimplify.cc:13748 gimplify.cc:13757 gimplify.cc:13769
+#: gimplify.cc:13774
 #, gcc-internal-format
 msgid "%qs clause may not appear on non-rectangular %qs"
 msgstr ""
 
-#: gimplify.cc:12743
+#: gimplify.cc:13936
+#, 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:14001
 #, gcc-internal-format
 msgid "threadprivate iteration variable %qD"
 msgstr ""
 
-#: gimplify.cc:12774 gimplify.cc:12882
+#: gimplify.cc:14032 gimplify.cc:14140
 #, gcc-internal-format
 msgid "conditional %<lastprivate%> on loop iterator %qD ignored"
 msgstr ""
 
-#: gimplify.cc:13584
+#: gimplify.cc:14842
 #, gcc-internal-format
 msgid ""
 "%<bind%> clause not specified on a %<loop%> construct not nested inside "
 "another OpenMP construct"
 msgstr ""
 
-#: gimplify.cc:13608
+#: gimplify.cc:14866
 #, gcc-internal-format
 msgid ""
 "%<bind(parallel)%> on a %<loop%> construct nested inside %<simd%> construct"
 msgstr ""
 
-#: gimplify.cc:13628
+#: gimplify.cc:14886
 #, gcc-internal-format
 msgid ""
-"%<bind(teams)%> on a %<loop%> region not strictly nested inside of a %<teams"
-"%> region"
+"%<bind(teams)%> on a %<loop%> region not strictly nested inside of a "
+"%<teams%> region"
 msgstr ""
 
-#: gimplify.cc:13653
+#: gimplify.cc:14911
 #, gcc-internal-format
 msgid ""
 "invalid %<task%> reduction modifier on construct other than %<parallel%>, "
 "%qs or %<sections%>"
 msgstr ""
 
-#: gimplify.cc:13681
+#: gimplify.cc:14939
 #, gcc-internal-format
 msgid ""
 "%<lastprivate%> clause on a %<loop%> construct refers to a variable %qD "
 "which is not the loop iterator"
 msgstr ""
 
-#: gimplify.cc:14763 omp-low.cc:3654
+#: gimplify.cc:16020
 #, gcc-internal-format
 msgid ""
-"%<ordered%> construct with %<depend%> clause must be closely nested inside a "
-"loop with %<ordered%> clause with a parameter"
+"%<ordered%> construct with %qs clause must be closely nested inside a loop "
+"with %<ordered%> clause"
 msgstr ""
 
-#: gimplify.cc:14781
+#: gimplify.cc:16041
 #, gcc-internal-format
 msgid "variable %qE is not an iteration of outermost loop %d, expected %qE"
 msgstr ""
 
-#: gimplify.cc:14794
+#: gimplify.cc:16054
 #, gcc-internal-format
 msgid ""
-"number of variables in %<depend%> clause with %<sink%> modifier does not "
-"match number of iteration variables"
+"number of variables in %qs clause with %<sink%> modifier does not match "
+"number of iteration variables"
 msgstr ""
 
-#: gimplify.cc:14807
+#: gimplify.cc:16068
 #, gcc-internal-format
 msgid ""
-"more than one %<depend%> clause with %<source%> modifier on an %<ordered%> "
-"construct"
+"more than one %qs clause with %<source%> modifier on an %<ordered%> construct"
 msgstr ""
 
-#: gimplify.cc:14818
+#: gimplify.cc:16081
 #, gcc-internal-format
 msgid ""
-"%<depend%> clause with %<source%> modifier specified together with %<depend"
-"%> clauses with %<sink%> modifier on the same construct"
+"%qs clause with %<source%> modifier specified together with %qs clauses with "
+"%<sink%> modifier on the same construct"
 msgstr ""
 
-#: gimplify.cc:16121
+#: gimplify.cc:17390
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr ""
 
-#: gimplify.cc:16649
+#: gimplify.cc:17989
 #, gcc-internal-format
 msgid "%qT is promoted to %qT when passed through %<...%>"
 msgstr ""
 
-#: gimplify.cc:16654
+#: gimplify.cc:17994
 #, gcc-internal-format
 msgid "(so you should pass %qT not %qT to %<va_arg%>)"
 msgstr ""
 
-#: gimplify.cc:16661
+#: gimplify.cc:18001
 #, gcc-internal-format
 msgid "if this code is reached, the program will abort"
 msgstr ""
 
-#: godump.cc:1414
+#: godump.cc:1415
 #, gcc-internal-format
 msgid "could not close Go dump file: %m"
 msgstr ""
 
-#: godump.cc:1426
+#: godump.cc:1427
 #, gcc-internal-format
 msgid "could not open Go dump file %qs: %m"
 msgstr ""
 
-#: graphite.cc:524
+#: graphite.cc:527
 #, gcc-internal-format
 msgid "Graphite loop optimizations cannot be used (isl is not available)."
 msgstr ""
 
-#: input.cc:1357
+#: input.cc:1493
 #, gcc-internal-format, gfc-internal-format
 msgid "expansion point is location %i"
 msgstr ""
 
-#: input.cc:1387
+#: input.cc:1523
 #, gcc-internal-format
 msgid "token %u has %<x-location == y-location == %u%>"
 msgstr ""
 
-#: input.cc:1396
+#: input.cc:1532
 #, gcc-internal-format
 msgid "token %u has %<x-location == %u%>"
 msgstr ""
 
-#: input.cc:1397
+#: input.cc:1533
 #, gcc-internal-format
 msgid "token %u has %<y-location == %u%>"
 msgstr ""
 
-#: internal-fn.cc:634
+#: internal-fn.cc:723
 #, gcc-internal-format
 msgid "invalid use of attribute %<fallthrough%>"
 msgstr ""
 
-#: ipa-devirt.cc:663 ipa-devirt.cc:748 ipa-devirt.cc:777 ipa-devirt.cc:819
-#: ipa-devirt.cc:850
+#: ipa-devirt.cc:677 ipa-devirt.cc:762 ipa-devirt.cc:791 ipa-devirt.cc:833
+#: ipa-devirt.cc:864
 #, gcc-internal-format
 msgid "virtual table of type %qD violates one definition rule"
 msgstr ""
 
-#: ipa-devirt.cc:666
+#: ipa-devirt.cc:680
 #, gcc-internal-format
 msgid ""
 "variable of same assembler name as the virtual table is defined in another "
 "translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:707
+#: ipa-devirt.cc:721
 #, gcc-internal-format
 msgid "virtual table of type %qD contains RTTI information"
 msgstr ""
 
-#: ipa-devirt.cc:713
+#: ipa-devirt.cc:727
 #, gcc-internal-format
 msgid "but is prevailed by one without from other translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:717
+#: ipa-devirt.cc:731
 #, gcc-internal-format
 msgid "RTTI will not work on this type"
 msgstr ""
 
-#: ipa-devirt.cc:754
+#: ipa-devirt.cc:768
 #, gcc-internal-format
 msgid ""
 "the conflicting type defined in another translation unit has virtual table "
 "of different size"
 msgstr ""
 
-#: ipa-devirt.cc:783
+#: ipa-devirt.cc:797
 #, gcc-internal-format
 msgid ""
 "the conflicting type defined in another translation unit with different RTTI "
 "information"
 msgstr ""
 
-#: ipa-devirt.cc:827 ipa-devirt.cc:858
+#: ipa-devirt.cc:841 ipa-devirt.cc:872
 #, gcc-internal-format
 msgid "the conflicting type defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:831
+#: ipa-devirt.cc:845
 #, gcc-internal-format
 msgid "contains additional virtual method %qD"
 msgstr ""
 
-#: ipa-devirt.cc:838
+#: ipa-devirt.cc:852
 #, gcc-internal-format
 msgid ""
 "the conflicting type defined in another translation unit has virtual table "
 "with more entries"
 msgstr ""
 
-#: ipa-devirt.cc:864
+#: ipa-devirt.cc:878
 #, gcc-internal-format
 msgid "virtual method %qD"
 msgstr ""
 
-#: ipa-devirt.cc:868
+#: ipa-devirt.cc:882
 #, gcc-internal-format
 msgid "ought to match virtual method %qD but does not"
 msgstr ""
 
-#: ipa-devirt.cc:874
+#: ipa-devirt.cc:888
 #, gcc-internal-format
 msgid ""
 "the conflicting type defined in another translation unit has virtual table "
 "with different contents"
 msgstr ""
 
-#: ipa-devirt.cc:908
+#: ipa-devirt.cc:922
 #, gcc-internal-format
 msgid "type %qT (typedef of %qT) violates the C++ One Definition Rule"
 msgstr ""
 
-#: ipa-devirt.cc:916
+#: ipa-devirt.cc:930
 #, gcc-internal-format
 msgid "type %qT violates the C++ One Definition Rule"
 msgstr ""
 
-#: ipa-devirt.cc:928 ipa-devirt.cc:943 ipa-devirt.cc:1218 ipa-devirt.cc:1263
-#: ipa-devirt.cc:1302 ipa-devirt.cc:1320
+#: ipa-devirt.cc:942 ipa-devirt.cc:957 ipa-devirt.cc:1232 ipa-devirt.cc:1277
+#: ipa-devirt.cc:1316 ipa-devirt.cc:1334
 #, gcc-internal-format
 msgid "a different type is defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:935
+#: ipa-devirt.cc:949
 #, gcc-internal-format
 msgid "the first difference of corresponding definitions is field %qD"
 msgstr ""
 
-#: ipa-devirt.cc:945
+#: ipa-devirt.cc:959
 #, gcc-internal-format
 msgid "the first difference of corresponding definitions is method %qD"
 msgstr ""
 
-#: ipa-devirt.cc:1050
+#: ipa-devirt.cc:1064
 #, gcc-internal-format
 msgid ""
 "type %qT defined in anonymous namespace cannot match type %qT across the "
 "translation unit boundary"
 msgstr ""
 
-#: ipa-devirt.cc:1055
+#: ipa-devirt.cc:1069
 #, gcc-internal-format
 msgid ""
 "type %qT defined in anonymous namespace cannot match across the translation "
 "unit boundary"
 msgstr ""
 
-#: ipa-devirt.cc:1060
+#: ipa-devirt.cc:1074
 #, gcc-internal-format
 msgid "the incompatible type defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1076
+#: ipa-devirt.cc:1090
 #, gcc-internal-format
 msgid "type name %qs should match type name %qs"
 msgstr ""
 
-#: ipa-devirt.cc:1080 ipa-devirt.cc:1177
+#: ipa-devirt.cc:1094 ipa-devirt.cc:1191
 #, gcc-internal-format
 msgid "the incompatible type is defined here"
 msgstr ""
 
-#: ipa-devirt.cc:1108
+#: ipa-devirt.cc:1122
 #, gcc-internal-format
 msgid "array types have different bounds"
 msgstr ""
 
-#: ipa-devirt.cc:1123
+#: ipa-devirt.cc:1137
 #, gcc-internal-format
 msgid "return value type mismatch"
 msgstr ""
 
-#: ipa-devirt.cc:1138
+#: ipa-devirt.cc:1152
 #, gcc-internal-format
 msgid "implicit this pointer type mismatch"
 msgstr ""
 
-#: ipa-devirt.cc:1141
+#: ipa-devirt.cc:1155
 #, gcc-internal-format, gfc-internal-format
 msgid "type mismatch in parameter %i"
 msgstr ""
 
-#: ipa-devirt.cc:1152
+#: ipa-devirt.cc:1166
 #, gcc-internal-format
 msgid "types have different parameter counts"
 msgstr ""
 
-#: ipa-devirt.cc:1168
+#: ipa-devirt.cc:1182
 #, gcc-internal-format
 msgid "type %qT itself violates the C++ One Definition Rule"
 msgstr ""
 
-#: ipa-devirt.cc:1174
+#: ipa-devirt.cc:1188
 #, gcc-internal-format
 msgid "type %qT should match type %qT"
 msgstr ""
 
-#: ipa-devirt.cc:1246
+#: ipa-devirt.cc:1260
 #, gcc-internal-format
 msgid "a type with different precision is defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1253
+#: ipa-devirt.cc:1267
 #, gcc-internal-format
 msgid "a type with different signedness is defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1278
+#: ipa-devirt.cc:1292
 #, gcc-internal-format
 msgid ""
 "it is defined as a pointer in different address space in another translation "
 "unit"
 msgstr ""
 
-#: ipa-devirt.cc:1287
+#: ipa-devirt.cc:1301
 #, gcc-internal-format
 msgid ""
 "it is defined as a pointer to different type in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1347
+#: ipa-devirt.cc:1361
 #, gcc-internal-format
 msgid "an array of different size is defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1362
+#: ipa-devirt.cc:1376
 #, gcc-internal-format
 msgid "has different return value in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1385 ipa-devirt.cc:1397
+#: ipa-devirt.cc:1399 ipa-devirt.cc:1411
 #, gcc-internal-format
 msgid "has different parameters in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1420
+#: ipa-devirt.cc:1434
 #, gcc-internal-format
 msgid "a type defined in another translation unit is not polymorphic"
 msgstr ""
 
-#: ipa-devirt.cc:1424
+#: ipa-devirt.cc:1438
 #, gcc-internal-format
 msgid "a type defined in another translation unit is polymorphic"
 msgstr ""
 
-#: ipa-devirt.cc:1442 ipa-devirt.cc:1506
+#: ipa-devirt.cc:1456 ipa-devirt.cc:1520
 #, gcc-internal-format
 msgid ""
 "a type with different virtual table pointers is defined in another "
 "translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1449 ipa-devirt.cc:1511
+#: ipa-devirt.cc:1463 ipa-devirt.cc:1525
 #, gcc-internal-format
 msgid "a type with different bases is defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1457
+#: ipa-devirt.cc:1471
 #, gcc-internal-format
 msgid "a field with different name is defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1471
+#: ipa-devirt.cc:1485
 #, gcc-internal-format
 msgid ""
 "a field of same name but different type is defined in another translation "
 "unit"
 msgstr ""
 
-#: ipa-devirt.cc:1484
+#: ipa-devirt.cc:1498
 #, gcc-internal-format
 msgid "fields have different layout in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1491
+#: ipa-devirt.cc:1505
 #, gcc-internal-format
 msgid "one field is a bitfield while the other is not"
 msgstr ""
 
-#: ipa-devirt.cc:1515
+#: ipa-devirt.cc:1529
 #, gcc-internal-format
 msgid ""
 "a type with different number of fields is defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1538
+#: ipa-devirt.cc:1552
 #, gcc-internal-format
 msgid "a type with different size is defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:1547
+#: ipa-devirt.cc:1561
 #, gcc-internal-format
 msgid "one type needs to be constructed while the other does not"
 msgstr ""
 
-#: ipa-devirt.cc:1560
+#: ipa-devirt.cc:1574
 #, gcc-internal-format
 msgid "memory layout mismatch"
 msgstr ""
 
-#: ipa-devirt.cc:1679
+#: ipa-devirt.cc:1693
 #, gcc-internal-format
 msgid "the extra base is defined here"
 msgstr ""
 
-#: ipa-devirt.cc:3845
+#: ipa-devirt.cc:3869
 #, gcc-internal-format
 msgid "Declaring type %qD final would enable devirtualization of %i call"
 msgid_plural ""
@@ -28631,7 +29276,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ipa-devirt.cc:3854
+#: ipa-devirt.cc:3878
 #, gcc-internal-format
 msgid ""
 "Declaring type %qD final would enable devirtualization of %i call executed "
@@ -28642,7 +29287,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ipa-devirt.cc:3884
+#: ipa-devirt.cc:3908
 #, gcc-internal-format
 msgid ""
 "Declaring virtual destructor of %qD final would enable devirtualization of "
@@ -28653,7 +29298,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ipa-devirt.cc:3892
+#: ipa-devirt.cc:3916
 #, gcc-internal-format
 msgid "Declaring method %qD final would enable devirtualization of %i call"
 msgid_plural ""
@@ -28661,7 +29306,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ipa-devirt.cc:3900
+#: ipa-devirt.cc:3924
 #, gcc-internal-format
 msgid ""
 "Declaring virtual destructor of %qD final would enable devirtualization of "
@@ -28672,7 +29317,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ipa-devirt.cc:3911
+#: ipa-devirt.cc:3935
 #, gcc-internal-format
 msgid ""
 "Declaring method %qD final would enable devirtualization of %i call executed "
@@ -28683,73 +29328,73 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ipa-devirt.cc:4224
+#: ipa-devirt.cc:4248
 #, gcc-internal-format
 msgid "type %qs violates the C++ One Definition Rule"
 msgstr ""
 
-#: ipa-devirt.cc:4233
+#: ipa-devirt.cc:4257
 #, gcc-internal-format
 msgid ""
 "an enum with different number of values is defined in another translation "
 "unit"
 msgstr ""
 
-#: ipa-devirt.cc:4237
+#: ipa-devirt.cc:4261
 #, gcc-internal-format
 msgid ""
 "an enum with different value name is defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:4241
+#: ipa-devirt.cc:4265
 #, gcc-internal-format
 msgid "an enum with different values is defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:4262
+#: ipa-devirt.cc:4286
 #, gcc-internal-format
 msgid "name %qs differs from name %qs defined in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:4268
+#: ipa-devirt.cc:4292
 #, gcc-internal-format
 msgid ""
 "name %qs is defined as %u-bit while another translation unit defines it as "
 "%u-bit"
 msgstr ""
 
-#: ipa-devirt.cc:4277
+#: ipa-devirt.cc:4301
 #, gcc-internal-format
 msgid ""
 "name %qs is defined to %wd while another translation unit defines it as %wd"
 msgstr ""
 
-#: ipa-devirt.cc:4283
+#: ipa-devirt.cc:4307
 #, gcc-internal-format
 msgid "name %qs is defined to different value in another translation unit"
 msgstr ""
 
-#: ipa-devirt.cc:4288
+#: ipa-devirt.cc:4312
 #, gcc-internal-format
 msgid "mismatching definition"
 msgstr ""
 
-#: ipa-fnsummary.cc:4542
+#: ipa-fnsummary.cc:4553
 #, gcc-internal-format
 msgid "invalid fnsummary in LTO stream"
 msgstr ""
 
-#: ipa-fnsummary.cc:4643
+#: ipa-fnsummary.cc:4654
 #, gcc-internal-format
 msgid "ipa inline summary is missing in input file"
 msgstr ""
 
-#: ipa-modref.cc:4014
+#: ipa-modref.cc:4015
 #, gcc-internal-format
 msgid "IPA modref summary is missing in input file"
 msgstr ""
 
-#: ipa-prop.cc:4774 ipa-prop.cc:4816 ipa-prop.cc:4902 ipa-prop.cc:4950
+#: ipa-prop.cc:4709 ipa-prop.cc:4751 ipa-prop.cc:4837 ipa-prop.cc:4885
 #, gcc-internal-format
 msgid "invalid jump function in LTO stream"
 msgstr ""
@@ -28771,37 +29416,37 @@ msgstr ""
 msgid "ipa reference summary is missing in ltrans unit"
 msgstr ""
 
-#: ipa-sra.cc:1491
+#: ipa-sra.cc:1566
 #, gcc-internal-format
 msgid "Access offset before parent offset"
 msgstr ""
 
-#: ipa-sra.cc:1496
+#: ipa-sra.cc:1571
 #, gcc-internal-format
 msgid "Access size greater or equal to its parent size"
 msgstr ""
 
-#: ipa-sra.cc:1501
+#: ipa-sra.cc:1576
 #, gcc-internal-format
 msgid "Access terminates outside of its parent"
 msgstr ""
 
-#: ipa-sra.cc:1513
+#: ipa-sra.cc:1588
 #, gcc-internal-format
 msgid "Access overlaps with its sibling"
 msgstr ""
 
-#: ipa-sra.cc:1532
+#: ipa-sra.cc:1607
 #, gcc-internal-format
 msgid "IPA-SRA access verification failed"
 msgstr ""
 
-#: ipa-sra.cc:2496
+#: ipa-sra.cc:2690
 #, gcc-internal-format
 msgid "function %qs, parameter %u, has IPA-SRA accesses which overlap"
 msgstr ""
 
-#: ipa-sra.cc:2499
+#: ipa-sra.cc:2693
 #, gcc-internal-format
 msgid ""
 "function %qs, parameter %u, is used but does not have any certain IPA-SRA "
@@ -28813,17 +29458,17 @@ msgstr ""
 msgid "%s cannot be used in %<asm%> here"
 msgstr ""
 
-#: ira.cc:6026
+#: ira.cc:6046
 #, gcc-internal-format
 msgid "frame pointer required, but reserved"
 msgstr ""
 
-#: ira.cc:6027
+#: ira.cc:6047
 #, gcc-internal-format
 msgid "for %qD"
 msgstr ""
 
-#: ira.cc:6043
+#: ira.cc:6063
 #, gcc-internal-format
 msgid "frame size too large for reliable stack checking"
 msgstr ""
@@ -28848,70 +29493,104 @@ msgstr ""
 msgid "inconsistent operand constraints in an %<asm%>"
 msgstr ""
 
-#: lra-constraints.cc:5126
+#: lra-constraints.cc:5137
 #, gcc-internal-format, gfc-internal-format
 msgid "maximum number of generated reload insns per insn achieved (%d)"
 msgstr ""
 
-#: lto-cgraph.cc:1127
+#: lto-cgraph.cc:1157
 #, 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:1132
+#: lto-cgraph.cc:1163
 #, 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:1301
+#: lto-cgraph.cc:1332
 #, gcc-internal-format, gfc-internal-format
 msgid "bytecode stream: found multiple instances of cgraph node with uid %d"
 msgstr ""
 
-#: lto-cgraph.cc:1466
+#: lto-cgraph.cc:1497
 #, gcc-internal-format
 msgid "bytecode stream: no caller found while reading edge"
 msgstr ""
 
-#: lto-cgraph.cc:1472
+#: lto-cgraph.cc:1503
 #, gcc-internal-format
 msgid "bytecode stream: no callee found while reading edge"
 msgstr ""
 
-#: lto-cgraph.cc:1549
+#: lto-cgraph.cc:1580
 #, gcc-internal-format
 msgid "bytecode stream: found empty cgraph node"
 msgstr ""
 
-#: lto-cgraph.cc:1668
+#: lto-cgraph.cc:1699
 #, gcc-internal-format, gfc-internal-format
 msgid "At most %i profile runs is supported. Perhaps corrupted profile?"
 msgstr ""
 
-#: lto-cgraph.cc:1693
+#: lto-cgraph.cc:1724
 #, gcc-internal-format, gfc-internal-format
 msgid "Profile information in %s corrupted"
 msgstr ""
 
-#: lto-cgraph.cc:1731
+#: lto-cgraph.cc:1762
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot find LTO cgraph in %s"
 msgstr ""
 
-#: lto-cgraph.cc:1741
+#: lto-cgraph.cc:1772
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot find LTO section refs in %s"
 msgstr ""
 
-#: lto-cgraph.cc:1816
+#: lto-cgraph.cc:1917
+#, gcc-internal-format
+msgid ""
+"OpenMP %<requires%> directive with non-identical clauses in multiple "
+"compilation units: %qs vs. %qs"
+msgstr ""
+
+#: lto-cgraph.cc:1920 lto-cgraph.cc:1921 lto-cgraph.cc:1927
+#, gcc-internal-format
+msgid "%qs has %qs"
+msgstr ""
+
+#: lto-cgraph.cc:1925
+#, gcc-internal-format
+msgid ""
+"OpenMP %<requires%> directive with %qs specified only in some compilation "
+"units"
+msgstr ""
+
+#: lto-cgraph.cc:1930
+#, gcc-internal-format
+msgid "but %qs has not"
+msgstr ""
+
+#: lto-cgraph.cc:1938
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid offload table in %s"
 msgstr ""
 
+#: lto-cgraph.cc:1949
+#, gcc-internal-format
+msgid "GCC_OFFLOAD_OMP_REQUIRES_FILE unset"
+msgstr ""
+
+#: lto-cgraph.cc:1952
+#, gcc-internal-format
+msgid "Cannot open omp_requires file %qs"
+msgstr ""
+
 #: lto-compress.cc:142 lto-compress.cc:269 lto-compress.cc:277
 #: lto-compress.cc:297 lto-compress.cc:363 lto-compress.cc:371
 #: lto-compress.cc:391
@@ -28955,59 +29634,59 @@ msgstr ""
 msgid "bytecode stream: unexpected tag %s"
 msgstr ""
 
-#: lto-streamer-in.cc:1193 lto-streamer-in.cc:1204
+#: lto-streamer-in.cc:1208 lto-streamer-in.cc:1219
 #, gcc-internal-format
 msgid "Cgraph edge statement index out of range"
 msgstr ""
 
-#: lto-streamer-in.cc:1198 lto-streamer-in.cc:1208
+#: lto-streamer-in.cc:1213 lto-streamer-in.cc:1223
 #, gcc-internal-format
 msgid "Cgraph edge statement index not found"
 msgstr ""
 
-#: lto-streamer-in.cc:1215
+#: lto-streamer-in.cc:1230
 #, gcc-internal-format
 msgid "Reference statement index out of range"
 msgstr ""
 
-#: lto-streamer-in.cc:1219
+#: lto-streamer-in.cc:1234
 #, gcc-internal-format
 msgid "Reference statement index not found"
 msgstr ""
 
-#: lto-streamer-in.cc:1966
+#: lto-streamer-in.cc:1985
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot read LTO mode table from %s"
 msgstr ""
 
-#: lto-streamer-in.cc:2068
+#: lto-streamer-in.cc:2087
 #, gcc-internal-format
 msgid "%s - %u-bit-precision floating-point numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2073
+#: lto-streamer-in.cc:2092
 #, gcc-internal-format
 msgid ""
 "%s - %u-bit-precision decimal floating-point numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2078
+#: lto-streamer-in.cc:2097
 #, gcc-internal-format
 msgid ""
 "%s - %u-bit-precision complex floating-point numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2083
+#: lto-streamer-in.cc:2102
 #, gcc-internal-format
 msgid "%s - %u-bit integer numbers unsupported (mode %qs)"
 msgstr ""
 
-#: lto-streamer-in.cc:2086
+#: lto-streamer-in.cc:2105
 #, gcc-internal-format
 msgid "%s - unsupported mode %qs"
 msgstr ""
 
-#: lto-streamer-out.cc:554 lto-streamer-out.cc:906
+#: lto-streamer-out.cc:561 lto-streamer-out.cc:913
 #, gcc-internal-format
 msgid "tree code %qs is not supported in LTO streams"
 msgstr ""
@@ -29024,102 +29703,102 @@ msgid ""
 "expected %d.%d"
 msgstr ""
 
-#: lto-wrapper.cc:131
+#: lto-wrapper.cc:159
 #, gcc-internal-format
 msgid "deleting LTRANS file %s: %m"
 msgstr ""
 
-#: lto-wrapper.cc:324
+#: lto-wrapper.cc:355
 #, gcc-internal-format, gfc-internal-format
 msgid "option %s with different values"
 msgstr ""
 
-#: lto-wrapper.cc:340
+#: lto-wrapper.cc:371
 #, gcc-internal-format
 msgid "option %qs with mismatching values (%s, %s)"
 msgstr ""
 
-#: lto-wrapper.cc:455
+#: lto-wrapper.cc:486
 #, gcc-internal-format, gfc-internal-format
 msgid "option %s not used consistently in all LTO input files"
 msgstr ""
 
-#: lto-wrapper.cc:597 lto-wrapper.cc:605
+#: lto-wrapper.cc:631 lto-wrapper.cc:639
 #, gcc-internal-format
 msgid ""
-"Extra option to %<-Xassembler%>: %s, dropping all %<-Xassembler%> and %<-Wa"
-"%> options."
+"Extra option to %<-Xassembler%>: %s, dropping all %<-Xassembler%> and %<-"
+"Wa%> options."
 msgstr ""
 
-#: lto-wrapper.cc:613
+#: lto-wrapper.cc:647
 #, gcc-internal-format
 msgid ""
-"Options to %<-Xassembler%> do not match: %s, %s, dropping all %<-Xassembler"
-"%> and %<-Wa%> options."
+"Options to %<-Xassembler%> do not match: %s, %s, dropping all %<-"
+"Xassembler%> and %<-Wa%> options."
 msgstr ""
 
-#: lto-wrapper.cc:939
+#: lto-wrapper.cc:957
 #, gcc-internal-format
 msgid "could not find %s in %s (consider using %<-B%>)"
 msgstr ""
 
-#: lto-wrapper.cc:1020
+#: lto-wrapper.cc:1037
 #, gcc-internal-format, gfc-internal-format
 msgid "problem with building target image for %s"
 msgstr ""
 
-#: lto-wrapper.cc:1049
+#: lto-wrapper.cc:1066
 #, gcc-internal-format
 msgid "reading input file"
 msgstr ""
 
-#: lto-wrapper.cc:1054
+#: lto-wrapper.cc:1071
 #, gcc-internal-format
 msgid "writing output file"
 msgstr ""
 
-#: lto-wrapper.cc:1090
+#: lto-wrapper.cc:1107
 #, gcc-internal-format
 msgid "installation error, cannot find %<crtoffloadtable.o%>"
 msgstr ""
 
-#: lto-wrapper.cc:1438
+#: lto-wrapper.cc:1429
 #, gcc-internal-format
 msgid "environment variable %<COLLECT_GCC%> must be set"
 msgstr ""
 
-#: lto-wrapper.cc:1442
+#: lto-wrapper.cc:1433
 #, gcc-internal-format
 msgid "environment variable %<COLLECT_GCC_OPTIONS%> must be set"
 msgstr ""
 
-#: lto-wrapper.cc:1720 lto-wrapper.cc:1778 c-family/c-pch.cc:213
+#: lto-wrapper.cc:1713 lto-wrapper.cc:1773 c-family/c-pch.cc:213
 #: c-family/c-pch.cc:248 c-family/c-pch.cc:286
 #, gcc-internal-format
 msgid "cannot read %s: %m"
 msgstr ""
 
-#: lto-wrapper.cc:1747
+#: lto-wrapper.cc:1740
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid format of %s"
 msgstr ""
 
-#: lto-wrapper.cc:1909
+#: lto-wrapper.cc:1906
 #, gcc-internal-format
 msgid "%<fopen%>: %s: %m"
 msgstr ""
 
-#: lto-wrapper.cc:1926
+#: lto-wrapper.cc:1923
 #, gcc-internal-format, gfc-internal-format
 msgid "corrupted ltrans output file %s"
 msgstr ""
 
-#: lto-wrapper.cc:1968
+#: lto-wrapper.cc:1966
 #, gcc-internal-format, gfc-internal-format
 msgid "using serial compilation of %d LTRANS jobs"
 msgstr ""
 
-#: lto-wrapper.cc:2144
+#: lto-wrapper.cc:2142
 #, gcc-internal-format
 msgid "%<atexit%> failed"
 msgstr ""
@@ -29139,283 +29818,281 @@ msgstr ""
 msgid "default %<target_clones%> attribute was not set"
 msgstr ""
 
-#: multiple_target.cc:327 c-family/c-attribs.cc:5508
+#: multiple_target.cc:326 c-family/c-attribs.cc:5603
 #, gcc-internal-format
 msgid "single %<target_clones%> attribute is ignored"
 msgstr ""
 
-#: multiple_target.cc:336
+#: multiple_target.cc:335
 #, gcc-internal-format
 msgid "clones for %<target_clones%> attribute cannot be created"
 msgstr ""
 
-#: multiple_target.cc:339
+#: multiple_target.cc:338
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it has %<noclone%> attribute"
 msgstr ""
 
-#: multiple_target.cc:360
+#: multiple_target.cc:359
 #, gcc-internal-format
 msgid "%<default%> target was not set"
 msgstr ""
 
-#: multiple_target.cc:364
+#: multiple_target.cc:363
 #, gcc-internal-format
 msgid "an empty string cannot be in %<target_clones%> attribute"
 msgstr ""
 
-#: multiple_target.cc:368
+#: multiple_target.cc:367
 #, gcc-internal-format
 msgid "multiple %<default%> targets were set"
 msgstr ""
 
-#: omp-expand.cc:3340
+#: omp-expand.cc:3417
 #, gcc-internal-format
-msgid ""
-"%<depend%> clause with %<sink%> modifier waiting for lexically later "
-"iteration"
+msgid "%qs clause with %<sink%> modifier waiting for lexically later iteration"
 msgstr ""
 
-#: omp-expand.cc:3477
+#: omp-expand.cc:3556
 #, gcc-internal-format
 msgid ""
-"%<depend%> clause with %<sink%> modifier refers to iteration never in the "
-"iteration space"
+"%qs clause with %<sink%> modifier refers to iteration never in the iteration "
+"space"
 msgstr ""
 
-#: omp-expand.cc:8068
+#: omp-expand.cc:8176
 #, gcc-internal-format
 msgid ""
 "invalid OpenMP non-rectangular loop step; %<(%E - %E) * %E%> is not a "
 "multiple of loop %d step %qE"
 msgstr ""
 
-#: omp-expand.cc:9995
-#, gcc-internal-format
-msgid "%<ancestor%> not yet supported"
-msgstr ""
-
-#: omp-general.cc:1111
+#: omp-general.cc:1130
 #, gcc-internal-format
 msgid "selector set %qs specified more than once"
 msgstr ""
 
-#: omp-general.cc:1125 omp-general.cc:1138
+#: omp-general.cc:1144 omp-general.cc:1157
 #, gcc-internal-format
 msgid "selector %qs specified more than once in set %qs"
 msgstr ""
 
-#: omp-general.cc:1179
+#: omp-general.cc:1198
 #, gcc-internal-format
 msgid "incorrect property %qs of %qs selector"
 msgstr ""
 
-#: omp-general.cc:1186
+#: omp-general.cc:1205
 #, gcc-internal-format
 msgid "unknown property %qs of %qs selector"
 msgstr ""
 
-#: omp-general.cc:1191
+#: omp-general.cc:1210
 #, gcc-internal-format
 msgid "unknown property %qE of %qs selector"
 msgstr ""
 
-#: omp-general.cc:1233
+#: omp-general.cc:1252
 #, gcc-internal-format
 msgid "%qD used as a variant with incompatible %<construct%> selector sets"
 msgstr ""
 
-#: omp-general.cc:2766
+#: omp-general.cc:2785
 #, gcc-internal-format
 msgid "%qs specifies a conflicting level of parallelism"
 msgstr ""
 
-#: omp-general.cc:2769
+#: omp-general.cc:2788
 #, gcc-internal-format
 msgid "... to the previous %qs clause here"
 msgstr ""
 
-#: omp-general.cc:2804
+#: omp-general.cc:2823
 #, gcc-internal-format
 msgid ""
 "cannot apply %<%s%> to %qD, which has also been marked with an OpenMP "
 "'declare target' directive"
 msgstr ""
 
-#: omp-general.cc:2858
+#: omp-general.cc:2877
 #, gcc-internal-format
 msgid ""
 "incompatible %qs clause when applying %<%s%> to %qD, which has already been "
 "marked with an OpenACC 'routine' directive"
 msgstr ""
 
-#: omp-general.cc:2865
+#: omp-general.cc:2884
 #, gcc-internal-format
 msgid ""
 "missing %qs clause when applying %<%s%> to %qD, which has already been "
 "marked with an OpenACC 'routine' directive"
 msgstr ""
 
-#: omp-general.cc:2874
+#: omp-general.cc:2893
 #, gcc-internal-format
 msgid "... with %qs clause here"
 msgstr ""
 
-#: omp-general.cc:2882
+#: omp-general.cc:2901
 #, gcc-internal-format
 msgid "... without %qs clause near to here"
 msgstr ""
 
-#: omp-low.cc:2704 omp-offload.cc:1488
+#: omp-low.cc:1167
+#, gcc-internal-format
+msgid "%<allocate%> clause must specify an allocator here"
+msgstr ""
+
+#: omp-low.cc:2737 omp-offload.cc:1489
 #, gcc-internal-format
 msgid "%<seq%> overrides other OpenACC loop specifiers"
 msgstr ""
 
-#: omp-low.cc:2707 omp-offload.cc:1489
+#: omp-low.cc:2740 omp-offload.cc:1490
 #, gcc-internal-format
 msgid "%<auto%> conflicts with other OpenACC loop specifiers"
 msgstr ""
 
-#: omp-low.cc:2711 omp-offload.cc:1523
+#: omp-low.cc:2744 omp-offload.cc:1524
 #, gcc-internal-format
 msgid "inner loop uses same OpenACC parallelism as containing loop"
 msgstr ""
 
-#: omp-low.cc:2762
+#: omp-low.cc:2795
 #, gcc-internal-format
 msgid "argument not permitted on %qs clause"
 msgstr ""
 
-#: omp-low.cc:2766
+#: omp-low.cc:2799
 #, gcc-internal-format
 msgid "enclosing parent compute construct"
 msgstr ""
 
-#: omp-low.cc:2769
+#: omp-low.cc:2802
 #, gcc-internal-format
 msgid "enclosing routine"
 msgstr ""
 
-#: omp-low.cc:2810
+#: omp-low.cc:2843
 #, gcc-internal-format
 msgid "conflicting reduction operations for %qE"
 msgstr ""
 
-#: omp-low.cc:2813
+#: omp-low.cc:2846
 #, gcc-internal-format
 msgid "location of the previous reduction for %qE"
 msgstr ""
 
-#: omp-low.cc:2846
+#: omp-low.cc:2879
 #, gcc-internal-format
 msgid "nested loop in reduction needs reduction clause for %qE"
 msgstr ""
 
-#: omp-low.cc:3103
+#: omp-low.cc:3136
 #, gcc-internal-format
 msgid ""
 "%<target%> construct with nested %<teams%> construct contains directives "
 "outside of the %<teams%> construct"
 msgstr ""
 
-#: omp-low.cc:3161
+#: omp-low.cc:3194
 #, gcc-internal-format
 msgid "non-OpenACC construct inside of OpenACC routine"
 msgstr ""
 
-#: omp-low.cc:3170
+#: omp-low.cc:3203
 #, gcc-internal-format
 msgid "non-OpenACC construct inside of OpenACC region"
 msgstr ""
 
-#: omp-low.cc:3185
+#: omp-low.cc:3218
 #, gcc-internal-format
 msgid "OpenMP constructs are not allowed in target region with %<ancestor%>"
 msgstr ""
 
-#: omp-low.cc:3210 omp-low.cc:3277
+#: omp-low.cc:3243 omp-low.cc:3310
 #, 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:3229
+#: omp-low.cc:3262
 #, gcc-internal-format
 msgid ""
 "%<ordered simd threads%> must be closely nested inside of %<%s simd%> region"
 msgstr ""
 
-#: omp-low.cc:3245
+#: omp-low.cc:3278
 #, gcc-internal-format
 msgid ""
-"OpenMP constructs other than %<ordered simd%>, %<simd%>, %<loop%> or %<atomic"
-"%> may not be nested inside %<simd%> region"
+"OpenMP constructs other than %<ordered simd%>, %<simd%>, %<loop%> or "
+"%<atomic%> may not be nested inside %<simd%> region"
 msgstr ""
 
-#: omp-low.cc:3259
+#: omp-low.cc:3292
 #, gcc-internal-format
 msgid ""
 "only %<distribute%>, %<parallel%> or %<loop%> regions are allowed to be "
 "strictly nested inside %<teams%> region"
 msgstr ""
 
-#: omp-low.cc:3273
+#: omp-low.cc:3306
 #, gcc-internal-format
 msgid ""
 "OpenMP constructs other than %<parallel%>, %<loop%> or %<simd%> may not be "
 "nested inside a %<loop%> region"
 msgstr ""
 
-#: omp-low.cc:3293
+#: omp-low.cc:3326
 #, gcc-internal-format
 msgid ""
 "%<distribute%> region must be strictly nested inside %<teams%> construct"
 msgstr ""
 
-#: omp-low.cc:3342
+#: omp-low.cc:3375
 #, gcc-internal-format
 msgid ""
 "OpenACC loop directive must be associated with an OpenACC compute region"
 msgstr ""
 
-#: omp-low.cc:3364
+#: omp-low.cc:3397
 #, gcc-internal-format
 msgid "orphaned %qs construct"
 msgstr ""
 
-#: omp-low.cc:3393
+#: omp-low.cc:3426
 #, gcc-internal-format
 msgid "%<cancel for%> inside %<nowait%> for construct"
 msgstr ""
 
-#: omp-low.cc:3398
+#: omp-low.cc:3431
 #, gcc-internal-format
 msgid "%<cancel for%> inside %<ordered%> for construct"
 msgstr ""
 
-#: omp-low.cc:3418 omp-low.cc:3431
+#: omp-low.cc:3451 omp-low.cc:3464
 #, gcc-internal-format
 msgid "%<cancel sections%> inside %<nowait%> sections construct"
 msgstr ""
 
-#: omp-low.cc:3460
+#: omp-low.cc:3493
 #, gcc-internal-format
 msgid ""
 "%<%s taskgroup%> construct not closely nested inside of %<taskgroup%> region"
 msgstr ""
 
-#: omp-low.cc:3485
+#: omp-low.cc:3518
 #, gcc-internal-format
 msgid "invalid arguments"
 msgstr ""
 
-#: omp-low.cc:3491
+#: omp-low.cc:3524
 #, gcc-internal-format
 msgid "%<%s %s%> construct not closely nested inside of %qs"
 msgstr ""
 
-#: omp-low.cc:3520
+#: omp-low.cc:3553
 #, gcc-internal-format
 msgid ""
 "barrier region may not be closely nested inside of work-sharing, %<loop%>, "
@@ -29423,22 +30100,22 @@ msgid ""
 "%<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3527
+#: omp-low.cc:3560
 #, gcc-internal-format
 msgid ""
-"work-sharing region may not be closely nested inside of work-sharing, %<loop"
-"%>, %<critical%>, %<ordered%>, %<master%>, %<masked%>, explicit %<task%> or "
-"%<taskloop%> region"
+"work-sharing region may not be closely nested inside of work-sharing, "
+"%<loop%>, %<critical%>, %<ordered%>, %<master%>, %<masked%>, explicit "
+"%<task%> or %<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3558
+#: omp-low.cc:3591
 #, 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:3593
+#: omp-low.cc:3626
 #, gcc-internal-format
 msgid ""
 "%<scope%> region may not be closely nested inside of work-sharing, %<loop%>, "
@@ -29446,135 +30123,155 @@ msgid ""
 "%<masked%> region"
 msgstr ""
 
-#: omp-low.cc:3618 omp-low.cc:3775 c-family/c-omp.cc:734
+#: omp-low.cc:3649
 #, gcc-internal-format
-msgid "%<depend(%s)%> is only allowed in %<omp ordered%>"
+msgid "%<%s(%s)%> is only allowed in %<omp ordered%>"
 msgstr ""
 
-#: omp-low.cc:3646
+#: omp-low.cc:3664
 #, gcc-internal-format
-msgid ""
-"%<ordered%> construct with %<depend%> clause must be closely nested inside "
-"an %<ordered%> loop"
+msgid "invalid depend kind in omp %<ordered%> %<depend%>"
 msgstr ""
 
-#: omp-low.cc:3663
+#: omp-low.cc:3681
 #, gcc-internal-format
-msgid "invalid depend kind in omp %<ordered%> %<depend%>"
+msgid ""
+"%<ordered%> construct with %<depend%> clause must be closely nested inside "
+"an %<ordered%> loop"
 msgstr ""
 
-#: omp-low.cc:3678
+#: omp-low.cc:3697
 #, gcc-internal-format
 msgid "%<ordered%> %<simd%> must be closely nested inside %<simd%> region"
 msgstr ""
 
-#: omp-low.cc:3691
+#: omp-low.cc:3710
 #, gcc-internal-format
 msgid ""
 "%<ordered%> region may not be closely nested inside of %<critical%>, "
 "%<ordered%>, explicit %<task%> or %<taskloop%> region"
 msgstr ""
 
-#: omp-low.cc:3704 omp-low.cc:3726
+#: omp-low.cc:3723 omp-low.cc:3768
 #, gcc-internal-format
 msgid ""
 "%<ordered%> region must be closely nested inside a loop region with an "
 "%<ordered%> clause"
 msgstr ""
 
-#: omp-low.cc:3712
+#: omp-low.cc:3732
+#, 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:3751
 #, gcc-internal-format
 msgid ""
-"%<ordered%> region without %<depend%> clause may not be closely nested "
-"inside a loop region with an %<ordered%> clause with a parameter"
+"%<ordered%> construct without %<doacross%> or %<depend%> clauses binds to "
+"loop where %<collapse%> argument %wd is different from %<ordered%> argument "
+"%wd"
 msgstr ""
 
-#: omp-low.cc:3743
+#: omp-low.cc:3785
 #, gcc-internal-format
 msgid ""
 "%<critical%> region may not be nested inside a %<critical%> region with the "
 "same name"
 msgstr ""
 
-#: omp-low.cc:3761
+#: omp-low.cc:3803
 #, 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:3783
+#: omp-low.cc:3815 c-family/c-omp.cc:721
+#, gcc-internal-format
+msgid "%<depend(%s)%> is only allowed in %<omp ordered%>"
+msgstr ""
+
+#: omp-low.cc:3823
 #, gcc-internal-format
 msgid ""
 "OpenACC region inside of OpenACC routine, nested parallelism not supported "
 "yet"
 msgstr ""
 
-#: omp-low.cc:3796
+#: omp-low.cc:3836
 #, gcc-internal-format
 msgid "OpenACC construct inside of non-OpenACC region"
 msgstr ""
 
-#: omp-low.cc:3857
+#: omp-low.cc:3897
 #, gcc-internal-format
 msgid "%s %qs construct inside of %s %qs region"
 msgstr ""
 
-#: omp-low.cc:3870 omp-low.cc:3877
+#: omp-low.cc:3910 omp-low.cc:3927
 #, gcc-internal-format
 msgid "%qs construct inside of %qs region"
 msgstr ""
 
-#: omp-low.cc:4117
+#: omp-low.cc:4170
 #, gcc-internal-format
 msgid "setjmp/longjmp inside %<simd%> construct"
 msgstr ""
 
-#: omp-low.cc:4143
+#: omp-low.cc:4196
 #, gcc-internal-format
 msgid ""
 "OpenMP runtime API call %qD in a region with %<order(concurrent)%> clause"
 msgstr ""
 
-#: omp-low.cc:4159
+#: omp-low.cc:4212
 #, gcc-internal-format
 msgid "OpenMP runtime API call %qD strictly nested in a %<teams%> region"
 msgstr ""
 
-#: omp-low.cc:4171
+#: omp-low.cc:4224
 #, gcc-internal-format
 msgid ""
 "OpenMP runtime API call %qD in a region with %<device(ancestor)%> clause"
 msgstr ""
 
-#: omp-low.cc:9830
+#: omp-low.cc:9884
 #, gcc-internal-format
 msgid ""
 "ignoring sink clause with offset that is not a multiple of the loop step"
 msgstr ""
 
-#: omp-low.cc:9853
+#: omp-low.cc:9907
 #, gcc-internal-format
 msgid "first offset must be in opposite direction of loop iterations"
 msgstr ""
 
-#: omp-low.cc:14619
+#: omp-low.cc:14833
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid exit from %s structured block"
 msgstr ""
 
-#: omp-low.cc:14621 omp-low.cc:14626
+#: omp-low.cc:14835 omp-low.cc:14840
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid entry to %s structured block"
 msgstr ""
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.cc:14630
+#: omp-low.cc:14844
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid branch to/from %s structured block"
 msgstr ""
 
-#: omp-oacc-kernels-decompose.cc:254
+#. ..., but due to bugs (PR100400), we may actually come here.
+#. Reliably catch this, regardless of checking level.
+#: omp-oacc-kernels-decompose.cc:248
+#, gcc-internal-format
+msgid "PR100400"
+msgstr ""
+
+#: omp-oacc-kernels-decompose.cc:261
 #, gcc-internal-format
 msgid ""
 "conditionally executed loop in %<kernels%> region will be executed by a "
@@ -29583,34 +30280,34 @@ msgstr ""
 
 #. No need to recurse into nested statements; no loop nested inside
 #. this loop can be gang-partitioned.
-#: omp-oacc-kernels-decompose.cc:270
+#: omp-oacc-kernels-decompose.cc:277
 #, gcc-internal-format
 msgid "%<gang%> loop in %<gang-single%> region"
 msgstr ""
 
-#: omp-oacc-kernels-decompose.cc:480
+#: omp-oacc-kernels-decompose.cc:487
 #, gcc-internal-format
 msgid "cannot honor conflicting %qs clause"
 msgstr ""
 
-#: omp-oacc-kernels-decompose.cc:483
+#: omp-oacc-kernels-decompose.cc:490
 #, gcc-internal-format
 msgid "location of the previous clause in the same loop nest"
 msgstr ""
 
-#: omp-oacc-kernels-decompose.cc:562
+#: omp-oacc-kernels-decompose.cc:569
 #, gcc-internal-format
 msgid ""
 "argument not permitted on %qs clause in OpenACC %<kernels%> region with a "
 "%qs clause"
 msgstr ""
 
-#: omp-oacc-kernels-decompose.cc:566
+#: omp-oacc-kernels-decompose.cc:573
 #, gcc-internal-format
 msgid "location of OpenACC %<kernels%>"
 msgstr ""
 
-#: omp-oacc-kernels-decompose.cc:1288
+#: omp-oacc-kernels-decompose.cc:1295
 #, gcc-internal-format
 msgid "%qs not yet supported"
 msgstr ""
@@ -29620,103 +30317,103 @@ msgstr ""
 msgid "shared-memory region overflow"
 msgstr ""
 
-#: omp-offload.cc:315
+#: omp-offload.cc:316
 #, gcc-internal-format
 msgid ""
 "%qD specified both in declare target %<link%> and implicitly in %<to%> "
 "clauses"
 msgstr ""
 
-#: omp-offload.cc:899
+#: omp-offload.cc:900
 #, gcc-internal-format
 msgid "%<-fopenacc-dim%> operand is malformed at %qs"
 msgstr ""
 
-#: omp-offload.cc:951
+#: omp-offload.cc:952
 #, gcc-internal-format, gfc-internal-format
 msgid "region contains %s partitioned code but is not %s partitioned"
 msgstr ""
 
-#: omp-offload.cc:957
+#: omp-offload.cc:958
 #, gcc-internal-format, gfc-internal-format
 msgid "region is %s partitioned but does not contain %s partitioned code"
 msgstr ""
 
-#: omp-offload.cc:1447
+#: omp-offload.cc:1448
 #, gcc-internal-format
 msgid "gang reduction on an orphan loop"
 msgstr ""
 
-#: omp-offload.cc:1521
+#: omp-offload.cc:1522
 #, gcc-internal-format
 msgid "routine call uses same OpenACC parallelism as containing loop"
 msgstr ""
 
-#: omp-offload.cc:1525 omp-offload.cc:1557
+#: omp-offload.cc:1526 omp-offload.cc:1558
 #, gcc-internal-format
 msgid "containing loop here"
 msgstr ""
 
-#: omp-offload.cc:1530
+#: omp-offload.cc:1531
 #, gcc-internal-format
 msgid "routine call uses OpenACC parallelism disallowed by containing routine"
 msgstr ""
 
-#: omp-offload.cc:1532
+#: omp-offload.cc:1533
 #, gcc-internal-format
 msgid "loop uses OpenACC parallelism disallowed by containing routine"
 msgstr ""
 
-#: omp-offload.cc:1537
+#: omp-offload.cc:1538
 #, gcc-internal-format
 msgid "routine %qD declared here"
 msgstr ""
 
-#: omp-offload.cc:1550
+#: omp-offload.cc:1551
 #, gcc-internal-format
 msgid "incorrectly nested OpenACC loop parallelism"
 msgstr ""
 
-#: omp-offload.cc:1691
+#: omp-offload.cc:1692
 #, gcc-internal-format
 msgid "insufficient partitioning available to parallelize element loop"
 msgstr ""
 
-#: omp-offload.cc:1699
+#: omp-offload.cc:1700
 #, gcc-internal-format
 msgid "insufficient partitioning available to parallelize tile loop"
 msgstr ""
 
-#: omp-offload.cc:1701
+#: omp-offload.cc:1702
 #, gcc-internal-format
 msgid "insufficient partitioning available to parallelize loop"
 msgstr ""
 
-#: omp-simd-clone.cc:197
+#: omp-simd-clone.cc:401
 #, gcc-internal-format
 msgid "ignoring large linear step"
 msgstr ""
 
-#: omp-simd-clone.cc:203
+#: omp-simd-clone.cc:407
 #, gcc-internal-format
 msgid "ignoring zero linear step"
 msgstr ""
 
-#: omp-simd-clone.cc:265
+#: omp-simd-clone.cc:469
 #, gcc-internal-format
 msgid ""
 "ignoring %<#pragma omp declare simd%> on function with %<_Atomic%> qualified "
 "return type"
 msgstr ""
 
-#: omp-simd-clone.cc:275
+#: omp-simd-clone.cc:479
 #, gcc-internal-format
 msgid ""
 "ignoring %<#pragma omp declare simd%> on function with %<_Atomic%> qualified "
 "non-%<uniform%> argument"
 msgstr ""
 
-#: optabs.cc:4835
+#: optabs.cc:4937
 #, gcc-internal-format
 msgid "indirect jumps are not available on this target"
 msgstr ""
@@ -29736,431 +30433,453 @@ msgstr ""
 msgid "error closing optimization records %qs"
 msgstr ""
 
-#: opts-common.cc:1379
+#: opts-common.cc:1383
 #, gcc-internal-format
 msgid "command-line option %qs is not supported by this configuration"
 msgstr ""
 
-#: opts-common.cc:1389 opts.cc:2421
+#: opts-common.cc:1393 opts.cc:2507
 #, gcc-internal-format
 msgid "missing argument to %qs"
 msgstr ""
 
-#: opts-common.cc:1396
+#: opts-common.cc:1400
 #, gcc-internal-format
 msgid ""
 "argument to %qs should be a non-negative integer optionally followed by a "
 "size unit"
 msgstr ""
 
-#: opts-common.cc:1400
+#: opts-common.cc:1404
 #, gcc-internal-format
 msgid "argument to %qs should be a non-negative integer"
 msgstr ""
 
-#: opts-common.cc:1407
+#: opts-common.cc:1411
 #, gcc-internal-format
 msgid "argument to %qs is not between %d and %d"
 msgstr ""
 
-#: opts-common.cc:1471
+#: opts-common.cc:1475
 #, gcc-internal-format
 msgid "invalid argument in option %qs"
 msgstr ""
 
-#: opts-common.cc:1473
+#: opts-common.cc:1477
 #, gcc-internal-format
 msgid "%qs specified multiple times in the same option"
 msgstr ""
 
-#: opts-common.cc:1476
+#: opts-common.cc:1480
 #, gcc-internal-format
 msgid "%qs is mutually exclusive with %qs and cannot be specified together"
 msgstr ""
 
-#: opts-common.cc:1498
+#: opts-common.cc:1502
 #, gcc-internal-format
 msgid "unrecognized argument in option %qs"
 msgstr ""
 
-#: opts-common.cc:1509 config/i386/i386-options.cc:1615
+#: opts-common.cc:1513 config/i386/i386-options.cc:1635
 #, gcc-internal-format
 msgid "valid arguments to %qs are: %s; did you mean %qs?"
 msgstr ""
 
-#: opts-common.cc:1512 config/i386/i386-options.cc:1618
+#: opts-common.cc:1516 config/i386/i386-options.cc:1638
 #, gcc-internal-format
 msgid "valid arguments to %qs are: %s"
 msgstr ""
 
-#: opts-common.cc:1555 c-family/c-opts.cc:451
+#: opts-common.cc:1559 c-family/c-opts.cc:448
 #, gcc-internal-format
 msgid "switch %qs is no longer supported"
 msgstr ""
 
-#: opts-common.cc:1615
+#: opts-common.cc:1619
 #, gcc-internal-format
 msgid "argument to %qs is bigger than %d"
 msgstr ""
 
-#: opts-common.cc:1962
+#: opts-common.cc:1966
 #, gcc-internal-format
 msgid "malformed %<COLLECT_GCC_OPTIONS%>"
 msgstr ""
 
-#: opts-global.cc:102
+#: opts-global.cc:104
 #, gcc-internal-format
 msgid "command-line option %qs is valid for the driver but not for %s"
 msgstr ""
 
 #. Eventually this should become a hard error IMO.
-#: opts-global.cc:108
+#: opts-global.cc:110
 #, gcc-internal-format
 msgid "command-line option %qs is valid for %s but not for %s"
 msgstr ""
 
 #. Happens for -Werror=warning_name.
-#: opts-global.cc:112
+#: opts-global.cc:114
 #, gcc-internal-format
 msgid "%<-Werror=%> argument %qs is not valid for %s"
 msgstr ""
 
-#: opts-global.cc:144
+#: opts-global.cc:146
 #, gcc-internal-format
 msgid ""
 "unrecognized command-line option %qs may have been intended to silence "
 "earlier diagnostics"
 msgstr ""
 
-#: opts-global.cc:399
+#: opts-global.cc:401
 #, gcc-internal-format
 msgid "unrecognized command-line option %<-fopt-info-%s%>"
 msgstr ""
 
-#: opts-global.cc:420 opts-global.cc:429
+#: opts-global.cc:422 opts-global.cc:431 m2/gm2spec.cc:487
 #, gcc-internal-format
 msgid "plugin support is disabled; configure with %<--enable-plugin%>"
 msgstr ""
 
-#: opts-global.cc:454
+#: opts-global.cc:456
 #, gcc-internal-format
 msgid "unrecognized register name %qs"
 msgstr ""
 
-#: opts-global.cc:472
+#: opts-global.cc:474
 #, gcc-internal-format
 msgid ""
-"%<-fasan-shadow-offset%> should only be used with %<-fsanitize=kernel-address"
-"%>"
+"%<-fasan-shadow-offset%> should only be used with %<-fsanitize=kernel-"
+"address%>"
 msgstr ""
 
-#: opts-global.cc:475
+#: opts-global.cc:477
 #, gcc-internal-format
 msgid "unrecognized shadow offset %qs"
 msgstr ""
 
-#: opts.cc:221
+#: opts.cc:226
 #, gcc-internal-format
 msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
 msgstr ""
 
-#: opts.cc:257
+#: opts.cc:262
 #, gcc-internal-format
 msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
 msgstr ""
 
-#: opts.cc:264
+#: opts.cc:269
 #, gcc-internal-format
 msgid ""
 "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-"
 "femit-struct-debug-detailed=ind:...%>"
 msgstr ""
 
-#: opts.cc:728
+#: opts.cc:735
 #, gcc-internal-format
 msgid ""
 "argument to %<-O%> should be a non-negative integer, %<g%>, %<s%>, %<z%> or "
 "%<fast%>"
 msgstr ""
 
-#: opts.cc:834 opts.cc:840 opts.cc:846 opts.cc:852 opts.cc:863 opts.cc:873
-#: opts.cc:879 opts.cc:885 opts.cc:891 opts.cc:897 opts.cc:903 opts.cc:909
-#: opts.cc:915 opts.cc:921 opts.cc:938 opts.cc:946 config/mips/mips.cc:20183
-#: config/mips/mips.cc:20185 config/mips/mips.cc:20198
+#: opts.cc:841 opts.cc:847 opts.cc:853 opts.cc:859 opts.cc:870 opts.cc:880
+#: opts.cc:886 opts.cc:892 opts.cc:898 opts.cc:904 opts.cc:910 opts.cc:916
+#: opts.cc:922 opts.cc:928 opts.cc:945 opts.cc:953 config/mips/mips.cc:20179
+#: config/mips/mips.cc:20181 config/mips/mips.cc:20194
 #, gcc-internal-format
 msgid "%qs is incompatible with %qs"
 msgstr ""
 
-#: opts.cc:928
+#: opts.cc:935
 #, gcc-internal-format
 msgid "%<-fipa-modref%> is incompatible with %qs"
 msgstr ""
 
-#: opts.cc:1008
+#: opts.cc:1015
 #, gcc-internal-format
 msgid "%<-fsanitize=%s%> is incompatible with %<-fsanitize=%s%>"
 msgstr ""
 
-#: opts.cc:1046
+#: opts.cc:1053
 #, gcc-internal-format
 msgid "section anchors must be disabled when unit-at-a-time is disabled"
 msgstr ""
 
-#: opts.cc:1050
+#: opts.cc:1057
 #, gcc-internal-format
 msgid "toplevel reorder must be disabled when unit-at-a-time is disabled"
 msgstr ""
 
-#: opts.cc:1064
+#: opts.cc:1071
 #, gcc-internal-format
 msgid "transactional memory is not supported with non-call exceptions"
 msgstr ""
 
-#: opts.cc:1079
+#: opts.cc:1086
 #, gcc-internal-format
 msgid "section anchors must be disabled when toplevel reorder is disabled"
 msgstr ""
 
-#: opts.cc:1149
+#: opts.cc:1160
 #, gcc-internal-format
 msgid "%<-fno-fat-lto-objects%> are supported only with linker plugin"
 msgstr ""
 
-#: opts.cc:1157
+#: opts.cc:1168
 #, gcc-internal-format
 msgid "%<-gsplit-dwarf%> is not supported with LTO, disabling"
 msgstr ""
 
-#: opts.cc:1171
+#: opts.cc:1182
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> is not supported by this compiler configuration"
 msgstr ""
 
-#: opts.cc:1198
+#: opts.cc:1209
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=pointer-compare%> must be combined with %<-fsanitize=address%> "
 "or %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: opts.cc:1202
+#: opts.cc:1213
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=pointer-subtract%> must be combined with %<-fsanitize=address%> "
 "or %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: opts.cc:1227
+#: opts.cc:1240
 #, gcc-internal-format
 msgid "%<-fsanitize-recover=%s%> is not supported"
 msgstr ""
 
-#: opts.cc:1254
+#: opts.cc:1252 opts.cc:2243
+#, gcc-internal-format
+msgid "%<-fsanitize-trap=%s%> is not supported"
+msgstr ""
+
+#: opts.cc:1279
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize-address-use-after-scope%> requires %<-fstack-reuse=none%> option"
 msgstr ""
 
-#: opts.cc:1261
+#: opts.cc:1286
 #, gcc-internal-format
 msgid "transactional memory is not supported with %<-fsanitize=address%>"
 msgstr ""
 
-#: opts.cc:1264
+#: opts.cc:1289
 #, gcc-internal-format
 msgid ""
 "transactional memory is not supported with %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: opts.cc:1269
+#: opts.cc:1294
 #, gcc-internal-format
-msgid "live patching is not supported with LTO"
+msgid "live patching (with %qs) is not supported with LTO"
 msgstr ""
 
-#: opts.cc:1273
+#: opts.cc:1299
 #, gcc-internal-format
 msgid "vtable verification is not supported with LTO"
 msgstr ""
 
-#: opts.cc:1353
+#: opts.cc:1374
+#, gcc-internal-format
+msgid "variable tracking requested, but useless unless producing debug info"
+msgstr ""
+
+#: opts.cc:1378
+#, gcc-internal-format
+msgid "variable tracking requested, but not supported by this debug format"
+msgstr ""
+
+#: opts.cc:1406
 #, gcc-internal-format
 msgid "var-tracking-assignments changes selective scheduling"
 msgstr ""
 
-#: opts.cc:1388 config/darwin.cc:3361
+#: opts.cc:1419
+#, gcc-internal-format
+msgid ""
+"%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not "
+"present"
+msgstr ""
+
+#: opts.cc:1449 config/darwin.cc:3361
 #, gcc-internal-format
 msgid ""
 "%<-freorder-blocks-and-partition%> does not work with exceptions on this "
 "architecture"
 msgstr ""
 
-#: opts.cc:1404
+#: opts.cc:1465
 #, gcc-internal-format
 msgid ""
 "%<-freorder-blocks-and-partition%> does not support unwind info on this "
 "architecture"
 msgstr ""
 
-#: opts.cc:1422 config/pa/pa.cc:564
+#: opts.cc:1483 config/pa/pa.cc:564
 #, gcc-internal-format
 msgid "%<-freorder-blocks-and-partition%> does not work on this architecture"
 msgstr ""
 
-#: opts.cc:1931
+#: opts.cc:1992
 #, gcc-internal-format
 msgid "unrecognized %<include_flags 0x%x%> passed to %<print_specific_help%>"
 msgstr ""
 
-#: opts.cc:2152
+#: opts.cc:2222
 #, gcc-internal-format
 msgid "%<-fsanitize=all%> option is not valid"
 msgstr ""
 
-#: opts.cc:2191
+#: opts.cc:2277
 #, gcc-internal-format
 msgid ""
 "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s; did you mean %qs?"
 msgstr ""
 
-#: opts.cc:2197
+#: opts.cc:2283
 #, gcc-internal-format
 msgid "unrecognized argument to %<-f%ssanitize%s=%> option: %q.*s"
 msgstr ""
 
-#: opts.cc:2232
+#: opts.cc:2318
 #, gcc-internal-format
 msgid "%qs attribute directive ignored"
 msgstr ""
 
-#: opts.cc:2256
+#: opts.cc:2342
 #, gcc-internal-format
 msgid "unrecognized argument to %<-fzero-call-used-regs=%>: %qs"
 msgstr ""
 
-#: opts.cc:2280
+#: opts.cc:2366
 #, gcc-internal-format
 msgid "invalid arguments for %<-falign-%s%> option: %qs"
 msgstr ""
 
-#: opts.cc:2295
+#: opts.cc:2381
 #, gcc-internal-format
 msgid "invalid number of arguments for %<-falign-%s%> option: %qs"
 msgstr ""
 
-#: opts.cc:2304
+#: opts.cc:2390
 #, gcc-internal-format
 msgid "%<-falign-%s%> is not between 0 and %d"
 msgstr ""
 
-#: opts.cc:2363
+#: opts.cc:2449
 #, gcc-internal-format
 msgid "invalid arguments for %<-fpatchable-function-entry%>"
 msgstr ""
 
-#: opts.cc:2476
+#: opts.cc:2562
 #, gcc-internal-format
 msgid "%<--help%> argument %q.*s is ambiguous, please be more specific"
 msgstr ""
 
-#: opts.cc:2485
+#: opts.cc:2571
 #, gcc-internal-format
 msgid "unrecognized argument to %<--help=%> option: %q.*s"
 msgstr ""
 
-#: opts.cc:2649
+#: opts.cc:2751
 #, gcc-internal-format
 msgid ""
 "arguments ignored for %<-Wattributes=%>; use %<-Wno-attributes=%> instead"
 msgstr ""
 
-#: opts.cc:2655
+#: opts.cc:2757
 #, gcc-internal-format
 msgid "trailing %<,%> in arguments for %<-Wno-attributes=%>"
 msgstr ""
 
-#: opts.cc:2864
+#: opts.cc:2970
 #, gcc-internal-format
 msgid "%<-foffload-abi%> option can be specified only for offload compiler"
 msgstr ""
 
-#: opts.cc:2872
+#: opts.cc:2978
 #, gcc-internal-format
 msgid "structure alignment must be a small power of two, not %wu"
 msgstr ""
 
-#: opts.cc:2993
+#: opts.cc:3099
 #, gcc-internal-format
 msgid "unknown stack check parameter %qs"
 msgstr ""
 
-#: opts.cc:3039
+#: opts.cc:3145
 #, gcc-internal-format
 msgid ""
-"%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf"
-"%> %<-g%s%> for debug level"
+"%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-"
+"gdwarf%> %<-g%s%> for debug level"
 msgstr ""
 
-#: opts.cc:3050
+#: opts.cc:3156
 #, gcc-internal-format
 msgid "dwarf version %wu is not supported"
 msgstr ""
 
-#: opts.cc:3099
+#: opts.cc:3193
 #, gcc-internal-format
 msgid "unrecognized argument to %<-flto=%> option: %qs"
 msgstr ""
 
-#: opts.cc:3299
+#: opts.cc:3393
 #, gcc-internal-format
 msgid "target system does not support debug output"
 msgstr ""
 
-#: opts.cc:3337
+#: opts.cc:3431
 #, gcc-internal-format
 msgid "debug format %qs conflicts with prior selection"
 msgstr ""
 
-#: opts.cc:3361
+#: opts.cc:3455
 #, gcc-internal-format
 msgid "unrecognized debug output level %qs"
 msgstr ""
 
-#: opts.cc:3363
+#: opts.cc:3457
 #, gcc-internal-format
 msgid "debug output level %qs is too high"
 msgstr ""
 
-#: opts.cc:3375
+#: opts.cc:3469
 #, gcc-internal-format
 msgid "unrecognized btf debug output level %qs"
 msgstr ""
 
-#: opts.cc:3392
+#: opts.cc:3486
 #, gcc-internal-format
 msgid "getting core file size maximum limit: %m"
 msgstr ""
 
-#: opts.cc:3396
+#: opts.cc:3490
 #, gcc-internal-format
 msgid "setting core file size limit to maximum: %m"
 msgstr ""
 
-#: opts.cc:3441
+#: opts.cc:3535
 #, gcc-internal-format, gfc-internal-format
 msgid "unrecognized gcc debugging option: %c"
 msgstr ""
 
-#: opts.cc:3470
+#: opts.cc:3564
 #, gcc-internal-format
 msgid "%<-W%serror=%s%>: no option %<-%s%>; did you mean %<-%s%>?"
 msgstr ""
 
-#: opts.cc:3474
+#: opts.cc:3568
 #, gcc-internal-format
 msgid "%<-W%serror=%s%>: no option %<-%s%>"
 msgstr ""
 
-#: opts.cc:3478
+#: opts.cc:3572
 #, gcc-internal-format
 msgid "%<-Werror=%s%>: %<-%s%> is not an option that controls warnings"
 msgstr ""
@@ -30177,234 +30896,244 @@ msgid ""
 "argument in %<NEXT_PASS%>"
 msgstr ""
 
-#: passes.cc:1073
+#: passes.cc:1079
 #, gcc-internal-format
 msgid "unrecognized option %<-fenable%>"
 msgstr ""
 
-#: passes.cc:1075
+#: passes.cc:1081
 #, gcc-internal-format
 msgid "unrecognized option %<-fdisable%>"
 msgstr ""
 
-#: passes.cc:1083
+#: passes.cc:1089
 #, gcc-internal-format
 msgid "unknown pass %s specified in %<-fenable%>"
 msgstr ""
 
-#: passes.cc:1085
+#: passes.cc:1091
 #, gcc-internal-format
 msgid "unknown pass %s specified in %<-fdisable%>"
 msgstr ""
 
-#: passes.cc:1110 passes.cc:1199
+#: passes.cc:1116 passes.cc:1205
 #, 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:1119 passes.cc:1216
 #, 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:1155 passes.cc:1183
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid range %s in option %s"
 msgstr ""
 
-#: passes.cc:1195
+#: passes.cc:1201
 #, gcc-internal-format, gfc-internal-format
 msgid "enable pass %s for function %s"
 msgstr ""
 
-#: passes.cc:1206
+#: passes.cc:1212
 #, gcc-internal-format, gfc-internal-format
 msgid "disable pass %s for function %s"
 msgstr ""
 
-#: passes.cc:1435
+#: passes.cc:1441
 #, gcc-internal-format
 msgid "invalid pass positioning operation"
 msgstr ""
 
-#: passes.cc:1496
+#: passes.cc:1502
 #, gcc-internal-format
 msgid "plugin cannot register a missing pass"
 msgstr ""
 
-#: passes.cc:1499
+#: passes.cc:1505
 #, gcc-internal-format
 msgid "plugin cannot register an unnamed pass"
 msgstr ""
 
-#: passes.cc:1504
+#: passes.cc:1510
 #, gcc-internal-format
 msgid "plugin cannot register pass %qs without reference pass name"
 msgstr ""
 
-#: passes.cc:1523
+#: passes.cc:1529
 #, gcc-internal-format
 msgid "pass %qs not found but is referenced by new pass %qs"
 msgstr ""
 
-#: plugin.cc:212
+#: plugin.cc:213
 #, gcc-internal-format
 msgid "inaccessible plugin file %s expanded from short plugin name %s: %m"
 msgstr ""
 
-#: plugin.cc:234
+#: plugin.cc:235
 #, gcc-internal-format
 msgid "plugin %qs was specified with different paths: %qs and %qs"
 msgstr ""
 
-#: plugin.cc:293
+#: plugin.cc:294
 #, gcc-internal-format
 msgid "malformed option %<-fplugin-arg-%s%>: missing %<-<key>[=<value>]%>"
 msgstr ""
 
-#: plugin.cc:357
+#: plugin.cc:358
 #, gcc-internal-format
 msgid ""
 "plugin %s should be specified before %<-fplugin-arg-%s%> in the command line"
 msgstr ""
 
-#: plugin.cc:376
+#: plugin.cc:377
 #, gcc-internal-format
 msgid "unable to register info for plugin %qs - plugin name not found"
 msgstr ""
 
-#: plugin.cc:472
+#: plugin.cc:473
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown callback event registered by plugin %s"
 msgstr ""
 
-#: plugin.cc:505
+#: plugin.cc:506
 #, gcc-internal-format, gfc-internal-format
 msgid "plugin %s registered a null callback function for event %s"
 msgstr ""
 
-#: plugin.cc:639
+#: plugin.cc:640
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "cannot load plugin %s\n"
 "%s"
 msgstr ""
 
-#: plugin.cc:650
+#: plugin.cc:651
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "plugin %s is not licensed under a GPL-compatible license\n"
 "%s"
 msgstr ""
 
-#: plugin.cc:663
+#: plugin.cc:664
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "cannot find %s in plugin %s\n"
 "%s"
 msgstr ""
 
-#: plugin.cc:673
+#: plugin.cc:674
 #, gcc-internal-format, gfc-internal-format
 msgid "fail to initialize plugin %s"
 msgstr ""
 
-#: plugin.cc:706
+#: plugin.cc:707
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot load plugin %s: %s"
 msgstr ""
 
-#: plugin.cc:716
+#: plugin.cc:717
 #, gcc-internal-format, gfc-internal-format
 msgid "plugin %s is not licensed under a GPL-compatible license %s"
 msgstr ""
 
-#: plugin.cc:726
+#: plugin.cc:727
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot find %s in plugin %s: %s"
 msgstr ""
 
-#: plugin.cc:735
+#: plugin.cc:736
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to initialize plugin %s"
 msgstr ""
 
-#: plugin.cc:1009
+#: plugin.cc:1048
 #, gcc-internal-format
 msgid "%<-iplugindir%> option not passed from the gcc driver"
 msgstr ""
 
+#: pointer-query.cc:1200
+#, gcc-internal-format
+msgid "destination object is likely at address zero"
+msgstr ""
+
 #: pointer-query.cc:1202
 #, gcc-internal-format
+msgid "source object is likely at address zero"
+msgstr ""
+
+#: pointer-query.cc:1212
+#, gcc-internal-format
 msgid "at offset %s into destination object %qE of size %s"
 msgstr ""
 
-#: pointer-query.cc:1205
+#: pointer-query.cc:1215
 #, gcc-internal-format
 msgid "destination object %qE of size %s"
 msgstr ""
 
-#: pointer-query.cc:1211
+#: pointer-query.cc:1221
 #, gcc-internal-format
 msgid "at offset %s into destination object of size %s allocated by %qE"
 msgstr ""
 
-#: pointer-query.cc:1214
+#: pointer-query.cc:1224
 #, gcc-internal-format
 msgid "destination object of size %s allocated by %qE"
 msgstr ""
 
-#: pointer-query.cc:1224
+#: pointer-query.cc:1234
 #, gcc-internal-format
 msgid "at offset %s into source object %qE of size %s"
 msgstr ""
 
-#: pointer-query.cc:1227
+#: pointer-query.cc:1237
 #, gcc-internal-format
 msgid "source object %qE of size %s"
 msgstr ""
 
-#: pointer-query.cc:1234
+#: pointer-query.cc:1244
 #, gcc-internal-format
 msgid "at offset %s into source object of size %s allocated by %qE"
 msgstr ""
 
-#: pointer-query.cc:1237
+#: pointer-query.cc:1247
 #, gcc-internal-format
 msgid "source object of size %s allocated by %qE"
 msgstr ""
 
-#: pointer-query.cc:1245
+#: pointer-query.cc:1255
 #, gcc-internal-format
 msgid "at offset %s into object %qE of size %s"
 msgstr ""
 
-#: pointer-query.cc:1248
+#: pointer-query.cc:1258
 #, gcc-internal-format
 msgid "object %qE of size %s"
 msgstr ""
 
-#: pointer-query.cc:1255
+#: pointer-query.cc:1265
 #, gcc-internal-format
 msgid "at offset %s into object of size %s allocated by %qE"
 msgstr ""
 
-#: pointer-query.cc:1258
+#: pointer-query.cc:1268
 #, gcc-internal-format
 msgid "object of size %s allocated by %qE"
 msgstr ""
 
-#: predict.cc:2523
+#: predict.cc:2534
 #, gcc-internal-format
 msgid "probability %qE must be constant floating-point expression"
 msgstr ""
 
-#: predict.cc:2536
+#: predict.cc:2547
 #, gcc-internal-format
 msgid "probability %qE is outside the range [0.0, 1.0]"
 msgstr ""
 
-#: predict.cc:3541
+#: predict.cc:3552
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing counts for called function %s"
 msgstr ""
@@ -30482,38 +31211,38 @@ msgstr ""
 msgid "start of RTL fragment must be on an earlier line than end"
 msgstr ""
 
-#: read-rtl.cc:490
+#: read-rtl.cc:496
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "ambiguous attribute '%s'; could be '%s' (via '%s:%s') or '%s' (via '%s:%s')"
 msgstr ""
 
-#: reg-stack.cc:538
+#: reg-stack.cc:545
 #, gcc-internal-format, gfc-internal-format
 msgid "output constraint %d must specify a single register"
 msgstr ""
 
-#: reg-stack.cc:548
+#: reg-stack.cc:555
 #, gcc-internal-format
 msgid "output constraint %d cannot be specified together with %qs clobber"
 msgstr ""
 
-#: reg-stack.cc:572
+#: reg-stack.cc:579
 #, gcc-internal-format
 msgid "output registers must be grouped at top of stack"
 msgstr ""
 
-#: reg-stack.cc:612
+#: reg-stack.cc:619
 #, gcc-internal-format
 msgid "implicitly popped registers must be grouped at top of stack"
 msgstr ""
 
-#: reg-stack.cc:630
+#: reg-stack.cc:637
 #, gcc-internal-format
 msgid "explicitly used registers must be grouped at top of stack"
 msgstr ""
 
-#: reg-stack.cc:650
+#: reg-stack.cc:657
 #, gcc-internal-format
 msgid "output operand %d must use %<&%> constraint"
 msgstr ""
@@ -30554,8 +31283,8 @@ msgid "cannot use %qs as a fixed register"
 msgstr ""
 
 #: reginfo.cc:717 config/arc/arc.cc:1184 config/arc/arc.cc:1226
-#: config/ia64/ia64.cc:6036 config/ia64/ia64.cc:6043 config/pa/pa.cc:465
-#: config/pa/pa.cc:472 config/sh/sh.cc:8277 config/sh/sh.cc:8284
+#: config/ia64/ia64.cc:6037 config/ia64/ia64.cc:6044 config/pa/pa.cc:465
+#: config/pa/pa.cc:472 config/sh/sh.cc:8278 config/sh/sh.cc:8285
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown register name: %s"
 msgstr ""
@@ -30575,7 +31304,7 @@ msgstr ""
 msgid "register of %qD used for multiple global register variables"
 msgstr ""
 
-#: reginfo.cc:745 config/rs6000/rs6000-logue.cc:5561
+#: reginfo.cc:745 config/rs6000/rs6000-logue.cc:5582
 #, gcc-internal-format
 msgid "conflicts with %qD"
 msgstr ""
@@ -30786,37 +31515,37 @@ msgstr ""
 msgid "offset of packed bit-field %qD has changed in GCC 4.4"
 msgstr ""
 
-#: stor-layout.cc:1784
+#: stor-layout.cc:1788
 #, gcc-internal-format
-msgid "padding struct size to alignment boundary"
+msgid "padding struct size to alignment boundary with %E bytes"
 msgstr ""
 
-#: stor-layout.cc:1812
+#: stor-layout.cc:1817
 #, gcc-internal-format
 msgid "packed attribute causes inefficient alignment for %qE"
 msgstr ""
 
-#: stor-layout.cc:1816
+#: stor-layout.cc:1821
 #, gcc-internal-format
 msgid "packed attribute is unnecessary for %qE"
 msgstr ""
 
-#: stor-layout.cc:1822
+#: stor-layout.cc:1827
 #, gcc-internal-format
 msgid "packed attribute causes inefficient alignment"
 msgstr ""
 
-#: stor-layout.cc:1824
+#: stor-layout.cc:1829
 #, gcc-internal-format
 msgid "packed attribute is unnecessary"
 msgstr ""
 
-#: stor-layout.cc:2609
+#: stor-layout.cc:2614
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr ""
 
-#: stor-layout.cc:2615
+#: stor-layout.cc:2620
 #, gcc-internal-format
 msgid "size of array element is not a multiple of its alignment"
 msgstr ""
@@ -30836,264 +31565,274 @@ msgstr ""
 msgid "%qD renamed after being referenced in assembly"
 msgstr ""
 
-#: symtab.cc:1106
+#: symtab.cc:1107
 #, gcc-internal-format
 msgid "function symbol is not function"
 msgstr ""
 
-#: symtab.cc:1113
+#: symtab.cc:1114
 #, gcc-internal-format
 msgid "inconsistent %<ifunc%> attribute"
 msgstr ""
 
-#: symtab.cc:1121
+#: symtab.cc:1122
 #, gcc-internal-format
 msgid "variable symbol is not variable"
 msgstr ""
 
-#: symtab.cc:1127
+#: symtab.cc:1128
 #, gcc-internal-format
 msgid "node has unknown type"
 msgstr ""
 
-#: symtab.cc:1132
+#: symtab.cc:1133
 #, gcc-internal-format, gfc-internal-format
 msgid "node has invalid order %i"
 msgstr ""
 
-#: symtab.cc:1141
+#: symtab.cc:1142
 #, gcc-internal-format
 msgid "node not found node->decl->decl_with_vis.symtab_node"
 msgstr ""
 
-#: symtab.cc:1149
+#: symtab.cc:1150
 #, gcc-internal-format
 msgid "node differs from node->decl->decl_with_vis.symtab_node"
 msgstr ""
 
-#: symtab.cc:1160 symtab.cc:1167
+#: symtab.cc:1161 symtab.cc:1168
 #, gcc-internal-format
 msgid "assembler name hash list corrupted"
 msgstr ""
 
-#: symtab.cc:1176
+#: symtab.cc:1177
 #, gcc-internal-format
 msgid "node not found in symtab assembler name hash"
 msgstr ""
 
-#: symtab.cc:1185
+#: symtab.cc:1186
 #, gcc-internal-format
 msgid "double linked list of assembler names corrupted"
 msgstr ""
 
-#: symtab.cc:1190
+#: symtab.cc:1191
 #, gcc-internal-format
 msgid "node has body_removed but is definition"
 msgstr ""
 
-#: symtab.cc:1195
+#: symtab.cc:1196
 #, gcc-internal-format
 msgid "node is analyzed but it is not a definition"
 msgstr ""
 
-#: symtab.cc:1200
+#: symtab.cc:1201
 #, gcc-internal-format
 msgid "node is alias but not implicit alias"
 msgstr ""
 
-#: symtab.cc:1205
+#: symtab.cc:1206
 #, gcc-internal-format
 msgid "node is alias but not definition"
 msgstr ""
 
-#: symtab.cc:1210
+#: symtab.cc:1211
 #, gcc-internal-format
 msgid "node is weakref but not an transparent_alias"
 msgstr ""
 
-#: symtab.cc:1215
+#: symtab.cc:1216
 #, gcc-internal-format
 msgid "node is transparent_alias but not an alias"
 msgstr ""
 
-#: symtab.cc:1220
+#: symtab.cc:1221
 #, gcc-internal-format
 msgid "node is symver but not alias"
 msgstr ""
 
-#: symtab.cc:1229
+#: symtab.cc:1230
 #, gcc-internal-format
 msgid "symver target is not exported with default visibility"
 msgstr ""
 
-#: symtab.cc:1236
+#: symtab.cc:1237
 #, gcc-internal-format
 msgid "symver is not exported with default visibility"
 msgstr ""
 
-#: symtab.cc:1245
+#: symtab.cc:1246
 #, gcc-internal-format
 msgid "node is in same_comdat_group list but has no comdat_group"
 msgstr ""
 
-#: symtab.cc:1250
+#: symtab.cc:1251
 #, gcc-internal-format
 msgid "same_comdat_group list across different groups"
 msgstr ""
 
-#: symtab.cc:1255
+#: symtab.cc:1256
 #, gcc-internal-format
 msgid "mixing different types of symbol in same comdat groups is not supported"
 msgstr ""
 
-#: symtab.cc:1260
+#: symtab.cc:1261
 #, gcc-internal-format
 msgid "node is alone in a comdat group"
 msgstr ""
 
-#: symtab.cc:1267
+#: symtab.cc:1268
 #, gcc-internal-format
 msgid "same_comdat_group is not a circular list"
 msgstr ""
 
-#: symtab.cc:1282
+#: symtab.cc:1283
 #, gcc-internal-format, gfc-internal-format
 msgid "comdat-local symbol referred to by %s outside its comdat"
 msgstr ""
 
-#: symtab.cc:1292
+#: symtab.cc:1293
 #, gcc-internal-format
 msgid "implicit_section flag is set but section isn%'t"
 msgstr ""
 
-#: symtab.cc:1299
+#: symtab.cc:1300
 #, gcc-internal-format
 msgid "Both section and comdat group is set"
 msgstr ""
 
-#: symtab.cc:1311
+#: symtab.cc:1312
 #, gcc-internal-format
 msgid "Alias and target%'s section differs"
 msgstr ""
 
-#: symtab.cc:1318
+#: symtab.cc:1319
 #, gcc-internal-format
 msgid "Alias and target%'s comdat groups differs"
 msgstr ""
 
-#: symtab.cc:1333
+#: symtab.cc:1334
 #, gcc-internal-format
 msgid "Transparent alias and target%'s assembler names differs"
 msgstr ""
 
-#: symtab.cc:1341
+#: symtab.cc:1342
 #, gcc-internal-format
 msgid "Chained transparent aliases"
 msgstr ""
 
-#: symtab.cc:1364 symtab.cc:1382 symtab.cc:1409
+#: symtab.cc:1365 symtab.cc:1383 symtab.cc:1410
 #, gcc-internal-format
 msgid "symtab_node::verify failed"
 msgstr ""
 
-#: symtab.cc:1381
+#: symtab.cc:1382
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid order in asm node %i"
 msgstr ""
 
-#: symtab.cc:1405
+#: symtab.cc:1406
 #, gcc-internal-format
 msgid ""
 "Two symbols with same comdat_group are not linked by the same_comdat_group "
 "list."
 msgstr ""
 
-#: symtab.cc:1843
+#: symtab.cc:1844
 #, gcc-internal-format
 msgid "function %q+D part of alias cycle"
 msgstr ""
 
-#: symtab.cc:1845
+#: symtab.cc:1846
 #, gcc-internal-format
 msgid "variable %q+D part of alias cycle"
 msgstr ""
 
-#: symtab.cc:1873
+#: symtab.cc:1874
 #, gcc-internal-format
 msgid "section of alias %q+D must match section of its target"
 msgstr ""
 
-#: targhooks.cc:201
+#: targhooks.cc:202
 #, gcc-internal-format
 msgid "%<__builtin_saveregs%> not supported by this target"
 msgstr ""
 
-#: targhooks.cc:1185
+#: targhooks.cc:1198
 #, gcc-internal-format
-msgid "%qs not supported on this target"
+msgid "argument %qs is not supported for %qs on this target"
 msgstr ""
 
-#: targhooks.cc:1227
+#: targhooks.cc:1240
 #, gcc-internal-format
 msgid "nested functions not supported on this target"
 msgstr ""
 
-#: targhooks.cc:1240
+#: targhooks.cc:1253
 #, gcc-internal-format
 msgid "nested function trampolines not supported on this target"
 msgstr ""
 
-#: targhooks.cc:1742
+#: targhooks.cc:1416
+#, gcc-internal-format
+msgid "global constructors not supported on this target"
+msgstr ""
+
+#: targhooks.cc:1425
+#, gcc-internal-format
+msgid "global destructors not supported on this target"
+msgstr ""
+
+#: targhooks.cc:1775
 #, gcc-internal-format
 msgid "target attribute is not supported on this machine"
 msgstr ""
 
-#: targhooks.cc:1756
+#: targhooks.cc:1789
 #, gcc-internal-format
 msgid "%<#pragma GCC target%> is not supported for this machine"
 msgstr ""
 
-#: toplev.cc:721
+#: toplev.cc:713
 #, gcc-internal-format
 msgid "cannot open %qs for writing: %m"
 msgstr ""
 
-#: toplev.cc:740
+#: toplev.cc:732
 #, gcc-internal-format
 msgid "%<-frecord-gcc-switches%> is not supported by the current target"
 msgstr ""
 
-#: toplev.cc:792
+#: toplev.cc:784
 #, gcc-internal-format
 msgid "stack usage computation not supported for this target"
 msgstr ""
 
-#: toplev.cc:850
+#: toplev.cc:842
 #, gcc-internal-format
 msgid "stack usage might be unbounded"
 msgstr ""
 
-#: toplev.cc:855
+#: toplev.cc:847
 #, gcc-internal-format
 msgid "stack usage might be %wu bytes"
 msgstr ""
 
-#: toplev.cc:858
+#: toplev.cc:850
 #, gcc-internal-format
 msgid "stack usage is %wu bytes"
 msgstr ""
 
-#: toplev.cc:975
+#: toplev.cc:967
 #, gcc-internal-format
 msgid "cannot open %s for writing: %m"
 msgstr ""
 
-#: toplev.cc:1251
+#: toplev.cc:1245
 #, gcc-internal-format
 msgid "this target does not support %qs"
 msgstr ""
 
-#: toplev.cc:1285
+#: toplev.cc:1279
 #, gcc-internal-format
 msgid ""
 "Graphite loop optimizations cannot be used (isl is not available) (%<-"
@@ -31101,197 +31840,182 @@ msgid ""
 "parallelize-all%>)"
 msgstr ""
 
-#: toplev.cc:1296
+#: toplev.cc:1290
 #, gcc-internal-format
 msgid "%<-fcf-protection=full%> is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1303
+#: toplev.cc:1297
 #, gcc-internal-format
 msgid "%<-fcf-protection=branch%> is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1310
+#: toplev.cc:1304
 #, gcc-internal-format
 msgid "%<-fcf-protection=return%> is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1325
+#: toplev.cc:1319
 #, gcc-internal-format
 msgid "%<-fabi-version=1%> is no longer supported"
 msgstr ""
 
-#: toplev.cc:1341
+#: toplev.cc:1335
 #, gcc-internal-format
 msgid "instruction scheduling not supported on this target machine"
 msgstr ""
 
-#: toplev.cc:1345
+#: toplev.cc:1339
 #, gcc-internal-format
 msgid "this target machine does not have delayed branches"
 msgstr ""
 
-#: toplev.cc:1359
+#: toplev.cc:1353
 #, gcc-internal-format
 msgid "%<-f%sleading-underscore%> not supported on this target machine"
 msgstr ""
 
-#: toplev.cc:1388
+#: toplev.cc:1382
 #, gcc-internal-format
 msgid "CTF debug info requested, but not supported for %qs frontend"
 msgstr ""
 
-#: toplev.cc:1406
+#: toplev.cc:1400
 #, gcc-internal-format
 msgid "could not close zeroed insn dump file %qs: %m"
 msgstr ""
 
-#: toplev.cc:1420
-#, gcc-internal-format
-msgid "STABS debugging information is obsolete and not supported anymore"
-msgstr ""
-
-#: toplev.cc:1457
+#: toplev.cc:1438
 #, gcc-internal-format
 msgid "target system does not support the %qs debug format"
 msgstr ""
 
-#: toplev.cc:1473
-#, gcc-internal-format
-msgid "variable tracking requested, but useless unless producing debug info"
-msgstr ""
-
-#: toplev.cc:1477
-#, gcc-internal-format
-msgid "variable tracking requested, but not supported by this debug format"
-msgstr ""
-
-#: toplev.cc:1509
+#: toplev.cc:1466
 #, gcc-internal-format
 msgid ""
 "without %<-gdwarf-5%>, %<-gvariable-location-views=incompat5%> is equivalent "
 "to %<-gvariable-location-views%>"
 msgstr ""
 
-#: toplev.cc:1525
+#: toplev.cc:1482
 #, gcc-internal-format
 msgid ""
 "%<-ginternal-reset-location-views%> is forced disabled without %<-gvariable-"
 "location-views%>"
 msgstr ""
 
-#: toplev.cc:1535
+#: toplev.cc:1492
 #, gcc-internal-format
 msgid ""
 "%<-ginline-points%> is forced disabled without %<-gstatement-frontiers%>"
 msgstr ""
 
-#: toplev.cc:1564
+#: toplev.cc:1521
 #, gcc-internal-format
 msgid "%<-ffunction-sections%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1570
+#: toplev.cc:1527
 #, gcc-internal-format
 msgid "%<-fdata-sections%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1578
+#: toplev.cc:1535
 #, gcc-internal-format
 msgid "%<-fprefetch-loop-arrays%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1584
+#: toplev.cc:1541
 #, gcc-internal-format
 msgid ""
 "%<-fprefetch-loop-arrays%> not supported for this target (try %<-march%> "
 "switches)"
 msgstr ""
 
-#: toplev.cc:1594
+#: toplev.cc:1551
 #, gcc-internal-format
 msgid "%<-fprefetch-loop-arrays%> is not supported with %<-Os%>"
 msgstr ""
 
-#: toplev.cc:1606
+#: toplev.cc:1563
 #, gcc-internal-format
 msgid "%<-fassociative-math%> disabled; other options take precedence"
 msgstr ""
 
-#: toplev.cc:1616
+#: toplev.cc:1573
 #, gcc-internal-format
 msgid ""
 "%<-fstack-clash-protection%> is not supported on targets where the stack "
 "grows from lower to higher addresses"
 msgstr ""
 
-#: toplev.cc:1626
+#: toplev.cc:1583
 #, gcc-internal-format
 msgid ""
 "%<-fstack-check=%> and %<-fstack-clash_protection%> are mutually exclusive; "
 "disabling %<-fstack-check=%>"
 msgstr ""
 
-#: toplev.cc:1636
+#: toplev.cc:1593
 #, gcc-internal-format
 msgid "%<-fstack-protector%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1648
+#: toplev.cc:1605
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=address%> and %<-fsanitize=kernel-address%> are not supported "
 "for this target"
 msgstr ""
 
-#: toplev.cc:1658
+#: toplev.cc:1615
 #, gcc-internal-format
 msgid "%<-fsanitize=address%> not supported for this target"
 msgstr ""
 
-#: toplev.cc:1667
+#: toplev.cc:1624
 #, gcc-internal-format
 msgid ""
 "%<-fsanitize=kernel-address%> with stack protection is not supported without "
 "%<-fasan-shadow-offset=%> for this target"
 msgstr ""
 
-#: toplev.cc:1677
+#: toplev.cc:1634
 #, gcc-internal-format
 msgid "%qs is not supported for this target"
 msgstr ""
 
-#: toplev.cc:1685
+#: toplev.cc:1642
 #, gcc-internal-format
 msgid "%<-fsanitize=shadow-call-stack%> not supported in current platform"
 msgstr ""
 
-#: toplev.cc:1688
+#: toplev.cc:1645
 #, gcc-internal-format
 msgid "%<-fsanitize=shadow-call-stack%> requires %<-fno-exceptions%>"
 msgstr ""
 
-#: toplev.cc:2026
+#: toplev.cc:1983
 #, gcc-internal-format
 msgid "error writing to %s: %m"
 msgstr ""
 
-#: toplev.cc:2028
+#: toplev.cc:1985
 #, gcc-internal-format
 msgid "error closing %s: %m"
 msgstr ""
 
-#: toplev.cc:2146
+#: toplev.cc:2103
 #, gcc-internal-format
 msgid "mpfr not configured to handle all floating modes"
 msgstr ""
 
-#: toplev.cc:2232
+#: toplev.cc:2189
 #, gcc-internal-format
 msgid "self-tests are not enabled in this build"
 msgstr ""
 
-#: toplev.cc:2325
+#: toplev.cc:2282
 #, gcc-internal-format
 msgid "self-tests incompatible with %<-E%>"
 msgstr ""
@@ -31313,7 +32037,7 @@ msgid ""
 "or %<transaction_may_cancel_outer%>"
 msgstr ""
 
-#: trans-mem.cc:714 trans-mem.cc:4819
+#: trans-mem.cc:714 trans-mem.cc:4831
 #, gcc-internal-format
 msgid "unsafe function call %qD within atomic transaction"
 msgstr ""
@@ -31328,7 +32052,7 @@ msgstr ""
 msgid "unsafe indirect function call within atomic transaction"
 msgstr ""
 
-#: trans-mem.cc:733 trans-mem.cc:4751
+#: trans-mem.cc:733 trans-mem.cc:4763
 #, gcc-internal-format
 msgid "unsafe function call %qD within %<transaction_safe%> function"
 msgstr ""
@@ -31343,12 +32067,12 @@ msgstr ""
 msgid "unsafe indirect function call within %<transaction_safe%> function"
 msgstr ""
 
-#: trans-mem.cc:759 trans-mem.cc:4791
+#: trans-mem.cc:759 trans-mem.cc:4803
 #, gcc-internal-format
 msgid "%<asm%> not allowed in atomic transaction"
 msgstr ""
 
-#: trans-mem.cc:762 trans-mem.cc:4417
+#: trans-mem.cc:762 trans-mem.cc:4429
 #, gcc-internal-format
 msgid "%<asm%> not allowed in %<transaction_safe%> function"
 msgstr ""
@@ -31383,162 +32107,162 @@ msgstr ""
 msgid "ignoring loop annotation"
 msgstr ""
 
-#: tree-cfg.cc:3012
+#: tree-cfg.cc:3080
 #, gcc-internal-format
 msgid "constant not recomputed when %<ADDR_EXPR%> changed"
 msgstr ""
 
-#: tree-cfg.cc:3017
+#: tree-cfg.cc:3085
 #, gcc-internal-format
 msgid "side effects not recomputed when %<ADDR_EXPR%> changed"
 msgstr ""
 
-#: tree-cfg.cc:3032
+#: tree-cfg.cc:3100
 #, gcc-internal-format
 msgid "address taken but %<TREE_ADDRESSABLE%> bit not set"
 msgstr ""
 
-#: tree-cfg.cc:3056
+#: tree-cfg.cc:3124
 #, gcc-internal-format
 msgid "non-scalar %qs"
 msgstr ""
 
-#: tree-cfg.cc:3070
+#: tree-cfg.cc:3138
 #, gcc-internal-format
 msgid "invalid position or size operand to %qs"
 msgstr ""
 
-#: tree-cfg.cc:3076
+#: tree-cfg.cc:3144
 #, gcc-internal-format
 msgid "integral result type precision does not match field size of %qs"
 msgstr ""
 
-#: tree-cfg.cc:3085
+#: tree-cfg.cc:3153
 #, gcc-internal-format
 msgid "mode size of non-integral result does not match field size of %qs"
 msgstr ""
 
-#: tree-cfg.cc:3093
+#: tree-cfg.cc:3161
 #, gcc-internal-format
 msgid "%qs of non-mode-precision operand"
 msgstr ""
 
-#: tree-cfg.cc:3100
+#: tree-cfg.cc:3168
 #, gcc-internal-format
 msgid "position plus size exceeds size of referenced object in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3111
+#: tree-cfg.cc:3179
 #, gcc-internal-format
 msgid "type mismatch in %qs reference"
 msgstr ""
 
-#: tree-cfg.cc:3127
+#: tree-cfg.cc:3195
 #, gcc-internal-format
 msgid "non-top-level %qs"
 msgstr ""
 
-#: tree-cfg.cc:3142
+#: tree-cfg.cc:3210
 #, gcc-internal-format
 msgid "invalid operands to %qs"
 msgstr ""
 
-#: tree-cfg.cc:3153 tree-cfg.cc:3162 tree-cfg.cc:3179 tree-cfg.cc:3874
-#: tree-cfg.cc:3903 tree-cfg.cc:3920 tree-cfg.cc:3941 tree-cfg.cc:3989
-#: tree-cfg.cc:4010 tree-cfg.cc:4064 tree-cfg.cc:4088 tree-cfg.cc:4124
-#: tree-cfg.cc:4145 tree-cfg.cc:4190 tree-cfg.cc:4266 tree-cfg.cc:4301
-#: tree-cfg.cc:4313 tree-cfg.cc:4372 tree-cfg.cc:4397 tree-cfg.cc:4472
-#: tree-cfg.cc:4558
+#: tree-cfg.cc:3221 tree-cfg.cc:3230 tree-cfg.cc:3247 tree-cfg.cc:3943
+#: tree-cfg.cc:3972 tree-cfg.cc:3989 tree-cfg.cc:4010 tree-cfg.cc:4058
+#: tree-cfg.cc:4079 tree-cfg.cc:4133 tree-cfg.cc:4157 tree-cfg.cc:4193
+#: tree-cfg.cc:4214 tree-cfg.cc:4275 tree-cfg.cc:4350 tree-cfg.cc:4376
+#: tree-cfg.cc:4412 tree-cfg.cc:4461 tree-cfg.cc:4486 tree-cfg.cc:4561
+#: tree-cfg.cc:4647
 #, gcc-internal-format
 msgid "type mismatch in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3173
+#: tree-cfg.cc:3241
 #, gcc-internal-format
 msgid "invalid %qs offset operator"
 msgstr ""
 
-#: tree-cfg.cc:3197
+#: tree-cfg.cc:3265
 #, gcc-internal-format
 msgid "conversion of %qs on the left hand side of %qs"
 msgstr ""
 
-#: tree-cfg.cc:3205
+#: tree-cfg.cc:3273
 #, gcc-internal-format
 msgid "conversion of register to a different size in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3225 tree-cfg.cc:3251
+#: tree-cfg.cc:3293 tree-cfg.cc:3319
 #, gcc-internal-format
 msgid "invalid address operand in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3232 tree-cfg.cc:3258
+#: tree-cfg.cc:3300 tree-cfg.cc:3326
 #, gcc-internal-format
 msgid "invalid offset operand in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3239 tree-cfg.cc:3265
+#: tree-cfg.cc:3307 tree-cfg.cc:3333
 #, gcc-internal-format
 msgid "invalid clique in %qs"
 msgstr ""
 
-#: tree-cfg.cc:3272 tree-cfg.cc:4570
+#: tree-cfg.cc:3340 tree-cfg.cc:4659
 #, gcc-internal-format
 msgid "%qs in gimple IL"
 msgstr ""
 
-#: tree-cfg.cc:3287
+#: tree-cfg.cc:3355
 #, gcc-internal-format
 msgid "invalid expression for min lvalue"
 msgstr ""
 
-#: tree-cfg.cc:3338
+#: tree-cfg.cc:3406
 #, gcc-internal-format
 msgid "gimple call has two targets"
 msgstr ""
 
-#: tree-cfg.cc:3347
+#: tree-cfg.cc:3415
 #, gcc-internal-format
 msgid "gimple call has no target"
 msgstr ""
 
-#: tree-cfg.cc:3354
+#: tree-cfg.cc:3422
 #, gcc-internal-format
 msgid "invalid function in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3364
+#: tree-cfg.cc:3432
 #, gcc-internal-format
 msgid "non-function in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3375
+#: tree-cfg.cc:3443
 #, gcc-internal-format
 msgid "invalid pure const state for function"
 msgstr ""
 
-#: tree-cfg.cc:3387
+#: tree-cfg.cc:3455
 #, gcc-internal-format
 msgid "invalid LHS in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3395
+#: tree-cfg.cc:3463
 #, gcc-internal-format
 msgid "LHS in %<noreturn%> call"
 msgstr ""
 
-#: tree-cfg.cc:3409
+#: tree-cfg.cc:3477
 #, gcc-internal-format
 msgid "invalid conversion in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3418
+#: tree-cfg.cc:3486
 #, gcc-internal-format
 msgid "invalid static chain in gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3429
+#: tree-cfg.cc:3497
 #, gcc-internal-format
 msgid "static chain with function that doesn%'t use one"
 msgstr ""
@@ -31549,711 +32273,719 @@ 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:3447
+#: tree-cfg.cc:3516
 #, gcc-internal-format
 msgid "%<__builtin_unreachable%> or %<__builtin_trap%> call with arguments"
 msgstr ""
 
-#: tree-cfg.cc:3478
+#: tree-cfg.cc:3547
 #, gcc-internal-format
 msgid ""
-"%<DEFFERED_INIT%> calls should have same constant size for the first "
+"%<DEFERRED_INIT%> calls should have same constant size for the first "
 "argument and LHS"
 msgstr ""
 
-#: tree-cfg.cc:3496
+#: tree-cfg.cc:3565
 #, gcc-internal-format
 msgid "invalid argument to gimple call"
 msgstr ""
 
-#: tree-cfg.cc:3523
+#: tree-cfg.cc:3592
 #, gcc-internal-format
 msgid "invalid operands in gimple comparison"
 msgstr ""
 
-#: tree-cfg.cc:3534
+#: tree-cfg.cc:3603
 #, gcc-internal-format
 msgid "mismatching comparison operand types"
 msgstr ""
 
-#: tree-cfg.cc:3551
+#: tree-cfg.cc:3620
 #, gcc-internal-format
 msgid "unsupported operation or type for vector comparison returning a boolean"
 msgstr ""
 
-#: tree-cfg.cc:3566
+#: tree-cfg.cc:3635
 #, gcc-internal-format
 msgid "non-vector operands in vector comparison"
 msgstr ""
 
-#: tree-cfg.cc:3575
+#: tree-cfg.cc:3644
 #, gcc-internal-format
 msgid "invalid vector comparison resulting type"
 msgstr ""
 
-#: tree-cfg.cc:3582
+#: tree-cfg.cc:3651
 #, gcc-internal-format
 msgid "bogus comparison result type"
 msgstr ""
 
-#: tree-cfg.cc:3604
+#: tree-cfg.cc:3673
 #, gcc-internal-format
 msgid "non-register as LHS of unary operation"
 msgstr ""
 
-#: tree-cfg.cc:3610
+#: tree-cfg.cc:3679
 #, gcc-internal-format
 msgid "invalid operand in unary operation"
 msgstr ""
 
-#: tree-cfg.cc:3633
+#: tree-cfg.cc:3702
 #, gcc-internal-format
 msgid "invalid vector types in nop conversion"
 msgstr ""
 
-#: tree-cfg.cc:3670
+#: tree-cfg.cc:3739
 #, gcc-internal-format
 msgid "invalid types in nop conversion"
 msgstr ""
 
-#: tree-cfg.cc:3685
+#: tree-cfg.cc:3754
 #, gcc-internal-format
 msgid "invalid types in address space conversion"
 msgstr ""
 
-#: tree-cfg.cc:3699
+#: tree-cfg.cc:3768
 #, gcc-internal-format
 msgid "invalid types in fixed-point conversion"
 msgstr ""
 
-#: tree-cfg.cc:3714
+#: tree-cfg.cc:3783
 #, gcc-internal-format
 msgid "invalid types in conversion to floating-point"
 msgstr ""
 
-#: tree-cfg.cc:3729
+#: tree-cfg.cc:3798
 #, gcc-internal-format
 msgid "invalid types in conversion to integer"
 msgstr ""
 
-#: tree-cfg.cc:3769
+#: tree-cfg.cc:3838
 #, gcc-internal-format
 msgid "type mismatch in %qs expression"
 msgstr ""
 
-#: tree-cfg.cc:3786 tree-cfg.cc:3800 tree-cfg.cc:4170
+#: tree-cfg.cc:3855 tree-cfg.cc:3869 tree-cfg.cc:4241 tree-cfg.cc:4263
 #, gcc-internal-format
 msgid "invalid types for %qs"
 msgstr ""
 
-#: tree-cfg.cc:3811
+#: tree-cfg.cc:3880
 #, gcc-internal-format
 msgid "%qs should be from a scalar to a like vector"
 msgstr ""
 
-#: tree-cfg.cc:3825
+#: tree-cfg.cc:3894
 #, gcc-internal-format
 msgid "non-trivial conversion in unary operation"
 msgstr ""
 
-#: tree-cfg.cc:3850
+#: tree-cfg.cc:3919
 #, gcc-internal-format
 msgid "non-register as LHS of binary operation"
 msgstr ""
 
-#: tree-cfg.cc:3857
+#: tree-cfg.cc:3926
 #, gcc-internal-format
 msgid "invalid operands in binary operation"
 msgstr ""
 
-#: tree-cfg.cc:3964
+#: tree-cfg.cc:4033
 #, gcc-internal-format
 msgid "invalid non-vector operands to %qs"
 msgstr ""
 
-#: tree-cfg.cc:3975
+#: tree-cfg.cc:4044
 #, gcc-internal-format
 msgid "invalid (pointer) operands %qs"
 msgstr ""
 
-#: tree-cfg.cc:4198
+#: tree-cfg.cc:4283
 #, gcc-internal-format
 msgid "vector type expected in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4211
+#: tree-cfg.cc:4296
 #, gcc-internal-format
 msgid "type mismatch in binary expression"
 msgstr ""
 
-#: tree-cfg.cc:4239
+#: tree-cfg.cc:4324
 #, gcc-internal-format
 msgid "non-register as LHS of ternary operation"
 msgstr ""
 
-#: tree-cfg.cc:4248
+#: tree-cfg.cc:4332
 #, gcc-internal-format
 msgid "invalid operands in ternary operation"
 msgstr ""
 
-#: tree-cfg.cc:4280
+#: tree-cfg.cc:4364
 #, 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:4325 tree-cfg.cc:4384
+#: tree-cfg.cc:4396 tree-cfg.cc:4473
 #, gcc-internal-format
 msgid "vector types expected in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4340
+#: tree-cfg.cc:4429
 #, gcc-internal-format
 msgid "vectors with different element number found in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4356
+#: tree-cfg.cc:4445
 #, gcc-internal-format
 msgid "invalid mask type in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4417
+#: tree-cfg.cc:4506
 #, gcc-internal-format
 msgid "not allowed type combination in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4426
+#: tree-cfg.cc:4515
 #, gcc-internal-format
 msgid "invalid position or size in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4432
+#: tree-cfg.cc:4521
 #, gcc-internal-format
 msgid "%qs into non-mode-precision operand"
 msgstr ""
 
-#: tree-cfg.cc:4442
+#: tree-cfg.cc:4531
 #, gcc-internal-format
 msgid "insertion out of range in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4452
+#: tree-cfg.cc:4541
 #, gcc-internal-format
 msgid "%qs not at element boundary"
 msgstr ""
 
-#: tree-cfg.cc:4508
+#: tree-cfg.cc:4597
 #, gcc-internal-format
 msgid "non-trivial conversion in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4517
+#: tree-cfg.cc:4606
 #, gcc-internal-format
 msgid "%qs LHS in clobber statement"
 msgstr ""
 
-#: tree-cfg.cc:4525
+#: tree-cfg.cc:4614
 #, gcc-internal-format
 msgid "%qs LHS in assignment statement"
 msgstr ""
 
-#: tree-cfg.cc:4544
+#: tree-cfg.cc:4633
 #, gcc-internal-format
 msgid "invalid operand in %qs"
 msgstr ""
 
-#: tree-cfg.cc:4585 tree-cfg.cc:4611
+#: tree-cfg.cc:4674 tree-cfg.cc:4700
 #, gcc-internal-format
 msgid "invalid RHS for gimple memory store: %qs"
 msgstr ""
 
-#: tree-cfg.cc:4645 tree-cfg.cc:4663
+#: tree-cfg.cc:4734 tree-cfg.cc:4752
 #, gcc-internal-format
 msgid "incorrect type of vector %qs elements"
 msgstr ""
 
-#: tree-cfg.cc:4654 tree-cfg.cc:4671
+#: tree-cfg.cc:4743 tree-cfg.cc:4760
 #, gcc-internal-format
 msgid "incorrect number of vector %qs elements"
 msgstr ""
 
-#: tree-cfg.cc:4679
+#: tree-cfg.cc:4768
 #, gcc-internal-format
 msgid "incorrect type of vector CONSTRUCTOR elements"
 msgstr ""
 
-#: tree-cfg.cc:4688
+#: tree-cfg.cc:4777
 #, gcc-internal-format
 msgid "vector %qs with non-NULL element index"
 msgstr ""
 
-#: tree-cfg.cc:4695
+#: tree-cfg.cc:4784
 #, gcc-internal-format
 msgid "vector %qs element is not a GIMPLE value"
 msgstr ""
 
-#: tree-cfg.cc:4704
+#: tree-cfg.cc:4793
 #, gcc-internal-format
 msgid "non-vector %qs with elements"
 msgstr ""
 
-#: tree-cfg.cc:4715
-#, gcc-internal-format
-msgid "%qs with an always-false condition"
-msgstr ""
-
-#: tree-cfg.cc:4722
+#: tree-cfg.cc:4800
 #, gcc-internal-format
 msgid "%qs RHS in assignment statement"
 msgstr ""
 
-#: tree-cfg.cc:4779
+#: tree-cfg.cc:4857
 #, gcc-internal-format
 msgid "invalid operand in return statement"
 msgstr ""
 
-#: tree-cfg.cc:4794 c/gimple-parser.cc:2474
+#: tree-cfg.cc:4872 c/gimple-parser.cc:2490
 #, gcc-internal-format
 msgid "invalid conversion in return statement"
 msgstr ""
 
-#: tree-cfg.cc:4818
+#: tree-cfg.cc:4896
 #, gcc-internal-format
 msgid "goto destination is neither a label nor a pointer"
 msgstr ""
 
-#: tree-cfg.cc:4837
+#: tree-cfg.cc:4915
 #, gcc-internal-format
 msgid "invalid operand to switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4845
+#: tree-cfg.cc:4923
 #, gcc-internal-format
 msgid "non-integral type switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4855
+#: tree-cfg.cc:4933
 #, gcc-internal-format
 msgid "invalid default case label in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4867
+#: tree-cfg.cc:4945
 #, gcc-internal-format
 msgid "invalid %<CASE_CHAIN%>"
 msgstr ""
 
-#: tree-cfg.cc:4873
+#: tree-cfg.cc:4951
 #, gcc-internal-format
 msgid "invalid case label in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4880
+#: tree-cfg.cc:4958
 #, gcc-internal-format
 msgid "invalid case range in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4890
+#: tree-cfg.cc:4968
 #, gcc-internal-format
 msgid "type precision mismatch in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4897
+#: tree-cfg.cc:4975
 #, gcc-internal-format
 msgid "type mismatch for case label in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4906
+#: tree-cfg.cc:4984
 #, gcc-internal-format
 msgid "case labels not sorted in switch statement"
 msgstr ""
 
-#: tree-cfg.cc:4949
+#: tree-cfg.cc:5027
 #, gcc-internal-format
 msgid "label context is not the current function declaration"
 msgstr ""
 
-#: tree-cfg.cc:4958
+#: tree-cfg.cc:5036
 #, gcc-internal-format
 msgid "incorrect entry in %<label_to_block_map%>"
 msgstr ""
 
-#: tree-cfg.cc:4968
+#: tree-cfg.cc:5046
 #, gcc-internal-format
 msgid "incorrect setting of landing pad number"
 msgstr ""
 
-#: tree-cfg.cc:4984
+#: tree-cfg.cc:5062
 #, gcc-internal-format
 msgid "invalid comparison code in gimple cond"
 msgstr ""
 
-#: tree-cfg.cc:4992
+#: tree-cfg.cc:5070
 #, gcc-internal-format
 msgid "invalid labels in gimple cond"
 msgstr ""
 
-#: tree-cfg.cc:5075 tree-cfg.cc:5084
+#: tree-cfg.cc:5156 tree-cfg.cc:5165
 #, gcc-internal-format
 msgid "invalid %<PHI%> result"
 msgstr ""
 
-#: tree-cfg.cc:5094
+#: tree-cfg.cc:5175
 #, gcc-internal-format
 msgid "missing %<PHI%> def"
 msgstr ""
 
-#: tree-cfg.cc:5108
+#: tree-cfg.cc:5189
 #, gcc-internal-format
 msgid "invalid %<PHI%> argument"
 msgstr ""
 
-#: tree-cfg.cc:5115
+#: tree-cfg.cc:5196
 #, gcc-internal-format
 msgid "incompatible types in %<PHI%> argument %u"
 msgstr ""
 
-#: tree-cfg.cc:5213
+#: tree-cfg.cc:5299
 #, gcc-internal-format
 msgid "%<verify_gimple%> failed"
 msgstr ""
 
-#: tree-cfg.cc:5270
+#: tree-cfg.cc:5357
 #, gcc-internal-format
 msgid "dead statement in EH table"
 msgstr ""
 
-#: tree-cfg.cc:5286
+#: tree-cfg.cc:5373
 #, gcc-internal-format
 msgid "location references block not in block tree"
 msgstr ""
 
-#: tree-cfg.cc:5335
+#: tree-cfg.cc:5422
 #, gcc-internal-format
 msgid "local declaration from a different function"
 msgstr ""
 
-#: tree-cfg.cc:5438
+#: tree-cfg.cc:5525
 #, gcc-internal-format
 msgid "gimple_bb (phi) is set to a wrong basic block"
 msgstr ""
 
-#: tree-cfg.cc:5447
+#: tree-cfg.cc:5534
 #, gcc-internal-format
 msgid "PHI node with location"
 msgstr ""
 
-#: tree-cfg.cc:5458 tree-cfg.cc:5505
+#: tree-cfg.cc:5545 tree-cfg.cc:5592
 #, gcc-internal-format
 msgid "incorrect sharing of tree nodes"
 msgstr ""
 
-#: tree-cfg.cc:5466
+#: tree-cfg.cc:5553
 #, gcc-internal-format
 msgid "virtual PHI with argument locations"
 msgstr ""
 
-#: tree-cfg.cc:5493
+#: tree-cfg.cc:5580
 #, gcc-internal-format
 msgid "gimple_bb (stmt) is set to a wrong basic block"
 msgstr ""
 
-#: tree-cfg.cc:5533
+#: tree-cfg.cc:5620
 #, gcc-internal-format
 msgid "statement marked for throw, but doesn%'t"
 msgstr ""
 
-#: tree-cfg.cc:5539
+#: tree-cfg.cc:5626
 #, gcc-internal-format
 msgid "statement marked for throw in middle of block"
 msgstr ""
 
-#: tree-cfg.cc:5561
+#: tree-cfg.cc:5648
 #, gcc-internal-format
 msgid "verify_gimple failed"
 msgstr ""
 
-#: tree-cfg.cc:5583
+#: tree-cfg.cc:5672
 #, gcc-internal-format
 msgid "ENTRY_BLOCK has IL associated with it"
 msgstr ""
 
-#: tree-cfg.cc:5590
+#: tree-cfg.cc:5679
 #, gcc-internal-format
 msgid "EXIT_BLOCK has IL associated with it"
 msgstr ""
 
-#: tree-cfg.cc:5597
+#: tree-cfg.cc:5686
 #, gcc-internal-format, gfc-internal-format
 msgid "fallthru to exit from bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5621
+#: tree-cfg.cc:5710
 #, gcc-internal-format
 msgid "nonlocal label %qD is not first in a sequence of labels in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5628
+#: tree-cfg.cc:5717
 #, gcc-internal-format
 msgid "EH landing pad label %qD is not first in a sequence of labels in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5635
+#: tree-cfg.cc:5724
 #, gcc-internal-format
 msgid "label %qD to block does not match in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5642
+#: tree-cfg.cc:5731
 #, gcc-internal-format
 msgid "label %qD has incorrect context in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5655
+#: tree-cfg.cc:5745
 #, gcc-internal-format, gfc-internal-format
 msgid "control flow in the middle of basic block %d"
 msgstr ""
 
-#: tree-cfg.cc:5665
+#: tree-cfg.cc:5755
 #, gcc-internal-format
 msgid "label %qD in the middle of basic block %d"
 msgstr ""
 
-#: tree-cfg.cc:5687
+#: tree-cfg.cc:5783
+#, gcc-internal-format, gfc-internal-format
+msgid "returns_twice call is %s in basic block %d"
+msgstr ""
+
+#: tree-cfg.cc:5809
 #, gcc-internal-format, gfc-internal-format
 msgid "fallthru edge after a control statement in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5700
+#: tree-cfg.cc:5822
 #, gcc-internal-format, gfc-internal-format
 msgid "true/false edge after a non-GIMPLE_COND in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5723 tree-cfg.cc:5745 tree-cfg.cc:5762 tree-cfg.cc:5831
+#: tree-cfg.cc:5845 tree-cfg.cc:5867 tree-cfg.cc:5884 tree-cfg.cc:5953
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong outgoing edge flags at end of bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5733
+#: tree-cfg.cc:5855
 #, gcc-internal-format, gfc-internal-format
 msgid "explicit goto at end of bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5767
+#: tree-cfg.cc:5889
 #, gcc-internal-format, gfc-internal-format
 msgid "return edge does not point to exit in bb %d"
 msgstr ""
 
-#: tree-cfg.cc:5797
+#: tree-cfg.cc:5919
 #, gcc-internal-format
 msgid "found default case not at the start of case vector"
 msgstr ""
 
-#: tree-cfg.cc:5805
+#: tree-cfg.cc:5927
 #, gcc-internal-format
 msgid "case labels not sorted: "
 msgstr ""
 
-#: tree-cfg.cc:5822
+#: tree-cfg.cc:5944
 #, gcc-internal-format, gfc-internal-format
 msgid "extra outgoing edge %d->%d"
 msgstr ""
 
-#: tree-cfg.cc:5845
+#: tree-cfg.cc:5967
 #, gcc-internal-format, gfc-internal-format
 msgid "missing edge %i->%i"
 msgstr ""
 
-#: tree-cfg.cc:9509
+#: tree-cfg.cc:9644
 #, gcc-internal-format
 msgid "%<noreturn%> function does return"
 msgstr ""
 
-#: tree-cfg.cc:9530 tree-cfg.cc:9562
+#: tree-cfg.cc:9665 tree-cfg.cc:9700
 #, gcc-internal-format
 msgid "control reaches end of non-void function"
 msgstr ""
 
-#: tree-cfg.cc:9628
+#: tree-cfg.cc:9766
 #, gcc-internal-format
 msgid ""
 "ignoring return value of %qD declared with attribute %<warn_unused_result%>"
 msgstr ""
 
-#: tree-cfg.cc:9633 cp/cvt.cc:1117
+#: tree-cfg.cc:9771 cp/cvt.cc:1121
 #, gcc-internal-format
 msgid ""
 "ignoring return value of function declared with attribute "
 "%<warn_unused_result%>"
 msgstr ""
 
-#: tree-complex.cc:1632
+#: tree-complex.cc:1639
 #, gcc-internal-format
 msgid "%<asm goto%> with complex typed outputs"
 msgstr ""
 
-#: tree-diagnostic-path.cc:467
+#: tree-diagnostic-path.cc:473
+msgid "%@ %s (fndecl %qD, depth %i)"
+msgstr ""
+
+#: tree-diagnostic-path.cc:478
+msgid "%@ %s (depth %i)"
+msgstr ""
+
+#: tree-diagnostic-path.cc:484
 msgid "%@ %s"
 msgstr ""
 
-#: tree-diagnostic.cc:203
+#: tree-diagnostic.cc:207
 #, gcc-internal-format
 msgid "in definition of macro %qs"
 msgstr ""
 
-#: tree-diagnostic.cc:220
+#: tree-diagnostic.cc:224
 #, gcc-internal-format
 msgid "in expansion of macro %qs"
 msgstr ""
 
-#: tree-eh.cc:4926
+#: tree-eh.cc:4931
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has multiple EH edges"
 msgstr ""
 
-#: tree-eh.cc:4938
+#: tree-eh.cc:4943
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i cannot throw but has an EH edge"
 msgstr ""
 
-#: tree-eh.cc:4946
+#: tree-eh.cc:4951
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i last statement has incorrectly set lp"
 msgstr ""
 
-#: tree-eh.cc:4952
+#: tree-eh.cc:4957
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an EH edge"
 msgstr ""
 
-#: tree-eh.cc:4958
+#: tree-eh.cc:4963
 #, gcc-internal-format, gfc-internal-format
 msgid "Incorrect EH edge %i->%i"
 msgstr ""
 
-#: tree-eh.cc:4992 tree-eh.cc:5011
+#: tree-eh.cc:4997 tree-eh.cc:5016
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i is missing an edge"
 msgstr ""
 
-#: tree-eh.cc:5028
+#: tree-eh.cc:5033
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i too many fallthru edges"
 msgstr ""
 
-#: tree-eh.cc:5037
+#: tree-eh.cc:5042
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect edge"
 msgstr ""
 
-#: tree-eh.cc:5043
+#: tree-eh.cc:5048
 #, gcc-internal-format, gfc-internal-format
 msgid "BB %i has incorrect fallthru edge"
 msgstr ""
 
-#: tree-inline.cc:3900
+#: tree-inline.cc:3889
 #, gcc-internal-format
 msgid "function %q+F can never be copied because it receives a non-local goto"
 msgstr ""
 
-#: tree-inline.cc:3907
+#: tree-inline.cc:3896
 #, 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:3947
+#: tree-inline.cc:3936
 #, 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:3961
+#: tree-inline.cc:3950
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr ""
 
-#: tree-inline.cc:3975
+#: tree-inline.cc:3964
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses variable argument lists"
 msgstr ""
 
-#: tree-inline.cc:3987
+#: tree-inline.cc:3976
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses setjmp-longjmp exception "
 "handling"
 msgstr ""
 
-#: tree-inline.cc:3995
+#: tree-inline.cc:3984
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr ""
 
-#: tree-inline.cc:4007
+#: tree-inline.cc:3996
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses %<__builtin_return%> or "
 "%<__builtin_apply_args%>"
 msgstr ""
 
-#: tree-inline.cc:4027
+#: tree-inline.cc:4016
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr ""
 
-#: tree-inline.cc:4073
+#: tree-inline.cc:4062
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it has a VLA argument"
 msgstr ""
 
-#: tree-inline.cc:4141
+#: tree-inline.cc:4130
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it is suppressed using %<-fno-"
 "inline%>"
 msgstr ""
 
-#: tree-inline.cc:4149
+#: tree-inline.cc:4138
 #, gcc-internal-format
 msgid ""
 "function %q+F can never be inlined because it uses attributes conflicting "
 "with inlining"
 msgstr ""
 
-#: tree-inline.cc:4835
+#: tree-inline.cc:4824
 #, gcc-internal-format
 msgid "inlining failed in call to %<always_inline%> %q+F: %s"
 msgstr ""
 
-#: tree-inline.cc:4838 tree-inline.cc:4859
+#: tree-inline.cc:4827 tree-inline.cc:4848
 #, gcc-internal-format
 msgid "called from here"
 msgstr ""
 
-#: tree-inline.cc:4841 tree-inline.cc:4862
+#: tree-inline.cc:4830 tree-inline.cc:4851
 #, gcc-internal-format
 msgid "called from this function"
 msgstr ""
 
-#: tree-inline.cc:4855
+#: tree-inline.cc:4844
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr ""
 
-#: tree-into-ssa.cc:3337
+#: tree-into-ssa.cc:3433
 #, gcc-internal-format
 msgid "statement uses released SSA name"
 msgstr ""
 
-#: tree-into-ssa.cc:3349
+#: tree-into-ssa.cc:3445
 #, gcc-internal-format
 msgid "cannot update SSA form"
 msgstr ""
 
-#: tree-into-ssa.cc:3440 tree-outof-ssa.cc:902 tree-ssa-coalesce.cc:1003
+#: tree-into-ssa.cc:3538 tree-outof-ssa.cc:902 tree-ssa-coalesce.cc:1003
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr ""
@@ -32263,7 +32995,7 @@ msgstr ""
 msgid "%s from %s referenced in %s"
 msgstr ""
 
-#: tree-nested.cc:2956
+#: tree-nested.cc:2958
 #, gcc-internal-format, gfc-internal-format
 msgid "%s from %s called in %s"
 msgstr ""
@@ -32278,52 +33010,52 @@ msgstr ""
 msgid "target does not support atomic profile update, single mode is selected"
 msgstr ""
 
-#: tree-ssa-alias.cc:3976
+#: tree-ssa-alias.cc:4042
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid fn spec attribute \"%s\""
 msgstr ""
 
-#: tree-ssa-alias.cc:4015
+#: tree-ssa-alias.cc:4081
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid fn spec attribute \"%s\" arg %i"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4606 c-family/c-common.cc:5812
+#: tree-ssa-ccp.cc:4684 c-family/c-common.cc:5815
 #, gcc-internal-format
 msgid "%qs pointer is null"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4609 c-family/c-common.cc:5815
+#: tree-ssa-ccp.cc:4687 c-family/c-common.cc:5818
 #, gcc-internal-format
 msgid "in a call to non-static member function %qD"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4615 c-family/c-common.cc:5821
+#: tree-ssa-ccp.cc:4693 c-family/c-common.cc:5824
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u null where non-null expected"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4621
+#: tree-ssa-ccp.cc:4699
 #, gcc-internal-format
 msgid "in a call to built-in function %qD"
 msgstr ""
 
-#: tree-ssa-ccp.cc:4625 c-family/c-common.cc:5825
+#: tree-ssa-ccp.cc:4703 c-family/c-common.cc:5828
 #, gcc-internal-format
 msgid "in a call to function %qD declared %qs"
 msgstr ""
 
-#: tree-ssa-loop-niter.cc:3478
+#: tree-ssa-loop-niter.cc:3895
 #, gcc-internal-format, gfc-internal-format
 msgid "iteration %s invokes undefined behavior"
 msgstr ""
 
-#: tree-ssa-loop-niter.cc:3479
+#: tree-ssa-loop-niter.cc:3896
 #, gcc-internal-format
 msgid "within this loop"
 msgstr ""
 
-#: tree-ssa-loop-prefetch.cc:2090
+#: tree-ssa-loop-prefetch.cc:2100
 #, gcc-internal-format
 msgid "%<l1-cache-size%> parameter is not a power of two %d"
 msgstr ""
@@ -32363,71 +33095,71 @@ msgstr ""
 msgid "statement volatile flag not up to date"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2139
+#: tree-ssa-strlen.cc:2140
 #, 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:2143
+#: tree-ssa-strlen.cc:2144
 #, gcc-internal-format
 msgid ""
 "writing one too many bytes into a region of a size that depends on %<strlen%>"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2152
+#: tree-ssa-strlen.cc:2153
 #, 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:2160
+#: tree-ssa-strlen.cc:2161
 #, 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:2170
+#: tree-ssa-strlen.cc:2171
 #, 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:2178
+#: tree-ssa-strlen.cc:2179
 #, 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:2188
+#: tree-ssa-strlen.cc:2189
 #, gcc-internal-format
 msgid "%qD writing between %wu and %wu bytes into a region of size %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2194
+#: tree-ssa-strlen.cc:2195
 #, gcc-internal-format
 msgid "writing between %wu and %wu bytes into a region of size %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:2202
+#: tree-ssa-strlen.cc:2203
 #, 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:2208
+#: tree-ssa-strlen.cc:2209
 #, gcc-internal-format
 msgid ""
 "writing between %wu and %wu bytes into a region of size between %wu and %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:3100
+#: tree-ssa-strlen.cc:3101
 #, gcc-internal-format
 msgid ""
 "%qD output truncated before terminating nul copying %E byte from a string of "
@@ -32438,7 +33170,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:3116
+#: tree-ssa-strlen.cc:3117
 #, gcc-internal-format
 msgid "%qD output truncated copying %E byte from a string of length %wu"
 msgid_plural ""
@@ -32446,14 +33178,14 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:3123
+#: tree-ssa-strlen.cc:3124
 #, gcc-internal-format
 msgid ""
 "%qD output truncated copying between %wu and %wu bytes from a string of "
 "length %wu"
 msgstr ""
 
-#: tree-ssa-strlen.cc:3135
+#: tree-ssa-strlen.cc:3136
 #, gcc-internal-format
 msgid "%qD output may be truncated copying %E byte from a string of length %wu"
 msgid_plural ""
@@ -32461,122 +33193,122 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: tree-ssa-strlen.cc:3142 tree-ssa-strlen.cc:3158
+#: tree-ssa-strlen.cc:3143 tree-ssa-strlen.cc:3159
 #, 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:3312
+#: tree-ssa-strlen.cc:3313
 #, 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:3325
+#: tree-ssa-strlen.cc:3326
 #, gcc-internal-format
 msgid "%qD specified bound depends on the length of the source argument"
 msgstr ""
 
-#: tree-ssa-strlen.cc:3333
+#: tree-ssa-strlen.cc:3334
 #, gcc-internal-format
 msgid "length computed here"
 msgstr ""
 
-#: tree-ssa-strlen.cc:4254
+#: tree-ssa-strlen.cc:4289
 #, 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:4256
+#: tree-ssa-strlen.cc:4291
 #, 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:4263
+#: tree-ssa-strlen.cc:4298
 #, gcc-internal-format
 msgid ""
 "%qD of strings of length %wu and %wu and bound of %wu evaluates to nonzero"
 msgstr ""
 
-#: tree-ssa-strlen.cc:4268
+#: tree-ssa-strlen.cc:4303
 #, 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:4279
+#: tree-ssa-strlen.cc:4314
 #, gcc-internal-format
 msgid "in this expression"
 msgstr ""
 
-#: tree-ssa-uninit.cc:283
+#: tree-ssa-uninit.cc:282
 #, gcc-internal-format
 msgid "%qD is used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:285
+#: tree-ssa-uninit.cc:284
 #, gcc-internal-format
 msgid "%qD may be used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:292
+#: tree-ssa-uninit.cc:291
 #, gcc-internal-format
 msgid "%qs is used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:295
+#: tree-ssa-uninit.cc:294
 #, gcc-internal-format
 msgid "%qs may be used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:314 varasm.cc:366 varasm.cc:7828
+#: tree-ssa-uninit.cc:313 varasm.cc:362 varasm.cc:7845
 #, gcc-internal-format
 msgid "%qD was declared here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:316
+#: tree-ssa-uninit.cc:315
 #, gcc-internal-format
 msgid "%qs was declared here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:430 tree-ssa-uninit.cc:742
+#: tree-ssa-uninit.cc:426 tree-ssa-uninit.cc:736
 #, gcc-internal-format
 msgid "%qE may be used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:439
+#: tree-ssa-uninit.cc:435
 #, gcc-internal-format
 msgid "accessing argument %u of a function declared with attribute %<%s%>"
 msgstr ""
 
-#: tree-ssa-uninit.cc:729
+#: tree-ssa-uninit.cc:723
 #, gcc-internal-format
 msgid "%qE is used uninitialized"
 msgstr ""
 
-#: tree-ssa-uninit.cc:861
+#: tree-ssa-uninit.cc:858
 #, gcc-internal-format
 msgid "in a call to %qD declared with attribute %<%s%> here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:868
+#: tree-ssa-uninit.cc:865
 #, gcc-internal-format
 msgid "in a call to %qT declared with attribute %<%s%>"
 msgstr ""
 
-#: tree-ssa-uninit.cc:884
+#: tree-ssa-uninit.cc:881
 #, gcc-internal-format
 msgid "by argument %u of type %s to %qD declared here"
 msgstr ""
 
-#: tree-ssa-uninit.cc:892
+#: tree-ssa-uninit.cc:889
 #, gcc-internal-format
 msgid "by argument %u of type %s to %qT"
 msgstr ""
@@ -32731,178 +33463,178 @@ msgstr ""
 msgid "verify_ssa failed"
 msgstr ""
 
-#: tree-streamer-in.cc:357
+#: tree-streamer-in.cc:358
 #, gcc-internal-format
 msgid "machine independent builtin code out of range"
 msgstr ""
 
-#: tree-streamer-in.cc:363
+#: tree-streamer-in.cc:364
 #, gcc-internal-format
 msgid "target specific builtin not available"
 msgstr ""
 
-#: tree-vect-generic.cc:328 tree-vect-generic.cc:498 tree-vect-generic.cc:2048
+#: tree-vect-generic.cc:319 tree-vect-generic.cc:489 tree-vect-generic.cc:2053
 #, gcc-internal-format
 msgid "vector operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vect-generic.cc:331
+#: tree-vect-generic.cc:322
 #, gcc-internal-format
 msgid "vector operation will be expanded in parallel"
 msgstr ""
 
-#: tree-vect-generic.cc:388
+#: tree-vect-generic.cc:379
 #, gcc-internal-format
 msgid "vector operation will be expanded with a single scalar operation"
 msgstr ""
 
-#: tree-vect-generic.cc:1110
+#: tree-vect-generic.cc:1101
 #, gcc-internal-format
 msgid "vector condition will be expanded piecewise"
 msgstr ""
 
-#: tree-vect-generic.cc:1608
+#: tree-vect-generic.cc:1613
 #, gcc-internal-format
 msgid "vector shuffling operation will be expanded piecewise"
 msgstr ""
 
-#: tree-vect-loop.cc:4334
+#: tree-vect-loop.cc:4495
 #, gcc-internal-format
 msgid "vectorization did not happen for a simd loop"
 msgstr ""
 
-#: tree.cc:2260
+#: tree.cc:2266
 #, gcc-internal-format
 msgid "non-constant element in constant CONSTRUCTOR"
 msgstr ""
 
-#: tree.cc:2262
+#: tree.cc:2268
 #, gcc-internal-format
 msgid "side-effects element in no-side-effects CONSTRUCTOR"
 msgstr ""
 
-#: tree.cc:7205
+#: tree.cc:7282 m2/gm2-gcc/m2type.cc:214
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr ""
 
-#: tree.cc:7369
+#: tree.cc:7449
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr ""
 
-#: tree.cc:8815 tree.cc:8900 tree.cc:8963
+#: tree.cc:8909 tree.cc:8994 tree.cc:9057
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8852
+#: tree.cc:8946
 #, gcc-internal-format, gfc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8865
+#: tree.cc:8959
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8914
+#: tree.cc:9008
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8927
+#: tree.cc:9021
 #, gcc-internal-format
 msgid "tree check: expected %<omp_clause %s%>, have %qs in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:8989
+#: tree.cc:9083
 #, gcc-internal-format
 msgid ""
 "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:"
 "%d"
 msgstr ""
 
-#: tree.cc:9003
+#: tree.cc:9097
 #, gcc-internal-format
 msgid ""
 "tree check: accessed elt %d of %<tree_int_cst%> with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9016
+#: tree.cc:9110
 #, gcc-internal-format
 msgid ""
 "tree check: accessed elt %d of %<tree_vec%> with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.cc:9029
+#: tree.cc:9123
 #, 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:9042
+#: tree.cc:9136
 #, gcc-internal-format
 msgid ""
 "tree check: accessed operand %d of %<omp_clause %s%> with %d operands in %s, "
 "at %s:%d"
 msgstr ""
 
-#: tree.cc:12203
+#: tree.cc:12377
 #, gcc-internal-format
 msgid "%qD is deprecated: %s"
 msgstr ""
 
-#: tree.cc:12206
+#: tree.cc:12380
 #, gcc-internal-format
 msgid "%qD is deprecated"
 msgstr ""
 
-#: tree.cc:12229
+#: tree.cc:12403
 #, gcc-internal-format
 msgid "%qE is deprecated: %s"
 msgstr ""
 
-#: tree.cc:12232
+#: tree.cc:12406
 #, gcc-internal-format
 msgid "%qE is deprecated"
 msgstr ""
 
-#: tree.cc:12238
+#: tree.cc:12412
 #, gcc-internal-format, gfc-internal-format
 msgid "type is deprecated: %s"
 msgstr ""
 
-#: tree.cc:12241
+#: tree.cc:12415
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr ""
 
-#: tree.cc:12283
+#: tree.cc:12457
 #, gcc-internal-format
 msgid "%qD is unavailable: %s"
 msgstr ""
 
-#: tree.cc:12285
+#: tree.cc:12459
 #, gcc-internal-format
 msgid "%qD is unavailable"
 msgstr ""
 
-#: tree.cc:12306
+#: tree.cc:12480
 #, gcc-internal-format
 msgid "%qE is unavailable: %s"
 msgstr ""
 
-#: tree.cc:12308
+#: tree.cc:12482
 #, gcc-internal-format
 msgid "%qE is unavailable"
 msgstr ""
 
-#: tree.cc:12313
+#: tree.cc:12487
 #, gcc-internal-format, gfc-internal-format
 msgid "type is unavailable: %s"
 msgstr ""
 
-#: tree.cc:12315
+#: tree.cc:12489
 #, gcc-internal-format
 msgid "type is unavailable"
 msgstr ""
@@ -32927,232 +33659,262 @@ msgstr ""
 #. - vector types may differ by TYPE_VECTOR_OPAQUE
 #.
 #. Convenience macro for matching individual fields.
-#: tree.cc:13130
+#: tree.cc:13386
 #, gcc-internal-format, gfc-internal-format
 msgid "type variant differs by %s"
 msgstr ""
 
-#: tree.cc:13175
+#: tree.cc:13431
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13177
+#: tree.cc:13433
 #, gcc-internal-format
 msgid "type variant%'s %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13179
+#: tree.cc:13435
 #, gcc-internal-format
 msgid "type%'s %<TYPE_SIZE_UNIT%>"
 msgstr ""
 
-#: tree.cc:13204
+#: tree.cc:13460
 #, gcc-internal-format
 msgid "type variant with %<TYPE_ALIAS_SET_KNOWN_P%>"
 msgstr ""
 
-#: tree.cc:13217
+#: tree.cc:13473
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_VFIELD%>"
 msgstr ""
 
-#: tree.cc:13253
+#: tree.cc:13509
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13255
+#: tree.cc:13511
 #, gcc-internal-format
 msgid "type variant%'s %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13257
+#: tree.cc:13513
 #, gcc-internal-format
 msgid "type%'s %<TYPE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13296
+#: tree.cc:13552
 #, gcc-internal-format
 msgid "type variant has different %<TYPE_FIELDS%>"
 msgstr ""
 
-#: tree.cc:13298
+#: tree.cc:13554
 #, gcc-internal-format
 msgid "first mismatch is field"
 msgstr ""
 
-#: tree.cc:13300
+#: tree.cc:13556
 #, gcc-internal-format
 msgid "and field"
 msgstr ""
 
-#: tree.cc:13317
+#: tree.cc:13573
 #, gcc-internal-format
 msgid "type variant has different %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13319 tree.cc:13330
+#: tree.cc:13575 tree.cc:13586
 #, gcc-internal-format
 msgid "type variant%'s %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13321 tree.cc:13332
+#: tree.cc:13577 tree.cc:13588
 #, gcc-internal-format
 msgid "type%'s %<TREE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13328
+#: tree.cc:13584
 #, gcc-internal-format
 msgid "type is not compatible with its variant"
 msgstr ""
 
-#: tree.cc:13640
+#: tree.cc:13909
+#, gcc-internal-format, gfc-internal-format
+msgid "type %s is not an opaque type"
+msgstr ""
+
+#: tree.cc:13915
+#, gcc-internal-format, gfc-internal-format
+msgid "type %s is not with opaque mode"
+msgstr ""
+
+#: tree.cc:13921
+#, gcc-internal-format
+msgid "type %s differs by %<TYPE_MODE%>"
+msgstr ""
+
+#: tree.cc:13929
+#, gcc-internal-format
+msgid "type %s differs by %<TYPE_SIZE%>"
+msgstr ""
+
+#: tree.cc:13935
+#, gcc-internal-format
+msgid "type %s differs by %<TYPE_ALIGN%>"
+msgstr ""
+
+#: tree.cc:13941
+#, gcc-internal-format
+msgid "type %s differs by %<TYPE_USER_ALIGN%>"
+msgstr ""
+
+#: tree.cc:13971
 #, gcc-internal-format
 msgid "main variant is not defined"
 msgstr ""
 
-#: tree.cc:13645
+#: tree.cc:13976
 #, gcc-internal-format
 msgid "%<TYPE_MAIN_VARIANT%> has different %<TYPE_MAIN_VARIANT%>"
 msgstr ""
 
-#: tree.cc:13657
+#: tree.cc:13987
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> has different %<TYPE_CANONICAL%>"
 msgstr ""
 
-#: tree.cc:13676
+#: tree.cc:14006
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> is not compatible"
 msgstr ""
 
-#: tree.cc:13684
+#: tree.cc:14014
 #, gcc-internal-format
 msgid "%<TYPE_MODE%> of %<TYPE_CANONICAL%> is not compatible"
 msgstr ""
 
-#: tree.cc:13690
+#: tree.cc:14020
 #, gcc-internal-format
 msgid "%<TYPE_CANONICAL%> of main variant is not main variant"
 msgstr ""
 
-#: tree.cc:13706
+#: tree.cc:14036
 #, gcc-internal-format
 msgid "%<TYPE_VFIELD%> is not %<FIELD_DECL%> nor %<TREE_LIST%>"
 msgstr ""
 
-#: tree.cc:13716
+#: tree.cc:14046
 #, gcc-internal-format
 msgid "%<TYPE_NEXT_PTR_TO%> is not %<POINTER_TYPE%>"
 msgstr ""
 
-#: tree.cc:13726
+#: tree.cc:14056
 #, gcc-internal-format
 msgid "%<TYPE_NEXT_REF_TO%> is not %<REFERENCE_TYPE%>"
 msgstr ""
 
-#: tree.cc:13747
+#: tree.cc:14077
 #, gcc-internal-format
 msgid "%<TYPE_BINFO%> is not %<TREE_BINFO%>"
 msgstr ""
 
-#: tree.cc:13753
+#: tree.cc:14083
 #, gcc-internal-format
 msgid "%<TYPE_BINFO%> type is not %<TYPE_MAIN_VARIANT%>"
 msgstr ""
 
-#: tree.cc:13764
+#: tree.cc:14094
 #, gcc-internal-format
 msgid "%<TYPE_METHOD_BASETYPE%> is not record nor union"
 msgstr ""
 
-#: tree.cc:13775
+#: tree.cc:14105
 #, gcc-internal-format
 msgid "%<TYPE_OFFSET_BASETYPE%> is not record nor union"
 msgstr ""
 
-#: tree.cc:13793
+#: tree.cc:14123
 #, gcc-internal-format
 msgid "%<TYPE_ARRAY_MAX_SIZE%> not %<INTEGER_CST%>"
 msgstr ""
 
-#: tree.cc:13800
+#: tree.cc:14130
 #, gcc-internal-format
 msgid "%<TYPE_MAX_VALUE_RAW%> non-NULL"
 msgstr ""
 
-#: tree.cc:13807
+#: tree.cc:14137
 #, gcc-internal-format
 msgid "%<TYPE_LANG_SLOT_1 (binfo)%> field is non-NULL"
 msgstr ""
 
-#: tree.cc:13823
+#: tree.cc:14153
 #, gcc-internal-format
 msgid "enum value is not %<CONST_DECL%> or %<INTEGER_CST%>"
 msgstr ""
 
-#: tree.cc:13832
+#: tree.cc:14162
 #, gcc-internal-format
 msgid "enum value type is not %<INTEGER_TYPE%> nor convertible to the enum"
 msgstr ""
 
-#: tree.cc:13840
+#: tree.cc:14170
 #, gcc-internal-format
 msgid "enum value name is not %<IDENTIFIER_NODE%>"
 msgstr ""
 
-#: tree.cc:13850
+#: tree.cc:14180
 #, gcc-internal-format
 msgid "array %<TYPE_DOMAIN%> is not integer type"
 msgstr ""
 
-#: tree.cc:13859
+#: tree.cc:14189
 #, gcc-internal-format
 msgid "%<TYPE_FIELDS%> defined in incomplete type"
 msgstr ""
 
-#: tree.cc:13881
+#: tree.cc:14211
 #, gcc-internal-format
 msgid "wrong tree in %<TYPE_FIELDS%> list"
 msgstr ""
 
-#: tree.cc:13896
+#: tree.cc:14226
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES_P%> is %i while %<TYPE_CACHED_VALUES%> is %p"
 msgstr ""
 
-#: tree.cc:13903
+#: tree.cc:14233
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES%> is not %<TREE_VEC%>"
 msgstr ""
 
-#: tree.cc:13916
+#: tree.cc:14246
 #, gcc-internal-format
 msgid "wrong %<TYPE_CACHED_VALUES%> entry"
 msgstr ""
 
-#: tree.cc:13929
+#: tree.cc:14259
 #, gcc-internal-format
 msgid "%<TREE_PURPOSE%> is non-NULL in %<TYPE_ARG_TYPES%> list"
 msgstr ""
 
-#: tree.cc:13935
+#: tree.cc:14265
 #, gcc-internal-format
 msgid "wrong entry in %<TYPE_ARG_TYPES%> list"
 msgstr ""
 
-#: tree.cc:13942
+#: tree.cc:14272
 #, gcc-internal-format
 msgid "%<TYPE_VALUES_RAW%> field is non-NULL"
 msgstr ""
 
-#: tree.cc:13954
+#: tree.cc:14284
 #, gcc-internal-format
 msgid "%<TYPE_CACHED_VALUES_P%> is set while it should not be"
 msgstr ""
 
-#: tree.cc:13964
+#: tree.cc:14294
 #, gcc-internal-format
 msgid "%<TYPE_METHOD_BASETYPE%> is not main variant"
 msgstr ""
@@ -33193,188 +33955,188 @@ msgstr ""
 msgid "variable tracking size limit exceeded"
 msgstr ""
 
-#: varasm.cc:315
+#: varasm.cc:311
 #, gcc-internal-format
 msgid "section already exists: %qs"
 msgstr ""
 
-#: varasm.cc:361
+#: varasm.cc:357
 #, gcc-internal-format
 msgid "%+qD causes a section type conflict with %qD"
 msgstr ""
 
-#: varasm.cc:364
+#: varasm.cc:360
 #, gcc-internal-format
 msgid "section type conflict with %qD"
 msgstr ""
 
-#: varasm.cc:369
+#: varasm.cc:365
 #, gcc-internal-format
 msgid "%+qD causes a section type conflict"
 msgstr ""
 
-#: varasm.cc:371
+#: varasm.cc:367
 #, gcc-internal-format
 msgid "section type conflict"
 msgstr ""
 
-#: varasm.cc:1104
+#: varasm.cc:1100
 #, gcc-internal-format
 msgid "alignment of %q+D is greater than maximum object file alignment %d"
 msgstr ""
 
-#: varasm.cc:1272
+#: varasm.cc:1268
 #, gcc-internal-format
 msgid "only zero initializers are allowed in section %qs"
 msgstr ""
 
-#: varasm.cc:1502 varasm.cc:1511
+#: varasm.cc:1498 varasm.cc:1507 d/d-attribs.cc:1460
 #, gcc-internal-format
 msgid "register name not specified for %q+D"
 msgstr ""
 
-#: varasm.cc:1513
+#: varasm.cc:1509
 #, gcc-internal-format
 msgid "invalid register name for %q+D"
 msgstr ""
 
-#: varasm.cc:1515
+#: varasm.cc:1511
 #, gcc-internal-format
 msgid "data type of %q+D isn%'t suitable for a register"
 msgstr ""
 
-#: varasm.cc:1518
+#: varasm.cc:1514
 #, gcc-internal-format
 msgid ""
 "the register specified for %q+D cannot be accessed by the current target"
 msgstr ""
 
-#: varasm.cc:1521
+#: varasm.cc:1517
 #, gcc-internal-format
 msgid ""
 "the register specified for %q+D is not general enough to be used as a "
 "register variable"
 msgstr ""
 
-#: varasm.cc:1524
+#: varasm.cc:1520
 #, gcc-internal-format
 msgid "register specified for %q+D isn%'t suitable for data type"
 msgstr ""
 
-#: varasm.cc:1533
+#: varasm.cc:1529
 #, gcc-internal-format
 msgid "register specified for %q+D is an internal GCC implementation detail"
 msgstr ""
 
-#: varasm.cc:1543
+#: varasm.cc:1539
 #, gcc-internal-format
 msgid "global register variable has initial value"
 msgstr ""
 
-#: varasm.cc:1547
+#: varasm.cc:1543
 #, gcc-internal-format
 msgid "optimization may eliminate reads and/or writes to register variables"
 msgstr ""
 
-#: varasm.cc:1593
+#: varasm.cc:1589
 #, gcc-internal-format
 msgid "register name given for non-register variable %q+D"
 msgstr ""
 
-#: varasm.cc:2172
+#: varasm.cc:2168
 #, gcc-internal-format
 msgid "thread-local COMMON data not implemented"
 msgstr ""
 
-#: varasm.cc:2205
+#: varasm.cc:2201
 #, gcc-internal-format
 msgid ""
 "requested alignment for %q+D is greater than implemented alignment of %wu"
 msgstr ""
 
-#: varasm.cc:2308 c/c-decl.cc:5477 c/c-parser.cc:1662
+#: varasm.cc:2304 c/c-decl.cc:5715 c/c-parser.cc:1789 m2/gm2-gcc/m2type.cc:1259
 #, gcc-internal-format
 msgid "storage size of %q+D isn%'t known"
 msgstr ""
 
-#: varasm.cc:5269
+#: varasm.cc:5254
 #, gcc-internal-format
 msgid "initializer for integer/fixed-point value is too complicated"
 msgstr ""
 
-#: varasm.cc:5274
+#: varasm.cc:5259
 #, gcc-internal-format
 msgid "initializer for floating value is not a floating constant"
 msgstr ""
 
-#: varasm.cc:5619
+#: varasm.cc:5604
 #, gcc-internal-format
 msgid "invalid initial value for member %qE"
 msgstr ""
 
-#: varasm.cc:5875
+#: varasm.cc:5860
 #, gcc-internal-format
 msgid "%qD declared weak after being used"
 msgstr ""
 
-#: varasm.cc:5927
+#: varasm.cc:5912
 #, gcc-internal-format
 msgid ""
 "weak declaration of %q+D being applied to a already existing, static "
 "definition"
 msgstr ""
 
-#: varasm.cc:5968
+#: varasm.cc:5953
 #, gcc-internal-format
 msgid "weak declaration of %q+D must be public"
 msgstr ""
 
-#: varasm.cc:5972
+#: varasm.cc:5957
 #, gcc-internal-format
 msgid "weak declaration of %q+D not supported"
 msgstr ""
 
-#: varasm.cc:6001 varasm.cc:6321
+#: varasm.cc:5986 varasm.cc:6306
 #, gcc-internal-format
 msgid "only weak aliases are supported in this configuration"
 msgstr ""
 
-#: varasm.cc:6196 varasm.cc:6318
+#: varasm.cc:6181 varasm.cc:6303
 #, gcc-internal-format
 msgid "%qs is not supported in this configuration"
 msgstr ""
 
-#: varasm.cc:6224
+#: varasm.cc:6209
 #, gcc-internal-format
 msgid "%qs is not supported on this target"
 msgstr ""
 
-#: varasm.cc:6280
+#: varasm.cc:6265
 #, gcc-internal-format
 msgid "symver is only supported on ELF platforms"
 msgstr ""
 
-#: varasm.cc:6299
+#: varasm.cc:6284
 #, gcc-internal-format
 msgid "%qs symbol %q+D ultimately targets itself"
 msgstr ""
 
-#: varasm.cc:6301
+#: varasm.cc:6286
 #, gcc-internal-format
 msgid "%qs symbol %q+D must have static linkage"
 msgstr ""
 
-#: varasm.cc:6308 config/nvptx/nvptx.cc:7445
+#: varasm.cc:6293 config/nvptx/nvptx.cc:7553
 #, gcc-internal-format
 msgid "alias definitions not supported in this configuration"
 msgstr ""
 
-#: varasm.cc:6536 config/sol2.cc:160 config/i386/winnt.cc:265
+#: varasm.cc:6521 config/sol2.cc:160 config/i386/winnt.cc:265
 #, gcc-internal-format
 msgid "visibility attribute not supported in this configuration; ignored"
 msgstr ""
 
-#: varasm.cc:7824
+#: varasm.cc:7841
 #, gcc-internal-format
 msgid ""
 "%+qD without %<retain%> attribute and %qD with %<retain%> attribute are "
@@ -33401,574 +34163,569 @@ msgstr ""
 msgid "qsort checking failed"
 msgstr ""
 
-#: vr-values.cc:2365
-#, gcc-internal-format
-msgid ""
-"assuming signed overflow does not occur when simplifying conditional to "
-"constant"
-msgstr ""
-
-#: vr-values.cc:2371
-#, gcc-internal-format
-msgid "assuming signed overflow does not occur when simplifying conditional"
-msgstr ""
-
-#: vr-values.cc:2413
-#, gcc-internal-format
-msgid "comparison always false due to limited range of data type"
-msgstr ""
-
-#: vr-values.cc:2415
-#, gcc-internal-format
-msgid "comparison always true due to limited range of data type"
-msgstr ""
-
-#: vr-values.cc:3096
+#: vr-values.cc:1092
 #, gcc-internal-format
 msgid ""
 "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to "
 "%<>>%> or %<&%>"
 msgstr ""
 
-#: vr-values.cc:3164
+#: vr-values.cc:1160
 #, gcc-internal-format
 msgid ""
 "assuming signed overflow does not occur when simplifying %<min/max (X,Y)%> "
 "to %<X%> or %<Y%>"
 msgstr ""
 
-#: vr-values.cc:3216
+#: vr-values.cc:1212
 #, gcc-internal-format
 msgid ""
-"assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X"
-"%> or %<-X%>"
-msgstr ""
-
-#. Print an error message for unrecognized stab codes.
-#: xcoffout.cc:194
-#, gcc-internal-format
-msgid "no sclass for %s stab (0x%x)"
+"assuming signed overflow does not occur when simplifying %<abs (X)%> to "
+"%<X%> or %<-X%>"
 msgstr ""
 
-#: c-family/c-ada-spec.cc:2877
+#: c-family/c-ada-spec.cc:2943
 #, gcc-internal-format
 msgid "packed layout"
 msgstr ""
 
-#: c-family/c-attribs.cc:619 d/d-attribs.cc:1169
+#: c-family/c-attribs.cc:638 d/d-attribs.cc:1192
 #, gcc-internal-format
 msgid "%qE attribute argument is invalid"
 msgstr ""
 
-#: c-family/c-attribs.cc:622 d/d-attribs.cc:1172
+#: c-family/c-attribs.cc:641 d/d-attribs.cc:1195
 #, gcc-internal-format
 msgid "%qE attribute argument %i is invalid"
 msgstr ""
 
-#: c-family/c-attribs.cc:634 d/d-attribs.cc:1184
+#: c-family/c-attribs.cc:653 d/d-attribs.cc:1207
 #, gcc-internal-format
 msgid "%qE attribute argument has type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:638 d/d-attribs.cc:1188
+#: c-family/c-attribs.cc:657 d/d-attribs.cc:1211
 #, gcc-internal-format
 msgid "%qE attribute argument %i has type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:649 c-family/c-attribs.cc:4330
-#: c-family/c-attribs.cc:4334 d/d-attribs.cc:1199
+#: c-family/c-attribs.cc:668 c-family/c-attribs.cc:4396
+#: c-family/c-attribs.cc:4400 d/d-attribs.cc:1222
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:654 d/d-attribs.cc:1204
+#: c-family/c-attribs.cc:673 d/d-attribs.cc:1227
 #, gcc-internal-format
 msgid "%qE attribute argument %i value %qE is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:670 d/d-attribs.cc:1218
+#: c-family/c-attribs.cc:689 d/d-attribs.cc:1241
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE does not refer to a function parameter"
 msgstr ""
 
-#: c-family/c-attribs.cc:675 d/d-attribs.cc:1223
+#: c-family/c-attribs.cc:694 d/d-attribs.cc:1246
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument %i value %qE does not refer to a function parameter"
 msgstr ""
 
-#: c-family/c-attribs.cc:698 d/d-attribs.cc:1246
+#: c-family/c-attribs.cc:722 d/d-attribs.cc:1269
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument value %qE exceeds the number of function parameters %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:703 d/d-attribs.cc:1251
+#: c-family/c-attribs.cc:727 d/d-attribs.cc:1274
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument %i value %qE exceeds the number of function "
 "parameters %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:724
+#: c-family/c-attribs.cc:749
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument value %qE does not refer to a variable argument list"
 msgstr ""
 
-#: c-family/c-attribs.cc:728
+#: c-family/c-attribs.cc:753
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument %i value %qE does not refer to a variable argument "
 "list"
 msgstr ""
 
-#: c-family/c-attribs.cc:755 c-family/c-attribs.cc:768 d/d-attribs.cc:1272
+#: c-family/c-attribs.cc:780 c-family/c-attribs.cc:793 d/d-attribs.cc:1295
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE refers to parameter type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:759 c-family/c-attribs.cc:773 d/d-attribs.cc:1277
+#: c-family/c-attribs.cc:784 c-family/c-attribs.cc:798 d/d-attribs.cc:1300
 #, gcc-internal-format
 msgid "%qE attribute argument %i value %qE refers to parameter type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:783
+#: c-family/c-attribs.cc:808
 #, gcc-internal-format
 msgid ""
 "%qE attribute argument value %qE refers to a variadic function parameter of "
 "unknown type"
 msgstr ""
 
-#: c-family/c-attribs.cc:788
+#: c-family/c-attribs.cc:813
 #, 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:908
+#: c-family/c-attribs.cc:933
 #, gcc-internal-format
 msgid "ignoring attribute %qs because it conflicts with previous %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:946
+#: c-family/c-attribs.cc:971
 #, gcc-internal-format
 msgid "%qE attribute only supported on boolean types"
 msgstr ""
 
-#: c-family/c-attribs.cc:956
+#: c-family/c-attribs.cc:981
 #, gcc-internal-format
 msgid "%qE attribute with unsupported boolean precision"
 msgstr ""
 
-#: c-family/c-attribs.cc:979
+#: c-family/c-attribs.cc:1004
 #, gcc-internal-format
 msgid "%qE attribute ignored for type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:991
+#: c-family/c-attribs.cc:1016
 #, gcc-internal-format
 msgid "%qE attribute ignored for field of type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:1161 c-family/c-attribs.cc:3204
-#: c-family/c-attribs.cc:5637 ada/gcc-interface/utils.cc:7033
+#: c-family/c-attribs.cc:1186 c-family/c-attribs.cc:3262
+#: c-family/c-attribs.cc:5732 ada/gcc-interface/utils.cc:7087
 #, gcc-internal-format
 msgid "%qE argument not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:1324 ada/gcc-interface/utils.cc:6627
+#: c-family/c-attribs.cc:1349 ada/gcc-interface/utils.cc:6633
 #, gcc-internal-format
 msgid "%qE attribute ignored due to conflict with attribute %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:1373
+#: c-family/c-attribs.cc:1398
 #, gcc-internal-format
 msgid "%qE attribute ignored. Use %<-fcf-protection%> option to enable it"
 msgstr ""
 
-#: c-family/c-attribs.cc:1413 c-family/c-attribs.cc:1419
-#: c-family/c-attribs.cc:5455 c-family/c-attribs.cc:5495
-#: c-family/c-attribs.cc:5501 ada/gcc-interface/utils.cc:6886
-#: ada/gcc-interface/utils.cc:6920 ada/gcc-interface/utils.cc:6926
+#: c-family/c-attribs.cc:1438 c-family/c-attribs.cc:1444
+#: c-family/c-attribs.cc:5544 c-family/c-attribs.cc:5590
+#: c-family/c-attribs.cc:5596 ada/gcc-interface/utils.cc:6940
+#: ada/gcc-interface/utils.cc:6974 ada/gcc-interface/utils.cc:6980
 #, gcc-internal-format
 msgid "%qE attribute ignored due to conflict with %qs attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:1475 jit/dummy-frontend.cc:190 lto/lto-lang.cc:293
+#: c-family/c-attribs.cc:1500 jit/dummy-frontend.cc:190 lto/lto-lang.cc:293
 #, gcc-internal-format
 msgid "%qE attribute has no effect on unit local functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:1645 c-family/c-attribs.cc:3187
+#: c-family/c-attribs.cc:1670 c-family/c-attribs.cc:3245
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qD is not a variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:1651
+#: c-family/c-attribs.cc:1676
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qD is not a local variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:1676 config/i386/i386-options.cc:3795
+#: c-family/c-attribs.cc:1701 config/i386/i386-options.cc:3840
 #, gcc-internal-format
 msgid "%qE attribute have effect only on public objects"
 msgstr ""
 
-#: c-family/c-attribs.cc:1705
+#: c-family/c-attribs.cc:1730
 #, gcc-internal-format
 msgid "%qE attribute only affects top level objects"
 msgstr ""
 
-#: c-family/c-attribs.cc:1744 c-family/c-attribs.cc:3861
+#: c-family/c-attribs.cc:1769 c-family/c-attribs.cc:3919
 #, gcc-internal-format
 msgid "%qE attribute on function returning %<void%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:1767
+#: c-family/c-attribs.cc:1792
 #, gcc-internal-format
 msgid "%qE attribute is not supported because endianness is not uniform"
 msgstr ""
 
-#: c-family/c-attribs.cc:1784
+#: c-family/c-attribs.cc:1809
 #, gcc-internal-format
 msgid "attribute %qE argument must be one of %qs or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:1880
+#: c-family/c-attribs.cc:1905
 #, gcc-internal-format
 msgid "destructor priorities are not supported"
 msgstr ""
 
-#: c-family/c-attribs.cc:1882
+#: c-family/c-attribs.cc:1907
 #, gcc-internal-format
 msgid "constructor priorities are not supported"
 msgstr ""
 
-#: c-family/c-attribs.cc:1904
+#: c-family/c-attribs.cc:1929
 #, gcc-internal-format, gfc-internal-format
 msgid "destructor priorities from 0 to %d are reserved for the implementation"
 msgstr ""
 
-#: c-family/c-attribs.cc:1909
+#: c-family/c-attribs.cc:1934
 #, gcc-internal-format, gfc-internal-format
 msgid "constructor priorities from 0 to %d are reserved for the implementation"
 msgstr ""
 
-#: c-family/c-attribs.cc:1917
+#: c-family/c-attribs.cc:1942
 #, gcc-internal-format, gfc-internal-format
 msgid "destructor priorities must be integers from 0 to %d inclusive"
 msgstr ""
 
-#: c-family/c-attribs.cc:1920
+#: c-family/c-attribs.cc:1945
 #, gcc-internal-format, gfc-internal-format
 msgid "constructor priorities must be integers from 0 to %d inclusive"
 msgstr ""
 
-#: c-family/c-attribs.cc:2073
+#: c-family/c-attribs.cc:2098
 #, gcc-internal-format
 msgid "unknown machine mode %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:2107
+#: c-family/c-attribs.cc:2132
 #, gcc-internal-format
 msgid "specifying vector types with %<__attribute__ ((mode))%> is deprecated"
 msgstr ""
 
-#: c-family/c-attribs.cc:2110
+#: c-family/c-attribs.cc:2135
 #, gcc-internal-format
 msgid "use %<__attribute__ ((vector_size))%> instead"
 msgstr ""
 
-#: c-family/c-attribs.cc:2119
+#: c-family/c-attribs.cc:2144
 #, gcc-internal-format
 msgid "unable to emulate %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:2132
+#: c-family/c-attribs.cc:2157
 #, gcc-internal-format
 msgid "invalid pointer mode %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:2149
+#: c-family/c-attribs.cc:2174
 #, gcc-internal-format
 msgid "signedness of type and machine mode %qs don%'t match"
 msgstr ""
 
-#: c-family/c-attribs.cc:2160
+#: c-family/c-attribs.cc:2185
 #, gcc-internal-format
 msgid "no data type for mode %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:2170
+#: c-family/c-attribs.cc:2195
 #, gcc-internal-format
 msgid "cannot use mode %qs for enumerated types"
 msgstr ""
 
-#: c-family/c-attribs.cc:2198
+#: c-family/c-attribs.cc:2223
 #, gcc-internal-format
 msgid "mode %qs applied to inappropriate type"
 msgstr ""
 
-#: c-family/c-attribs.cc:2237 c-family/c-attribs.cc:2551 d/d-attribs.cc:999
+#: c-family/c-attribs.cc:2252 c-family/c-attribs.cc:2609 d/d-attribs.cc:1021
 #, gcc-internal-format
 msgid "section attributes are not supported for this target"
 msgstr ""
 
-#: c-family/c-attribs.cc:2243 d/d-attribs.cc:1006
+#: c-family/c-attribs.cc:2258 d/d-attribs.cc:1028
 #, gcc-internal-format
 msgid "section attribute not allowed for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2249 d/d-attribs.cc:1013
+#: c-family/c-attribs.cc:2264
 #, gcc-internal-format
 msgid "section attribute argument not a string constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:2258 d/d-attribs.cc:1022
+#: c-family/c-attribs.cc:2273 d/d-attribs.cc:1044
 #, gcc-internal-format
 msgid "section attribute cannot be specified for local variables"
 msgstr ""
 
-#: c-family/c-attribs.cc:2269 config/bfin/bfin.cc:4796 config/bfin/bfin.cc:4847
-#: config/bfin/bfin.cc:4873 config/bfin/bfin.cc:4886 d/d-attribs.cc:1033
+#: c-family/c-attribs.cc:2284 config/bfin/bfin.cc:4796 config/bfin/bfin.cc:4847
+#: config/bfin/bfin.cc:4873 config/bfin/bfin.cc:4886 d/d-attribs.cc:1055
 #, gcc-internal-format
 msgid "section of %q+D conflicts with previous declaration"
 msgstr ""
 
-#: c-family/c-attribs.cc:2278 c-family/c-attribs.cc:2577 d/d-attribs.cc:1042
+#: c-family/c-attribs.cc:2293 c-family/c-attribs.cc:2635 d/d-attribs.cc:1064
 #, gcc-internal-format
 msgid "section of %q+D cannot be overridden"
 msgstr ""
 
-#: c-family/c-attribs.cc:2394
+#: c-family/c-attribs.cc:2409
 #, gcc-internal-format
 msgid "alignment may not be specified for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2419
+#: c-family/c-attribs.cc:2434
 #, gcc-internal-format
 msgid ""
 "ignoring attribute %<%E (%u)%> because it conflicts with attribute %<%E "
 "(%u)%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:2464
+#: c-family/c-attribs.cc:2479
 #, gcc-internal-format
 msgid "%<warn_if_not_aligned%> may not be specified for %q+D"
 msgstr ""
 
-#: c-family/c-attribs.cc:2512 d/d-attribs.cc:1120
+#: c-family/c-attribs.cc:2530
+#, gcc-internal-format
+msgid "%qE attribute may not be specified for %q+D"
+msgstr ""
+
+#: c-family/c-attribs.cc:2537
+#, gcc-internal-format
+msgid "%qE attribute may not be specified for a non-array field"
+msgstr ""
+
+#: c-family/c-attribs.cc:2544
+#, gcc-internal-format
+msgid "%qE attribute argument not an integer"
+msgstr ""
+
+#: c-family/c-attribs.cc:2550 c-family/c-attribs.cc:5928
+#, gcc-internal-format
+msgid "%qE attribute argument %qE is not an integer constant between 0 and 3"
+msgstr ""
+
+#: c-family/c-attribs.cc:2570 d/d-attribs.cc:1143
 #, gcc-internal-format
 msgid "inline function %q+D declared weak"
 msgstr ""
 
-#: c-family/c-attribs.cc:2517
+#: c-family/c-attribs.cc:2575
 #, gcc-internal-format
 msgid "indirect function %q+D cannot be declared weak"
 msgstr ""
 
-#: c-family/c-attribs.cc:2558
+#: c-family/c-attribs.cc:2616
 #, gcc-internal-format
 msgid "ignoring %qE attribute not set on a variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2568 config/bfin/bfin.cc:4824
+#: c-family/c-attribs.cc:2626 config/bfin/bfin.cc:4824
+#: config/loongarch/loongarch.cc:6489
 #, gcc-internal-format
 msgid "%qE attribute cannot be specified for local variables"
 msgstr ""
 
-#: c-family/c-attribs.cc:2583
+#: c-family/c-attribs.cc:2641
 #, gcc-internal-format
 msgid "%qE attribute is specific to ELF targets"
 msgstr ""
 
-#: c-family/c-attribs.cc:2590
+#: c-family/c-attribs.cc:2648
 #, gcc-internal-format
 msgid "ignoring %qE attribute set on const variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2601
+#: c-family/c-attribs.cc:2659
 #, gcc-internal-format
 msgid "ignoring %qE attribute set on initialized variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2614
+#: c-family/c-attribs.cc:2672
 #, gcc-internal-format
 msgid "ignoring %qE attribute set on uninitialized variable"
 msgstr ""
 
-#: c-family/c-attribs.cc:2647
+#: c-family/c-attribs.cc:2705
 #, gcc-internal-format
 msgid "%qE attribute is only applicable on functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:2666 d/d-attribs.cc:1068
+#: c-family/c-attribs.cc:2724 d/d-attribs.cc:1091
 #, gcc-internal-format
 msgid "%<symver%> attribute only applies to functions and variables"
 msgstr ""
 
-#: c-family/c-attribs.cc:2674 d/d-attribs.cc:1076
+#: c-family/c-attribs.cc:2732 d/d-attribs.cc:1099
 #, gcc-internal-format
 msgid "%<symver%> attribute is only applicable to symbols"
 msgstr ""
 
-#: c-family/c-attribs.cc:2684 d/d-attribs.cc:1086
+#: c-family/c-attribs.cc:2742
 #, gcc-internal-format
 msgid "%<symver%> attribute argument not a string constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:2698 d/d-attribs.cc:1100
+#: c-family/c-attribs.cc:2756 d/d-attribs.cc:1123
 #, gcc-internal-format
 msgid "symver attribute argument must have format %<name@nodename%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:2699 d/d-attribs.cc:1101
+#: c-family/c-attribs.cc:2757 d/d-attribs.cc:1124
 #, gcc-internal-format
 msgid "%<symver%> attribute argument %qs must contain one or two %<@%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:2734
+#: c-family/c-attribs.cc:2792
 #, gcc-internal-format
 msgid "%q+D defined both normally and as %qE attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:2742
+#: c-family/c-attribs.cc:2800
 #, gcc-internal-format
 msgid "weak %q+D cannot be defined %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:2759 c-family/c-attribs.cc:3752
+#: c-family/c-attribs.cc:2817 c-family/c-attribs.cc:3810
+#: ada/gcc-interface/utils.cc:6893
 #, gcc-internal-format
 msgid "attribute %qE argument not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:2792
+#: c-family/c-attribs.cc:2850
 #, gcc-internal-format
 msgid "%+qD declared %qs after being used"
 msgstr ""
 
-#: c-family/c-attribs.cc:2842
+#: c-family/c-attribs.cc:2900
 #, gcc-internal-format
 msgid "%qE attribute argument cannot be a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:2855
+#: c-family/c-attribs.cc:2913
 #, gcc-internal-format
 msgid "%qE attribute argument cannot be a constant arithmetic expression"
 msgstr ""
 
-#: c-family/c-attribs.cc:2866
+#: c-family/c-attribs.cc:2924
 #, gcc-internal-format
 msgid "%qE attribute ignored on a redeclaration of the referenced symbol"
 msgstr ""
 
-#: c-family/c-attribs.cc:2921
+#: c-family/c-attribs.cc:2979
 #, gcc-internal-format
 msgid ""
 "%qE attribute ignored on a declaration of a different kind than referenced "
 "symbol"
 msgstr ""
 
-#: c-family/c-attribs.cc:2926
+#: c-family/c-attribs.cc:2984
 #, gcc-internal-format
 msgid "symbol %qD referenced by %qD declared here"
 msgstr ""
 
-#: c-family/c-attribs.cc:2974
+#: c-family/c-attribs.cc:3032
 #, gcc-internal-format
 msgid "%qE attribute must apply to a declaration"
 msgstr ""
 
-#: c-family/c-attribs.cc:3032
+#: c-family/c-attribs.cc:3090
 #, gcc-internal-format
 msgid "indirect function %q+D cannot be declared %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:3055
+#: c-family/c-attribs.cc:3113
 #, gcc-internal-format
 msgid "%qE attribute must appear before %qs attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:3068
+#: c-family/c-attribs.cc:3126
 #, gcc-internal-format
 msgid "%+qD declared %qE after being used"
 msgstr ""
 
-#: c-family/c-attribs.cc:3092
+#: c-family/c-attribs.cc:3150
 #, gcc-internal-format
 msgid "%qE attribute ignored on non-class types"
 msgstr ""
 
-#: c-family/c-attribs.cc:3098
+#: c-family/c-attribs.cc:3156
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qT is already defined"
 msgstr ""
 
-#: c-family/c-attribs.cc:3111
+#: c-family/c-attribs.cc:3169
 #, gcc-internal-format
 msgid "visibility argument not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:3123
+#: c-family/c-attribs.cc:3181 d/d-attribs.cc:1581
 #, gcc-internal-format
 msgid "%qE attribute ignored on types"
 msgstr ""
 
-#: c-family/c-attribs.cc:3139
+#: c-family/c-attribs.cc:3197 d/d-attribs.cc:1610
 #, gcc-internal-format
 msgid "attribute %qE argument must be one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3151
+#: c-family/c-attribs.cc:3209 d/d-attribs.cc:1621
 #, gcc-internal-format
 msgid "%qD redeclared with different visibility"
 msgstr ""
 
-#: c-family/c-attribs.cc:3154 c-family/c-attribs.cc:3158
+#: c-family/c-attribs.cc:3212 c-family/c-attribs.cc:3216 d/d-attribs.cc:1624
+#: d/d-attribs.cc:1628
 #, gcc-internal-format
 msgid "%qD was declared %qs which implies default visibility"
 msgstr ""
 
-#: c-family/c-attribs.cc:3195
+#: c-family/c-attribs.cc:3253
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qD does not have thread storage duration"
 msgstr ""
 
-#: c-family/c-attribs.cc:3217
+#: c-family/c-attribs.cc:3275
 #, gcc-internal-format
 msgid "%qE argument must be one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3239 c-family/c-attribs.cc:3835
-#: c-family/c-attribs.cc:5602 c-family/c-attribs.cc:5629
-#: config/m32c/m32c.cc:2939 ada/gcc-interface/utils.cc:7019
+#: c-family/c-attribs.cc:3297 c-family/c-attribs.cc:3893
+#: c-family/c-attribs.cc:5697 c-family/c-attribs.cc:5724
+#: config/m32c/m32c.cc:2939 ada/gcc-interface/utils.cc:7073
 #, gcc-internal-format
 msgid "%qE attribute applies only to functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:3285
+#: c-family/c-attribs.cc:3343
 #, gcc-internal-format
 msgid "%<%E (%E)%> attribute ignored on functions declared %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3295
+#: c-family/c-attribs.cc:3353
 #, gcc-internal-format
 msgid "%<%E (%E)%> attribute ignored with deallocation functions declared %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:3299
+#: c-family/c-attribs.cc:3357
 #, gcc-internal-format
 msgid "deallocation function declared here"
 msgstr ""
 
-#: c-family/c-attribs.cc:3326
+#: c-family/c-attribs.cc:3384
 #, gcc-internal-format
 msgid "%qE attribute ignored; valid only for functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:3336
+#: c-family/c-attribs.cc:3394
 #, gcc-internal-format
 msgid ""
 "%qE attribute ignored on functions returning %qT; valid only for pointer "
@@ -33977,247 +34734,247 @@ msgstr ""
 
 #. Handle specially the common case of specifying one of a number
 #. of overloads, such as operator delete.
-#: c-family/c-attribs.cc:3382
+#: c-family/c-attribs.cc:3440
 #, gcc-internal-format
 msgid "%qE attribute argument 1 is ambiguous"
 msgstr ""
 
-#: c-family/c-attribs.cc:3384
+#: c-family/c-attribs.cc:3442
 #, gcc-internal-format
 msgid "use a cast to the expected type to disambiguate"
 msgstr ""
 
-#: c-family/c-attribs.cc:3389
+#: c-family/c-attribs.cc:3447
 #, gcc-internal-format
 msgid "%qE attribute argument 1 does not name a function"
 msgstr ""
 
-#: c-family/c-attribs.cc:3392
+#: c-family/c-attribs.cc:3450
 #, gcc-internal-format
 msgid "argument references a symbol declared here"
 msgstr ""
 
 #. Reject functions without a prototype.
-#: c-family/c-attribs.cc:3408
+#: c-family/c-attribs.cc:3466
 #, gcc-internal-format
 msgid "%qE attribute argument 1 must take a pointer type as its first argument"
 msgstr ""
 
-#: c-family/c-attribs.cc:3411 c-family/c-attribs.cc:3424
+#: c-family/c-attribs.cc:3469 c-family/c-attribs.cc:3482
 #, 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:3421
+#: c-family/c-attribs.cc:3479
 #, 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:3535 c-family/c-attribs.cc:3583
-#: c-family/c-attribs.cc:3610 d/d-attribs.cc:1303
+#: c-family/c-attribs.cc:3593 c-family/c-attribs.cc:3641
+#: c-family/c-attribs.cc:3668 d/d-attribs.cc:1326
 #, gcc-internal-format
 msgid "%qE attribute ignored on a function returning %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:3629
+#: c-family/c-attribs.cc:3687
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:3637
+#: c-family/c-attribs.cc:3695
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not positive"
 msgstr ""
 
-#: c-family/c-attribs.cc:3648
+#: c-family/c-attribs.cc:3706
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not a power of 2"
 msgstr ""
 
-#: c-family/c-attribs.cc:3661
+#: c-family/c-attribs.cc:3719
 #, gcc-internal-format
 msgid "%qE attribute argument %E is not in the range [0, %wu]"
 msgstr ""
 
-#: c-family/c-attribs.cc:3765
+#: c-family/c-attribs.cc:3823 ada/gcc-interface/utils.cc:6906
 #, gcc-internal-format
 msgid ""
 "only %<inbranch%> and %<notinbranch%> flags are allowed for %<__simd__%> "
 "attribute"
 msgstr ""
 
-#: c-family/c-attribs.cc:3841 c-family/c-attribs.cc:5608
+#: c-family/c-attribs.cc:3899 c-family/c-attribs.cc:5703
 #, gcc-internal-format
 msgid "cannot set %qE attribute after definition"
 msgstr ""
 
-#: c-family/c-attribs.cc:3908
+#: c-family/c-attribs.cc:3966
 #, gcc-internal-format
 msgid "%qE attribute duplicated"
 msgstr ""
 
-#: c-family/c-attribs.cc:3910
+#: c-family/c-attribs.cc:3968
 #, gcc-internal-format
 msgid "%qE attribute follows %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4009
+#: c-family/c-attribs.cc:4067
 #, gcc-internal-format
 msgid "type was previously declared %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4022 cp/class.cc:4777
+#: c-family/c-attribs.cc:4080 cp/class.cc:4792
 #, gcc-internal-format
 msgid ""
 "%<transaction_safe_dynamic%> may only be specified for a virtual function"
 msgstr ""
 
-#: c-family/c-attribs.cc:4080
+#: c-family/c-attribs.cc:4138
 #, gcc-internal-format
 msgid "%qE argument not an identifier"
 msgstr ""
 
-#: c-family/c-attribs.cc:4091
+#: c-family/c-attribs.cc:4149
 #, gcc-internal-format
 msgid "%qD is not compatible with %qD"
 msgstr ""
 
-#: c-family/c-attribs.cc:4094
+#: c-family/c-attribs.cc:4152
 #, gcc-internal-format
 msgid "%qE argument is not a function"
 msgstr ""
 
-#: c-family/c-attribs.cc:4142 cp/name-lookup.cc:6053
+#: c-family/c-attribs.cc:4200 cp/name-lookup.cc:6055
 #, gcc-internal-format
 msgid "deprecated message is not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:4183 c-family/c-attribs.cc:4248
+#: c-family/c-attribs.cc:4249 c-family/c-attribs.cc:4314
 #, gcc-internal-format
 msgid "%qE attribute ignored for %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4207
+#: c-family/c-attribs.cc:4273
 #, gcc-internal-format
 msgid "the message attached to %<unavailable%> is not a string"
 msgstr ""
 
-#: c-family/c-attribs.cc:4306 c-family/c-attribs.cc:4308
+#: c-family/c-attribs.cc:4372 c-family/c-attribs.cc:4374
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:4343 c-family/c-attribs.cc:4347
+#: c-family/c-attribs.cc:4409 c-family/c-attribs.cc:4413
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE is negative"
 msgstr ""
 
-#: c-family/c-attribs.cc:4360 c-family/c-attribs.cc:4364
+#: c-family/c-attribs.cc:4426 c-family/c-attribs.cc:4430
 #, gcc-internal-format
 msgid "%qE attribute argument value %qE exceeds %wu"
 msgstr ""
 
-#: c-family/c-attribs.cc:4372 ada/gcc-interface/utils.cc:4172
+#: c-family/c-attribs.cc:4438 ada/gcc-interface/utils.cc:4158
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
 msgstr ""
 
-#: c-family/c-attribs.cc:4378 ada/gcc-interface/utils.cc:4179
+#: c-family/c-attribs.cc:4444 ada/gcc-interface/utils.cc:4165
 #, gcc-internal-format
 msgid "zero vector size"
 msgstr ""
 
-#: c-family/c-attribs.cc:4387 c-family/c-attribs.cc:4390
+#: c-family/c-attribs.cc:4453 c-family/c-attribs.cc:4456
 #, gcc-internal-format
 msgid "number of vector components %wu not a power of two"
 msgstr ""
 
-#: c-family/c-attribs.cc:4397 c-family/c-attribs.cc:4401
+#: c-family/c-attribs.cc:4463 c-family/c-attribs.cc:4467
 #, gcc-internal-format
 msgid "number of vector components %wu exceeds %d"
 msgstr ""
 
-#: c-family/c-attribs.cc:4461
+#: c-family/c-attribs.cc:4527
 #, gcc-internal-format
 msgid "%qE attribute only supported on non-mask vector types"
 msgstr ""
 
-#: c-family/c-attribs.cc:4494
+#: c-family/c-attribs.cc:4560 c-family/c-attribs.cc:4600
 #, gcc-internal-format
 msgid "%qE attribute without arguments on a non-prototype"
 msgstr ""
 
-#: c-family/c-attribs.cc:4551
+#: c-family/c-attribs.cc:4641
 #, gcc-internal-format
 msgid "%qE attribute ignored on objects of type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:4559
+#: c-family/c-attribs.cc:4649
 #, gcc-internal-format
 msgid "%qE attribute does not apply to functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:4693
+#: c-family/c-attribs.cc:4783
 #, gcc-internal-format
 msgid "attribute %qs mismatch with mode %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:4742
+#: c-family/c-attribs.cc:4832
 #, gcc-internal-format
 msgid ""
 "attribute %qs missing positional argument 2 provided in previous designation "
 "by argument %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:4748
+#: c-family/c-attribs.cc:4838
 #, gcc-internal-format
 msgid "attribute %qs positional argument 2 missing in previous designation"
 msgstr ""
 
-#: c-family/c-attribs.cc:4754
+#: c-family/c-attribs.cc:4844
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 2 conflicts with previous designation by "
 "argument %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:4762
+#: c-family/c-attribs.cc:4852
 #, gcc-internal-format
 msgid "attribute %qs mismatched positional argument values %i and %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:4784
+#: c-family/c-attribs.cc:4874
 #, gcc-internal-format, gfc-internal-format
 msgid "designating the bound of variable length array argument %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:4867
+#: c-family/c-attribs.cc:4957
 #, gcc-internal-format
 msgid "attribute %qE without arguments on a non-prototype"
 msgstr ""
 
-#: c-family/c-attribs.cc:4917
+#: c-family/c-attribs.cc:5007
 #, gcc-internal-format
 msgid "attribute %qE invalid mode"
 msgstr ""
 
-#: c-family/c-attribs.cc:4926
+#: c-family/c-attribs.cc:5016
 #, 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:4954
+#: c-family/c-attribs.cc:5043
 #, gcc-internal-format
 msgid "attribute %qE invalid mode %qs; expected one of %qs, %qs, %qs, or %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:4965
+#: c-family/c-attribs.cc:5054
 #, gcc-internal-format
 msgid ""
 "attribute %qE unexpected %<(%> after mode %qs; expected a positional "
@@ -34228,1389 +34985,1386 @@ 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:4978
+#: c-family/c-attribs.cc:5067
 #, gcc-internal-format
 msgid "attribute %<%E(%s)%> missing an argument"
 msgstr ""
 
-#: c-family/c-attribs.cc:5019
+#: c-family/c-attribs.cc:5108
 #, gcc-internal-format
 msgid "attribute %<%E(%s, %E, %E)%> invalid positional argument %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:5022
+#: c-family/c-attribs.cc:5111
 #, gcc-internal-format
 msgid "attribute %<%E(%s, %E)%> invalid positional argument %i"
 msgstr ""
 
-#: c-family/c-attribs.cc:5047
+#: c-family/c-attribs.cc:5136
 #, gcc-internal-format
 msgid "attribute %qs positional argument %i invalid value %wi"
 msgstr ""
 
-#: c-family/c-attribs.cc:5051
+#: c-family/c-attribs.cc:5140
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument %i value %wi exceeds number of function "
 "arguments %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:5058
+#: c-family/c-attribs.cc:5147
 #, 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:5066
+#: c-family/c-attribs.cc:5155
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 1 references non-pointer argument type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5077
+#: c-family/c-attribs.cc:5166
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 1 references argument of function type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5090
+#: c-family/c-attribs.cc:5179
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 1 references %qs-qualified argument type "
 "%qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5108
+#: c-family/c-attribs.cc:5197
 #, gcc-internal-format
 msgid ""
 "attribute %qs positional argument 2 references non-integer argument type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5340
+#: c-family/c-attribs.cc:5429
 #, gcc-internal-format
 msgid "cleanup argument not an identifier"
 msgstr ""
 
-#: c-family/c-attribs.cc:5347
+#: c-family/c-attribs.cc:5436
 #, gcc-internal-format
 msgid "cleanup argument not a function"
 msgstr ""
 
-#: c-family/c-attribs.cc:5384
+#: c-family/c-attribs.cc:5473
 #, gcc-internal-format
 msgid "%qE attribute requires prototypes with named arguments"
 msgstr ""
 
-#: c-family/c-attribs.cc:5392
+#: c-family/c-attribs.cc:5481
 #, gcc-internal-format
 msgid "%qE attribute only applies to variadic functions"
 msgstr ""
 
-#: c-family/c-attribs.cc:5408 ada/gcc-interface/utils.cc:6530
+#: c-family/c-attribs.cc:5497 ada/gcc-interface/utils.cc:6536
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:5416 ada/gcc-interface/utils.cc:6537
+#: c-family/c-attribs.cc:5505 ada/gcc-interface/utils.cc:6543
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr ""
 
-#: c-family/c-attribs.cc:5471 ada/gcc-interface/utils.cc:6901
-#: d/d-attribs.cc:746
+#: c-family/c-attribs.cc:5560 ada/gcc-interface/utils.cc:6955
+#: d/d-attribs.cc:768
 #, gcc-internal-format
 msgid "empty string in attribute %<target%>"
 msgstr ""
 
 #. The argument must be a constant string.
-#: c-family/c-attribs.cc:5490 config/sh/sh.cc:8548
+#: c-family/c-attribs.cc:5582 config/sh/sh.cc:8549 d/d-attribs.cc:1035
+#: d/d-attribs.cc:1109 d/d-attribs.cc:1412 d/d-attribs.cc:1454
+#: d/d-attribs.cc:1516 d/d-attribs.cc:1595
 #, gcc-internal-format
 msgid "%qE attribute argument not a string constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:5654 ada/gcc-interface/utils.cc:7050
+#: c-family/c-attribs.cc:5749 ada/gcc-interface/utils.cc:7104
 #, gcc-internal-format
 msgid "unrecognized %qE attribute argument %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:5672
+#: c-family/c-attribs.cc:5767
 #, gcc-internal-format
 msgid "%qE attribute on a function not returning a pointer"
 msgstr ""
 
-#: c-family/c-attribs.cc:5687
+#: c-family/c-attribs.cc:5782
 #, gcc-internal-format
 msgid "%qE attribute is only valid on %<struct%> type"
 msgstr ""
 
-#: c-family/c-attribs.cc:5723
+#: c-family/c-attribs.cc:5830
 #, gcc-internal-format
 msgid "%qE attribute argument %qE is not an integer constant"
 msgstr ""
 
-#: c-family/c-attribs.cc:5732
+#: c-family/c-attribs.cc:5839
 #, gcc-internal-format
 msgid "%qE attribute argument %qE exceeds %u"
 msgstr ""
 
-#: c-family/c-attribs.cc:5754
+#: c-family/c-attribs.cc:5861
 #, gcc-internal-format
 msgid "%qE attribute may be put on a typedef only; attribute is ignored"
 msgstr ""
 
-#: c-family/c-attribs.cc:5766
+#: c-family/c-attribs.cc:5873
 #, gcc-internal-format
 msgid "%qE attribute is for pointer types only"
 msgstr ""
 
-#: c-family/c-attribs.cc:5785
+#: c-family/c-attribs.cc:5892
 #, gcc-internal-format
 msgid ""
 "%qE is only applicable to Objective-C class interfaces, attribute ignored"
 msgstr ""
 
-#: c-family/c-attribs.cc:5808
+#: c-family/c-attribs.cc:5915
 #, gcc-internal-format
 msgid "%qE cannot be applied to non-pointer type %qT"
 msgstr ""
 
-#: c-family/c-attribs.cc:5821
-#, gcc-internal-format
-msgid "%qE attribute argument %qE is not an integer constant between 0 and 3"
-msgstr ""
-
-#: c-family/c-attribs.cc:5833
+#: c-family/c-attribs.cc:5940
 #, gcc-internal-format
 msgid "%qE attribute argument %qE is not recognised"
 msgstr ""
 
-#: c-family/c-attribs.cc:5848
+#: c-family/c-attribs.cc:5955
 #, gcc-internal-format
 msgid ""
 "%qE attribute ignored; valid only for functions and function pointer fields"
 msgstr ""
 
-#: c-family/c-attribs.cc:5859
+#: c-family/c-attribs.cc:5966
 #, gcc-internal-format
 msgid "%qE attribute ignored; field must be a function pointer"
 msgstr ""
 
-#: c-family/c-attribs.cc:5883
+#: c-family/c-attribs.cc:5990
 #, gcc-internal-format
 msgid "unknown attribute %qE"
 msgstr ""
 
-#: c-family/c-attribs.cc:5910
+#: c-family/c-attribs.cc:6017
 #, gcc-internal-format
 msgid "invalid operand type %qT for %qs"
 msgstr ""
 
-#: c-family/c-attribs.cc:6014
+#: c-family/c-attribs.cc:6121
 #, gcc-internal-format
 msgid "%qs attribute not supported for %qT in %<__builtin_has_attribute%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:6016
+#: c-family/c-attribs.cc:6123
 #, gcc-internal-format
 msgid "%qs attribute not supported for %qE in %<__builtin_has_attribute%>"
 msgstr ""
 
-#: c-family/c-attribs.cc:6193
+#: c-family/c-attribs.cc:6300
 #, gcc-internal-format
 msgid "%qs attribute not supported in %<__builtin_has_attribute%>"
 msgstr ""
 
-#: c-family/c-common.cc:766
+#: c-family/c-common.cc:739
 #, gcc-internal-format
 msgid "%qD is not defined outside of function scope"
 msgstr ""
 
-#: c-family/c-common.cc:811
+#: c-family/c-common.cc:784
 #, gcc-internal-format
 msgid "size of string literal is too large"
 msgstr ""
 
-#: c-family/c-common.cc:834
+#: c-family/c-common.cc:807
 #, 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:1007
+#: c-family/c-common.cc:980
 #, 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:1048
+#: c-family/c-common.cc:1021
 #, gcc-internal-format
 msgid "%<__builtin_shuffle%> last argument must be an integer vector"
 msgstr ""
 
-#: c-family/c-common.cc:1057
+#: c-family/c-common.cc:1030
 #, gcc-internal-format
 msgid "%<__builtin_shuffle%> arguments must be vectors"
 msgstr ""
 
-#: c-family/c-common.cc:1064
+#: c-family/c-common.cc:1037
 #, gcc-internal-format
 msgid "%<__builtin_shuffle%> argument vectors must be of the same type"
 msgstr ""
 
-#: c-family/c-common.cc:1075
+#: c-family/c-common.cc:1048
 #, 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:1085
+#: c-family/c-common.cc:1058
 #, 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:1136
+#: c-family/c-common.cc:1109
 #, gcc-internal-format
 msgid "%<__builtin_shufflevector%> arguments must be vectors"
 msgstr ""
 
-#: c-family/c-common.cc:1147
+#: c-family/c-common.cc:1120
 #, gcc-internal-format
 msgid "%<__builtin_shufflevector%> arguments must be constant size vectors"
 msgstr ""
 
-#: c-family/c-common.cc:1156
+#: c-family/c-common.cc:1129
 #, gcc-internal-format
 msgid ""
 "%<__builtin_shufflevector%> argument vectors must have the same element type"
 msgstr ""
 
-#: c-family/c-common.cc:1164
+#: c-family/c-common.cc:1137
 #, gcc-internal-format
 msgid ""
 "%<__builtin_shufflevector%> must specify a result with a power of two number "
 "of elements"
 msgstr ""
 
-#: c-family/c-common.cc:1189 c-family/c-common.cc:1199
+#: c-family/c-common.cc:1162 c-family/c-common.cc:1172
 #, gcc-internal-format
 msgid "invalid element index %qE to %<__builtin_shufflevector%>"
 msgstr ""
 
-#: c-family/c-common.cc:1277
+#: c-family/c-common.cc:1250
 #, gcc-internal-format
 msgid ""
 "%<__builtin_convertvector%> first argument must be an integer or floating "
 "vector"
 msgstr ""
 
-#: c-family/c-common.cc:1286
+#: c-family/c-common.cc:1259
 #, gcc-internal-format
 msgid ""
 "%<__builtin_convertvector%> second argument must be an integer or floating "
 "vector type"
 msgstr ""
 
-#: c-family/c-common.cc:1295
+#: c-family/c-common.cc:1268
 #, 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:1919
+#: c-family/c-common.cc:1895
 #, gcc-internal-format
 msgid "operation on %qE may be undefined"
 msgstr ""
 
-#: c-family/c-common.cc:2270
+#: c-family/c-common.cc:2247
 #, gcc-internal-format
 msgid "case label does not reduce to an integer constant"
 msgstr ""
 
-#: c-family/c-common.cc:2353
+#: c-family/c-common.cc:2334
 #, 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:2898
+#: c-family/c-common.cc:2879
 #, gcc-internal-format
 msgid "invalid operands to binary %s (have %qT and %qT)"
 msgstr ""
 
-#: c-family/c-common.cc:3147
+#: c-family/c-common.cc:3128
 #, gcc-internal-format
 msgid "comparison is always false due to limited range of data type"
 msgstr ""
 
-#: c-family/c-common.cc:3150
+#: c-family/c-common.cc:3131
 #, gcc-internal-format
 msgid "comparison is always true due to limited range of data type"
 msgstr ""
 
-#: c-family/c-common.cc:3251
+#: c-family/c-common.cc:3233
 #, gcc-internal-format
 msgid "comparison of unsigned expression in %<>= 0%> is always true"
 msgstr ""
 
-#: c-family/c-common.cc:3259
+#: c-family/c-common.cc:3241
 #, gcc-internal-format
 msgid "comparison of unsigned expression in %<< 0%> is always false"
 msgstr ""
 
-#: c-family/c-common.cc:3303
+#: c-family/c-common.cc:3285
 #, gcc-internal-format
 msgid "pointer of type %<void *%> used in arithmetic"
 msgstr ""
 
-#: c-family/c-common.cc:3312
+#: c-family/c-common.cc:3294
 #, gcc-internal-format
 msgid "pointer to a function used in arithmetic"
 msgstr ""
 
-#: c-family/c-common.cc:3529
+#: c-family/c-common.cc:3511
 #, gcc-internal-format
 msgid "enum constant in boolean context"
 msgstr ""
 
-#: c-family/c-common.cc:3559 d/d-convert.cc:149
+#: c-family/c-common.cc:3541 d/d-convert.cc:149
 #, gcc-internal-format
 msgid "the address of %qD will always evaluate as %<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3604
+#: c-family/c-common.cc:3586
 #, gcc-internal-format
 msgid "%<*%> in boolean context, suggest %<&&%> instead"
 msgstr ""
 
-#: c-family/c-common.cc:3616
+#: c-family/c-common.cc:3598
 #, gcc-internal-format
 msgid "%<<<%> in boolean context, did you mean %<<%>?"
 msgstr ""
 
-#: c-family/c-common.cc:3632
+#: c-family/c-common.cc:3614
 #, gcc-internal-format
 msgid ""
 "%<?:%> using integer constants in boolean context, the expression will "
 "always evaluate to %<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3641
+#: c-family/c-common.cc:3623
 #, gcc-internal-format
 msgid "%<?:%> using integer constants in boolean context"
 msgstr ""
 
-#: c-family/c-common.cc:3677
+#: c-family/c-common.cc:3659
 #, gcc-internal-format
 msgid ""
 "the compiler can assume that the address of %qD will always evaluate to "
 "%<true%>"
 msgstr ""
 
-#: c-family/c-common.cc:3712 cp/semantics.cc:874 cp/typeck.cc:9973
+#: c-family/c-common.cc:3694 cp/semantics.cc:874 cp/typeck.cc:10358
 #, gcc-internal-format
 msgid "suggest parentheses around assignment used as truth value"
 msgstr ""
 
-#: c-family/c-common.cc:3799 c/c-decl.cc:4708 c/c-decl.cc:7119
-#: c/c-typeck.cc:15862
+#: c-family/c-common.cc:3781 c/c-decl.cc:4842 c/c-decl.cc:7424
+#: c/c-parser.cc:3524 c/c-typeck.cc:16346
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr ""
 
-#: c-family/c-common.cc:3873
+#: c-family/c-common.cc:3855
 #, gcc-internal-format
 msgid "invalid application of %<sizeof%> to a function type"
 msgstr ""
 
-#: c-family/c-common.cc:3883
+#: c-family/c-common.cc:3865
 #, gcc-internal-format
 msgid "ISO C++ does not permit %<alignof%> applied to a function type"
 msgstr ""
 
-#: c-family/c-common.cc:3886
+#: c-family/c-common.cc:3868
 #, gcc-internal-format
 msgid "ISO C does not permit %<_Alignof%> applied to a function type"
 msgstr ""
 
-#: c-family/c-common.cc:3897 cp/typeck.cc:1905
+#: c-family/c-common.cc:3879 cp/typeck.cc:2057
 #, gcc-internal-format
 msgid "invalid application of %qs to a void type"
 msgstr ""
 
-#: c-family/c-common.cc:3906
+#: c-family/c-common.cc:3888
 #, gcc-internal-format
 msgid "invalid application of %qs to incomplete type %qT"
 msgstr ""
 
-#: c-family/c-common.cc:3914
+#: c-family/c-common.cc:3896
 #, gcc-internal-format
 msgid "invalid application of %qs to array type %qT of incomplete element type"
 msgstr ""
 
-#: c-family/c-common.cc:3966
+#: c-family/c-common.cc:3948
 #, gcc-internal-format
 msgid "%<__alignof%> applied to a bit-field"
 msgstr ""
 
-#: c-family/c-common.cc:4768
+#: c-family/c-common.cc:4769
 #, gcc-internal-format
 msgid "first argument to %<va_arg%> not of type %<va_list%>"
 msgstr ""
 
-#: c-family/c-common.cc:4888
+#: c-family/c-common.cc:4889
 #, gcc-internal-format
 msgid "cannot disable built-in function %qs"
 msgstr ""
 
-#: c-family/c-common.cc:5078
+#: c-family/c-common.cc:5081
 #, gcc-internal-format
 msgid "pointers are not permitted as case values"
 msgstr ""
 
-#: c-family/c-common.cc:5085
+#: c-family/c-common.cc:5088
 #, gcc-internal-format
 msgid "range expressions in switch statements are non-standard"
 msgstr ""
 
-#: c-family/c-common.cc:5113
+#: c-family/c-common.cc:5116
 #, gcc-internal-format
 msgid "empty range specified"
 msgstr ""
 
-#: c-family/c-common.cc:5165
+#: c-family/c-common.cc:5168
 #, gcc-internal-format
 msgid "duplicate (or overlapping) case value"
 msgstr ""
 
-#: c-family/c-common.cc:5167
+#: c-family/c-common.cc:5170
 #, gcc-internal-format
 msgid "this is the first entry overlapping that value"
 msgstr ""
 
-#: c-family/c-common.cc:5171
+#: c-family/c-common.cc:5174
 #, gcc-internal-format
 msgid "duplicate case value"
 msgstr ""
 
-#: c-family/c-common.cc:5172 c-family/c-warn.cc:2548
+#: c-family/c-common.cc:5175 c-family/c-warn.cc:2556
 #, gcc-internal-format
 msgid "previously used here"
 msgstr ""
 
-#: c-family/c-common.cc:5176
+#: c-family/c-common.cc:5179
 #, gcc-internal-format
 msgid "multiple default labels in one switch"
 msgstr ""
 
-#: c-family/c-common.cc:5178
+#: c-family/c-common.cc:5181
 #, gcc-internal-format
 msgid "this is the first default label"
 msgstr ""
 
-#: c-family/c-common.cc:5290
+#: c-family/c-common.cc:5293
 #, gcc-internal-format
 msgid "taking the address of a label is non-standard"
 msgstr ""
 
-#: c-family/c-common.cc:5468
+#: c-family/c-common.cc:5471
 #, gcc-internal-format
 msgid "requested alignment is not an integer constant"
 msgstr ""
 
-#: c-family/c-common.cc:5476 c-family/c-common.cc:5486
+#: c-family/c-common.cc:5479 c-family/c-common.cc:5489
 #, gcc-internal-format
 msgid "requested alignment %qE is not a positive power of 2"
 msgstr ""
 
-#: c-family/c-common.cc:5496
+#: c-family/c-common.cc:5499
 #, gcc-internal-format
 msgid "requested alignment %qE exceeds object file maximum %u"
 msgstr ""
 
-#: c-family/c-common.cc:5504
+#: c-family/c-common.cc:5507
 #, gcc-internal-format
 msgid "requested alignment %qE exceeds maximum %u"
 msgstr ""
 
-#: c-family/c-common.cc:5679
+#: c-family/c-common.cc:5682
 #, gcc-internal-format
 msgid "not enough variable arguments to fit a sentinel"
 msgstr ""
 
-#: c-family/c-common.cc:5693
+#: c-family/c-common.cc:5696
 #, gcc-internal-format
 msgid "missing sentinel in function call"
 msgstr ""
 
-#: c-family/c-common.cc:5920 c-family/c-common.cc:5970 d/d-attribs.cc:812
-#: d/d-attribs.cc:862
+#: c-family/c-common.cc:5923 c-family/c-common.cc:5973 d/d-attribs.cc:834
+#: d/d-attribs.cc:884
 #, gcc-internal-format
 msgid "bad option %qs to attribute %<optimize%>"
 msgstr ""
 
-#: c-family/c-common.cc:5923 c-family/c-common.cc:5974
+#: c-family/c-common.cc:5926 c-family/c-common.cc:5977
 #, gcc-internal-format
 msgid "bad option %qs to pragma %<optimize%>"
 msgstr ""
 
-#: c-family/c-common.cc:6022
+#: c-family/c-common.cc:6025
 #, gcc-internal-format
 msgid "attribute %<fallthrough%> specified multiple times"
 msgstr ""
 
-#: c-family/c-common.cc:6026
+#: c-family/c-common.cc:6029
 #, gcc-internal-format
 msgid "%<fallthrough%> attribute specified with a parameter"
 msgstr ""
 
-#: c-family/c-common.cc:6206 c-family/c-common.cc:7042
-#: c-family/c-common.cc:7089 c-family/c-common.cc:7164
-#: c-family/c-common.cc:7237 config/aarch64/aarch64-sve-builtins.cc:2117
-#: c/c-typeck.cc:3729
+#: c-family/c-common.cc:6210 c-family/c-common.cc:7061
+#: c-family/c-common.cc:7108 c-family/c-common.cc:7183
+#: c-family/c-common.cc:7256 config/aarch64/aarch64-sve-builtins.cc:2125
+#: c/c-typeck.cc:3848
 #, gcc-internal-format
 msgid "too few arguments to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6211 c-family/c-common.cc:7095
-#: c-family/c-common.cc:7263 config/aarch64/aarch64-sve-builtins.cc:2119
-#: c/c-typeck.cc:3593
+#: c-family/c-common.cc:6215 c-family/c-common.cc:7114
+#: c-family/c-common.cc:7282 config/aarch64/aarch64-sve-builtins.cc:2127
+#: c/c-typeck.cc:3709
 #, gcc-internal-format
 msgid "too many arguments to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6253
+#: c-family/c-common.cc:6257
 #, gcc-internal-format
 msgid "third argument to function %qE must be a constant integer"
 msgstr ""
 
-#: c-family/c-common.cc:6278
+#: c-family/c-common.cc:6282
 #, 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:6299 c-family/c-common.cc:6343
+#: c-family/c-common.cc:6304 c-family/c-common.cc:6348
 #, gcc-internal-format
 msgid "non-floating-point argument in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6322
+#: c-family/c-common.cc:6327
 #, gcc-internal-format
 msgid "non-floating-point arguments in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6336
+#: c-family/c-common.cc:6341
 #, gcc-internal-format
 msgid "non-const integer argument %u in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6356
+#: c-family/c-common.cc:6361
 #, gcc-internal-format
 msgid "non-integer argument 3 in call to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:6373 c-family/c-common.cc:6423
+#: c-family/c-common.cc:6378 c-family/c-common.cc:6428
 #, gcc-internal-format
 msgid "argument %u in call to function %qE does not have integral type"
 msgstr ""
 
-#: c-family/c-common.cc:6380
+#: c-family/c-common.cc:6385
 #, gcc-internal-format
 msgid ""
 "argument 3 in call to function %qE does not have pointer to integral type"
 msgstr ""
 
-#: c-family/c-common.cc:6386
+#: c-family/c-common.cc:6391
 #, gcc-internal-format
 msgid "argument 3 in call to function %qE has pointer to enumerated type"
 msgstr ""
 
-#: c-family/c-common.cc:6392
+#: c-family/c-common.cc:6397
 #, gcc-internal-format
 msgid "argument 3 in call to function %qE has pointer to boolean type"
 msgstr ""
 
-#: c-family/c-common.cc:6398 c-family/c-common.cc:6405
-#: c-family/c-common.cc:6460 c-family/c-common.cc:6467
+#: c-family/c-common.cc:6403 c-family/c-common.cc:6410
+#: c-family/c-common.cc:6465 c-family/c-common.cc:6472
 #, gcc-internal-format
 msgid "argument %u in call to function %qE has pointer to %qs type (%qT)"
 msgstr ""
 
-#: c-family/c-common.cc:6429
+#: c-family/c-common.cc:6434
 #, gcc-internal-format
 msgid "argument 3 in call to function %qE has enumerated type"
 msgstr ""
 
-#: c-family/c-common.cc:6435
+#: c-family/c-common.cc:6440
 #, gcc-internal-format
 msgid "argument 3 in call to function %qE has boolean type"
 msgstr ""
 
-#: c-family/c-common.cc:6448
+#: c-family/c-common.cc:6453
 #, gcc-internal-format
 msgid "argument %u in call to function %qE does not have pointer type"
 msgstr ""
 
-#: c-family/c-common.cc:6454
+#: c-family/c-common.cc:6459
 #, gcc-internal-format
 msgid "argument %u in call to function %qE points to incomplete type"
 msgstr ""
 
-#: c-family/c-common.cc:6719
+#: c-family/c-common.cc:6738 rust/backend/rust-tree.cc:3568
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to static data member %qD"
 msgstr ""
 
-#: c-family/c-common.cc:6724
+#: c-family/c-common.cc:6743 rust/backend/rust-tree.cc:3573
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
 msgstr ""
 
-#: c-family/c-common.cc:6731
+#: c-family/c-common.cc:6750 rust/backend/rust-tree.cc:3580
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to a non constant address"
 msgstr ""
 
-#: c-family/c-common.cc:6744
+#: c-family/c-common.cc:6763 rust/backend/rust-tree.cc:3593
 #, gcc-internal-format
 msgid "attempt to take address of bit-field structure member %qD"
 msgstr ""
 
-#: c-family/c-common.cc:6797
+#: c-family/c-common.cc:6816 rust/backend/rust-tree.cc:3645
 #, gcc-internal-format
 msgid "index %E denotes an offset greater than size of %qT"
 msgstr ""
 
-#: c-family/c-common.cc:6958
+#: c-family/c-common.cc:6977
 #, gcc-internal-format
 msgid "size of array is too large"
 msgstr ""
 
-#: c-family/c-common.cc:7072 c-family/c-common.cc:7196
+#: c-family/c-common.cc:7091 c-family/c-common.cc:7215
 #, gcc-internal-format
 msgid "operand type %qT is incompatible with argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7106
+#: c-family/c-common.cc:7125
 #, gcc-internal-format
 msgid "expecting argument of type pointer or of type integer for argument 1"
 msgstr ""
 
-#: c-family/c-common.cc:7122
+#: c-family/c-common.cc:7141
 #, gcc-internal-format
 msgid "both arguments must be compatible"
 msgstr ""
 
-#: c-family/c-common.cc:7338
+#: c-family/c-common.cc:7357
 #, gcc-internal-format
 msgid "incorrect number of arguments to function %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7352
+#: c-family/c-common.cc:7371
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a non-void pointer type"
 msgstr ""
 
-#: c-family/c-common.cc:7359
+#: c-family/c-common.cc:7378
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a complete type"
 msgstr ""
 
-#: c-family/c-common.cc:7368
+#: c-family/c-common.cc:7387
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a constant size type"
 msgstr ""
 
-#: c-family/c-common.cc:7379
+#: c-family/c-common.cc:7398
 #, gcc-internal-format
 msgid "argument 1 of %qE must be a pointer to a nonzero size object"
 msgstr ""
 
-#: c-family/c-common.cc:7400
+#: c-family/c-common.cc:7419
 #, gcc-internal-format
 msgid "argument %d of %qE must be a pointer type"
 msgstr ""
 
-#: c-family/c-common.cc:7408
+#: c-family/c-common.cc:7427
 #, gcc-internal-format
 msgid "argument %d of %qE must be a pointer to a constant size type"
 msgstr ""
 
-#: c-family/c-common.cc:7414
+#: c-family/c-common.cc:7433
 #, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a function"
 msgstr ""
 
-#: c-family/c-common.cc:7422
+#: c-family/c-common.cc:7441
 #, gcc-internal-format
 msgid "size mismatch in argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7435
+#: c-family/c-common.cc:7454
 #, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a %<const%> type"
 msgstr ""
 
-#: c-family/c-common.cc:7440
+#: c-family/c-common.cc:7459
 #, gcc-internal-format
 msgid "argument %d of %qE discards %<const%> qualifier"
 msgstr ""
 
-#: c-family/c-common.cc:7449
+#: c-family/c-common.cc:7468
 #, gcc-internal-format
 msgid "argument %d of %qE must not be a pointer to a %<volatile%> type"
 msgstr ""
 
-#: c-family/c-common.cc:7454
+#: c-family/c-common.cc:7473
 #, gcc-internal-format
 msgid "argument %d of %qE discards %<volatile%> qualifier"
 msgstr ""
 
-#: c-family/c-common.cc:7467
+#: c-family/c-common.cc:7486
 #, gcc-internal-format
 msgid "non-integer memory model argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7480
+#: c-family/c-common.cc:7499
 #, gcc-internal-format
 msgid "invalid memory model argument %d of %qE"
 msgstr ""
 
-#: c-family/c-common.cc:7881
+#: c-family/c-common.cc:7900
 #, 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:8517
+#: c-family/c-common.cc:8538
 #, gcc-internal-format
 msgid "index value is out of bound"
 msgstr ""
 
-#: c-family/c-common.cc:8559 c-family/c-common.cc:8608
-#: c-family/c-common.cc:8624
+#: c-family/c-common.cc:8580 c-family/c-common.cc:8629
+#: c-family/c-common.cc:8645
 #, 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:8712
+#: c-family/c-common.cc:8733 rust/backend/rust-tree.cc:3464
 #, gcc-internal-format
 msgid "built-in function %qE must be directly called"
 msgstr ""
 
-#: c-family/c-common.cc:8732
+#: c-family/c-common.cc:8753
 #, gcc-internal-format
 msgid "size of array %qE is not a constant expression"
 msgstr ""
 
-#: c-family/c-common.cc:8735
+#: c-family/c-common.cc:8756
 #, gcc-internal-format
 msgid "size of array is not a constant expression"
 msgstr ""
 
-#: c-family/c-common.cc:8739
+#: c-family/c-common.cc:8760
 #, gcc-internal-format
 msgid "size %qE of array %qE is negative"
 msgstr ""
 
-#: c-family/c-common.cc:8742
+#: c-family/c-common.cc:8763
 #, gcc-internal-format
 msgid "size %qE of array is negative"
 msgstr ""
 
-#: c-family/c-common.cc:8747
+#: c-family/c-common.cc:8768
 #, gcc-internal-format
 msgid "size %qE of array %qE exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8750
+#: c-family/c-common.cc:8771
 #, gcc-internal-format
 msgid "size %qE of array exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8755
+#: c-family/c-common.cc:8776
 #, gcc-internal-format
 msgid "size of array %qE exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8758
+#: c-family/c-common.cc:8779
 #, gcc-internal-format
 msgid "size of array exceeds maximum object size %qE"
 msgstr ""
 
-#: c-family/c-common.cc:8829
+#: c-family/c-common.cc:8850
 #, 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:199
+#: c-family/c-format.cc:197
 #, gcc-internal-format
 msgid "function does not return string type"
 msgstr ""
 
-#: c-family/c-format.cc:233
+#: c-family/c-format.cc:231
 #, gcc-internal-format
 msgid "format string argument is not a string type"
 msgstr ""
 
-#: c-family/c-format.cc:259
+#: c-family/c-format.cc:257
 #, gcc-internal-format
 msgid "found a %qs reference but the format argument should be a string"
 msgstr ""
 
-#: c-family/c-format.cc:262
+#: c-family/c-format.cc:260
 #, gcc-internal-format
 msgid "found a %qT but the format argument should be a string"
 msgstr ""
 
-#: c-family/c-format.cc:272
+#: c-family/c-format.cc:270
 #, gcc-internal-format
 msgid "format argument should be a %qs reference but a string was found"
 msgstr ""
 
-#: c-family/c-format.cc:294
+#: c-family/c-format.cc:292
 #, gcc-internal-format
 msgid "format argument should be a %qs reference"
 msgstr ""
 
-#: c-family/c-format.cc:347
+#: c-family/c-format.cc:346
 #, gcc-internal-format
 msgid "unrecognized format specifier"
 msgstr ""
 
-#: c-family/c-format.cc:360
+#: c-family/c-format.cc:359
 #, gcc-internal-format
 msgid "%qE is only allowed in Objective-C dialects"
 msgstr ""
 
-#: c-family/c-format.cc:369
+#: c-family/c-format.cc:368
 #, gcc-internal-format
 msgid "%qE is an unrecognized format function type"
 msgstr ""
 
-#: c-family/c-format.cc:391
+#: c-family/c-format.cc:386
 #, gcc-internal-format
 msgid "format string argument follows the arguments to be formatted"
 msgstr ""
 
-#: c-family/c-format.cc:1230
+#: c-family/c-format.cc:1240
 #, gcc-internal-format
 msgid "function %qD might be a candidate for %qs format attribute"
 msgstr ""
 
-#: c-family/c-format.cc:1321 c-family/c-format.cc:1342
-#: c-family/c-format.cc:2776
+#: c-family/c-format.cc:1331 c-family/c-format.cc:1352
+#: c-family/c-format.cc:2787
 #, gcc-internal-format
 msgid "missing $ operand number in format"
 msgstr ""
 
-#: c-family/c-format.cc:1351
+#: c-family/c-format.cc:1361
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support %%n$ operand number formats"
 msgstr ""
 
-#: c-family/c-format.cc:1358
+#: c-family/c-format.cc:1368
 #, gcc-internal-format
 msgid "operand number out of range in format"
 msgstr ""
 
-#: c-family/c-format.cc:1381
+#: c-family/c-format.cc:1391
 #, gcc-internal-format, gfc-internal-format
 msgid "format argument %d used more than once in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:1414
+#: c-family/c-format.cc:1424
 #, gcc-internal-format
 msgid "%<$%>operand number used after format without operand number"
 msgstr ""
 
-#: c-family/c-format.cc:1445
+#: c-family/c-format.cc:1455
 #, gcc-internal-format
 msgid "format argument %d unused before used argument %d in %<$%>-style format"
 msgstr ""
 
-#: c-family/c-format.cc:1548
+#: c-family/c-format.cc:1558
 #, gcc-internal-format
 msgid "format not a string literal, format string not checked"
 msgstr ""
 
-#: c-family/c-format.cc:1563 c-family/c-format.cc:1566
+#: c-family/c-format.cc:1573 c-family/c-format.cc:1576
 #, gcc-internal-format
 msgid "format not a string literal and no format arguments"
 msgstr ""
 
-#: c-family/c-format.cc:1569
+#: c-family/c-format.cc:1579
 #, gcc-internal-format
 msgid "format not a string literal, argument types not checked"
 msgstr ""
 
-#: c-family/c-format.cc:1586
+#: c-family/c-format.cc:1596
 #, gcc-internal-format
 msgid "too many arguments for format"
 msgstr ""
 
-#: c-family/c-format.cc:1591
+#: c-family/c-format.cc:1601
 #, gcc-internal-format
 msgid "unused arguments in %<$%>-style format"
 msgstr ""
 
-#: c-family/c-format.cc:1594
+#: c-family/c-format.cc:1604
 #, gcc-internal-format, gfc-internal-format
 msgid "zero-length %s format string"
 msgstr ""
 
-#: c-family/c-format.cc:1598
+#: c-family/c-format.cc:1608
 #, gcc-internal-format
 msgid "format is a wide character string"
 msgstr ""
 
-#: c-family/c-format.cc:1602
+#: c-family/c-format.cc:1612
 #, gcc-internal-format
 msgid "format string is not an array of type %qs"
 msgstr ""
 
-#: c-family/c-format.cc:1605
+#: c-family/c-format.cc:1615
 #, gcc-internal-format
 msgid "unterminated format string"
 msgstr ""
 
-#: c-family/c-format.cc:2019
+#: c-family/c-format.cc:2030
 #, gcc-internal-format
 msgid "%s used with %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2029
+#: c-family/c-format.cc:2040
 #, gcc-internal-format, gfc-internal-format
 msgid "%s does not support %s"
 msgstr ""
 
-#: c-family/c-format.cc:2039
+#: c-family/c-format.cc:2050
 #, gcc-internal-format
 msgid "%s does not support %s with the %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2053
+#: c-family/c-format.cc:2064
 #, gcc-internal-format, gfc-internal-format
 msgid "%s used within a quoted sequence"
 msgstr ""
 
-#: c-family/c-format.cc:2066
+#: c-family/c-format.cc:2077
 #, gcc-internal-format
 msgid "%qc conversion used unquoted"
 msgstr ""
 
-#: c-family/c-format.cc:2184 c-family/c-format.cc:2515
+#: c-family/c-format.cc:2195 c-family/c-format.cc:2526
 #, gcc-internal-format, gfc-internal-format
 msgid "repeated %s in format"
 msgstr ""
 
-#: c-family/c-format.cc:2195
+#: c-family/c-format.cc:2206
 #, gcc-internal-format
 msgid "missing fill character at end of strfmon format"
 msgstr ""
 
-#: c-family/c-format.cc:2297
+#: c-family/c-format.cc:2308
 #, gcc-internal-format, gfc-internal-format
 msgid "zero width in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2320
+#: c-family/c-format.cc:2331
 #, gcc-internal-format, gfc-internal-format
 msgid "empty left precision in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2411
+#: c-family/c-format.cc:2422
 #, gcc-internal-format, gfc-internal-format
 msgid "empty precision in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2489
+#: c-family/c-format.cc:2500
 #, gcc-internal-format
 msgid "%s does not support the %qs %s length modifier"
 msgstr ""
 
-#: c-family/c-format.cc:2545
+#: c-family/c-format.cc:2556
 #, gcc-internal-format
 msgid "unknown conversion type character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:2557
+#: c-family/c-format.cc:2568
 #, gcc-internal-format
 msgid "%s does not support the %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2589
+#: c-family/c-format.cc:2600
 #, gcc-internal-format
 msgid "%s ignored with %s and %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2594
+#: c-family/c-format.cc:2605
 #, gcc-internal-format, gfc-internal-format
 msgid "%s ignored with %s in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2601
+#: c-family/c-format.cc:2612
 #, gcc-internal-format
 msgid "use of %s and %s together with %<%%%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2606
+#: c-family/c-format.cc:2617
 #, gcc-internal-format, gfc-internal-format
 msgid "use of %s and %s together in %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2633
+#: c-family/c-format.cc:2644
 #, gcc-internal-format
 msgid "%<%%%c%> yields only last 2 digits of year in some locales"
 msgstr ""
 
-#: c-family/c-format.cc:2637
+#: c-family/c-format.cc:2648
 #, gcc-internal-format
 msgid "%<%%%c%> yields only last 2 digits of year"
 msgstr ""
 
-#: c-family/c-format.cc:2664
+#: c-family/c-format.cc:2675
 #, gcc-internal-format
 msgid "no closing %<]%> for %<%%[%> format"
 msgstr ""
 
-#: c-family/c-format.cc:2693
+#: c-family/c-format.cc:2704
 #, 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:2715
+#: c-family/c-format.cc:2726
 #, gcc-internal-format
 msgid "%s does not support the %<%%%s%c%> %s format"
 msgstr ""
 
-#: c-family/c-format.cc:2753
+#: c-family/c-format.cc:2764
 #, gcc-internal-format
 msgid "operand number specified with suppressed assignment"
 msgstr ""
 
-#: c-family/c-format.cc:2757
+#: c-family/c-format.cc:2768
 #, gcc-internal-format
 msgid "operand number specified for format taking no argument"
 msgstr ""
 
-#: c-family/c-format.cc:3108
+#: c-family/c-format.cc:3118
 #, gcc-internal-format
 msgid "unquoted type name %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3110
+#: c-family/c-format.cc:3120
 #, gcc-internal-format
 msgid "unquoted operator %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3111
+#: c-family/c-format.cc:3121
 #, gcc-internal-format
 msgid "unquoted keyword %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3114
+#: c-family/c-format.cc:3124
 #, gcc-internal-format
 msgid "use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3166
+#: c-family/c-format.cc:3176
 #, gcc-internal-format
 msgid "unquoted attribute in format"
 msgstr ""
 
-#: c-family/c-format.cc:3179
+#: c-family/c-format.cc:3189
 #, gcc-internal-format
 msgid "unquoted name of built-in function %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3193
+#: c-family/c-format.cc:3203
 #, gcc-internal-format
 msgid "unquoted identifier or keyword %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3227
+#: c-family/c-format.cc:3237
 #, gcc-internal-format
 msgid "misspelled term %<%.*s%> in format; use %<%s%s%> instead"
 msgstr ""
 
-#: c-family/c-format.cc:3271
+#: c-family/c-format.cc:3281
 #, gcc-internal-format
 msgid "quoted %qs directive in format; use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3278 c-family/c-format.cc:3549
+#: c-family/c-format.cc:3288 c-family/c-format.cc:3559
 #, gcc-internal-format
 msgid "contraction %<%.*s%> in format; use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3318
+#: c-family/c-format.cc:3328
 #, gcc-internal-format
 msgid "unquoted whitespace character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3331
+#: c-family/c-format.cc:3341
 #, gcc-internal-format
 msgid "spurious trailing space in format"
 msgstr ""
 
-#: c-family/c-format.cc:3352
+#: c-family/c-format.cc:3362
 #, gcc-internal-format
 msgid "inconsistent capitalization in format"
 msgstr ""
 
-#: c-family/c-format.cc:3359
+#: c-family/c-format.cc:3369
 #, gcc-internal-format, gfc-internal-format
 msgid "unquoted sequence of %i consecutive space characters in format"
 msgstr ""
 
-#: c-family/c-format.cc:3379
+#: c-family/c-format.cc:3389
 #, gcc-internal-format
 msgid "unquoted control characters in format"
 msgstr ""
 
-#: c-family/c-format.cc:3386
+#: c-family/c-format.cc:3396
 #, gcc-internal-format
 msgid "unquoted control character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3444
+#: c-family/c-format.cc:3454
 #, gcc-internal-format
 msgid "unquoted option name %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3504
+#: c-family/c-format.cc:3514
 #, gcc-internal-format
 msgid "unbalanced punctuation character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3523
+#: c-family/c-format.cc:3533
 #, gcc-internal-format
 msgid "unquoted preprocessing directive %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3559
+#: c-family/c-format.cc:3569
 #, gcc-internal-format
 msgid "bare apostrophe %<'%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3561
+#: c-family/c-format.cc:3571
 #, 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:3573
+#: c-family/c-format.cc:3583
 #, gcc-internal-format
 msgid "grave accent %<`%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3575
+#: c-family/c-format.cc:3585
 #, gcc-internal-format
 msgid "use the apostrophe directive %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3587
+#: c-family/c-format.cc:3597
 #, gcc-internal-format
 msgid "space followed by punctuation character %<%c%>"
 msgstr ""
 
-#: c-family/c-format.cc:3598
+#: c-family/c-format.cc:3608
 #, gcc-internal-format
 msgid "quoted %qs directive in format"
 msgstr ""
 
-#: c-family/c-format.cc:3600
+#: c-family/c-format.cc:3610
 #, gcc-internal-format
 msgid "if using %qs is not feasible, use %qs instead"
 msgstr ""
 
-#: c-family/c-format.cc:3629
+#: c-family/c-format.cc:3639
 #, gcc-internal-format
 msgid "spurious leading punctuation sequence %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3669
+#: c-family/c-format.cc:3679
 #, gcc-internal-format
 msgid "spurious trailing punctuation sequence %<%.*s%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3686
+#: c-family/c-format.cc:3696
 #, gcc-internal-format
 msgid ""
 "unquoted sequence of %i consecutive punctuation characters %q.*s in format"
 msgstr ""
 
-#: c-family/c-format.cc:3706
+#: c-family/c-format.cc:3716
 #, gcc-internal-format
 msgid "unquoted non-graph characters in format"
 msgstr ""
 
-#: c-family/c-format.cc:3713
+#: c-family/c-format.cc:3723
 #, gcc-internal-format
 msgid "unquoted non-graph character %qc in format"
 msgstr ""
 
-#: c-family/c-format.cc:3745
+#: c-family/c-format.cc:3755
 #, gcc-internal-format
 msgid "unbalanced punctuation character %<%c%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3752
+#: c-family/c-format.cc:3762
 #, gcc-internal-format
 msgid "unterminated quoting directive"
 msgstr ""
 
-#: c-family/c-format.cc:3761
+#: c-family/c-format.cc:3771
 #, gcc-internal-format
 msgid "unterminated quote character %<%c%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3831
+#: c-family/c-format.cc:3841
 #, gcc-internal-format
 msgid "spurious trailing %<%%%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:3891
+#: c-family/c-format.cc:3901
 #, gcc-internal-format
 msgid "conversion lacks type at end of format"
 msgstr ""
 
-#: c-family/c-format.cc:3920
+#: c-family/c-format.cc:3930
 #, gcc-internal-format
 msgid "nested quoting directive"
 msgstr ""
 
-#: c-family/c-format.cc:3931
+#: c-family/c-format.cc:3941
 #, gcc-internal-format
 msgid "unmatched quoting directive"
 msgstr ""
 
-#: c-family/c-format.cc:3946
+#: c-family/c-format.cc:3956
 #, gcc-internal-format
 msgid "%qc directive redundant after prior occurence of the same"
 msgstr ""
 
-#: c-family/c-format.cc:3952
+#: c-family/c-format.cc:3962
 #, gcc-internal-format
 msgid "unmatched color reset directive"
 msgstr ""
 
-#: c-family/c-format.cc:3964
+#: c-family/c-format.cc:3974
 #, gcc-internal-format
 msgid "%qc conversion used within a quoted sequence"
 msgstr ""
 
-#: c-family/c-format.cc:4004
+#: c-family/c-format.cc:4014
 #, gcc-internal-format
 msgid "embedded %<\\0%> in format"
 msgstr ""
 
-#: c-family/c-format.cc:4020
+#: c-family/c-format.cc:4030
 #, gcc-internal-format
 msgid "unterminated color directive"
 msgstr ""
 
-#: c-family/c-format.cc:4142
+#: c-family/c-format.cc:4152
 #, gcc-internal-format, gfc-internal-format
 msgid "writing through null pointer (argument %d)"
 msgstr ""
 
-#: c-family/c-format.cc:4153
+#: c-family/c-format.cc:4163
 #, gcc-internal-format, gfc-internal-format
 msgid "reading through null pointer (argument %d)"
 msgstr ""
 
-#: c-family/c-format.cc:4173
+#: c-family/c-format.cc:4183
 #, gcc-internal-format, gfc-internal-format
 msgid "writing into constant object (argument %d)"
 msgstr ""
 
-#: c-family/c-format.cc:4185
+#: c-family/c-format.cc:4195
 #, gcc-internal-format, gfc-internal-format
 msgid "extra type qualifiers in format argument (argument %d)"
 msgstr ""
 
-#: c-family/c-format.cc:4727
+#: c-family/c-format.cc:4736
 #, 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:4736
+#: c-family/c-format.cc:4745
 #, gcc-internal-format
 msgid "%s %<%s%.*s%> expects a matching %<%s%s%> argument"
 msgstr ""
 
-#: c-family/c-format.cc:4746
+#: c-family/c-format.cc:4755
 #, gcc-internal-format
 msgid ""
 "%s %<%s%.*s%> expects argument of type %<%T%s%>, but argument %d has type %qT"
 msgstr ""
 
-#: c-family/c-format.cc:4755
+#: c-family/c-format.cc:4764
 #, gcc-internal-format
 msgid "%s %<%s%.*s%> expects a matching %<%T%s%> argument"
 msgstr ""
 
-#: c-family/c-format.cc:4817 c-family/c-format.cc:4823
-#: c-family/c-format.cc:4877
+#: c-family/c-format.cc:4826 c-family/c-format.cc:4832
+#: c-family/c-format.cc:4886
 #, gcc-internal-format
 msgid "%<__gcc_host_wide_int__%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:4830 c-family/c-format.cc:4887
+#: c-family/c-format.cc:4839 c-family/c-format.cc:4896
 #, gcc-internal-format
 msgid "%<__gcc_host_wide_int__%> is not defined as %<long%> or %<long long%>"
 msgstr ""
 
-#: c-family/c-format.cc:4939
+#: c-family/c-format.cc:4948
 #, gcc-internal-format
 msgid "%<locus%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:4983
+#: c-family/c-format.cc:4992
 #, gcc-internal-format
 msgid "%qs is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:5009
+#: c-family/c-format.cc:5018
 #, gcc-internal-format
 msgid "%<location_t%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:5026
+#: c-family/c-format.cc:5035
 #, gcc-internal-format
 msgid "%<tree%> is not defined as a type"
 msgstr ""
 
-#: c-family/c-format.cc:5032
+#: c-family/c-format.cc:5041
 #, gcc-internal-format
 msgid "%<tree%> is not defined as a pointer type"
 msgstr ""
 
-#: c-family/c-format.cc:5208
+#: c-family/c-format.cc:5221
 #, gcc-internal-format
 msgid "argument to be formatted is not %<...%>"
 msgstr ""
 
-#: c-family/c-format.cc:5220
+#: c-family/c-format.cc:5233
 #, gcc-internal-format
 msgid "strftime formats cannot format arguments"
 msgstr ""
@@ -35652,382 +36406,391 @@ msgid "ignoring %<#pragma %s %s%>"
 msgstr ""
 
 #. ... or not.
-#: c-family/c-lex.cc:590 c-family/c-lex.cc:1318
+#: c-family/c-lex.cc:610 c-family/c-lex.cc:1367
 #, gcc-internal-format
 msgid "stray %<@%> in program"
 msgstr ""
 
-#: c-family/c-lex.cc:605
+#: c-family/c-lex.cc:625
 #, gcc-internal-format
 msgid "stray %qs in program"
 msgstr ""
 
-#: c-family/c-lex.cc:615
+#: c-family/c-lex.cc:635
 #, gcc-internal-format, gfc-internal-format
 msgid "missing terminating %c character"
 msgstr ""
 
-#: c-family/c-lex.cc:617
+#: c-family/c-lex.cc:637
 #, gcc-internal-format
 msgid "stray %qc in program"
 msgstr ""
 
-#: c-family/c-lex.cc:622
+#: c-family/c-lex.cc:642
 #, gcc-internal-format
 msgid "stray %<\\%o%> in program"
 msgstr ""
 
-#: c-family/c-lex.cc:840
+#: c-family/c-lex.cc:860
 #, gcc-internal-format
 msgid "this decimal constant is unsigned only in ISO C90"
 msgstr ""
 
-#: c-family/c-lex.cc:844
+#: c-family/c-lex.cc:864
 #, gcc-internal-format
 msgid "this decimal constant would be unsigned in ISO C90"
 msgstr ""
 
-#: c-family/c-lex.cc:872
+#: c-family/c-lex.cc:892
 #, gcc-internal-format
 msgid "integer constant is too large for %<unsigned long%> type"
 msgstr ""
 
-#: c-family/c-lex.cc:912
+#: c-family/c-lex.cc:932
 #, gcc-internal-format
 msgid "unsuffixed floating constant"
 msgstr ""
 
-#: c-family/c-lex.cc:926
+#: c-family/c-lex.cc:946
 #, gcc-internal-format
 msgid "decimal floating-point not supported for this target"
 msgstr ""
 
-#: c-family/c-lex.cc:949 c-family/c-lex.cc:973
+#: c-family/c-lex.cc:969 c-family/c-lex.cc:997 c-family/c-lex.cc:1017
 #, gcc-internal-format
 msgid "unsupported non-standard suffix on floating constant"
 msgstr ""
 
-#: c-family/c-lex.cc:954 c-family/c-lex.cc:977
+#: c-family/c-lex.cc:974 c-family/c-lex.cc:1010 c-family/c-lex.cc:1022
 #, gcc-internal-format
 msgid "non-standard suffix on floating constant"
 msgstr ""
 
-#: c-family/c-lex.cc:1056 c-family/c-lex.cc:1059
+#: c-family/c-lex.cc:1004
+#, gcc-internal-format
+msgid ""
+"%<f%d%> or %<F%d%> suffix on floating constant only available with %<-std=c+"
+"+2b%> or %<-std=gnu++2b%>"
+msgstr ""
+
+#: c-family/c-lex.cc:1025
+#, gcc-internal-format
+msgid ""
+"%<bf16%> or %<BF16%> suffix on floating constant only available with %<-"
+"std=c++2b%> or %<-std=gnu++2b%>"
+msgstr ""
+
+#: c-family/c-lex.cc:1105 c-family/c-lex.cc:1108
 #, gcc-internal-format
 msgid "floating constant exceeds range of %qT"
 msgstr ""
 
-#: c-family/c-lex.cc:1074
+#: c-family/c-lex.cc:1123
 #, gcc-internal-format
 msgid "floating constant truncated to zero"
 msgstr ""
 
-#: c-family/c-lex.cc:1275
+#: c-family/c-lex.cc:1324
 #, gcc-internal-format
 msgid "repeated %<@%> before Objective-C string"
 msgstr ""
 
-#: c-family/c-lex.cc:1294 c/c-parser.cc:7390
+#: c-family/c-lex.cc:1343 c/c-parser.cc:7909
 #, gcc-internal-format
 msgid "unsupported non-standard concatenation of string literals"
 msgstr ""
 
-#: c-family/c-lex.cc:1330 c/c-parser.cc:7411
+#: c-family/c-lex.cc:1379 c/c-parser.cc:7930
 #, gcc-internal-format
 msgid "traditional C rejects string constant concatenation"
 msgstr ""
 
-#: c-family/c-omp.cc:131 cp/pt.cc:19187
+#: c-family/c-omp.cc:130 cp/pt.cc:19447
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp critical%> with %<hint%> clause requires a name, except when "
 "%<omp_sync_hint_none%> is used"
 msgstr ""
 
-#: c-family/c-omp.cc:241
+#: c-family/c-omp.cc:240
 #, gcc-internal-format
 msgid "invalid expression type for %<#pragma omp atomic%>"
 msgstr ""
 
-#: c-family/c-omp.cc:246
+#: c-family/c-omp.cc:245
 #, gcc-internal-format
 msgid "%<_Atomic%> expression in %<#pragma omp atomic%>"
 msgstr ""
 
-#: c-family/c-omp.cc:251
+#: c-family/c-omp.cc:250
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp atomic compare capture%> with non-integral comparison result"
 msgstr ""
 
-#: c-family/c-omp.cc:540
+#: c-family/c-omp.cc:539
 #, gcc-internal-format
 msgid "%<#pragma omp atomic update%> uses two different variables for memory"
 msgstr ""
 
-#: c-family/c-omp.cc:543 c-family/c-omp.cc:581
+#: c-family/c-omp.cc:542 c-family/c-omp.cc:580
 #, gcc-internal-format
 msgid "%<#pragma omp atomic capture%> uses two different variables for memory"
 msgstr ""
 
-#: c-family/c-omp.cc:700
+#: c-family/c-omp.cc:699
 #, gcc-internal-format
 msgid "type of %<depobj%> expression is not %<omp_depend_t%>"
 msgstr ""
 
-#: c-family/c-omp.cc:706
+#: c-family/c-omp.cc:705
 #, gcc-internal-format
 msgid "%<const%> qualified %<depobj%> expression"
 msgstr ""
 
-#: c-family/c-omp.cc:722
+#: c-family/c-omp.cc:730
 #, gcc-internal-format
 msgid "more than one locator in %<depend%> clause on %<depobj%> construct"
 msgstr ""
 
-#: c-family/c-omp.cc:728
+#: c-family/c-omp.cc:736
 #, gcc-internal-format
 msgid ""
 "%<depobj%> dependence type specified in %<depend%> clause on %<depobj%> "
 "construct"
 msgstr ""
 
-#: c-family/c-omp.cc:750
+#: c-family/c-omp.cc:752
 #, gcc-internal-format
 msgid "%<iterator%> modifier may not be specified on %<depobj%> construct"
 msgstr ""
 
-#: c-family/c-omp.cc:964 cp/semantics.cc:10472
+#: c-family/c-omp.cc:969 cp/semantics.cc:10604
 #, gcc-internal-format
 msgid "invalid type for iteration variable %qE"
 msgstr ""
 
-#: c-family/c-omp.cc:969
+#: c-family/c-omp.cc:974
 #, gcc-internal-format
 msgid "%<_Atomic%> iteration variable %qE"
 msgstr ""
 
-#: c-family/c-omp.cc:985
+#: c-family/c-omp.cc:990
 #, gcc-internal-format
 msgid "%qE is not initialized"
 msgstr ""
 
-#: c-family/c-omp.cc:1006 cp/semantics.cc:10361
+#: c-family/c-omp.cc:1011 cp/semantics.cc:10493
 #, gcc-internal-format
 msgid "missing controlling predicate"
 msgstr ""
 
-#: c-family/c-omp.cc:1112 cp/semantics.cc:9977
+#: c-family/c-omp.cc:1117 cp/semantics.cc:10109
 #, gcc-internal-format
 msgid "invalid controlling predicate"
 msgstr ""
 
-#: c-family/c-omp.cc:1119 cp/semantics.cc:10367
+#: c-family/c-omp.cc:1124 cp/semantics.cc:10499
 #, gcc-internal-format
 msgid "missing increment expression"
 msgstr ""
 
-#: c-family/c-omp.cc:1219 c-family/c-omp.cc:1237
+#: c-family/c-omp.cc:1224 c-family/c-omp.cc:1242
 #, gcc-internal-format
 msgid "increment is not constant 1 or -1 for %<!=%> condition"
 msgstr ""
 
-#: c-family/c-omp.cc:1250 cp/semantics.cc:10094
+#: c-family/c-omp.cc:1255 cp/semantics.cc:10226
 #, gcc-internal-format
 msgid "invalid increment expression"
 msgstr ""
 
-#: c-family/c-omp.cc:1347
+#: c-family/c-omp.cc:1353
 #, gcc-internal-format
 msgid "initializer expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1351
+#: c-family/c-omp.cc:1357
 #, gcc-internal-format
 msgid "condition expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1355
+#: c-family/c-omp.cc:1361
 #, gcc-internal-format
 msgid "increment expression refers to iteration variable %qD"
 msgstr ""
 
-#: c-family/c-omp.cc:1533
+#: c-family/c-omp.cc:1539
 #, gcc-internal-format
 msgid ""
 "outer iteration variable %qD used in initializer expression has type other "
 "than %qT"
 msgstr ""
 
-#: c-family/c-omp.cc:1537
+#: c-family/c-omp.cc:1543
 #, gcc-internal-format
 msgid ""
 "outer iteration variable %qD used in condition expression has type other "
 "than %qT"
 msgstr ""
 
-#: c-family/c-omp.cc:1544
+#: c-family/c-omp.cc:1550
 #, gcc-internal-format
 msgid "outer iteration variable %qD multiplier expression %qE is not integral"
 msgstr ""
 
-#: c-family/c-omp.cc:1550
+#: c-family/c-omp.cc:1556
 #, gcc-internal-format
 msgid "outer iteration variable %qD addend expression %qE is not integral"
 msgstr ""
 
-#: c-family/c-omp.cc:1615 c-family/c-omp.cc:1700
+#: c-family/c-omp.cc:1621 c-family/c-omp.cc:1706
 #, gcc-internal-format
 msgid "the same loop iteration variables %qD used in multiple associated loops"
 msgstr ""
 
-#: c-family/c-omp.cc:1650
+#: c-family/c-omp.cc:1656
 #, gcc-internal-format
 msgid ""
 "two different outer iteration variables %qD and %qD used in a single loop"
 msgstr ""
 
-#: c-family/c-omp.cc:2247
+#: c-family/c-omp.cc:2259
 #, gcc-internal-format
 msgid ""
 "invalid %<task%> reduction modifier on construct combined with %<simd%> or "
 "%<loop%>"
 msgstr ""
 
-#: c-family/c-omp.cc:2258
+#: c-family/c-omp.cc:2270
 #, gcc-internal-format
 msgid ""
-"invalid %<task%> reduction modifier on construct not combined with %<parallel"
-"%>, %<for%> or %<sections%>"
+"invalid %<task%> reduction modifier on construct not combined with "
+"%<parallel%>, %<for%> or %<sections%>"
 msgstr ""
 
-#: c-family/c-omp.cc:2271
+#: c-family/c-omp.cc:2283
 #, 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:2744 c/c-typeck.cc:15675 cp/semantics.cc:9090
+#: c-family/c-omp.cc:2756 c/c-typeck.cc:16159 cp/semantics.cc:9221
 #, gcc-internal-format
 msgid ""
 "%qD specified in %<allocate%> clause but not in an explicit privatization "
 "clause"
 msgstr ""
 
-#: c-family/c-omp.cc:2836 c-family/c-omp.cc:2851
+#: c-family/c-omp.cc:2848 c-family/c-omp.cc:2863
 #, gcc-internal-format
 msgid "%qD is not a function argument"
 msgstr ""
 
-#: c-family/c-opts.cc:341
+#: c-family/c-opts.cc:338
 #, gcc-internal-format
 msgid "%<-I-%> specified twice"
 msgstr ""
 
-#: c-family/c-opts.cc:344
+#: c-family/c-opts.cc:341
 #, gcc-internal-format
 msgid "obsolete option %<-I-%> used, please use %<-iquote%> instead"
 msgstr ""
 
-#: c-family/c-opts.cc:435
+#: c-family/c-opts.cc:432
 #, gcc-internal-format
 msgid "%<-Wabi=1%> is not supported, using =2"
 msgstr ""
 
-#: c-family/c-opts.cc:621 fortran/cpp.cc:370
+#: c-family/c-opts.cc:619 fortran/cpp.cc:370
 #, gcc-internal-format
 msgid "output filename specified twice"
 msgstr ""
 
-#: c-family/c-opts.cc:822
-#, gcc-internal-format
-msgid "%<-fexcess-precision=standard%> for C++"
-msgstr ""
-
-#: c-family/c-opts.cc:862
+#: c-family/c-opts.cc:852
 #, gcc-internal-format
 msgid "%<-fno-gnu89-inline%> is only supported in GNU99 or C99 mode"
 msgstr ""
 
-#: c-family/c-opts.cc:908
+#: c-family/c-opts.cc:898
 #, gcc-internal-format
 msgid "%<-Wformat-y2k%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:910
+#: c-family/c-opts.cc:900
 #, gcc-internal-format
 msgid "%<-Wformat-extra-args%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:912
+#: c-family/c-opts.cc:902
 #, gcc-internal-format
 msgid "%<-Wformat-zero-length%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:914
+#: c-family/c-opts.cc:904
 #, gcc-internal-format
 msgid "%<-Wformat-nonliteral%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:916
+#: c-family/c-opts.cc:906
 #, gcc-internal-format
 msgid "%<-Wformat-contains-nul%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:918
+#: c-family/c-opts.cc:908
 #, gcc-internal-format
 msgid "%<-Wformat-security%> ignored without %<-Wformat%>"
 msgstr ""
 
-#: c-family/c-opts.cc:974
+#: c-family/c-opts.cc:964
 #, gcc-internal-format
 msgid "%<-fabi-compat-version=1%> is not supported, using =2"
 msgstr ""
 
-#: c-family/c-opts.cc:1001
+#: c-family/c-opts.cc:991
 #, gcc-internal-format
 msgid "%<-Wabi%> won%'t warn about anything"
 msgstr ""
 
-#: c-family/c-opts.cc:1003
+#: c-family/c-opts.cc:993
 #, 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:1006
+#: c-family/c-opts.cc:996
 #, gcc-internal-format
 msgid "use e.g. %<-Wabi=11%> to warn about changes from GCC 7"
 msgstr ""
 
-#: c-family/c-opts.cc:1076
+#: c-family/c-opts.cc:1078
 #, gcc-internal-format
 msgid "external TLS initialization functions not supported on this target"
 msgstr ""
 
-#: c-family/c-opts.cc:1100
+#: c-family/c-opts.cc:1099
 #, gcc-internal-format
 msgid "too many filenames given; type %<%s %s%> for usage"
 msgstr ""
 
-#: c-family/c-opts.cc:1114
+#: c-family/c-opts.cc:1113
 #, gcc-internal-format
 msgid "opening output file %s: %m"
 msgstr ""
 
-#: c-family/c-opts.cc:1132
+#: c-family/c-opts.cc:1131
 #, gcc-internal-format
 msgid "the %qs debug info cannot be used with pre-compiled headers"
 msgstr ""
 
-#: c-family/c-opts.cc:1298 d/d-lang.cc:1297
+#: c-family/c-opts.cc:1292 d/d-lang.cc:1285
 #, gcc-internal-format
 msgid "opening dependency file %s: %m"
 msgstr ""
 
-#: c-family/c-opts.cc:1309 d/d-lang.cc:1310
+#: c-family/c-opts.cc:1309 d/d-lang.cc:1298
 #, gcc-internal-format
 msgid "closing dependency file %s: %m"
 msgstr ""
@@ -36272,212 +37035,217 @@ msgstr ""
 msgid "junk at end of %<#pragma GCC visibility%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:776
+#: c-family/c-pragma.cc:928
 #, gcc-internal-format
 msgid ""
 "missing %<error%>, %<warning%>, %<ignored%>, %<push%>, %<pop%>, or "
 "%<ignored_attributes%> after %<#pragma GCC diagnostic%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:806
+#: c-family/c-pragma.cc:952
 #, gcc-internal-format
 msgid ""
 "missing attribute name after %<#pragma GCC diagnostic ignored_attributes%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:814
+#: c-family/c-pragma.cc:961
 #, gcc-internal-format
 msgid "missing argument to %<#pragma GCC diagnostic ignored_attributes%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:821
+#: c-family/c-pragma.cc:969
 #, gcc-internal-format
 msgid ""
 "trailing %<,%> in arguments for %<#pragma GCC diagnostic ignored_attributes%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:836
+#: c-family/c-pragma.cc:987
 #, gcc-internal-format
-msgid ""
-"expected %<error%>, %<warning%>, %<ignored%>, %<push%>, %<pop%>, "
-"%<ignored_attributes%> after %<#pragma GCC diagnostic%>"
+msgid "missing option after %<#pragma GCC diagnostic%> kind"
 msgstr ""
 
-#: c-family/c-pragma.cc:846
+#: c-family/c-pragma.cc:995
 #, gcc-internal-format
-msgid "missing option after %<#pragma GCC diagnostic%> kind"
+msgid ""
+"expected %<error%>, %<warning%>, %<ignored%>, %<push%>, %<pop%>, "
+"%<ignored_attributes%> after %<#pragma GCC diagnostic%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:858
+#: c-family/c-pragma.cc:1018
 #, gcc-internal-format
 msgid "unknown option after %<#pragma GCC diagnostic%> kind"
 msgstr ""
 
-#: c-family/c-pragma.cc:863
+#: c-family/c-pragma.cc:1023
 #, gcc-internal-format
 msgid "did you mean %<-%s%>?"
 msgstr ""
 
-#: c-family/c-pragma.cc:870
+#: c-family/c-pragma.cc:1032
 #, gcc-internal-format
 msgid "%qs is not an option that controls warnings"
 msgstr ""
 
-#: c-family/c-pragma.cc:878
+#: c-family/c-pragma.cc:1043
 #, gcc-internal-format
 msgid "option %qs is valid for %s but not for %s"
 msgstr ""
 
-#: c-family/c-pragma.cc:911
+#: c-family/c-pragma.cc:1096
 #, gcc-internal-format
 msgid "%<#pragma GCC option%> is not allowed inside functions"
 msgstr ""
 
-#: c-family/c-pragma.cc:923
+#: c-family/c-pragma.cc:1108
 #, gcc-internal-format
 msgid "%<#pragma GCC option%> is not a string"
 msgstr ""
 
-#: c-family/c-pragma.cc:948
+#: c-family/c-pragma.cc:1133
 #, gcc-internal-format
 msgid ""
 "%<#pragma GCC target (string [,string]...)%> does not have a final %<)%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:954
+#: c-family/c-pragma.cc:1139
 #, gcc-internal-format
 msgid "%<#pragma GCC target%> string is badly formed"
 msgstr ""
 
-#: c-family/c-pragma.cc:983
+#: c-family/c-pragma.cc:1168
 #, gcc-internal-format
 msgid "%<#pragma GCC optimize%> is not allowed inside functions"
 msgstr ""
 
-#: c-family/c-pragma.cc:995
+#: c-family/c-pragma.cc:1180
 #, gcc-internal-format
 msgid "%<#pragma GCC optimize%> is not a string or number"
 msgstr ""
 
-#: c-family/c-pragma.cc:1019
+#: c-family/c-pragma.cc:1204
 #, gcc-internal-format
 msgid ""
 "%<#pragma GCC optimize (string [,string]...)%> does not have a final %<)%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1025
+#: c-family/c-pragma.cc:1210
 #, gcc-internal-format
 msgid "%<#pragma GCC optimize%> string is badly formed"
 msgstr ""
 
-#: c-family/c-pragma.cc:1068
+#: c-family/c-pragma.cc:1253
 #, gcc-internal-format
 msgid "junk at end of %<#pragma push_options%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1105
+#: c-family/c-pragma.cc:1290
 #, gcc-internal-format
 msgid "junk at end of %<#pragma pop_options%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1112
+#: c-family/c-pragma.cc:1297
 #, gcc-internal-format
 msgid ""
 "%<#pragma GCC pop_options%> without a corresponding %<#pragma GCC "
 "push_options%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1163
+#: c-family/c-pragma.cc:1348
 #, gcc-internal-format
 msgid "junk at end of %<#pragma reset_options%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1202 c-family/c-pragma.cc:1209
+#: c-family/c-pragma.cc:1387 c-family/c-pragma.cc:1397
 #, gcc-internal-format
 msgid "expected a string after %<#pragma message%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1204
+#: c-family/c-pragma.cc:1389
 #, gcc-internal-format
 msgid "malformed %<#pragma message%>, ignored"
 msgstr ""
 
-#: c-family/c-pragma.cc:1214
+#: c-family/c-pragma.cc:1394 cp/parser.cc:4452 cp/parser.cc:4548
+#, gcc-internal-format
+msgid "string literal with user-defined suffix is invalid in this context"
+msgstr ""
+
+#: c-family/c-pragma.cc:1402
 #, gcc-internal-format
 msgid "junk at end of %<#pragma message%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1217
+#: c-family/c-pragma.cc:1405
 #, gcc-internal-format
 msgid "%<#pragma message: %s%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1255
+#: c-family/c-pragma.cc:1449
 #, gcc-internal-format
 msgid "invalid location for %<pragma %s%>, ignored"
 msgstr ""
 
-#: c-family/c-pragma.cc:1262 c-family/c-pragma.cc:1276
+#: c-family/c-pragma.cc:1456 c-family/c-pragma.cc:1470
 #, gcc-internal-format
 msgid "malformed %<#pragma %s%>, ignored"
 msgstr ""
 
-#: c-family/c-pragma.cc:1282 cp/lex.cc:595
+#: c-family/c-pragma.cc:1476 cp/lex.cc:603
 #, gcc-internal-format
 msgid "junk at end of %<#pragma %s%>"
 msgstr ""
 
-#: c-family/c-pragma.cc:1300
+#: c-family/c-pragma.cc:1494
 #, gcc-internal-format
 msgid "%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported for C++"
 msgstr ""
 
-#: c-family/c-pragma.cc:1309
+#: c-family/c-pragma.cc:1503
 #, gcc-internal-format
 msgid "%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported on this target"
 msgstr ""
 
-#: c-family/c-pragma.cc:1315
+#: c-family/c-pragma.cc:1509
 #, gcc-internal-format
 msgid "ISO C does not support %<#pragma STDC FLOAT_CONST_DECIMAL64%>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:340
+#: c-family/c-pretty-print.cc:341
 #, gcc-internal-format
 msgid "<type-error>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:383
+#: c-family/c-pretty-print.cc:384
 #, gcc-internal-format
 msgid "<unnamed-unsigned:"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:387
+#: c-family/c-pretty-print.cc:388
 #, gcc-internal-format
 msgid "<unnamed-float:"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:390
+#: c-family/c-pretty-print.cc:391
 #, gcc-internal-format
 msgid "<unnamed-fixed:"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:405
+#: c-family/c-pretty-print.cc:406
 #, gcc-internal-format
 msgid "<typedef-error>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:420
+#: c-family/c-pretty-print.cc:421
 #, gcc-internal-format
 msgid "<tag-error>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:1310
+#: c-family/c-pretty-print.cc:1327
 #, gcc-internal-format
 msgid "<erroneous-expression>"
 msgstr ""
 
-#: c-family/c-pretty-print.cc:1314 cp/cxx-pretty-print.cc:133
+#: c-family/c-pretty-print.cc:1331 cp/cxx-pretty-print.cc:133
 #, gcc-internal-format
 msgid "<return-value>"
 msgstr ""
@@ -36487,8 +37255,9 @@ msgstr ""
 msgid "wrong type argument to %s"
 msgstr ""
 
-#: c-family/c-warn.cc:58 c-family/c-warn.cc:71 cp/constexpr.cc:3115
-#: cp/constexpr.cc:6560
+#: c-family/c-warn.cc:58 c-family/c-warn.cc:71 cp/constexpr.cc:3382
+#: cp/constexpr.cc:6958 m2/gm2-gcc/m2expr.cc:934
+#: rust/backend/rust-constexpr.cc:1907 rust/backend/rust-constexpr.cc:4339
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr ""
@@ -36780,17 +37549,17 @@ msgstr ""
 msgid "%q+D declared as variadic function"
 msgstr ""
 
-#: c-family/c-warn.cc:1209
+#: c-family/c-warn.cc:1209 m2/gm2-gcc/m2convert.cc:191
 #, gcc-internal-format
 msgid "conversion to %qT from boolean expression"
 msgstr ""
 
-#: c-family/c-warn.cc:1234 c-family/c-warn.cc:1437
+#: c-family/c-warn.cc:1234 c-family/c-warn.cc:1438
 #, gcc-internal-format
 msgid "unsigned conversion from %qT to %qT changes value from %qE to %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1239 c-family/c-warn.cc:1445
+#: c-family/c-warn.cc:1239 c-family/c-warn.cc:1446
 #, gcc-internal-format
 msgid "unsigned conversion from %qT to %qT changes the value of %qE"
 msgstr ""
@@ -36805,12 +37574,12 @@ msgstr ""
 msgid "signed conversion from %qT to %qT changes the value of %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1259 c-family/c-warn.cc:1435
+#: c-family/c-warn.cc:1259 c-family/c-warn.cc:1436
 #, gcc-internal-format
 msgid "conversion from %qT to %qT changes value from %qE to %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1263 c-family/c-warn.cc:1443
+#: c-family/c-warn.cc:1263 c-family/c-warn.cc:1444
 #, gcc-internal-format
 msgid "conversion from %qT to %qT changes the value of %qE"
 msgstr ""
@@ -36830,559 +37599,559 @@ msgstr ""
 msgid "conversion from %qT to %qT may change value"
 msgstr ""
 
-#: c-family/c-warn.cc:1456 c-family/c-warn.cc:1473 c-family/c-warn.cc:1490
+#: c-family/c-warn.cc:1457 c-family/c-warn.cc:1474 c-family/c-warn.cc:1491
 #, gcc-internal-format
 msgid "overflow in conversion from %qT to %qT changes value from %qE to %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1461 c-family/c-warn.cc:1478 c-family/c-warn.cc:1495
+#: c-family/c-warn.cc:1462 c-family/c-warn.cc:1479 c-family/c-warn.cc:1496
 #, gcc-internal-format
 msgid "overflow in conversion from %qT to %qT changes the value of %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1525
+#: c-family/c-warn.cc:1526
 #, gcc-internal-format
 msgid "case value %qs not in enumerated type"
 msgstr ""
 
-#: c-family/c-warn.cc:1530
+#: c-family/c-warn.cc:1531
 #, gcc-internal-format
 msgid "case value %qs not in enumerated type %qT"
 msgstr ""
 
-#: c-family/c-warn.cc:1610
+#: c-family/c-warn.cc:1611
 #, gcc-internal-format
 msgid "lower value in case label range less than minimum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1624
+#: c-family/c-warn.cc:1625
 #, gcc-internal-format
 msgid "case label value is less than minimum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1641
+#: c-family/c-warn.cc:1642
 #, gcc-internal-format
 msgid "upper value in case label range exceeds maximum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1654
+#: c-family/c-warn.cc:1655
 #, gcc-internal-format
 msgid "case label value exceeds maximum value for type"
 msgstr ""
 
-#: c-family/c-warn.cc:1667
+#: c-family/c-warn.cc:1668
 #, gcc-internal-format
 msgid "switch missing default case"
 msgstr ""
 
-#: c-family/c-warn.cc:1712
+#: c-family/c-warn.cc:1713
 #, gcc-internal-format
 msgid "switch condition has boolean value"
 msgstr ""
 
-#: c-family/c-warn.cc:1794
+#: c-family/c-warn.cc:1802
 #, gcc-internal-format
 msgid "enumeration value %qE not handled in switch"
 msgstr ""
 
-#: c-family/c-warn.cc:1822
+#: c-family/c-warn.cc:1830
 #, gcc-internal-format
 msgid ""
 "the omitted middle operand in %<?:%> will always be %<true%>, suggest "
 "explicit middle operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1844
+#: c-family/c-warn.cc:1852
 #, gcc-internal-format
 msgid "assignment of member %qD in read-only object"
 msgstr ""
 
-#: c-family/c-warn.cc:1846
+#: c-family/c-warn.cc:1854
 #, gcc-internal-format
 msgid "increment of member %qD in read-only object"
 msgstr ""
 
-#: c-family/c-warn.cc:1848
+#: c-family/c-warn.cc:1856
 #, gcc-internal-format
 msgid "decrement of member %qD in read-only object"
 msgstr ""
 
-#: c-family/c-warn.cc:1850
+#: c-family/c-warn.cc:1858
 #, gcc-internal-format
 msgid "member %qD in read-only object used as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1854
+#: c-family/c-warn.cc:1862
 #, gcc-internal-format
 msgid "assignment of read-only member %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1855
+#: c-family/c-warn.cc:1863
 #, gcc-internal-format
 msgid "increment of read-only member %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1856
+#: c-family/c-warn.cc:1864
 #, gcc-internal-format
 msgid "decrement of read-only member %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1857
+#: c-family/c-warn.cc:1865
 #, gcc-internal-format
 msgid "read-only member %qD used as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1861
+#: c-family/c-warn.cc:1869
 #, gcc-internal-format
 msgid "assignment of read-only variable %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1862
+#: c-family/c-warn.cc:1870
 #, gcc-internal-format
 msgid "increment of read-only variable %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1863
+#: c-family/c-warn.cc:1871
 #, gcc-internal-format
 msgid "decrement of read-only variable %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1864
+#: c-family/c-warn.cc:1872
 #, gcc-internal-format
 msgid "read-only variable %qD used as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1867
+#: c-family/c-warn.cc:1875
 #, gcc-internal-format
 msgid "assignment of read-only parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1868
+#: c-family/c-warn.cc:1876
 #, gcc-internal-format
 msgid "increment of read-only parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1869
+#: c-family/c-warn.cc:1877
 #, gcc-internal-format
 msgid "decrement of read-only parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1870
+#: c-family/c-warn.cc:1878
 #, gcc-internal-format
 msgid "read-only parameter %qD use as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1875
+#: c-family/c-warn.cc:1883
 #, gcc-internal-format
 msgid "assignment of read-only named return value %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1877
+#: c-family/c-warn.cc:1885
 #, gcc-internal-format
 msgid "increment of read-only named return value %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1879
+#: c-family/c-warn.cc:1887
 #, gcc-internal-format
 msgid "decrement of read-only named return value %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1881
+#: c-family/c-warn.cc:1889
 #, gcc-internal-format
 msgid "read-only named return value %qD used as %<asm%>output"
 msgstr ""
 
-#: c-family/c-warn.cc:1886
+#: c-family/c-warn.cc:1894
 #, gcc-internal-format
 msgid "assignment of function %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1887
+#: c-family/c-warn.cc:1895
 #, gcc-internal-format
 msgid "increment of function %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1888
+#: c-family/c-warn.cc:1896
 #, gcc-internal-format
 msgid "decrement of function %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:1889
+#: c-family/c-warn.cc:1897
 #, gcc-internal-format
 msgid "function %qD used as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1892 c/c-typeck.cc:5006
+#: c-family/c-warn.cc:1900 c/c-typeck.cc:5139
 #, gcc-internal-format
 msgid "assignment of read-only location %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1893 c/c-typeck.cc:5009
+#: c-family/c-warn.cc:1901 c/c-typeck.cc:5142
 #, gcc-internal-format
 msgid "increment of read-only location %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1894 c/c-typeck.cc:5012
+#: c-family/c-warn.cc:1902 c/c-typeck.cc:5145
 #, gcc-internal-format
 msgid "decrement of read-only location %qE"
 msgstr ""
 
-#: c-family/c-warn.cc:1895
+#: c-family/c-warn.cc:1903
 #, gcc-internal-format
 msgid "read-only location %qE used as %<asm%> output"
 msgstr ""
 
-#: c-family/c-warn.cc:1909
+#: c-family/c-warn.cc:1917 rust/backend/rust-tree.cc:5954
 #, gcc-internal-format
 msgid "lvalue required as left operand of assignment"
 msgstr ""
 
-#: c-family/c-warn.cc:1912
+#: c-family/c-warn.cc:1920 rust/backend/rust-tree.cc:5957
 #, gcc-internal-format
 msgid "lvalue required as increment operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1915
+#: c-family/c-warn.cc:1923 rust/backend/rust-tree.cc:5960
 #, gcc-internal-format
 msgid "lvalue required as decrement operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1918
+#: c-family/c-warn.cc:1926 rust/backend/rust-tree.cc:5963
 #, gcc-internal-format
 msgid "lvalue required as unary %<&%> operand"
 msgstr ""
 
-#: c-family/c-warn.cc:1921
+#: c-family/c-warn.cc:1929 rust/backend/rust-tree.cc:5966
 #, gcc-internal-format
 msgid "lvalue required in %<asm%> statement"
 msgstr ""
 
-#: c-family/c-warn.cc:1938
+#: c-family/c-warn.cc:1946
 #, gcc-internal-format
 msgid "invalid type argument (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1942
+#: c-family/c-warn.cc:1950
 #, gcc-internal-format
 msgid "invalid type argument of array indexing (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1947
+#: c-family/c-warn.cc:1955
 #, gcc-internal-format
 msgid "invalid type argument of unary %<*%> (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1952
+#: c-family/c-warn.cc:1960
 #, gcc-internal-format
 msgid "invalid type argument of %<->%> (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1957
+#: c-family/c-warn.cc:1965
 #, gcc-internal-format
 msgid "invalid type argument of %<->*%> (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1962
+#: c-family/c-warn.cc:1970
 #, gcc-internal-format
 msgid "invalid type argument of implicit conversion (have %qT)"
 msgstr ""
 
-#: c-family/c-warn.cc:1989
+#: c-family/c-warn.cc:1997
 #, gcc-internal-format
 msgid "array subscript has type %<char%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2025 c-family/c-warn.cc:2028
+#: c-family/c-warn.cc:2033 c-family/c-warn.cc:2036
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> inside %<<<%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2031 c-family/c-warn.cc:2034
+#: c-family/c-warn.cc:2039 c-family/c-warn.cc:2042
 #, gcc-internal-format
 msgid "suggest parentheses around %<-%> inside %<<<%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2040 c-family/c-warn.cc:2043
+#: c-family/c-warn.cc:2048 c-family/c-warn.cc:2051
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> inside %<>>%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2046 c-family/c-warn.cc:2049
+#: c-family/c-warn.cc:2054 c-family/c-warn.cc:2057
 #, gcc-internal-format
 msgid "suggest parentheses around %<-%> inside %<>>%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2055 c-family/c-warn.cc:2058
+#: c-family/c-warn.cc:2063 c-family/c-warn.cc:2066
 #, gcc-internal-format
 msgid "suggest parentheses around %<&&%> within %<||%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2065 c-family/c-warn.cc:2069
+#: c-family/c-warn.cc:2073 c-family/c-warn.cc:2077
 #, gcc-internal-format
 msgid "suggest parentheses around arithmetic in operand of %<|%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2073 c-family/c-warn.cc:2076
+#: c-family/c-warn.cc:2081 c-family/c-warn.cc:2084
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<|%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2081
+#: c-family/c-warn.cc:2089
 #, gcc-internal-format
 msgid ""
 "suggest parentheses around operand of %<!%> or change %<|%> to %<||%> or %<!"
 "%> to %<~%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2089 c-family/c-warn.cc:2093
+#: c-family/c-warn.cc:2097 c-family/c-warn.cc:2101
 #, gcc-internal-format
 msgid "suggest parentheses around arithmetic in operand of %<^%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2097 c-family/c-warn.cc:2100
+#: c-family/c-warn.cc:2105 c-family/c-warn.cc:2108
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<^%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2106 c-family/c-warn.cc:2109
+#: c-family/c-warn.cc:2114 c-family/c-warn.cc:2117
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> in operand of %<&%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2112 c-family/c-warn.cc:2115
+#: c-family/c-warn.cc:2120 c-family/c-warn.cc:2123
 #, gcc-internal-format
 msgid "suggest parentheses around %<-%> in operand of %<&%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2119 c-family/c-warn.cc:2122
+#: c-family/c-warn.cc:2127 c-family/c-warn.cc:2130
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<&%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2127
+#: c-family/c-warn.cc:2135
 #, gcc-internal-format
 msgid ""
 "suggest parentheses around operand of %<!%> or change %<&%> to %<&&%> or %<!"
 "%> to %<~%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2134 c-family/c-warn.cc:2137
+#: c-family/c-warn.cc:2142 c-family/c-warn.cc:2145
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<==%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2142 c-family/c-warn.cc:2145
+#: c-family/c-warn.cc:2150 c-family/c-warn.cc:2153
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<!=%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2155 c-family/c-warn.cc:2161
+#: c-family/c-warn.cc:2163 c-family/c-warn.cc:2169
 #, gcc-internal-format
 msgid "comparisons like %<X<=Y<=Z%> do not have their mathematical meaning"
 msgstr ""
 
-#: c-family/c-warn.cc:2177
+#: c-family/c-warn.cc:2185
 #, gcc-internal-format
 msgid "label %q+D defined but not used"
 msgstr ""
 
-#: c-family/c-warn.cc:2179
+#: c-family/c-warn.cc:2187
 #, gcc-internal-format
 msgid "label %q+D declared but not defined"
 msgstr ""
 
-#: c-family/c-warn.cc:2202
+#: c-family/c-warn.cc:2210
 #, gcc-internal-format
 msgid "division by zero"
 msgstr ""
 
-#: c-family/c-warn.cc:2222
+#: c-family/c-warn.cc:2230
 #, gcc-internal-format
 msgid ""
 "%<memset%> used with constant zero length parameter; this could be due to "
 "transposed parameters"
 msgstr ""
 
-#: c-family/c-warn.cc:2246
+#: c-family/c-warn.cc:2254
 #, gcc-internal-format
 msgid ""
 "%<memset%> used with length equal to number of elements without "
 "multiplication by element size"
 msgstr ""
 
-#: c-family/c-warn.cc:2326
+#: c-family/c-warn.cc:2334
 #, gcc-internal-format
 msgid "comparison of integer expressions of different signedness: %qT and %qT"
 msgstr ""
 
-#: c-family/c-warn.cc:2379
+#: c-family/c-warn.cc:2387
 #, gcc-internal-format
 msgid "promoted bitwise complement of an unsigned value is always nonzero"
 msgstr ""
 
-#: c-family/c-warn.cc:2383
+#: c-family/c-warn.cc:2391
 #, gcc-internal-format
 msgid ""
 "comparison of promoted bitwise complement of an unsigned value with constant"
 msgstr ""
 
-#: c-family/c-warn.cc:2394
+#: c-family/c-warn.cc:2402
 #, gcc-internal-format
 msgid ""
 "comparison of promoted bitwise complement of an unsigned value with unsigned"
 msgstr ""
 
-#: c-family/c-warn.cc:2449
+#: c-family/c-warn.cc:2457
 #, gcc-internal-format
 msgid "unused parameter %qD"
 msgstr ""
 
-#: c-family/c-warn.cc:2511
+#: c-family/c-warn.cc:2519
 #, gcc-internal-format
 msgid "typedef %qD locally defined but not used"
 msgstr ""
 
-#: c-family/c-warn.cc:2547
+#: c-family/c-warn.cc:2555
 #, gcc-internal-format
 msgid "duplicated %<if%> condition"
 msgstr ""
 
-#: c-family/c-warn.cc:2576
+#: c-family/c-warn.cc:2584
 #, gcc-internal-format
 msgid ""
 "optimization attribute on %qD follows definition but the attribute doesn%'t "
 "match"
 msgstr ""
 
-#: c-family/c-warn.cc:2584
+#: c-family/c-warn.cc:2592
 #, gcc-internal-format
 msgid ""
 "inline declaration of %qD follows declaration with attribute %<noinline%>"
 msgstr ""
 
-#: c-family/c-warn.cc:2589
+#: c-family/c-warn.cc:2597
 #, gcc-internal-format
 msgid ""
 "declaration of %q+D with attribute %<noinline%> follows inline declaration"
 msgstr ""
 
-#: c-family/c-warn.cc:2638
+#: c-family/c-warn.cc:2646
 #, gcc-internal-format
 msgid "result of %qE requires %u bits to represent, but %qT only has %u bits"
 msgstr ""
 
-#: c-family/c-warn.cc:2676 c-family/c-warn.cc:2700
+#: c-family/c-warn.cc:2684 c-family/c-warn.cc:2708
 #, gcc-internal-format
 msgid "comparison of constant %qE with boolean expression is always false"
 msgstr ""
 
-#: c-family/c-warn.cc:2679 c-family/c-warn.cc:2697
+#: c-family/c-warn.cc:2687 c-family/c-warn.cc:2705
 #, gcc-internal-format
 msgid "comparison of constant %qE with boolean expression is always true"
 msgstr ""
 
-#: c-family/c-warn.cc:2747
+#: c-family/c-warn.cc:2755
 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:2813 c/c-typeck.cc:5588 cp/call.cc:5944
+#: c-family/c-warn.cc:2821 c/c-typeck.cc:5733 cp/call.cc:6281
 #, gcc-internal-format
 msgid "this condition has identical branches"
 msgstr ""
 
-#: c-family/c-warn.cc:2920
+#: c-family/c-warn.cc:2928
 #, gcc-internal-format
 msgid "macro expands to multiple statements"
 msgstr ""
 
-#: c-family/c-warn.cc:2921
+#: c-family/c-warn.cc:2929
 #, gcc-internal-format
 msgid "some parts of macro expansion are not guarded by this %qs clause"
 msgstr ""
 
-#: c-family/c-warn.cc:3014
+#: c-family/c-warn.cc:3022
 #, gcc-internal-format
 msgid ""
 "converting a packed %qT pointer (alignment %d) to a %qT pointer (alignment "
 "%d) may result in an unaligned pointer value"
 msgstr ""
 
-#: c-family/c-warn.cc:3021 c-family/c-warn.cc:3024 cp/init.cc:657
+#: c-family/c-warn.cc:3029 c-family/c-warn.cc:3032 cp/init.cc:654
 #, gcc-internal-format
 msgid "defined here"
 msgstr ""
 
-#: c-family/c-warn.cc:3111
+#: c-family/c-warn.cc:3119
 #, gcc-internal-format
 msgid ""
 "taking address of packed member of %qT may result in an unaligned pointer "
 "value"
 msgstr ""
 
-#: c-family/c-warn.cc:3339
+#: c-family/c-warn.cc:3347
 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:3342 c-family/c-warn.cc:3713
+#: c-family/c-warn.cc:3350 c-family/c-warn.cc:3721
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3476
+#: c-family/c-warn.cc:3484
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared as a variable length array"
 msgstr ""
 
-#: c-family/c-warn.cc:3481
+#: c-family/c-warn.cc:3489
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as a pointer %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3482
+#: c-family/c-warn.cc:3490
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as an ordinary array %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3495 c-family/c-warn.cc:3509
+#: c-family/c-warn.cc:3503 c-family/c-warn.cc:3517
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared as a pointer"
 msgstr ""
 
-#: c-family/c-warn.cc:3499 c-family/c-warn.cc:3525
+#: c-family/c-warn.cc:3507 c-family/c-warn.cc:3533
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as a variable length array %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3512
+#: c-family/c-warn.cc:3520
 #, gcc-internal-format, gfc-internal-format
 msgid "previously declared as an array %s"
 msgstr ""
 
-#: c-family/c-warn.cc:3521
+#: c-family/c-warn.cc:3529
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared as an ordinary array"
 msgstr ""
 
-#: c-family/c-warn.cc:3549
+#: c-family/c-warn.cc:3557
 #, 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:3556
+#: c-family/c-warn.cc:3564
 #, 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:3580
+#: c-family/c-warn.cc:3588
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s declared with %u unspecified variable bound"
 msgid_plural ""
@@ -37390,89 +38159,116 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: c-family/c-warn.cc:3588
+#: c-family/c-warn.cc:3596
 #, 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:3595
+#: c-family/c-warn.cc:3603
 #, 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:3648
+#: c-family/c-warn.cc:3656
 #, gcc-internal-format
 msgid "argument %u of type %s declared with mismatched bound argument %E"
 msgstr ""
 
-#: c-family/c-warn.cc:3655 c-family/c-warn.cc:3689
+#: c-family/c-warn.cc:3663 c-family/c-warn.cc:3697
 #, gcc-internal-format
 msgid "argument %u of type %s declared with mismatched bound %<%s%>"
 msgstr ""
 
-#: c-family/c-warn.cc:3667
+#: c-family/c-warn.cc:3675
 #, gcc-internal-format
 msgid "previously declared as %s with bound argument %E"
 msgstr ""
 
-#: c-family/c-warn.cc:3672
+#: c-family/c-warn.cc:3680
 #, gcc-internal-format
 msgid "previously declared as %s with bound %<%s%>"
 msgstr ""
 
-#: c-family/c-warn.cc:3692
+#: c-family/c-warn.cc:3700
 #, gcc-internal-format
 msgid "previously declared as %s with bound %qs"
 msgstr ""
 
-#: c-family/c-warn.cc:3711
+#: c-family/c-warn.cc:3719
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %u of type %s with mismatched bound"
 msgstr ""
 
-#: c-family/c-warn.cc:3742
+#: c-family/c-warn.cc:3750
 #, 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:3752
+#: c-family/c-warn.cc:3760
 #, gcc-internal-format
 msgid "add parentheses around %qE to silence this warning"
 msgstr ""
 
-#: c-family/c-warn.cc:3756
+#: c-family/c-warn.cc:3764
 #, gcc-internal-format
 msgid "add parentheses around the second %<sizeof%> to silence this warning"
 msgstr ""
 
-#: c-family/c-warn.cc:3782
+#: c-family/c-warn.cc:3790
 #, gcc-internal-format
 msgid "comparison between two arrays is deprecated in C++20"
 msgstr ""
 
-#: c-family/c-warn.cc:3783
+#: c-family/c-warn.cc:3791
 #, gcc-internal-format
 msgid "comparison between two arrays"
 msgstr ""
 
-#: c-family/c-warn.cc:3787
+#: c-family/c-warn.cc:3795
 #, gcc-internal-format
 msgid ""
 "use unary %<+%> which decays operands to pointers or %<&%D[0] %s &%D[0]%> to "
 "compare the addresses"
 msgstr ""
 
-#: c-family/c-warn.cc:3791
+#: c-family/c-warn.cc:3799
 #, gcc-internal-format
 msgid "use %<&%D[0] %s &%D[0]%> to compare the addresses"
 msgstr ""
 
+#: c-family/c-warn.cc:3844
+#, gcc-internal-format
+msgid "result of %<%wu^%wu%> is %wu; did you mean %<1 << %wu%> (%wu)?"
+msgstr ""
+
+#: c-family/c-warn.cc:3854
+#, gcc-internal-format
+msgid "result of %<%wu^%wu%> is %wu; did you mean %<1LL << %wu%>?"
+msgstr ""
+
+#: c-family/c-warn.cc:3861
+#, gcc-internal-format
+msgid "result of %<%wu^%wu%> is %wu; did you mean exponentiation?"
+msgstr ""
+
+#: c-family/c-warn.cc:3872
+#, gcc-internal-format
+msgid "result of %<%wu^%wu%> is %wu; did you mean %<1e%wu%>?"
+msgstr ""
+
+#: c-family/c-warn.cc:3889
+#, gcc-internal-format
+msgid ""
+"you can silence this warning by using a hexadecimal constant (%wx rather "
+"than %wd)"
+msgstr ""
+
 #: c-family/cppspec.cc:94
 #, gcc-internal-format
 msgid "%qs is not a valid option to the preprocessor"
@@ -37483,12 +38279,12 @@ msgstr ""
 msgid "too many input files"
 msgstr ""
 
-#: c-family/known-headers.cc:309
+#: c-family/known-headers.cc:322
 #, gcc-internal-format
 msgid "%qs is defined in header %qs; did you forget to %<#include %s%>?"
 msgstr ""
 
-#: common/config/aarch64/aarch64-common.cc:519 config/aarch64/aarch64.cc:17802
+#: common/config/aarch64/aarch64-common.cc:400 config/aarch64/aarch64.cc:18044
 #, gcc-internal-format
 msgid "unknown value %qs for %<-mcpu%>"
 msgstr ""
@@ -37498,12 +38294,12 @@ msgstr ""
 msgid "bad value %qs for %<-mtls-size%> switch"
 msgstr ""
 
-#: common/config/arc/arc-common.cc:84
+#: common/config/arc/arc-common.cc:82
 #, gcc-internal-format
 msgid "multiple %<-mcpu=%> options specified"
 msgstr ""
 
-#: common/config/arc/arc-common.cc:90
+#: common/config/arc/arc-common.cc:88
 #, gcc-internal-format
 msgid "Unsupported value for mmpy-option"
 msgstr ""
@@ -37519,15 +38315,15 @@ msgid "unrecognized option passed to %%:%<target_mode_check%>"
 msgstr ""
 
 #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442
-#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:17734
-#: config/aarch64/aarch64.cc:17772
+#: common/config/arm/arm-common.cc:489 config/aarch64/aarch64.cc:17976
+#: config/aarch64/aarch64.cc:18014
 #, 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:17737
-#: config/aarch64/aarch64.cc:17775
+#: common/config/arm/arm-common.cc:492 config/aarch64/aarch64.cc:17979
+#: config/aarch64/aarch64.cc:18017
 #, gcc-internal-format, gfc-internal-format
 msgid "valid arguments are: %s"
 msgstr ""
@@ -37572,7 +38368,7 @@ msgstr ""
 msgid "unrecognized operand to %%:%<canon_for_mlib%>"
 msgstr ""
 
-#: common/config/arm/arm-common.cc:1035
+#: common/config/arm/arm-common.cc:1038
 #, gcc-internal-format
 msgid "unrecognized operand to %%:%<asm_auto_mfpu%>"
 msgstr ""
@@ -37622,47 +38418,47 @@ msgstr ""
 msgid "%<-mcpu=%s%> has invalid silicon revision"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1638
+#: common/config/i386/i386-common.cc:1759
 #, gcc-internal-format
 msgid "%<-malign-loops%> is obsolete, use %<-falign-loops%>"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1641
+#: common/config/i386/i386-common.cc:1762
 #, gcc-internal-format
 msgid "%<-malign-loops=%d%> is not between 0 and %d"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1648
+#: common/config/i386/i386-common.cc:1769
 #, gcc-internal-format
 msgid "%<-malign-jumps%> is obsolete, use %<-falign-jumps%>"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1651
+#: common/config/i386/i386-common.cc:1772
 #, gcc-internal-format
 msgid "%<-malign-jumps=%d%> is not between 0 and %d"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1659
+#: common/config/i386/i386-common.cc:1780
 #, gcc-internal-format
 msgid "%<-malign-functions%> is obsolete, use %<-falign-functions%>"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1662
+#: common/config/i386/i386-common.cc:1783
 #, gcc-internal-format
 msgid "%<-malign-functions=%d%> is not between 0 and %d"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1671
+#: common/config/i386/i386-common.cc:1792
 #, gcc-internal-format
 msgid "%<-mbranch-cost=%d%> is not between 0 and 5"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1726 common/config/s390/s390-common.cc:132
+#: common/config/i386/i386-common.cc:1856 common/config/s390/s390-common.cc:137
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> currently only supported on GNU/Linux"
 msgstr ""
 
-#: common/config/i386/i386-common.cc:1736
+#: common/config/i386/i386-common.cc:1866
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> requires assembler support for CFI directives"
 msgstr ""
@@ -37689,91 +38485,96 @@ msgid ""
 "64, 128, 256, or 512"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:392
+#: common/config/riscv/riscv-common.cc:486
 #, gcc-internal-format
 msgid "%<-march=%s%>: extension %qs appear more than one time"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:640
+#: common/config/riscv/riscv-common.cc:734
 #, gcc-internal-format
 msgid "%<-march=%s%>: expect number after %<%dp%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:646
+#: common/config/riscv/riscv-common.cc:740
 #, 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:716
+#: common/config/riscv/riscv-common.cc:810
 #, gcc-internal-format
 msgid "%<-march=%s%>: rv%de is not a valid base ISA"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:728
+#: common/config/riscv/riscv-common.cc:822
 #, gcc-internal-format
 msgid ""
 "version of %<g%> will be omitted, please specify version for individual "
 "extension"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:747
+#: common/config/riscv/riscv-common.cc:841
 #, gcc-internal-format
 msgid "%<-march=%s%>: first ISA subset must be %<e%>, %<i%> or %<g%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:774
+#: common/config/riscv/riscv-common.cc:868
 #, gcc-internal-format
 msgid "%<-march=%s%>: unsupported ISA subset %<%c%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:778
+#: common/config/riscv/riscv-common.cc:872
 #, gcc-internal-format
 msgid "%<-march=%s%>: ISA string is not in canonical order. %<%c%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:965
+#: common/config/riscv/riscv-common.cc:1059
 #, gcc-internal-format
 msgid "%<-march=%s%>: name of %s must be more than 1 letter"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:977
+#: common/config/riscv/riscv-common.cc:1071
 #, gcc-internal-format
 msgid "%<-march=%s%>: %s must separate with %<_%>"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1006
+#: 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:1043
+#: common/config/riscv/riscv-common.cc:1131
 #, gcc-internal-format
 msgid "%<-march=%s%>: unexpected ISA string at end: %qs"
 msgstr ""
 
-#: common/config/riscv/riscv-common.cc:1221
+#: common/config/riscv/riscv-common.cc:1327
 #, gcc-internal-format
 msgid "%<-mcpu=%s%>: unknown CPU"
 msgstr ""
 
-#: common/config/rs6000/rs6000-common.cc:184 config/sparc/sparc.cc:1815
+#: common/config/riscv/riscv-common.cc:1406
+#, gcc-internal-format
+msgid "Cannot find suitable multilib set for %<-march=%s%>/%<-mabi=%s%>"
+msgstr ""
+
+#: common/config/rs6000/rs6000-common.cc:173 config/sparc/sparc.cc:1816
 #, gcc-internal-format
 msgid "unknown %<-mdebug-%s%> switch"
 msgstr ""
 
-#: common/config/rs6000/rs6000-common.cc:223
+#: common/config/rs6000/rs6000-common.cc:212
 #, gcc-internal-format
 msgid "unknown switch %<-mlong-double-%s%>"
 msgstr ""
 
-#: common/config/rs6000/rs6000-common.cc:234
+#: common/config/rs6000/rs6000-common.cc:223
 #, gcc-internal-format
 msgid "option %<%s%> requires %<-mlong-double-128%>"
 msgstr ""
 
-#: common/config/rs6000/rs6000-common.cc:268
+#: common/config/rs6000/rs6000-common.cc:257
 #, gcc-internal-format
 msgid ""
 "%<-fsplit-stack%> currently only supported on PowerPC64 GNU/Linux with "
@@ -37790,12 +38591,12 @@ msgstr ""
 msgid "the RX100 cpu does not have FPU hardware"
 msgstr ""
 
-#: common/config/s390/s390-common.cc:104
+#: common/config/s390/s390-common.cc:109
 #, gcc-internal-format
 msgid "stack guard value must be an exact power of 2"
 msgstr ""
 
-#: common/config/s390/s390-common.cc:109
+#: common/config/s390/s390-common.cc:114
 #, gcc-internal-format
 msgid "stack size must be an exact power of 2"
 msgstr ""
@@ -37861,7 +38662,7 @@ msgstr ""
 msgid "subframework include %s conflicts with framework include"
 msgstr ""
 
-#: config/darwin-c.cc:708
+#: config/darwin-c.cc:709
 #, gcc-internal-format
 msgid "unknown value %qs of %<-mmacosx-version-min%>"
 msgstr ""
@@ -37871,52 +38672,52 @@ msgstr ""
 msgid "%<sysctl%> for %<kern.osversion%> failed: %m"
 msgstr ""
 
-#: config/darwin-driver.cc:192
+#: config/darwin-driver.cc:186
 #, gcc-internal-format
 msgid "could not understand %<kern.osversion%> %q.*s"
 msgstr ""
 
-#: config/darwin-driver.cc:232
+#: config/darwin-driver.cc:226
 #, gcc-internal-format
 msgid "could not understand version %qs"
 msgstr ""
 
-#: config/darwin-driver.cc:306
+#: config/darwin-driver.cc:300
 #, gcc-internal-format
 msgid "this compiler does not support %qs"
 msgstr ""
 
-#: config/darwin-driver.cc:332
+#: config/darwin-driver.cc:326
 #, gcc-internal-format
 msgid "%qs is not valid for %<-mmacosx-version-min%>"
 msgstr ""
 
-#: config/darwin-driver.cc:373
+#: config/darwin-driver.cc:367
 #, gcc-internal-format
 msgid "this compiler does not support PowerPC (%<-arch%> option ignored)"
 msgstr ""
 
-#: config/darwin-driver.cc:380
+#: config/darwin-driver.cc:374
 #, gcc-internal-format
 msgid "%qs conflicts with %<-arch i386%> (%qs ignored)"
 msgstr ""
 
-#: config/darwin-driver.cc:389
+#: config/darwin-driver.cc:383
 #, gcc-internal-format
 msgid "%<-m32%> conflicts with %<-arch x86_64%> (%<-m32%> ignored)"
 msgstr ""
 
-#: config/darwin-driver.cc:396
+#: config/darwin-driver.cc:390
 #, gcc-internal-format
 msgid "this compiler does not support x86 (%<-arch%> option ignored)"
 msgstr ""
 
-#: config/darwin-driver.cc:403
+#: config/darwin-driver.cc:397
 #, gcc-internal-format
 msgid "%qs conflicts with %<-arch ppc%> (%qs ignored)"
 msgstr ""
 
-#: config/darwin-driver.cc:412
+#: config/darwin-driver.cc:406
 #, gcc-internal-format
 msgid "%<-m32%> conflicts with %<-arch ppc64%> (%<-m32%> ignored)"
 msgstr ""
@@ -38083,138 +38884,138 @@ msgstr ""
 msgid "PIC is only supported for RTPs"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:1900
-#: config/aarch64/aarch64-builtins.cc:2134 config/arm/arm-builtins.cc:3086
+#: config/aarch64/aarch64-builtins.cc:2148
+#: config/aarch64/aarch64-builtins.cc:2382 config/arm/arm-builtins.cc:3112
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be a constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:1972 config/arm/arm-builtins.cc:3441
+#: config/aarch64/aarch64-builtins.cc:2220 config/arm/arm-builtins.cc:3467
 #, gcc-internal-format
 msgid "lane index must be a constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:1976
+#: config/aarch64/aarch64-builtins.cc:2224
 #, gcc-internal-format
 msgid "total size and element size must be a nonzero constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2224
+#: config/aarch64/aarch64-builtins.cc:2472
 #, gcc-internal-format
 msgid "argument must be a 16-bit constant immediate"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2330
+#: config/aarch64/aarch64-builtins.cc:2578
 #, gcc-internal-format
 msgid "Memory Tagging Extension does not support %<-mabi=ilp32%>"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:2365
+#: config/aarch64/aarch64-builtins.cc:2613
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be a constant immediate in range [0,15]"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:3163
-#: config/aarch64/aarch64-builtins.cc:3183
+#: config/aarch64/aarch64-builtins.cc:3369
+#: config/aarch64/aarch64-builtins.cc:3389
 #, gcc-internal-format, gfc-internal-format
 msgid "expected 64-bit address but argument 1 is %d-bit"
 msgstr ""
 
-#: config/aarch64/aarch64-builtins.cc:3167
+#: config/aarch64/aarch64-builtins.cc:3373
 #, gcc-internal-format, gfc-internal-format
 msgid "expected 64-bit address but argument 2 is %d-bit"
 msgstr ""
 
-#: config/aarch64/aarch64-c.cc:296
+#: config/aarch64/aarch64-c.cc:286
 #, gcc-internal-format
 msgid "%<#pragma GCC aarch64%> requires a string parameter"
 msgstr ""
 
-#: config/aarch64/aarch64-c.cc:308
+#: config/aarch64/aarch64-c.cc:298
 #, gcc-internal-format
 msgid "unknown %<#pragma GCC aarch64%> option %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:657
+#: config/aarch64/aarch64-sve-builtins.cc:661
 #, gcc-internal-format
 msgid "ACLE function %qD requires ISA extension %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:659
+#: config/aarch64/aarch64-sve-builtins.cc:663
 #, 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:679
+#: config/aarch64/aarch64-sve-builtins.cc:683
 #, gcc-internal-format
 msgid "ACLE function %qD is incompatible with the use of %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:720
+#: config/aarch64/aarch64-sve-builtins.cc:726
 #, gcc-internal-format
 msgid "argument %d of %qE must be an integer constant expression"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:732
+#: config/aarch64/aarch64-sve-builtins.cc:738
 #, 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:745
+#: config/aarch64/aarch64-sve-builtins.cc:751
 #, gcc-internal-format
 msgid "passing %wd to argument %d of %qE, which expects either %wd or %wd"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:758
+#: config/aarch64/aarch64-sve-builtins.cc:764
 #, 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:770
+#: config/aarch64/aarch64-sve-builtins.cc:776
 #, gcc-internal-format
 msgid "passing %wd to argument %d of %qE, which expects a valid %qT value"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1202
+#: config/aarch64/aarch64-sve-builtins.cc:1210
 #, gcc-internal-format
 msgid "%qE has no form that takes %qT arguments"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1268
+#: config/aarch64/aarch64-sve-builtins.cc:1276
 #, 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:1288
+#: config/aarch64/aarch64-sve-builtins.cc:1296
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a pointer type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1291
+#: config/aarch64/aarch64-sve-builtins.cc:1299
 #, gcc-internal-format
 msgid "an explicit type suffix is needed when using a vector of base addresses"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1300
+#: config/aarch64/aarch64-sve-builtins.cc:1308
 #, 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:1308
+#: config/aarch64/aarch64-sve-builtins.cc:1316
 #, 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:1342
+#: config/aarch64/aarch64-sve-builtins.cc:1350
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a single SVE vector rather "
@@ -38222,8 +39023,8 @@ msgid ""
 msgstr ""
 
 #. num_vectors is always != 1, so the singular isn't needed.
-#: config/aarch64/aarch64-sve-builtins.cc:1347
-#: config/aarch64/aarch64-sve-builtins.cc:1353
+#: config/aarch64/aarch64-sve-builtins.cc:1355
+#: config/aarch64/aarch64-sve-builtins.cc:1361
 #, gcc-internal-format
 msgid "%qT%d%qE%d"
 msgid_plural ""
@@ -38232,102 +39033,102 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1362
+#: config/aarch64/aarch64-sve-builtins.cc:1370
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects an SVE vector type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1365
+#: config/aarch64/aarch64-sve-builtins.cc:1373
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects an SVE tuple type"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1389
+#: config/aarch64/aarch64-sve-builtins.cc:1397
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a vector of integers"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1409
-#: config/aarch64/aarch64-sve-builtins.cc:1616
+#: config/aarch64/aarch64-sve-builtins.cc:1417
+#: config/aarch64/aarch64-sve-builtins.cc:1624
 #, 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:1430
+#: config/aarch64/aarch64-sve-builtins.cc:1438
 #, 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:1461
+#: config/aarch64/aarch64-sve-builtins.cc:1469
 #, 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:1483
-#: config/aarch64/aarch64-sve-builtins.cc:2049
+#: config/aarch64/aarch64-sve-builtins.cc:1491
+#: config/aarch64/aarch64-sve-builtins.cc:2057
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1503
+#: config/aarch64/aarch64-sve-builtins.cc:1511
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, but previous arguments had type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1597
+#: config/aarch64/aarch64-sve-builtins.cc:1605
 #, 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:1609
+#: config/aarch64/aarch64-sve-builtins.cc:1617
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which expects a vector of signed integers"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1636
+#: config/aarch64/aarch64-sve-builtins.cc:1644
 #, 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:1657
+#: config/aarch64/aarch64-sve-builtins.cc:1665
 #, 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:1668
+#: config/aarch64/aarch64-sve-builtins.cc:1676
 #, 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:1689
+#: config/aarch64/aarch64-sve-builtins.cc:1697
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, but argument %d had type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1707
+#: config/aarch64/aarch64-sve-builtins.cc:1715
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1723
+#: config/aarch64/aarch64-sve-builtins.cc:1731
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a scalar pointer"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1746
+#: config/aarch64/aarch64-sve-builtins.cc:1754
 #, gcc-internal-format
 msgid ""
 "call to %qE is ambiguous; argument %d has type %qs but argument %d has type "
@@ -38336,63 +39137,63 @@ 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:1791
+#: config/aarch64/aarch64-sve-builtins.cc:1799
 #, 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:1797
+#: config/aarch64/aarch64-sve-builtins.cc:1805
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects a scalar integer"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1833
+#: config/aarch64/aarch64-sve-builtins.cc:1841
 #, gcc-internal-format
 msgid "passing %qT to argument %d of %qE, which expects %qs or %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1853
+#: config/aarch64/aarch64-sve-builtins.cc:1861
 #, 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:1903
+#: config/aarch64/aarch64-sve-builtins.cc:1911
 #, gcc-internal-format
 msgid "when storing %qT, %qE requires a vector base and a scalar index"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1908
+#: config/aarch64/aarch64-sve-builtins.cc:1916
 #, gcc-internal-format
 msgid "%qE requires a vector base and a scalar index"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1912
+#: config/aarch64/aarch64-sve-builtins.cc:1920
 #, gcc-internal-format
 msgid "%qE does not support 32-bit vector type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1940
+#: config/aarch64/aarch64-sve-builtins.cc:1948
 #, gcc-internal-format
 msgid "%qE does not support 32-bit sign-extended offsets"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1943
+#: config/aarch64/aarch64-sve-builtins.cc:1951
 #, gcc-internal-format
 msgid "%qE does not support sign-extended offsets"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:1956
+#: config/aarch64/aarch64-sve-builtins.cc:1964
 #, 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:1961
+#: config/aarch64/aarch64-sve-builtins.cc:1969
 #, gcc-internal-format
 msgid ""
 "passing %qT to argument %d of %qE, which when storing %qT expects a vector "
@@ -38400,158 +39201,155 @@ msgid ""
 msgstr ""
 
 #. TYPE is part of the function name.
-#: config/aarch64/aarch64-sve-builtins.cc:1968
+#: config/aarch64/aarch64-sve-builtins.cc:1976
 #, 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:2016
+#: config/aarch64/aarch64-sve-builtins.cc:2024
 #, 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:2100
+#: config/aarch64/aarch64-sve-builtins.cc:2108
 #, gcc-internal-format
 msgid "cannot combine a base of type %qT with an offset of type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2104
+#: config/aarch64/aarch64-sve-builtins.cc:2112
 #, gcc-internal-format
 msgid "cannot combine a base of type %qT with an index of type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:2192
+#: config/aarch64/aarch64-sve-builtins.cc:2200
 #, 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:3521
+#: config/aarch64/aarch64-sve-builtins.cc:3536
 #: config/arm/arm-mve-builtins.cc:173
+#: config/riscv/riscv-vector-builtins.cc:1473
 #, gcc-internal-format
 msgid "duplicate definition of %qs"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3697
+#: config/aarch64/aarch64-sve-builtins.cc:3712
 #, gcc-internal-format
 msgid "%qs applied to non-SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3703
+#: config/aarch64/aarch64-sve-builtins.cc:3718
 #, gcc-internal-format
 msgid "%qs applied to non-vector type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3710
+#: config/aarch64/aarch64-sve-builtins.cc:3725
 #, gcc-internal-format
 msgid "%qs applied to type %qT, which already has a size"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3718
+#: config/aarch64/aarch64-sve-builtins.cc:3733
 #, gcc-internal-format
 msgid "%qs requires an integer constant expression"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3726
+#: config/aarch64/aarch64-sve-builtins.cc:3741
 #, gcc-internal-format
 msgid "unsupported SVE vector size"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3840
+#: config/aarch64/aarch64-sve-builtins.cc:3855
 #, gcc-internal-format
 msgid "SVE type %qT does not have a fixed size"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3845
+#: config/aarch64/aarch64-sve-builtins.cc:3860
 #, gcc-internal-format
 msgid "SVE type %qT does not have a defined alignment"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3850
+#: config/aarch64/aarch64-sve-builtins.cc:3865
+#: config/riscv/riscv-vector-builtins.cc:1411
 #, gcc-internal-format
 msgid "variables of type %qT cannot have thread-local storage duration"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3856
+#: config/aarch64/aarch64-sve-builtins.cc:3871
 #, gcc-internal-format
 msgid "arithmetic on pointer to SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3863
+#: config/aarch64/aarch64-sve-builtins.cc:3878
 #, gcc-internal-format
 msgid "member variables cannot have SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3865
+#: config/aarch64/aarch64-sve-builtins.cc:3880
 #, gcc-internal-format
 msgid "fields cannot have SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3870
+#: config/aarch64/aarch64-sve-builtins.cc:3885
 #, gcc-internal-format
 msgid "array elements cannot have SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3875
+#: config/aarch64/aarch64-sve-builtins.cc:3890
 #, gcc-internal-format
 msgid "cannot allocate objects with SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3880
+#: config/aarch64/aarch64-sve-builtins.cc:3895
 #, gcc-internal-format
 msgid "cannot delete objects with SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3885
+#: config/aarch64/aarch64-sve-builtins.cc:3900
 #, gcc-internal-format
 msgid "cannot throw or catch SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64-sve-builtins.cc:3890
+#: config/aarch64/aarch64-sve-builtins.cc:3905
 #, gcc-internal-format
 msgid "capture by copy of SVE type %qT"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:2735
+#: config/aarch64/aarch64.cc:2781
 #, gcc-internal-format
 msgid "the %qE attribute cannot be applied to an SVE function type"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:2810 config/aarch64/aarch64.cc:2824
-#, gcc-internal-format
-msgid "unexpected %<%s%> after %<%s%>"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:3277
+#: config/aarch64/aarch64.cc:3219
 #, gcc-internal-format
 msgid "%qs is incompatible with the use of floating-point types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:3280
+#: config/aarch64/aarch64.cc:3222
 #, gcc-internal-format
 msgid "%qs is incompatible with the use of vector types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:3284
+#: config/aarch64/aarch64.cc:3226
 #, gcc-internal-format
 msgid ""
 "%qs feature modifier is incompatible with the use of floating-point types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:3287
+#: config/aarch64/aarch64.cc:3229
 #, gcc-internal-format
 msgid "%qs feature modifier is incompatible with the use of vector types"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:3303
+#: config/aarch64/aarch64.cc:3245
 #, gcc-internal-format
 msgid "this operation requires the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:3304
+#: config/aarch64/aarch64.cc:3246
 #, gcc-internal-format
 msgid ""
 "you can enable SVE using the command-line option %<-march%>, or by using the "
@@ -38560,342 +39358,343 @@ msgstr ""
 
 #. We can't gracefully recover at this point, so make this a
 #. fatal error.
-#: config/aarch64/aarch64.cc:7030
+#: config/aarch64/aarch64.cc:7212
 #, gcc-internal-format
 msgid "arguments of type %qT require the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7357
+#: config/aarch64/aarch64.cc:7630
 #, gcc-internal-format
 msgid "SVE type %qT cannot be passed to an unprototyped function"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7485 config/aarch64/aarch64.cc:7548
-#: config/aarch64/aarch64.cc:7671 config/aarch64/aarch64.cc:19673
-#: config/arm/arm.cc:7234 config/arm/arm.cc:7264 config/arm/arm.cc:29060
+#: config/aarch64/aarch64.cc:7767 config/aarch64/aarch64.cc:7838
+#: config/aarch64/aarch64.cc:19715
+#, gcc-internal-format
+msgid "parameter passing for argument of type %qT changed in GCC 13.1"
+msgstr ""
+
+#: config/aarch64/aarch64.cc:7777 config/aarch64/aarch64.cc:7847
+#: config/aarch64/aarch64.cc:19721 config/arm/arm.cc:7266
+#: config/arm/arm.cc:7296 config/arm/arm.cc:29325
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 9.1"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7616
+#: config/aarch64/aarch64.cc:7915
 #, gcc-internal-format
 msgid "%qE requires the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7619
+#: config/aarch64/aarch64.cc:7918
 #, gcc-internal-format
 msgid "calls to functions of type %qT require the SVE ISA extension"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:7796
+#: config/aarch64/aarch64.cc:8091
 #, gcc-internal-format
 msgid "stack probes for SVE frames"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17232
+#: config/aarch64/aarch64.cc:17461
 #, gcc-internal-format
 msgid "unknown flag passed in %<-moverride=%s%> (%s)"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17276
+#: config/aarch64/aarch64.cc:17505
 #, gcc-internal-format
 msgid "%qs string ill-formed"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17332
+#: config/aarch64/aarch64.cc:17561
 #, gcc-internal-format
 msgid "invalid format for %<sve_width%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17344
+#: config/aarch64/aarch64.cc:17573
 #, gcc-internal-format
 msgid "invalid %<sve_width%> value: %d"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17364
+#: config/aarch64/aarch64.cc:17593
 #, gcc-internal-format, gfc-internal-format
 msgid "tuning string missing in option (%s)"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17382
+#: config/aarch64/aarch64.cc:17611
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown tuning option (%s)"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17550 config/arm/arm.cc:3188
-#: config/riscv/riscv.cc:5061
+#: config/aarch64/aarch64.cc:17799 config/arm/arm.cc:3193
+#: config/riscv/riscv.cc:6120
 #, gcc-internal-format
 msgid ""
 "incompatible options %<-mstack-protector-guard=global%> and %<-mstack-"
 "protector-guard-offset=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17559 config/riscv/riscv.cc:5070
+#: config/aarch64/aarch64.cc:17808 config/riscv/riscv.cc:6129
 #, 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:17567
+#: config/aarch64/aarch64.cc:17816
 #, gcc-internal-format
 msgid "specify a system register with a small string length"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17577 config/arm/arm.cc:3200
-#: config/riscv/riscv.cc:5099 config/rs6000/rs6000.cc:4569
+#: config/aarch64/aarch64.cc:17826 config/arm/arm.cc:3205
+#: config/riscv/riscv.cc:6158 config/rs6000/rs6000.cc:4528
 #, gcc-internal-format
 msgid "%qs is not a valid offset in %qs"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17584
+#: config/aarch64/aarch64.cc:17833
 #, gcc-internal-format
 msgid "%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17674
+#: config/aarch64/aarch64.cc:17923
 #, 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:17690
+#: config/aarch64/aarch64.cc:17939
 #, gcc-internal-format
 msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17799
+#: config/aarch64/aarch64.cc:18041
 #, gcc-internal-format
 msgid "missing cpu name in %<-mcpu=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17806
+#: config/aarch64/aarch64.cc:18048
 #, gcc-internal-format
 msgid "invalid feature modifier %qs in %<-mcpu=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17865
+#: config/aarch64/aarch64.cc:18107
 #, gcc-internal-format
 msgid "invalid argument given to %<-mharden-sls=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17876
+#: config/aarch64/aarch64.cc:18118
 #, gcc-internal-format
 msgid "%qs must be by itself for %<-mharden-sls=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17881
+#: config/aarch64/aarch64.cc:18123
 #, gcc-internal-format
 msgid "invalid argument %<%s%> for %<-mharden-sls=%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:17987
-#, gcc-internal-format
-msgid "invalid argument %<%s%> for %<-mbranch-protection=%>"
-msgstr ""
-
-#: config/aarch64/aarch64.cc:17989
+#: config/aarch64/aarch64.cc:18151
 #, gcc-internal-format
-msgid "missing argument for %<-mbranch-protection=%>"
+msgid "missing arch name in %<-march=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18013
+#: config/aarch64/aarch64.cc:18154
 #, gcc-internal-format
-msgid "missing arch name in %<-march=%s%>"
+msgid "unknown value %qs for %<-march%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18016
+#: config/aarch64/aarch64.cc:18160
 #, gcc-internal-format
-msgid "unknown value %qs for %<-march%>"
+msgid "did you mean %<-mcpu=%s%>?"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18020
+#: config/aarch64/aarch64.cc:18163
 #, gcc-internal-format
 msgid "invalid feature modifier %qs in %<-march=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18048
+#: config/aarch64/aarch64.cc:18191
 #, gcc-internal-format
 msgid "missing cpu name in %<-mtune=%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18051
+#: config/aarch64/aarch64.cc:18194
 #, gcc-internal-format
 msgid "unknown value %qs for %<-mtune%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18189
+#: config/aarch64/aarch64.cc:18279
 #, gcc-internal-format
 msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18245
+#: config/aarch64/aarch64.cc:18333
 #, gcc-internal-format
 msgid "assembler does not support %<-mabi=ilp32%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18252
+#: config/aarch64/aarch64.cc:18340
 #, gcc-internal-format
 msgid "return address signing is only supported for %<-mabi=lp64%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18334
+#: config/aarch64/aarch64.cc:18413
 #, gcc-internal-format
 msgid "code model %qs with %<-f%s%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18337
+#: config/aarch64/aarch64.cc:18416
 #, gcc-internal-format
 msgid "code model %qs not supported in ilp32 mode"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18516
+#: config/aarch64/aarch64.cc:18568
 #, gcc-internal-format
 msgid "missing name in %<target(\"arch=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18519
+#: config/aarch64/aarch64.cc:18571
 #, gcc-internal-format
 msgid "invalid name %qs in %<target(\"arch=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18523
+#: config/aarch64/aarch64.cc:18575
 #, gcc-internal-format
 msgid ""
 "invalid feature modifier %s of value %qs in %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18558
+#: config/aarch64/aarch64.cc:18609
 #, gcc-internal-format
 msgid "missing name in %<target(\"cpu=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18561
+#: config/aarch64/aarch64.cc:18612
 #, gcc-internal-format
 msgid "invalid name %qs in %<target(\"cpu=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18565 config/aarch64/aarch64.cc:18672
+#: config/aarch64/aarch64.cc:18616 config/aarch64/aarch64.cc:18722
 #, gcc-internal-format
 msgid ""
 "invalid feature modifier %qs of value %qs in %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18588
+#: config/aarch64/aarch64.cc:18639
 #, gcc-internal-format
 msgid ""
 "missing argument to %<target(\"branch-protection=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18592
+#: config/aarch64/aarch64.cc:18643
 #, gcc-internal-format
 msgid ""
 "invalid protection type %qs in %<target(\"branch-protection=\")%> pragma or "
 "attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18627
+#: config/aarch64/aarch64.cc:18677
 #, gcc-internal-format
 msgid "invalid name %qs in %<target(\"tune=\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18668
+#: config/aarch64/aarch64.cc:18718
 #, gcc-internal-format
 msgid "missing value in %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18726 config/aarch64/aarch64.cc:18899
+#: config/aarch64/aarch64.cc:18776 config/aarch64/aarch64.cc:18949
 #, gcc-internal-format
 msgid "malformed %<target()%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18770
+#: config/aarch64/aarch64.cc:18820
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s\")%> does not accept an argument"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18778 config/i386/i386-options.cc:1234
+#: config/aarch64/aarch64.cc:18828 config/i386/i386-options.cc:1254
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s\")%> does not allow a negated form"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18832
+#: config/aarch64/aarch64.cc:18882
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s=%s\")%> is not valid"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18889 config/arm/arm.cc:33169
-#: config/rs6000/rs6000.cc:24279 config/s390/s390.cc:15857
+#: config/aarch64/aarch64.cc:18939 config/arm/arm.cc:33526
+#: config/rs6000/rs6000.cc:24441 config/s390/s390.cc:16073
 #, gcc-internal-format
 msgid "attribute %<target%> argument not a string"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18924
+#: config/aarch64/aarch64.cc:18974
 #, gcc-internal-format
 msgid "arch extension %<%s%> should be prefixed by %<+%>"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18927
+#: config/aarch64/aarch64.cc:18977
 #, gcc-internal-format
 msgid "pragma or attribute %<target(\"%s\")%> is not valid"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:18936
+#: config/aarch64/aarch64.cc:18986
 #, gcc-internal-format
 msgid "malformed %<target(\"%s\")%> pragma or attribute"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:20401 config/arm/arm.cc:6582
-#: config/rs6000/rs6000-call.cc:374 config/s390/s390.cc:12236
+#: config/aarch64/aarch64.cc:20466 config/arm/arm.cc:6614
+#: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:12424
 msgid ""
 "parameter passing for argument of type %qT with %<[[no_unique_address]]%> "
 "members changed %{in GCC 10.1%}"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:20406 config/arm/arm.cc:6587
-#: config/rs6000/rs6000-call.cc:369 config/s390/s390.cc:12231
+#: config/aarch64/aarch64.cc:20471 config/arm/arm.cc:6619
+#: config/rs6000/rs6000-call.cc:361 config/s390/s390.cc:12419
 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:20411 config/arm/arm.cc:6592
+#: config/aarch64/aarch64.cc:20476 config/arm/arm.cc:6624
 msgid "parameter passing for argument of type %qT changed %{in GCC 12.1%}"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:21560 config/aarch64/aarch64.cc:21563
+#: config/aarch64/aarch64.cc:21630 config/aarch64/aarch64.cc:21633
 #, gcc-internal-format
 msgid "lane %wd out of range %wd - %wd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:26667 config/i386/i386.cc:23380
-#: config/i386/i386.cc:23508
+#: config/aarch64/aarch64.cc:26920 config/i386/i386.cc:23665
+#: config/i386/i386.cc:23796
 #, gcc-internal-format
 msgid "unsupported simdlen %wd"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:26677 config/aarch64/aarch64.cc:26704
+#: config/aarch64/aarch64.cc:26932 config/aarch64/aarch64.cc:26961
 #, gcc-internal-format
 msgid "GCC does not currently support mixed size types for %<simd%> functions"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:26681
+#: config/aarch64/aarch64.cc:26936
 #, gcc-internal-format
 msgid "GCC does not currently support return type %qT for %<simd%> functions"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:26685
+#: config/aarch64/aarch64.cc:26940
 #, gcc-internal-format
 msgid "unsupported return type %qT for %<simd%> functions"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:26708
+#: config/aarch64/aarch64.cc:26965
 #, gcc-internal-format
 msgid "GCC does not currently support argument type %qT for %<simd%> functions"
 msgstr ""
 
-#: config/aarch64/aarch64.cc:26733
+#: config/aarch64/aarch64.cc:26991
 #, gcc-internal-format
 msgid "GCC does not currently support simdlen %wd for type %qT"
 msgstr ""
@@ -38955,9 +39754,8 @@ msgstr ""
 msgid "bad value %qs for %<-mmemory-latency%>"
 msgstr ""
 
-#: config/alpha/alpha.cc:6651 config/alpha/alpha.cc:6654 config/arc/arc.cc:7078
-#: config/arc/arc.cc:7352 config/s390/s390.cc:876 config/tilegx/tilegx.cc:3537
-#: config/tilepro/tilepro.cc:3100
+#: config/alpha/alpha.cc:6652 config/alpha/alpha.cc:6655 config/arc/arc.cc:7099
+#: config/arc/arc.cc:7373 config/s390/s390.cc:949
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr ""
@@ -39007,8 +39805,8 @@ msgstr ""
 msgid "last register name %s must be an odd register"
 msgstr ""
 
-#: config/arc/arc.cc:1200 config/ia64/ia64.cc:6051 config/pa/pa.cc:480
-#: config/sh/sh.cc:8292
+#: config/arc/arc.cc:1200 config/ia64/ia64.cc:6052 config/pa/pa.cc:480
+#: config/sh/sh.cc:8293
 #, gcc-internal-format, gfc-internal-format
 msgid "%s-%s is an empty range"
 msgstr ""
@@ -39057,246 +39855,261 @@ msgstr ""
 msgid "unset option %qs is ignored, it is always enabled for %qs CPU"
 msgstr ""
 
-#: config/arc/arc.cc:1949
+#: config/arc/arc.cc:1955
 #, gcc-internal-format, gfc-internal-format
 msgid "multiply option implies r%d is fixed"
 msgstr ""
 
-#: config/arc/arc.cc:2097 config/epiphany/epiphany.cc:508
+#: config/arc/arc.cc:2103 config/epiphany/epiphany.cc:508
 #: config/epiphany/epiphany.cc:550
 #, gcc-internal-format
 msgid "argument of %qE attribute is not a string constant"
 msgstr ""
 
-#: config/arc/arc.cc:2106
+#: config/arc/arc.cc:2112
 #, gcc-internal-format
 msgid "argument of %qE attribute is not \"ilink1\" or \"ilink2\""
 msgstr ""
 
-#: config/arc/arc.cc:2115
+#: config/arc/arc.cc:2121
 #, gcc-internal-format
 msgid "argument of %qE attribute is not \"ilink\" or \"firq\""
 msgstr ""
 
-#: config/arc/arc.cc:2129 config/arm/arm.cc:7375 config/arm/arm.cc:7393
-#: config/arm/arm.cc:7574 config/avr/avr.cc:9588 config/avr/avr.cc:9604
+#: config/arc/arc.cc:2135 config/arm/arm.cc:7407 config/arm/arm.cc:7425
+#: config/arm/arm.cc:7606 config/avr/avr.cc:9588 config/avr/avr.cc:9604
 #: config/bfin/bfin.cc:4694 config/bfin/bfin.cc:4755 config/bfin/bfin.cc:4785
-#: config/bpf/bpf.cc:99 config/csky/csky.cc:6454 config/csky/csky.cc:6482
-#: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:342
-#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3336
-#: config/i386/i386-options.cc:3513 config/i386/i386-options.cc:3569
-#: config/i386/i386-options.cc:3620 config/i386/i386-options.cc:3657
-#: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3066
-#: config/nvptx/nvptx.cc:5785 config/riscv/riscv.cc:3273
+#: config/bpf/bpf.cc:99 config/csky/csky.cc:6458 config/csky/csky.cc:6486
+#: config/epiphany/epiphany.cc:491 config/gcn/gcn.cc:332
+#: config/h8300/h8300.cc:4944 config/i386/i386-options.cc:3381
+#: config/i386/i386-options.cc:3558 config/i386/i386-options.cc:3614
+#: config/i386/i386-options.cc:3665 config/i386/i386-options.cc:3702
+#: config/m68k/m68k.cc:792 config/mcore/mcore.cc:3067
+#: config/nvptx/nvptx.cc:5800 config/riscv/riscv.cc:3854
 #: config/rl78/rl78.cc:820 config/rl78/rl78.cc:889
-#: config/rs6000/rs6000.cc:20220 config/rx/rx.cc:2727 config/rx/rx.cc:2753
-#: config/s390/s390.cc:1091 config/s390/s390.cc:1178 config/sh/sh.cc:8428
-#: config/sh/sh.cc:8446 config/sh/sh.cc:8470 config/sh/sh.cc:8541
-#: config/sh/sh.cc:8564 config/stormy16/stormy16.cc:2229
+#: config/rs6000/rs6000.cc:20395 config/rx/rx.cc:2727 config/rx/rx.cc:2753
+#: config/s390/s390.cc:1164 config/s390/s390.cc:1251 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:2229
 #: config/v850/v850.cc:2010 config/visium/visium.cc:724
 #, gcc-internal-format
 msgid "%qE attribute only applies to functions"
 msgstr ""
 
-#: config/arc/arc.cc:6977
+#: config/arc/arc.cc:6998
 #, gcc-internal-format
 msgid "%<__builtin_arc_aligned%> with non-constant alignment"
 msgstr ""
 
-#: config/arc/arc.cc:6985
+#: config/arc/arc.cc:7006
 #, gcc-internal-format
 msgid "invalid alignment value for %<__builtin_arc_aligned%>"
 msgstr ""
 
-#: config/arc/arc.cc:7148
+#: config/arc/arc.cc:7169
 #, gcc-internal-format
 msgid "operand 1 should be an unsigned 3-bit immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7189 config/arc/arc.cc:7286
+#: config/arc/arc.cc:7210 config/arc/arc.cc:7307
 #, gcc-internal-format
 msgid "operand 2 should be an unsigned 3-bit value (I0-I7)"
 msgstr ""
 
-#: config/arc/arc.cc:7222 config/arc/arc.cc:7254
+#: config/arc/arc.cc:7243 config/arc/arc.cc:7275
 #, gcc-internal-format
 msgid "operand 1 should be an unsigned 3-bit value (I0-I7)"
 msgstr ""
 
-#: config/arc/arc.cc:7226 config/arc/arc.cc:7258
+#: config/arc/arc.cc:7247 config/arc/arc.cc:7279
 #, gcc-internal-format
 msgid "operand 2 should be an unsigned 8-bit value"
 msgstr ""
 
-#: config/arc/arc.cc:7290
+#: config/arc/arc.cc:7311
 #, gcc-internal-format
 msgid "operand 3 should be an unsigned 8-bit value"
 msgstr ""
 
-#: config/arc/arc.cc:7323
+#: config/arc/arc.cc:7344
 #, gcc-internal-format
 msgid "operand 4 should be an unsigned 8-bit value (0-255)"
 msgstr ""
 
-#: config/arc/arc.cc:7327
+#: config/arc/arc.cc:7348
 #, gcc-internal-format
 msgid "operand 3 should be an unsigned 3-bit value (I0-I7)"
 msgstr ""
 
-#: config/arc/arc.cc:7334
+#: config/arc/arc.cc:7355
 #, gcc-internal-format
 msgid "operand 2 should be an unsigned 3-bit value (subreg 0-7)"
 msgstr ""
 
-#: config/arc/arc.cc:7337
+#: config/arc/arc.cc:7358
 #, gcc-internal-format
 msgid "operand 2 should be an even 3-bit value (subreg 0,2,4,6)"
 msgstr ""
 
-#: config/arc/arc.cc:7384
+#: config/arc/arc.cc:7405
 #, gcc-internal-format, gfc-internal-format
 msgid "builtin requires an immediate for operand %d"
 msgstr ""
 
-#: config/arc/arc.cc:7389
+#: config/arc/arc.cc:7410
 #, gcc-internal-format, gfc-internal-format
 msgid "operand %d should be a 6 bit unsigned immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7393
+#: config/arc/arc.cc:7414
 #, gcc-internal-format, gfc-internal-format
 msgid "operand %d should be a 8 bit unsigned immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7397
+#: config/arc/arc.cc:7418
 #, gcc-internal-format, gfc-internal-format
 msgid "operand %d should be a 3 bit unsigned immediate"
 msgstr ""
 
-#: config/arc/arc.cc:7400
+#: config/arc/arc.cc:7421
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown builtin immediate operand type for operand %d"
 msgstr ""
 
-#: config/arc/arc.cc:7451
+#: config/arc/arc.cc:7472
 #, gcc-internal-format
 msgid ""
 "register number must be a compile-time constant.  Try giving higher "
 "optimization levels"
 msgstr ""
 
-#: config/arc/arc.cc:8441
+#: config/arc/arc.cc:8569
 #, gcc-internal-format
 msgid "insn addresses not set after shorten branches"
 msgstr ""
 
-#: config/arc/arc.cc:8656
+#: config/arc/arc.cc:8784
 #, gcc-internal-format
 msgid "insn addresses not freed"
 msgstr ""
 
-#: config/arc/arc.cc:11064
+#: config/arc/arc.cc:11125
 #, gcc-internal-format
 msgid "%qE attribute only valid for ARCv2 architecture"
 msgstr ""
 
-#: config/arc/arc.cc:11072 config/arc/arc.cc:11111
+#: config/arc/arc.cc:11133 config/arc/arc.cc:11172
 #, gcc-internal-format
 msgid "argument of %qE attribute is missing"
 msgstr ""
 
-#: config/arc/arc.cc:11083 config/arc/arc.cc:11122 config/arc/arc.cc:11248
+#: config/arc/arc.cc:11144 config/arc/arc.cc:11183 config/arc/arc.cc:11309
 #: config/avr/avr.cc:9660
 #, gcc-internal-format
 msgid "%qE attribute allows only an integer constant argument"
 msgstr ""
 
-#: config/arc/arc.cc:11103
+#: config/arc/arc.cc:11164
 #, gcc-internal-format
 msgid "%qE attribute only valid for ARC EM architecture"
 msgstr ""
 
-#: config/arc/arc.cc:11158
+#: config/arc/arc.cc:11219
 #, gcc-internal-format
 msgid "%qE attribute only applies to types"
 msgstr ""
 
-#: config/arc/arc.cc:11164
+#: config/arc/arc.cc:11225
 #, gcc-internal-format
 msgid "argument of %qE attribute ignored"
 msgstr ""
 
-#: config/arc/arc.cc:11238 config/avr/avr.cc:9647 config/bfin/bfin.cc:4817
-#: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5808
+#: config/arc/arc.cc:11299 config/avr/avr.cc:9647 config/bfin/bfin.cc:4817
+#: config/i386/winnt.cc:63 config/nvptx/nvptx.cc:5823
 #, gcc-internal-format
 msgid "%qE attribute only applies to variables"
 msgstr ""
 
-#: config/arm/aarch-common.cc:550 config/i386/i386.cc:22244
+#: config/arm/aarch-common.cc:551 config/i386/i386.cc:22520
 #, gcc-internal-format
 msgid "alternatives not allowed in %<asm%> flag output"
 msgstr ""
 
-#: config/arm/aarch-common.cc:611 config/i386/i386.cc:22308
+#: config/arm/aarch-common.cc:612 config/i386/i386.cc:22584
 #, gcc-internal-format
 msgid "unknown %<asm%> flag output %qs"
 msgstr ""
 
-#: config/arm/aarch-common.cc:621 config/i386/i386.cc:22337
+#: config/arm/aarch-common.cc:622 config/i386/i386.cc:22613
 #, gcc-internal-format
 msgid "invalid type for %<asm%> flag output"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3065
+#: config/arm/aarch-common.cc:672 config/arm/aarch-common.cc:686
+#, gcc-internal-format
+msgid "unexpected %<%s%> after %<%s%>"
+msgstr ""
+
+#: config/arm/aarch-common.cc:838
+#, gcc-internal-format
+msgid "invalid argument %<%s%> for %<-mbranch-protection=%>"
+msgstr ""
+
+#: config/arm/aarch-common.cc:840
+#, gcc-internal-format
+msgid "missing argument for %<-mbranch-protection=%>"
+msgstr ""
+
+#: config/arm/arm-builtins.cc:3091
 #, gcc-internal-format, gfc-internal-format
 msgid "coprocessor %d is not enabled with +cdecp%d"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3069
+#: config/arm/arm-builtins.cc:3095
 #, gcc-internal-format
 msgid ""
-"coproc must be a constant immediate in range [0-%d] enabled with %<+cdecp<N>"
-"%>"
+"coproc must be a constant immediate in range [0-%d] enabled with "
+"%<+cdecp<N>%>"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3078
+#: config/arm/arm-builtins.cc:3104
 #, gcc-internal-format
 msgid "argument %d to %qE must be a constant immediate in range [0-%d]"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3197
+#: config/arm/arm-builtins.cc:3223
 #, gcc-internal-format
 msgid "this builtin is not supported for this target"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3312
+#: config/arm/arm-builtins.cc:3338
 #, gcc-internal-format
 msgid "saturation bit range must be in the range [%wd, %wd]"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3317
+#: config/arm/arm-builtins.cc:3343
 #, gcc-internal-format
 msgid "saturation bit range must be a constant immediate"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3340
+#: config/arm/arm-builtins.cc:3366
 #, gcc-internal-format
 msgid "You must enable MVE instructions to use these intrinsics"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3362
+#: config/arm/arm-builtins.cc:3388
 #, gcc-internal-format
 msgid ""
-"You must enable NEON instructions (e.g. %<-mfloat-abi=softfp%> %<-mfpu=neon"
-"%>) to use these intrinsics."
+"You must enable NEON instructions (e.g. %<-mfloat-abi=softfp%> %<-"
+"mfpu=neon%>) to use these intrinsics."
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3384
+#: config/arm/arm-builtins.cc:3410
 #, gcc-internal-format
 msgid "You must enable VFP instructions to use these intrinsics."
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3463
+#: config/arm/arm-builtins.cc:3489
 #, gcc-internal-format
 msgid ""
 "You must enable crypto instructions (e.g. include %<-mfloat-abi=softfp%> %<-"
@@ -39304,59 +40117,59 @@ msgid ""
 msgstr ""
 
 #. @@@ better error message
-#: config/arm/arm-builtins.cc:3541 config/arm/arm-builtins.cc:3645
+#: config/arm/arm-builtins.cc:3567 config/arm/arm-builtins.cc:3671
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3549 config/arm/arm-builtins.cc:3594
-#: config/arm/arm-builtins.cc:3652 config/arm/arm-builtins.cc:3661
+#: config/arm/arm-builtins.cc:3575 config/arm/arm-builtins.cc:3620
+#: config/arm/arm-builtins.cc:3678 config/arm/arm-builtins.cc:3687
 #, gcc-internal-format
 msgid "the range of selector should be in 0 to 7"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3554 config/arm/arm-builtins.cc:3663
+#: config/arm/arm-builtins.cc:3580 config/arm/arm-builtins.cc:3689
 #, gcc-internal-format
 msgid "the range of selector should be in 0 to 3"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3559 config/arm/arm-builtins.cc:3665
+#: config/arm/arm-builtins.cc:3585 config/arm/arm-builtins.cc:3691
 #, gcc-internal-format
 msgid "the range of selector should be in 0 to 1"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3731
+#: config/arm/arm-builtins.cc:3757
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3736
+#: config/arm/arm-builtins.cc:3762
 #, gcc-internal-format
 msgid "the range of mask should be in 0 to 255"
 msgstr ""
 
-#: config/arm/arm-builtins.cc:3924
+#: config/arm/arm-builtins.cc:3950
 #, 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:3932
+#: config/arm/arm-builtins.cc:3958
 #, 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:3940
+#: config/arm/arm-builtins.cc:3966
 #, 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:4003
+#: config/arm/arm-builtins.cc:4029
 #, gcc-internal-format
 msgid ""
 "the count should be no less than 0; please check the intrinsic %qs in code"
@@ -39384,303 +40197,318 @@ msgstr ""
 msgid "this definition requires the MVE ISA extension"
 msgstr ""
 
-#: config/arm/arm.cc:2941
+#: config/arm/arm.cc:2946
 #, gcc-internal-format
 msgid "iWMMXt and NEON are incompatible"
 msgstr ""
 
-#: config/arm/arm.cc:2947
+#: config/arm/arm.cc:2952
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr ""
 
-#: config/arm/arm.cc:2951
+#: config/arm/arm.cc:2956
 #, gcc-internal-format
 msgid ""
 "enabling backtrace support is only meaningful when compiling for the Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:2954
+#: config/arm/arm.cc:2959
 #, gcc-internal-format
 msgid ""
 "enabling callee interworking support is only meaningful when compiling for "
 "the Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:2962
+#: config/arm/arm.cc:2967
 #, gcc-internal-format
 msgid "%<-g%> with %<-mno-apcs-frame%> may not give sensible debugging"
 msgstr ""
 
-#: config/arm/arm.cc:2967
+#: config/arm/arm.cc:2972
 #, gcc-internal-format
 msgid "iWMMXt unsupported under Thumb mode"
 msgstr ""
 
-#: config/arm/arm.cc:2970
+#: config/arm/arm.cc:2975
 #, gcc-internal-format
 msgid "cannot use %<-mtp=cp15%> with 16-bit Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:2974
+#: config/arm/arm.cc:2979
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr ""
 
-#: config/arm/arm.cc:2987
+#: config/arm/arm.cc:2992
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "%s only supports non-pic code on M-profile targets with the MOVT instruction"
 msgstr ""
 
-#: config/arm/arm.cc:2992
+#: config/arm/arm.cc:2997
 #, gcc-internal-format, gfc-internal-format
 msgid "%s only supports non-pic code on M-profile targets"
 msgstr ""
 
-#: config/arm/arm.cc:2997
+#: config/arm/arm.cc:3002
 #, gcc-internal-format
 msgid "%s incompatible with %<-mword-relocations%>"
 msgstr ""
 
-#: config/arm/arm.cc:3099
+#: config/arm/arm.cc:3104
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr ""
 
-#: config/arm/arm.cc:3149
+#: config/arm/arm.cc:3154
 #, gcc-internal-format
 msgid "target CPU does not support unaligned accesses"
 msgstr ""
 
-#: config/arm/arm.cc:3287
+#: config/arm/arm.cc:3213 config/arm/arm.cc:33199
+#, gcc-internal-format
+msgid "This architecture does not support branch protection instructions"
+msgstr ""
+
+#: config/arm/arm.cc:3216
+#, gcc-internal-format
+msgid "Return address signing is not supported with %<-mtpcs-frame%>."
+msgstr ""
+
+#: config/arm/arm.cc:3279
+#, gcc-internal-format
+msgid "invalid key type for %<-mbranch-protection=%>"
+msgstr ""
+
+#: config/arm/arm.cc:3312
 #, gcc-internal-format
 msgid "switch %<-mcpu=%s%> conflicts with switch %<-march=%s%>"
 msgstr ""
 
-#: config/arm/arm.cc:3542
+#: config/arm/arm.cc:3567
 #, gcc-internal-format
 msgid "%<-mapcs-stack-check%> incompatible with %<-mno-apcs-frame%>"
 msgstr ""
 
-#: config/arm/arm.cc:3551
+#: config/arm/arm.cc:3576
 #, gcc-internal-format
 msgid "%<-fpic%> and %<-mapcs-reent%> are incompatible"
 msgstr ""
 
-#: config/arm/arm.cc:3554
+#: config/arm/arm.cc:3579
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr ""
 
-#: config/arm/arm.cc:3577
+#: config/arm/arm.cc:3602
 #, gcc-internal-format
 msgid "option %<-mstructure-size-boundary%> is deprecated"
 msgstr ""
 
-#: config/arm/arm.cc:3585
+#: config/arm/arm.cc:3610
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8, 32 or 64"
 msgstr ""
 
-#: config/arm/arm.cc:3587
+#: config/arm/arm.cc:3612
 #, gcc-internal-format
 msgid "structure size boundary can only be set to 8 or 32"
 msgstr ""
 
-#: config/arm/arm.cc:3612
+#: config/arm/arm.cc:3637
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with %<-msingle-pic-base%>"
 msgstr ""
 
-#: config/arm/arm.cc:3624 config/arm/arm.cc:33183
+#: config/arm/arm.cc:3649 config/arm/arm.cc:33540
 #, gcc-internal-format
 msgid "FDPIC mode is not supported in Thumb-1 mode"
 msgstr ""
 
-#: config/arm/arm.cc:3632
+#: config/arm/arm.cc:3657
 #, gcc-internal-format
 msgid "%<-mpic-register=%> is useless without %<-fpic%>"
 msgstr ""
 
-#: config/arm/arm.cc:3641
+#: config/arm/arm.cc:3666
 #, gcc-internal-format
 msgid "unable to use %qs for PIC register"
 msgstr ""
 
-#: config/arm/arm.cc:3681 config/pru/pru.cc:612
+#: config/arm/arm.cc:3706 config/pru/pru.cc:612
 #, gcc-internal-format
 msgid "%<-freorder-blocks-and-partition%> not supported on this architecture"
 msgstr ""
 
-#: config/arm/arm.cc:3848
+#: config/arm/arm.cc:3874
 #, gcc-internal-format
 msgid "selected fp16 options are incompatible"
 msgstr ""
 
-#: config/arm/arm.cc:3883
+#: config/arm/arm.cc:3909
 #, gcc-internal-format
 msgid "%<-mstack-protector-guard=tls%> needs a hardware TLS register"
 msgstr ""
 
-#: config/arm/arm.cc:3903
+#: config/arm/arm.cc:3929
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr ""
 
-#: config/arm/arm.cc:3906
+#: config/arm/arm.cc:3932
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr ""
 
-#: config/arm/arm.cc:3914
+#: config/arm/arm.cc:3940
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr ""
 
-#: config/arm/arm.cc:3927
+#: config/arm/arm.cc:3953
 #, gcc-internal-format
 msgid "AAPCS does not support %<-mcaller-super-interworking%>"
 msgstr ""
 
-#: config/arm/arm.cc:3930
+#: config/arm/arm.cc:3956
 #, gcc-internal-format
 msgid "AAPCS does not support %<-mcallee-super-interworking%>"
 msgstr ""
 
-#: config/arm/arm.cc:3935
+#: config/arm/arm.cc:3961
 #, gcc-internal-format
 msgid "%<__fp16%> and no ldrh"
 msgstr ""
 
-#: config/arm/arm.cc:3938
+#: config/arm/arm.cc:3964
 #, gcc-internal-format
 msgid "target CPU does not support ARMv8-M Security Extensions"
 msgstr ""
 
-#: config/arm/arm.cc:3943
+#: config/arm/arm.cc:3969
 #, gcc-internal-format
 msgid "ARMv8-M Security Extensions incompatible with selected FPU"
 msgstr ""
 
-#: config/arm/arm.cc:3955
+#: config/arm/arm.cc:3981
 #, gcc-internal-format
 msgid "%<-mfloat-abi=hard%>: selected architecture lacks an FPU"
 msgstr ""
 
-#: config/arm/arm.cc:3963
+#: config/arm/arm.cc:3989
 #, gcc-internal-format
 msgid "%<-mfloat-abi=hard%> and VFP"
 msgstr ""
 
-#: config/arm/arm.cc:6222
+#: config/arm/arm.cc:6254
 #, gcc-internal-format
 msgid "non-AAPCS derived PCS variant"
 msgstr ""
 
-#: config/arm/arm.cc:6224
+#: config/arm/arm.cc:6256
 #, gcc-internal-format
 msgid "variadic functions must use the base AAPCS variant"
 msgstr ""
 
-#: config/arm/arm.cc:6253
+#: config/arm/arm.cc:6285
 #, gcc-internal-format
 msgid "PCS variant"
 msgstr ""
 
-#: config/arm/arm.cc:6528
+#: config/arm/arm.cc:6560
 #, gcc-internal-format
 msgid "Thumb-1 %<hard-float%> VFP ABI"
 msgstr ""
 
-#: config/arm/arm.cc:6623
+#: config/arm/arm.cc:6655
 #, gcc-internal-format
 msgid "argument of type %qT not permitted with %<-mgeneral-regs-only%>"
 msgstr ""
 
-#: config/arm/arm.cc:7007 config/arm/arm.cc:7228 config/arm/arm.cc:7261
-#: config/arm/arm.cc:29053
+#: config/arm/arm.cc:7039 config/arm/arm.cc:7260 config/arm/arm.cc:7293
+#: config/arm/arm.cc:29318
 #, gcc-internal-format
 msgid "parameter passing for argument of type %qT changed in GCC 7.1"
 msgstr ""
 
-#: config/arm/arm.cc:7399
+#: config/arm/arm.cc:7431
 #, gcc-internal-format
 msgid ""
 "FP registers might be clobbered despite %qE attribute: compile with %<-"
 "mgeneral-regs-only%>"
 msgstr ""
 
-#: config/arm/arm.cc:7523
+#: config/arm/arm.cc:7555
 #, gcc-internal-format
 msgid ""
 "%qE attribute not available to functions with arguments passed on the stack"
 msgstr ""
 
-#: config/arm/arm.cc:7535
+#: config/arm/arm.cc:7567
 #, gcc-internal-format
 msgid ""
 "%qE attribute not available to functions with variable number of arguments"
 msgstr ""
 
-#: config/arm/arm.cc:7544
+#: config/arm/arm.cc:7576
 #, gcc-internal-format
 msgid "%qE attribute not available to functions that return value on the stack"
 msgstr ""
 
-#: config/arm/arm.cc:7566 config/arm/arm.cc:7618
+#: config/arm/arm.cc:7598 config/arm/arm.cc:7650
 #, gcc-internal-format
 msgid "%qE attribute ignored without %<-mcmse%> option"
 msgstr ""
 
-#: config/arm/arm.cc:7585
+#: config/arm/arm.cc:7617
 #, gcc-internal-format
 msgid "%qE attribute has no effect on functions with static linkage"
 msgstr ""
 
-#: config/arm/arm.cc:7634
+#: config/arm/arm.cc:7670
 #, gcc-internal-format
 msgid "%qE attribute only applies to base type of a function pointer"
 msgstr ""
 
-#: config/arm/arm.cc:9614
+#: config/arm/arm.cc:9662
 #, gcc-internal-format
 msgid ""
-"accessing thread-local storage is not currently supported with %<-mpure-code"
-"%> or %<-mslow-flash-data%>"
+"accessing thread-local storage is not currently supported with %<-mpure-"
+"code%> or %<-mslow-flash-data%>"
 msgstr ""
 
-#: config/arm/arm.cc:13386 config/arm/arm.cc:13388
+#: config/arm/arm.cc:13513 config/arm/arm.cc:13515
 #, gcc-internal-format
 msgid "%s %wd out of range %wd - %wd"
 msgstr ""
 
-#: config/arm/arm.cc:25673
+#: config/arm/arm.cc:25907
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
-#: config/arm/arm.cc:26336
+#: config/arm/arm.cc:26570
 #, gcc-internal-format
 msgid "Unexpected thumb1 far jump"
 msgstr ""
 
-#: config/arm/arm.cc:26595
+#: config/arm/arm.cc:26829
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr ""
 
-#: config/arm/arm.cc:26847
+#: config/arm/arm.cc:27082
 #, gcc-internal-format
 msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode"
 msgstr ""
 
-#: config/arm/arm.cc:27093
+#: config/arm/arm.cc:27328
 #, gcc-internal-format
 msgid "%<-fstack-check=specific%> for Thumb-1"
 msgstr ""
 
-#: config/arm/arm.cc:33198
+#: config/arm/arm.cc:33555
 #, gcc-internal-format
 msgid "invalid fpu for target attribute or pragma %qs"
 msgstr ""
@@ -39688,22 +40516,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:33206
+#: config/arm/arm.cc:33563
 #, gcc-internal-format
 msgid "auto fpu selection not currently permitted here"
 msgstr ""
 
-#: config/arm/arm.cc:33219
+#: config/arm/arm.cc:33576
 #, gcc-internal-format
 msgid "invalid architecture for target attribute or pragma %qs"
 msgstr ""
 
-#: config/arm/arm.cc:33233
+#: config/arm/arm.cc:33590
 #, gcc-internal-format
 msgid "unknown target attribute or pragma %qs"
 msgstr ""
 
-#: config/arm/arm.cc:34195
+#: config/arm/arm.cc:34552
 #, gcc-internal-format
 msgid "%<asm%> flags not supported in thumb1 mode"
 msgstr ""
@@ -39777,17 +40605,17 @@ msgstr ""
 msgid "%<-fPIE%> is not supported"
 msgstr ""
 
-#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:5358
+#: config/avr/avr.cc:1050 config/avr/avr.cc:1055 config/riscv/riscv.cc:6428
 #, gcc-internal-format
 msgid "function attributes %qs and %qs are mutually exclusive"
 msgstr ""
 
-#: config/avr/avr.cc:1076 config/riscv/riscv.cc:5370
+#: config/avr/avr.cc:1076 config/riscv/riscv.cc:6440
 #, gcc-internal-format
 msgid "%qs function cannot have arguments"
 msgstr ""
 
-#: config/avr/avr.cc:1079 config/riscv/riscv.cc:5367
+#: config/avr/avr.cc:1079 config/riscv/riscv.cc:6437
 #, gcc-internal-format
 msgid "%qs function cannot return a value"
 msgstr ""
@@ -40054,56 +40882,82 @@ msgstr ""
 msgid "BPF CO-RE does not support LTO"
 msgstr ""
 
-#: config/bpf/bpf.cc:416
+#: config/bpf/bpf.cc:260
+#, gcc-internal-format
+msgid "%<-fstack-protector%> does not work  on this architecture"
+msgstr ""
+
+#: config/bpf/bpf.cc:425
 #, gcc-internal-format
 msgid "eBPF stack limit exceeded"
 msgstr ""
 
-#: config/bpf/bpf.cc:767
+#: config/bpf/bpf.cc:777
 #, gcc-internal-format
 msgid "too many function arguments for eBPF"
 msgstr ""
 
-#: config/bpf/bpf.cc:785 config/bpf/bpf.cc:787
+#: config/bpf/bpf.cc:795 config/bpf/bpf.cc:797
 #, gcc-internal-format
 msgid "no constructors"
 msgstr ""
 
-#: config/bpf/bpf.cc:803 config/bpf/bpf.cc:805
+#: config/bpf/bpf.cc:813 config/bpf/bpf.cc:815
 #, gcc-internal-format
 msgid "no destructors"
 msgstr ""
 
-#: config/bpf/bpf.cc:857
+#: config/bpf/bpf.cc:867
 #, gcc-internal-format
 msgid "indirect call in function, which are not supported by eBPF"
 msgstr ""
 
-#: config/bpf/bpf.cc:1019 config/loongarch/loongarch-builtins.cc:313
-#: config/mips/mips.cc:17190 config/nios2/nios2.cc:3596
-#: config/riscv/riscv-builtins.cc:222
+#: config/bpf/bpf.cc:1106 config/bpf/bpf.cc:1162
 #, gcc-internal-format
-msgid "invalid argument to built-in function"
+msgid "unsupported variable field offset"
 msgstr ""
 
-#: config/bpf/bpf.cc:1339
+#: config/bpf/bpf.cc:1121 config/bpf/bpf.cc:1157
 #, gcc-internal-format
-msgid "expected exactly 1 argument"
+msgid "unsupported variable size field access"
 msgstr ""
 
-#: config/c6x/c6x.cc:245
+#: config/bpf/bpf.cc:1133
 #, gcc-internal-format
-msgid "%<-fpic%> and %<-fPIC%> not supported without %<-mdsbt%> on this target"
+msgid "unsupported field expression"
+msgstr ""
+
+#: config/bpf/bpf.cc:1170 config/bpf/bpf.cc:1179
+#, gcc-internal-format
+msgid "field size too large"
+msgstr ""
+
+#: config/bpf/bpf.cc:1196
+#, gcc-internal-format
+msgid "invalid second argument to built-in function"
 msgstr ""
 
-#: config/cr16/cr16.cc:308
+#: config/bpf/bpf.cc:1247 config/bpf/bpf.cc:1292
+#: config/loongarch/loongarch-builtins.cc:313 config/mips/mips.cc:17186
+#: config/nios2/nios2.cc:3600 config/riscv/riscv-builtins.cc:277
+#: config/riscv/riscv-vector-builtins.cc:1341
 #, gcc-internal-format
-msgid "data-model=far not valid for cr16c architecture"
+msgid "invalid argument to built-in function"
+msgstr ""
+
+#: config/bpf/bpf.cc:1640
+#, gcc-internal-format
+msgid "wrong number of arguments"
 msgstr ""
 
-#: config/cr16/cr16.cc:311
+#: config/bpf/bpf.cc:1657
+#, gcc-internal-format
+msgid "argument is not a field access"
+msgstr ""
+
+#: config/c6x/c6x.cc:245
 #, gcc-internal-format
-msgid "invalid data model option %<-mdata-model=%s%>"
+msgid "%<-fpic%> and %<-fPIC%> not supported without %<-mdsbt%> on this target"
 msgstr ""
 
 #. This function is for retrieving a part of an instruction name for
@@ -40164,33 +41018,33 @@ msgstr ""
 msgid "stackframe too big: %d bytes"
 msgstr ""
 
-#: config/csky/csky.cc:2538
+#: config/csky/csky.cc:2544
 #, gcc-internal-format, gfc-internal-format
 msgid "cpu %s is not based on arch %s, ignoring the arch"
 msgstr ""
 
-#: config/csky/csky.cc:2604 config/csky/csky.cc:2642 config/csky/csky.cc:2707
-#: config/csky/csky.cc:2730 config/csky/csky.cc:2747
+#: 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"
 msgstr ""
 
-#: config/csky/csky.cc:2645
+#: config/csky/csky.cc:2651
 #, gcc-internal-format
 msgid "%<-mhard-float%> is not supported by the selected CPU"
 msgstr ""
 
-#: config/csky/csky.cc:2661
+#: config/csky/csky.cc:2667
 #, gcc-internal-format
 msgid "%<-mdouble-float%> ignored without %<-mhard-float%>"
 msgstr ""
 
-#: config/csky/csky.cc:2664
+#: config/csky/csky.cc:2670
 #, gcc-internal-format
 msgid "%<-mfdivdu%> ignored without %<-mhard-float%>"
 msgstr ""
 
-#: config/csky/csky.cc:2719
+#: config/csky/csky.cc:2725
 #, gcc-internal-format
 msgid "%<-msmart%> is incompatible with %<-mhigh-registers%>"
 msgstr ""
@@ -40207,12 +41061,12 @@ msgstr ""
 #. by the caller.  In theory we could test for that and handle
 #. limited cases with parameters that all fit in r0-r3 with no
 #. stack overflow, but punt for now.
-#: config/csky/csky.cc:6274
+#: config/csky/csky.cc:6280
 #, gcc-internal-format
 msgid "Nested function trampolines not supported on CK801."
 msgstr ""
 
-#: config/csky/csky.cc:6472
+#: config/csky/csky.cc:6476
 #, gcc-internal-format
 msgid "%qE attribute ignored without %<-mistack%>"
 msgstr ""
@@ -40229,72 +41083,72 @@ msgid ""
 "or %qs"
 msgstr ""
 
-#: config/epiphany/epiphany.cc:1543
+#: config/epiphany/epiphany.cc:1545
 #, gcc-internal-format
 msgid "%<stack_offset%> must be at least 4"
 msgstr ""
 
-#: config/epiphany/epiphany.cc:1545
+#: config/epiphany/epiphany.cc:1547
 #, gcc-internal-format
 msgid "%<stack_offset%> must be a multiple of 4"
 msgstr ""
 
-#: config/frv/frv.cc:8477
+#: config/frv/frv.cc:8478
 #, gcc-internal-format
 msgid "accumulator is not a constant integer"
 msgstr ""
 
-#: config/frv/frv.cc:8482
+#: config/frv/frv.cc:8483
 #, gcc-internal-format
 msgid "accumulator number is out of bounds"
 msgstr ""
 
-#: config/frv/frv.cc:8493
+#: config/frv/frv.cc:8494
 #, gcc-internal-format
 msgid "inappropriate accumulator for %qs"
 msgstr ""
 
-#: config/frv/frv.cc:8569
+#: config/frv/frv.cc:8570
 #, gcc-internal-format
 msgid "invalid IACC argument"
 msgstr ""
 
-#: config/frv/frv.cc:8592 config/sparc/sparc.cc:11018
+#: config/frv/frv.cc:8593 config/sparc/sparc.cc:11019
 #, gcc-internal-format
 msgid "%qs expects a constant argument"
 msgstr ""
 
-#: config/frv/frv.cc:8597 config/sparc/sparc.cc:11024
+#: config/frv/frv.cc:8598 config/sparc/sparc.cc:11025
 #, gcc-internal-format
 msgid "constant argument out of range for %qs"
 msgstr ""
 
-#: config/frv/frv.cc:9078
+#: config/frv/frv.cc:9079
 #, gcc-internal-format
 msgid "media functions are not available unless %<-mmedia%> is used"
 msgstr ""
 
-#: config/frv/frv.cc:9090
+#: config/frv/frv.cc:9091
 #, gcc-internal-format
 msgid "this media function is only available on the fr500"
 msgstr ""
 
-#: config/frv/frv.cc:9118
+#: config/frv/frv.cc:9119
 #, gcc-internal-format
 msgid "this media function is only available on the fr400 and fr550"
 msgstr ""
 
-#: config/frv/frv.cc:9137
+#: config/frv/frv.cc:9138
 #, gcc-internal-format
 msgid "this built-in function is only available on the fr405 and fr450"
 msgstr ""
 
-#: config/frv/frv.cc:9146
+#: config/frv/frv.cc:9147
 #, gcc-internal-format
 msgid "this built-in function is only available on the fr500 and fr550"
 msgstr ""
 
-#: config/frv/frv.cc:9158
+#: config/frv/frv.cc:9159
 #, gcc-internal-format
 msgid "this built-in function is only available on the fr450"
 msgstr ""
@@ -40314,132 +41168,144 @@ msgstr ""
 msgid "stack frame must be smaller than 64K"
 msgstr ""
 
-#: config/gcn/gcn.cc:169
+#: config/gcn/gcn.cc:161
 #, gcc-internal-format
 msgid "XNACK support"
 msgstr ""
 
-#: config/gcn/gcn.cc:255
+#: config/gcn/gcn.cc:245
 #, gcc-internal-format
 msgid "%<amdgpu_hsa_kernel%> attribute requires string constant arguments"
 msgstr ""
 
-#: config/gcn/gcn.cc:268
+#: config/gcn/gcn.cc:258
 #, gcc-internal-format
 msgid "unknown specifier %qs in %<amdgpu_hsa_kernel%> attribute"
 msgstr ""
 
-#: config/gcn/gcn.cc:275
+#: config/gcn/gcn.cc:265
 #, gcc-internal-format
 msgid "duplicated parameter specifier %qs in %<amdgpu_hsa_kernel%> attribute"
 msgstr ""
 
-#: config/gcn/gcn.cc:327
+#: config/gcn/gcn.cc:317
 #, gcc-internal-format
 msgid "too many arguments passed in sgpr registers"
 msgstr ""
 
-#: config/gcn/gcn.cc:2155
+#: config/gcn/gcn.cc:2483
 #, gcc-internal-format
 msgid ""
 "A non-default set of initial values has been requested, which violates the "
 "ABI"
 msgstr ""
 
-#: config/gcn/gcn.cc:2391
+#: config/gcn/gcn.cc:2726
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong type of argument %s"
 msgstr ""
 
-#: config/gcn/gcn.cc:3323
+#: config/gcn/gcn.cc:3720
 #, gcc-internal-format
 msgid ""
 "nested function trampolines not supported on GCN5 due to non-executable "
 "stacks"
 msgstr ""
 
-#: config/gcn/gcn.cc:3431
+#: config/gcn/gcn.cc:3831
 #, gcc-internal-format
 msgid "TLS is not implemented for GCN."
 msgstr ""
 
-#: config/gcn/gcn.cc:4067
+#: config/gcn/gcn.cc:4695
 #, gcc-internal-format
 msgid "Builtin not implemented"
 msgstr ""
 
-#: config/gcn/gcn.cc:5051
+#: config/gcn/gcn.cc:5205
+#, gcc-internal-format
+msgid "unsupported simdlen %wd (amdgcn)"
+msgstr ""
+
+#: config/gcn/gcn.cc:5778
 #, gcc-internal-format
 msgid "using %<vector_length (64)%>, ignoring %d"
 msgstr ""
 
-#: config/gcn/gcn.cc:5052
+#: config/gcn/gcn.cc:5779
 #, gcc-internal-format
 msgid "using %<vector_length (64)%>, ignoring runtime setting"
 msgstr ""
 
-#: config/gcn/gcn.cc:5064 config/nvptx/nvptx.cc:6460
+#: config/gcn/gcn.cc:5791 config/nvptx/nvptx.cc:6568
 #, gcc-internal-format
 msgid "using %<num_workers (%d)%>, ignoring %d"
 msgstr ""
 
-#: config/gcn/gcn.cc:5091 config/gcn/gcn.cc:5118
+#: config/gcn/gcn.cc:5818 config/gcn/gcn.cc:5847
 #, gcc-internal-format, gfc-internal-format
 msgid "offload dimension out of range (%d)"
 msgstr ""
 
-#: config/gcn/gcn.cc:5591
+#: config/gcn/gcn.cc:6296
 #, gcc-internal-format
 msgid ""
 "%d bytes of gang-private data-share memory exhausted (increase with %<-mgang-"
 "private-size=%d%>, for example)"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:165 config/i386/intelmic-mkoffload.cc:73
-#: config/nvptx/mkoffload.cc:88
+#: config/gcn/mkoffload.cc:147 config/nvptx/mkoffload.cc:92
 #, gcc-internal-format
 msgid "deleting file %s: %m"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:771 config/nvptx/mkoffload.cc:365
+#: config/gcn/mkoffload.cc:772 config/nvptx/mkoffload.cc:492
 #, gcc-internal-format
 msgid "environment variable COLLECT_GCC_OPTIONS must be set"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:830 config/nvptx/mkoffload.cc:422
+#: config/gcn/mkoffload.cc:831 config/nvptx/mkoffload.cc:549
 #, gcc-internal-format
 msgid "COLLECT_GCC must be set."
 msgstr ""
 
-#: config/gcn/mkoffload.cc:876 config/i386/intelmic-mkoffload.cc:606
+#: config/gcn/mkoffload.cc:877
 #, gcc-internal-format, gfc-internal-format
 msgid "offload compiler %s not found"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:899 config/i386/intelmic-mkoffload.cc:625
-#: config/nvptx/mkoffload.cc:493
+#: config/gcn/mkoffload.cc:899 config/nvptx/mkoffload.cc:620
 #, gcc-internal-format
 msgid "unrecognizable argument of option "
 msgstr ""
 
-#: config/gcn/mkoffload.cc:947
+#: config/gcn/mkoffload.cc:944
 #, gcc-internal-format
 msgid "either -fopenacc or -fopenmp must be set"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1021 config/gcn/mkoffload.cc:1145
-#: config/i386/intelmic-mkoffload.cc:260 config/i386/intelmic-mkoffload.cc:335
-#: config/i386/intelmic-mkoffload.cc:387 config/nvptx/mkoffload.cc:557
+#: config/gcn/mkoffload.cc:996 config/gcn/mkoffload.cc:1140
+#: config/nvptx/mkoffload.cc:684
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot open '%s'"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1141
+#: config/gcn/mkoffload.cc:1126 config/nvptx/mkoffload.cc:730
+#, gcc-internal-format
+msgid "cannot open omp_requires file %qs"
+msgstr ""
+
+#: config/gcn/mkoffload.cc:1130 config/nvptx/mkoffload.cc:734
+#, gcc-internal-format
+msgid "cannot read omp_requires file %qs"
+msgstr ""
+
+#: config/gcn/mkoffload.cc:1136
 #, gcc-internal-format
 msgid "cannot open intermediate gcn asm file"
 msgstr ""
 
-#: config/gcn/mkoffload.cc:1158
+#: config/gcn/mkoffload.cc:1153
 #, gcc-internal-format
 msgid "cannot open intermediate gcn obj file"
 msgstr ""
@@ -40479,259 +41345,292 @@ msgstr ""
 msgid "cannot set position in PCH file: %m"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2058
+#: config/i386/i386-builtins.cc:1916
 #, gcc-internal-format
 msgid "no dispatcher found for the versioning attributes"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2108
+#: config/i386/i386-builtins.cc:1966
 #, gcc-internal-format
 msgid "ISA %qs is not supported in %<target%> attribute, use %<arch=%> syntax"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2119
+#: config/i386/i386-builtins.cc:1977
 #, gcc-internal-format, gfc-internal-format
 msgid "no dispatcher found for the versioning attributes: %s"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2229
+#: config/i386/i386-builtins.cc:2087
 #, gcc-internal-format
 msgid "parameter to builtin must be a string constant or literal"
 msgstr ""
 
-#: config/i386/i386-builtins.cc:2253 config/i386/i386-builtins.cc:2303
+#: config/i386/i386-builtins.cc:2111 config/i386/i386-builtins.cc:2160
 #, gcc-internal-format, gfc-internal-format
 msgid "parameter to builtin not valid: %s"
 msgstr ""
 
-#: config/i386/i386-expand.cc:9154
+#: config/i386/i386-expand.cc:9359
 #, gcc-internal-format
 msgid "interrupt service routine cannot be called directly"
 msgstr ""
 
-#: config/i386/i386-expand.cc:9578 config/i386/i386-expand.cc:11074
+#: config/i386/i386-expand.cc:9794 config/i386/i386-expand.cc:11366
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:9966
+#: config/i386/i386-expand.cc:10256
 #, gcc-internal-format
 msgid "the fifth argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:10061
+#: config/i386/i386-expand.cc:10351
 #, gcc-internal-format
 msgid "the third argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11003
+#: config/i386/i386-expand.cc:11295
 #, gcc-internal-format
 msgid "the last argument must be an 1-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11018
+#: config/i386/i386-expand.cc:11310
 #, gcc-internal-format
 msgid "the last argument must be a 3-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11053
+#: config/i386/i386-expand.cc:11345
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11093
+#: config/i386/i386-expand.cc:11385
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11109
+#: config/i386/i386-expand.cc:11401
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11119
+#: config/i386/i386-expand.cc:11411
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11124
+#: config/i386/i386-expand.cc:11416
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11261
+#: config/i386/i386-expand.cc:11553
 #, gcc-internal-format
 msgid "the third argument must be comparison constant"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11266
+#: config/i386/i386-expand.cc:11558
 #, gcc-internal-format
 msgid "incorrect comparison mode"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11272 config/i386/i386-expand.cc:11630
+#: config/i386/i386-expand.cc:11564 config/i386/i386-expand.cc:11888
 #, gcc-internal-format
 msgid "incorrect rounding operand"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11610
+#: config/i386/i386-expand.cc:11868
 #, gcc-internal-format
 msgid "the immediate argument must be a 4-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11618
+#: config/i386/i386-expand.cc:11876
 #, gcc-internal-format
 msgid "the immediate argument must be a 5-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:11621
+#: config/i386/i386-expand.cc:11879
 #, gcc-internal-format
 msgid "the immediate argument must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12139 config/rs6000/rs6000-builtin.cc:2393
+#: config/i386/i386-expand.cc:12355
+#, gcc-internal-format
+msgid "the fourth argument must be one of enum %qs"
+msgstr ""
+
+#: config/i386/i386-expand.cc:12425 config/rs6000/rs6000-builtin.cc:2374
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range [0, %wi]"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12370
+#: config/i386/i386-expand.cc:12682
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr ""
 
-#: config/i386/i386-expand.cc:12374
+#: config/i386/i386-expand.cc:12686
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13318
+#: config/i386/i386-expand.cc:13174
+#, gcc-internal-format
+msgid "second, third and fourth argument must be a const"
+msgstr ""
+
+#: config/i386/i386-expand.cc:13182
+#, gcc-internal-format
+msgid "invalid third argument"
+msgstr ""
+
+#. Ignore the hint.
+#: config/i386/i386-expand.cc:13191 config/i386/i386-expand.cc:13246
+#, 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:13208
+#, gcc-internal-format
+msgid "invalid third argument to %<__builtin_ia32_prefetch%>; using zero"
+msgstr ""
+
+#: config/i386/i386-expand.cc:13234
+#, gcc-internal-format
+msgid "second argument must be a const"
+msgstr ""
+
+#: config/i386/i386-expand.cc:13726
 #, gcc-internal-format
 msgid "the last argument must be a 32-bit immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:13351
+#: config/i386/i386-expand.cc:13759
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr ""
 
-#: config/i386/i386-expand.cc:14115 config/i386/i386-expand.cc:14327
+#: config/i386/i386-expand.cc:14523 config/i386/i386-expand.cc:14735
 #, gcc-internal-format
 msgid "the last argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386-expand.cc:14380
+#: config/i386/i386-expand.cc:14788
 #, gcc-internal-format
 msgid "the forth argument must be scale 1, 2, 4, 8"
 msgstr ""
 
-#: config/i386/i386-expand.cc:14386
+#: config/i386/i386-expand.cc:14794
 #, gcc-internal-format
 msgid "incorrect hint operand"
 msgstr ""
 
-#: config/i386/i386-expand.cc:14405
+#: config/i386/i386-expand.cc:14813
 #, gcc-internal-format
 msgid "the argument to %<xabort%> intrinsic must be an 8-bit immediate"
 msgstr ""
 
-#: config/i386/i386-features.cc:2685
+#: config/i386/i386-features.cc:3231
 #, gcc-internal-format
 msgid ""
 "function versions cannot be marked as %<gnu_inline%>, bodies have to be "
 "generated"
 msgstr ""
 
-#: config/i386/i386-features.cc:2690 config/i386/i386-features.cc:2958
+#: config/i386/i386-features.cc:3236 config/i386/i386-features.cc:3505
 #, gcc-internal-format
 msgid "virtual function multiversioning not supported"
 msgstr ""
 
-#: config/i386/i386-features.cc:2822 config/rs6000/rs6000.cc:24991
+#: config/i386/i386-features.cc:3369 config/rs6000/rs6000.cc:25139
 #, gcc-internal-format
 msgid "multiversioning needs %<ifunc%> which is not supported on this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:874 config/i386/i386-options.cc:2071
-#: config/i386/i386-options.cc:2080
+#: config/i386/i386-options.cc:887 config/i386/i386-options.cc:2123
+#: config/i386/i386-options.cc:2132
 #, gcc-internal-format, gfc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:1139
+#: config/i386/i386-options.cc:1159
 #, gcc-internal-format
 msgid "attribute %qs argument is not a string"
 msgstr ""
 
-#: config/i386/i386-options.cc:1203
+#: config/i386/i386-options.cc:1223
 #, gcc-internal-format
 msgid "attribute %qs argument %qs is unknown"
 msgstr ""
 
-#: config/i386/i386-options.cc:1266
+#: config/i386/i386-options.cc:1286
 #, gcc-internal-format
 msgid "attribute value %qs was already specified in %qs attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:1304
+#: config/i386/i386-options.cc:1324
 #, gcc-internal-format
 msgid "attribute value %qs is unknown in %qs attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:1586
+#: config/i386/i386-options.cc:1606
 #, gcc-internal-format
 msgid "wrong argument %qs to option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1592
+#: config/i386/i386-options.cc:1612
 #, gcc-internal-format
 msgid "size ranges of option %qs should be increasing"
 msgstr ""
 
-#: config/i386/i386-options.cc:1602
+#: config/i386/i386-options.cc:1622
 #, 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:1628
+#: config/i386/i386-options.cc:1648
 #, gcc-internal-format
 msgid ""
 "strategy name %qs specified for option %qs not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:1641
+#: config/i386/i386-options.cc:1661
 #, gcc-internal-format
 msgid "unknown alignment %qs specified for option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1651
+#: config/i386/i386-options.cc:1671
 #, gcc-internal-format
 msgid "the max value for the last size range should be -1 for option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1658
+#: config/i386/i386-options.cc:1678
 #, gcc-internal-format
 msgid "too many size ranges specified in option %qs"
 msgstr ""
 
-#: config/i386/i386-options.cc:1711
+#: config/i386/i386-options.cc:1731
 #, gcc-internal-format
 msgid "unknown parameter to option %<-mtune-ctrl%>: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:1896
+#: config/i386/i386-options.cc:1945
 #, gcc-internal-format
 msgid "Intel MCU psABI isn%'t supported in %s mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:1950
+#: config/i386/i386-options.cc:1999
 #, gcc-internal-format
 msgid ""
 "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> "
 "instead as appropriate"
 msgstr ""
 
-#: config/i386/i386-options.cc:1952
+#: config/i386/i386-options.cc:2001
 #, gcc-internal-format
 msgid ""
 "%<target(\"tune=x86-64\")%> is deprecated; use %<target(\"tune=k8\")%> or "
@@ -40739,577 +41638,582 @@ msgid ""
 msgstr ""
 
 #. rep; movq isn't available in 32-bit code.
-#: config/i386/i386-options.cc:1980
+#: config/i386/i386-options.cc:2029
 #, gcc-internal-format
 msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:1985
+#: config/i386/i386-options.cc:2034
 #, gcc-internal-format
 msgid "%<-muintr%> not supported for 32-bit code"
 msgstr ""
 
-#: config/i386/i386-options.cc:2000
+#: config/i386/i386-options.cc:2037
+#, gcc-internal-format
+msgid "%<-mlam=%> option: [u48|u57] not supported for 32-bit code"
+msgstr ""
+
+#: config/i386/i386-options.cc:2052
 #, gcc-internal-format
 msgid "address mode %qs not supported in the %s bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2011
+#: config/i386/i386-options.cc:2063
 #, gcc-internal-format
 msgid "%<-mabi=ms%> not supported with X32 ABI"
 msgstr ""
 
-#: config/i386/i386-options.cc:2017
+#: config/i386/i386-options.cc:2069
 #, gcc-internal-format
 msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2020
+#: config/i386/i386-options.cc:2072
 #, gcc-internal-format
 msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2024
+#: config/i386/i386-options.cc:2076
 #, gcc-internal-format
 msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2041 config/i386/i386-options.cc:2050
-#: config/i386/i386-options.cc:2062 config/i386/i386-options.cc:2073
-#: config/i386/i386-options.cc:2084
+#: config/i386/i386-options.cc:2093 config/i386/i386-options.cc:2102
+#: config/i386/i386-options.cc:2114 config/i386/i386-options.cc:2125
+#: config/i386/i386-options.cc:2136
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2053 config/i386/i386-options.cc:2065
+#: config/i386/i386-options.cc:2105 config/i386/i386-options.cc:2117
 #, gcc-internal-format
 msgid "code model %qs not supported in x32 mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2108
+#: config/i386/i386-options.cc:2160
 #, gcc-internal-format
 msgid "%<-masm=intel%> not supported in this configuration"
 msgstr ""
 
-#: config/i386/i386-options.cc:2113
+#: config/i386/i386-options.cc:2165
 #, gcc-internal-format, gfc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr ""
 
-#: config/i386/i386-options.cc:2125
+#: config/i386/i386-options.cc:2177
 #, gcc-internal-format
 msgid "%<generic%> CPU can be used only for %<-mtune=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2127
+#: config/i386/i386-options.cc:2179
 #, gcc-internal-format
 msgid "%<generic%> CPU can be used only for %<target(\"tune=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2134
+#: config/i386/i386-options.cc:2186
 #, gcc-internal-format
 msgid "%<intel%> CPU can be used only for %<-mtune=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2136
+#: config/i386/i386-options.cc:2188
 #, gcc-internal-format
 msgid "%<intel%> CPU can be used only for %<target(\"tune=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2144 config/i386/i386-options.cc:2276
+#: config/i386/i386-options.cc:2196 config/i386/i386-options.cc:2328
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr ""
 
-#: config/i386/i386-options.cc:2215
+#: config/i386/i386-options.cc:2267
 #, gcc-internal-format
 msgid "bad value %qs for %<-march=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2216
+#: config/i386/i386-options.cc:2268
 #, gcc-internal-format
 msgid "bad value %qs for %<target(\"arch=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2238
+#: config/i386/i386-options.cc:2290
 #, gcc-internal-format
 msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2240
+#: config/i386/i386-options.cc:2292
 #, gcc-internal-format
 msgid ""
 "valid arguments to %<target(\"arch=\")%> attribute are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2245
+#: config/i386/i386-options.cc:2297
 #, gcc-internal-format
 msgid "valid arguments to %<-march=%> switch are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2246
+#: config/i386/i386-options.cc:2298
 #, gcc-internal-format
 msgid "valid arguments to %<target(\"arch=\")%> attribute are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2295
+#: config/i386/i386-options.cc:2347
 #, gcc-internal-format
 msgid "bad value %qs for %<-mtune=%> switch"
 msgstr ""
 
-#: config/i386/i386-options.cc:2296
+#: config/i386/i386-options.cc:2348
 #, gcc-internal-format
 msgid "bad value %qs for %<target(\"tune=\")%> attribute"
 msgstr ""
 
-#: config/i386/i386-options.cc:2317
+#: config/i386/i386-options.cc:2369
 #, gcc-internal-format
 msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2319
+#: config/i386/i386-options.cc:2371
 #, gcc-internal-format
 msgid ""
 "valid arguments to %<target(\"tune=\")%> attribute are: %s; did you mean %qs?"
 msgstr ""
 
-#: config/i386/i386-options.cc:2324
+#: config/i386/i386-options.cc:2376
 #, gcc-internal-format
 msgid "valid arguments to %<-mtune=%> switch are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2325
+#: config/i386/i386-options.cc:2377
 #, gcc-internal-format
 msgid "valid arguments to %<target(\"tune=\")%> attribute are: %s"
 msgstr ""
 
-#: config/i386/i386-options.cc:2349
+#: config/i386/i386-options.cc:2401
 #, gcc-internal-format
 msgid "%<-mregparm%> is ignored in 64-bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2351
+#: config/i386/i386-options.cc:2403
 #, gcc-internal-format
 msgid "%<-mregparm%> is ignored for Intel MCU psABI"
 msgstr ""
 
-#: config/i386/i386-options.cc:2354
+#: config/i386/i386-options.cc:2406
 #, gcc-internal-format
 msgid "%<-mregparm=%d%> is not between 0 and %d"
 msgstr ""
 
-#: config/i386/i386-options.cc:2380
+#: config/i386/i386-options.cc:2429
 #, gcc-internal-format
 msgid "%<-m96bit-long-double%> is not compatible with this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:2385
+#: config/i386/i386-options.cc:2434
 #, gcc-internal-format
 msgid "%<-mrtd%> is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2386
+#: config/i386/i386-options.cc:2435
 #, gcc-internal-format
 msgid "%<target(\"rtd\")%> is ignored in 64bit mode"
 msgstr ""
 
-#: config/i386/i386-options.cc:2475
+#: config/i386/i386-options.cc:2524
 #, gcc-internal-format
 msgid "%<-mpreferred-stack-boundary%> is not supported for this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:2478
+#: config/i386/i386-options.cc:2527
 #, gcc-internal-format
 msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d"
 msgstr ""
 
-#: config/i386/i386-options.cc:2501
+#: config/i386/i386-options.cc:2550
 #, gcc-internal-format
 msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12"
 msgstr ""
 
-#: config/i386/i386-options.cc:2514
+#: config/i386/i386-options.cc:2563
 #, gcc-internal-format
 msgid "%<-mnop-mcount%> is not compatible with this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:2517
+#: config/i386/i386-options.cc:2566
 #, gcc-internal-format
 msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2523
+#: config/i386/i386-options.cc:2572
 #, gcc-internal-format
 msgid "%<-msseregparm%> used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386-options.cc:2524
+#: config/i386/i386-options.cc:2573
 #, gcc-internal-format
 msgid "%<target(\"sseregparm\")%> used without SSE enabled"
 msgstr ""
 
-#: config/i386/i386-options.cc:2534
+#: config/i386/i386-options.cc:2583
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr ""
 
-#: config/i386/i386-options.cc:2541
+#: config/i386/i386-options.cc:2590
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr ""
 
-#: config/i386/i386-options.cc:2591
+#: config/i386/i386-options.cc:2640
 #, gcc-internal-format
 msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness"
 msgstr ""
 
-#: config/i386/i386-options.cc:2593
+#: config/i386/i386-options.cc:2642
 #, gcc-internal-format
 msgid ""
 "stack probing requires %<target(\"accumulate-outgoing-args\")%> for "
 "correctness"
 msgstr ""
 
-#: config/i386/i386-options.cc:2607
+#: config/i386/i386-options.cc:2656
 #, gcc-internal-format
 msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2609
+#: config/i386/i386-options.cc:2658
 #, gcc-internal-format
 msgid "fixed ebp register requires %<target(\"accumulate-outgoing-args\")%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2669
+#: config/i386/i386-options.cc:2718
 #, gcc-internal-format
 msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2672
+#: config/i386/i386-options.cc:2721
 #, gcc-internal-format
 msgid "%<-mno-fentry%> isn%'t compatible with SEH"
 msgstr ""
 
-#: config/i386/i386-options.cc:2676
+#: config/i386/i386-options.cc:2725
 #, gcc-internal-format
 msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH"
 msgstr ""
 
-#: config/i386/i386-options.cc:2790
+#: config/i386/i386-options.cc:2839
 #, gcc-internal-format
 msgid "unknown option for %<-mrecip=%s%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2849
+#: config/i386/i386-options.cc:2898
 #, gcc-internal-format
 msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2854
+#: config/i386/i386-options.cc:2903
 #, gcc-internal-format
 msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2882
+#: config/i386/i386-options.cc:2931
 #, gcc-internal-format
 msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>"
 msgstr ""
 
-#: config/i386/i386-options.cc:2930
+#: config/i386/i386-options.cc:2979
 #, gcc-internal-format
 msgid "%<-fcf-protection%> is not compatible with this target"
 msgstr ""
 
-#: config/i386/i386-options.cc:3064
+#: config/i386/i386-options.cc:3115
 #, gcc-internal-format
 msgid "interrupt and naked attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3079
+#: config/i386/i386-options.cc:3130
 #, gcc-internal-format
 msgid "only DWARF debug format is supported for interrupt service routine"
 msgstr ""
 
-#: config/i386/i386-options.cc:3128
+#: config/i386/i386-options.cc:3179
 #, gcc-internal-format
 msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3138
+#: config/i386/i386-options.cc:3189
 #, gcc-internal-format
 msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3173
+#: config/i386/i386-options.cc:3224
 #, gcc-internal-format
 msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3183
+#: config/i386/i386-options.cc:3234
 #, gcc-internal-format
 msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3296
+#: config/i386/i386-options.cc:3341
 #, gcc-internal-format
 msgid "%s instructions aren%'t allowed in an exception service routine"
 msgstr ""
 
-#: config/i386/i386-options.cc:3298
+#: config/i386/i386-options.cc:3343
 #, gcc-internal-format
 msgid "%s instructions aren%'t allowed in an interrupt service routine"
 msgstr ""
 
-#: config/i386/i386-options.cc:3302
+#: config/i386/i386-options.cc:3347
 #, 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:3349 config/i386/i386-options.cc:3400
+#: config/i386/i386-options.cc:3394 config/i386/i386-options.cc:3445
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3354
+#: config/i386/i386-options.cc:3399
 #, gcc-internal-format
 msgid "regparam and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3361 config/i386/i386-options.cc:3589
+#: config/i386/i386-options.cc:3406 config/i386/i386-options.cc:3634
 #, gcc-internal-format
 msgid "%qE attribute requires an integer constant argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:3367
+#: config/i386/i386-options.cc:3412
 #, gcc-internal-format
 msgid "argument to %qE attribute larger than %d"
 msgstr ""
 
-#: config/i386/i386-options.cc:3392 config/i386/i386-options.cc:3435
+#: config/i386/i386-options.cc:3437 config/i386/i386-options.cc:3480
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3396
+#: config/i386/i386-options.cc:3441
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3404 config/i386/i386-options.cc:3453
+#: config/i386/i386-options.cc:3449 config/i386/i386-options.cc:3498
 #, gcc-internal-format
 msgid "fastcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3414 config/i386/i386-options.cc:3431
+#: config/i386/i386-options.cc:3459 config/i386/i386-options.cc:3476
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3418
+#: config/i386/i386-options.cc:3463
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3422 config/i386/i386-options.cc:3449
+#: config/i386/i386-options.cc:3467 config/i386/i386-options.cc:3494
 #, gcc-internal-format
 msgid "stdcall and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3439 config/i386/i386-options.cc:3457
+#: config/i386/i386-options.cc:3484 config/i386/i386-options.cc:3502
 #, gcc-internal-format
 msgid "cdecl and thiscall attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3445
+#: config/i386/i386-options.cc:3490
 #, gcc-internal-format
 msgid "%qE attribute is used for non-class method"
 msgstr ""
 
-#: config/i386/i386-options.cc:3549 config/rs6000/rs6000.cc:20333
+#: config/i386/i386-options.cc:3594 config/rs6000/rs6000.cc:20508
 #, gcc-internal-format
 msgid "%qE incompatible attribute ignored"
 msgstr ""
 
-#: config/i386/i386-options.cc:3576
+#: config/i386/i386-options.cc:3621
 #, gcc-internal-format
 msgid "%qE attribute only available for 32-bit"
 msgstr ""
 
-#: config/i386/i386-options.cc:3597
+#: config/i386/i386-options.cc:3642
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither zero, nor one"
 msgstr ""
 
-#: config/i386/i386-options.cc:3631 config/i386/i386-options.cc:3641
+#: config/i386/i386-options.cc:3676 config/i386/i386-options.cc:3686
 #, gcc-internal-format
 msgid "%qs and %qs attributes are not compatible"
 msgstr ""
 
-#: config/i386/i386-options.cc:3668 config/i386/i386-options.cc:3690
-#: config/ia64/ia64.cc:812 config/s390/s390.cc:1188
+#: config/i386/i386-options.cc:3713 config/i386/i386-options.cc:3735
+#: config/ia64/ia64.cc:812 config/s390/s390.cc:1261
 #, gcc-internal-format
 msgid "%qE attribute requires a string constant argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:3678 config/i386/i386-options.cc:3700
-#: config/s390/s390.cc:1217
+#: config/i386/i386-options.cc:3723 config/i386/i386-options.cc:3745
+#: config/s390/s390.cc:1290
 #, gcc-internal-format
 msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)"
 msgstr ""
 
-#: config/i386/i386-options.cc:3732
+#: config/i386/i386-options.cc:3777
 #, gcc-internal-format
 msgid "interrupt service routine should have a pointer as the first argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:3739
+#: config/i386/i386-options.cc:3784
 #, gcc-internal-format
 msgid "interrupt service routine should have %qs as the second argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:3750
+#: config/i386/i386-options.cc:3795
 #, gcc-internal-format
 msgid ""
 "interrupt service routine can only have a pointer argument and an optional "
 "integer argument"
 msgstr ""
 
-#: config/i386/i386-options.cc:3753
+#: config/i386/i386-options.cc:3798
 #, gcc-internal-format
 msgid "interrupt service routine must return %<void%>"
 msgstr ""
 
-#: config/i386/i386.cc:1212
+#: config/i386/i386.cc:1231
 #, gcc-internal-format
 msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.cc:1215
+#: config/i386/i386.cc:1234
 #, gcc-internal-format
 msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.cc:1519
+#: config/i386/i386.cc:1538
 #, gcc-internal-format
 msgid "X32 does not support %<ms_abi%> attribute"
 msgstr ""
 
-#: config/i386/i386.cc:1553
+#: config/i386/i386.cc:1572
 #, gcc-internal-format
 msgid "%<ms_hook_prologue%> attribute is not compatible with nested function"
 msgstr ""
 
-#: config/i386/i386.cc:1904
+#: config/i386/i386.cc:1923
 #, gcc-internal-format
 msgid "AVX512F vector argument without AVX512F enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1910
+#: config/i386/i386.cc:1929
 #, gcc-internal-format
 msgid "AVX512F vector return without AVX512F enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1924
+#: config/i386/i386.cc:1943
 #, gcc-internal-format
 msgid "AVX vector argument without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1930
+#: config/i386/i386.cc:1949
 #, gcc-internal-format
 msgid "AVX vector return without AVX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1946
+#: config/i386/i386.cc:1965
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1952
+#: config/i386/i386.cc:1971
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1968
+#: config/i386/i386.cc:1987
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:1974
+#: config/i386/i386.cc:1993
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr ""
 
-#: config/i386/i386.cc:2172
+#: config/i386/i386.cc:2191
 #, 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:2293
+#: config/i386/i386.cc:2312
 #, gcc-internal-format
 msgid "the ABI of passing union with %<long double%> has changed in GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.cc:2426
+#: config/i386/i386.cc:2447
 #, gcc-internal-format
 msgid ""
 "the ABI of passing structure with %<complex float%> member has changed in "
 "GCC 4.4"
 msgstr ""
 
-#: config/i386/i386.cc:2542
+#: config/i386/i386.cc:2568
 msgid ""
 "the ABI of passing C structures with zero-width bit-fields has changed in "
 "GCC %{12.1%}"
 msgstr ""
 
-#: config/i386/i386.cc:2637
+#: config/i386/i386.cc:2663
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2643
+#: config/i386/i386.cc:2669
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2663
+#: config/i386/i386.cc:2689
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr ""
 
-#: config/i386/i386.cc:2986 config/i386/i386.cc:3227 config/i386/i386.cc:4042
+#: config/i386/i386.cc:3017 config/i386/i386.cc:3262 config/i386/i386.cc:4042
 #, gcc-internal-format
 msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled"
 msgstr ""
 
-#: config/i386/i386.cc:2988 config/i386/i386.cc:3229 config/i386/i386.cc:4044
+#: config/i386/i386.cc:3019 config/i386/i386.cc:3264 config/i386/i386.cc:4044
 #, gcc-internal-format
 msgid ""
 "this is a GCC bug that can be worked around by adding attribute used to "
 "function called"
 msgstr ""
 
-#: config/i386/i386.cc:3630
+#: config/i386/i386.cc:3667
 #, 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:6534
+#: config/i386/i386.cc:6564
 #, gcc-internal-format
 msgid "%<-mcall-ms2sysv-xlogues%> is not compatible with %s"
 msgstr ""
 
-#: config/i386/i386.cc:8438
+#: config/i386/i386.cc:8468
 #, gcc-internal-format
 msgid ""
 "%<ms_hook_prologue%> attribute is not compatible with %<-mfentry%> for 32-bit"
 msgstr ""
 
-#: config/i386/i386.cc:8528
+#: config/i386/i386.cc:8558
 #, gcc-internal-format
 msgid ""
 "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service "
@@ -41317,22 +42221,22 @@ msgid ""
 "return."
 msgstr ""
 
-#: config/i386/i386.cc:9460
+#: config/i386/i386.cc:9490
 #, gcc-internal-format
 msgid "Stack realignment not supported with %<__builtin_eh_return%>"
 msgstr ""
 
-#: config/i386/i386.cc:9465
+#: config/i386/i386.cc:9495
 #, gcc-internal-format
 msgid "regparm nested function not supported with %<__builtin_eh_return%>"
 msgstr ""
 
-#: config/i386/i386.cc:9851
+#: config/i386/i386.cc:9881
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> does not support fastcall with nested function"
 msgstr ""
 
-#: config/i386/i386.cc:9871
+#: config/i386/i386.cc:9901
 #, gcc-internal-format
 msgid ""
 "%<-fsplit-stack%> does not support 2 register parameters for a nested "
@@ -41341,91 +42245,81 @@ msgstr ""
 
 #. FIXME: We could make this work by pushing a register
 #. around the addition and comparison.
-#: config/i386/i386.cc:9882
+#: config/i386/i386.cc:9912
 #, gcc-internal-format
 msgid "%<-fsplit-stack%> does not support 3 register parameters"
 msgstr ""
 
-#: config/i386/i386.cc:12915
+#: config/i386/i386.cc:12950
 #, gcc-internal-format
 msgid "%<V%> modifier on non-integer register"
 msgstr ""
 
-#: config/i386/i386.cc:12926 config/i386/i386.cc:12940
+#: config/i386/i386.cc:12961 config/i386/i386.cc:12975
 #, gcc-internal-format
 msgid "unsupported size for integer register"
 msgstr ""
 
-#: config/i386/i386.cc:12972
+#: config/i386/i386.cc:13007
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr ""
 
-#: config/i386/i386.cc:12987
+#: config/i386/i386.cc:13022
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr ""
 
-#: config/i386/i386.cc:13181
+#: config/i386/i386.cc:13216
 #, gcc-internal-format
 msgid "non-integer operand used with operand code %<z%>"
 msgstr ""
 
-#: config/i386/i386.cc:17212
+#: config/i386/i386.cc:17317
 #, gcc-internal-format
 msgid ""
 "empty class %qT parameter passing ABI changes in %<-fabi-version=12%> (GCC 8)"
 msgstr ""
 
-#: config/i386/i386.cc:21436
+#: config/i386/i386.cc:21712
 msgid "the alignment of %<_Atomic %T%> fields changed in %{GCC 11.1%}"
 msgstr ""
 
-#: config/i386/i386.cc:21532
+#: config/i386/i386.cc:21808
 #, gcc-internal-format
 msgid "profiling %<-mcmodel=large%> with PIC is not supported"
 msgstr ""
 
-#: config/i386/i386.cc:23341
+#: config/i386/i386.cc:23624
 #, gcc-internal-format
 msgid "unknown architecture specific memory model"
 msgstr ""
 
-#: config/i386/i386.cc:23348
+#: config/i386/i386.cc:23631
 #, gcc-internal-format
 msgid "%<HLE_ACQUIRE%> not used with %<ACQUIRE%> or stronger memory model"
 msgstr ""
 
-#: config/i386/i386.cc:23355
+#: config/i386/i386.cc:23638
 #, gcc-internal-format
 msgid "%<HLE_RELEASE%> not used with %<RELEASE%> or stronger memory model"
 msgstr ""
 
-#: config/i386/i386.cc:23401
+#: config/i386/i386.cc:23687
 #, gcc-internal-format
 msgid "unsupported return type %qT for simd"
 msgstr ""
 
-#: config/i386/i386.cc:23431
+#: config/i386/i386.cc:23718
 #, gcc-internal-format
 msgid "unsupported argument type %qT for simd"
 msgstr ""
 
-#: config/i386/i386.cc:23974
+#: config/i386/i386.cc:24273
 #, gcc-internal-format
 msgid "%<-fexcess-precision=16%> is not compatible with %<-mfpmath=387%>"
 msgstr ""
 
-#: config/i386/intelmic-mkoffload.cc:601
-#, gcc-internal-format
-msgid "COLLECT_GCC must be set"
-msgstr ""
-
-#: config/i386/intelmic-mkoffload.cc:641
-#, gcc-internal-format
-msgid "output file not specified"
-msgstr ""
-
 #: config/i386/winnt.cc:83
 #, gcc-internal-format
 msgid ""
@@ -41442,7 +42336,8 @@ msgstr ""
 msgid "malformed %<#pragma builtin%>"
 msgstr ""
 
-#: config/ia64/ia64.cc:751
+#: config/ia64/ia64.cc:751 config/loongarch/loongarch.cc:6514
+#: config/loongarch/loongarch.cc:6524
 #, gcc-internal-format
 msgid "invalid argument of %qE attribute"
 msgstr ""
@@ -41462,12 +42357,12 @@ msgstr ""
 msgid "address area attribute cannot be specified for functions"
 msgstr ""
 
-#: config/ia64/ia64.cc:6024 config/pa/pa.cc:453 config/sh/sh.cc:8266
+#: config/ia64/ia64.cc:6025 config/pa/pa.cc:453 config/sh/sh.cc:8267
 #, gcc-internal-format
 msgid "value of %<-mfixed-range%> must have form REG1-REG2"
 msgstr ""
 
-#: config/ia64/ia64.cc:11290
+#: config/ia64/ia64.cc:11302
 #, gcc-internal-format
 msgid "version attribute is not a string"
 msgstr ""
@@ -41482,7 +42377,7 @@ msgstr ""
 msgid "argument %qd is not a constant"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:2893 config/xtensa/xtensa.cc:2552
+#: config/iq2000/iq2000.cc:2893 config/xtensa/xtensa.cc:3063
 #, gcc-internal-format
 msgid "%<PRINT_OPERAND_ADDRESS%>, null pointer"
 msgstr ""
@@ -41492,7 +42387,7 @@ msgstr ""
 msgid "%<PRINT_OPERAND%>: Unknown punctuation %<%c%>"
 msgstr ""
 
-#: config/iq2000/iq2000.cc:3057 config/xtensa/xtensa.cc:2395
+#: config/iq2000/iq2000.cc:3057 config/xtensa/xtensa.cc:2912
 #, gcc-internal-format
 msgid "%<PRINT_OPERAND%> null pointer"
 msgstr ""
@@ -41540,8 +42435,8 @@ msgstr ""
 #: config/loongarch/loongarch-opts.cc:283
 #, gcc-internal-format
 msgid ""
-"default CPU architecture (%qs) does not support %qs ABI, falling back to %<-m"
-"%s=%s%>"
+"default CPU architecture (%qs) does not support %qs ABI, falling back to %<-"
+"m%s=%s%>"
 msgstr ""
 
 #: config/loongarch/loongarch-opts.cc:314
@@ -41580,14 +42475,44 @@ msgstr ""
 msgid "ABI with startfiles: %s"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:3463
+#: config/loongarch/loongarch-opts.cc:385
+#, gcc-internal-format
+msgid "%qs is not supported, now cmodel is set to %qs"
+msgstr ""
+
+#: config/loongarch/loongarch.cc:6189
 #, gcc-internal-format
-msgid "Normal symbol loading not implemented in extreme mode."
+msgid "%qs cannot be used for compiling a shared library"
 msgstr ""
 
-#: config/loongarch/loongarch.cc:5512
+#: config/loongarch/loongarch.cc:6196
 #, gcc-internal-format
-msgid "code model %qs and %qs not support %s mode"
+msgid "code model %qs needs %s"
+msgstr ""
+
+#: config/loongarch/loongarch.cc:6202
+#, gcc-internal-format
+msgid "code model %qs is not compatible with %s"
+msgstr ""
+
+#: config/loongarch/loongarch.cc:6479
+#, gcc-internal-format
+msgid "%qE attribute cannot be specified for thread-local variables"
+msgstr ""
+
+#: config/loongarch/loongarch.cc:6497
+#, gcc-internal-format
+msgid "%qE attribute cannot be specified for register variables"
+msgstr ""
+
+#: config/loongarch/loongarch.cc:6505
+#, gcc-internal-format
+msgid "%qE attribute requires %s"
+msgstr ""
+
+#: config/loongarch/loongarch.cc:6532
+#, gcc-internal-format
+msgid "multiple %qE attribute"
 msgstr ""
 
 #: config/m32c/m32c-pragma.cc:54
@@ -41626,7 +42551,7 @@ msgid "%qE attribute is not supported for R8C target"
 msgstr ""
 
 #. The argument must be a constant integer.
-#: config/m32c/m32c.cc:2947 config/sh/sh.cc:8478 config/sh/sh.cc:8573
+#: config/m32c/m32c.cc:2947 config/sh/sh.cc:8479 config/sh/sh.cc:8574
 #, gcc-internal-format
 msgid "%qE attribute argument not an integer constant"
 msgstr ""
@@ -41686,104 +42611,104 @@ msgstr ""
 msgid "%<interrupt_thread%> is available only on fido"
 msgstr ""
 
-#: config/m68k/m68k.cc:1140 config/rs6000/rs6000-logue.cc:1756
+#: config/m68k/m68k.cc:1140 config/rs6000/rs6000-logue.cc:1752
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr ""
 
-#: config/m68k/m68k.cc:7119 config/s390/s390.cc:16613
+#: config/m68k/m68k.cc:7119 config/s390/s390.cc:16829
 #, gcc-internal-format
 msgid "%<-fexcess-precision=16%> is not supported on this target"
 msgstr ""
 
-#: config/mcore/mcore.cc:2959
+#: config/mcore/mcore.cc:2960
 #, gcc-internal-format
 msgid "initialized variable %q+D is marked dllimport"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:1755
+#: config/microblaze/microblaze.cc:1760
 #, gcc-internal-format
 msgid "%<-fPIC%>/%<-fpic%> not supported for this target"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:1767
+#: config/microblaze/microblaze.cc:1772
 #, gcc-internal-format
 msgid "%qs is an invalid argument to %<-mcpu=%>"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:1816
+#: config/microblaze/microblaze.cc:1821
 #, gcc-internal-format
 msgid ""
 "%<-mxl-multiply-high%> can be used only with %<-mcpu=v6.00.a%> or greater"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:1833
+#: config/microblaze/microblaze.cc:1838
 #, gcc-internal-format
 msgid "%<-mxl-reorder%> can be used only with %<-mcpu=v8.30.a%> or greater"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:1840
+#: config/microblaze/microblaze.cc:1845
 #, gcc-internal-format
 msgid ""
 "%<-mxl-reorder%> requires %<-mxl-pattern-compare%> for %<-mcpu=v8.30.a%>"
 msgstr ""
 
-#: config/microblaze/microblaze.cc:1846
+#: config/microblaze/microblaze.cc:1851
 #, gcc-internal-format
 msgid "%<-mxl-multiply-high%> requires %<-mno-xl-soft-mul%>"
 msgstr ""
 
-#: config/mips/mips.cc:1426 config/mips/mips.cc:1430
+#: config/mips/mips.cc:1425 config/mips/mips.cc:1429
 #, gcc-internal-format
 msgid "%qs attribute only applies to functions"
 msgstr ""
 
-#: config/mips/mips.cc:1440 config/mips/mips.cc:1446
+#: config/mips/mips.cc:1439 config/mips/mips.cc:1445
 #, gcc-internal-format
 msgid "%qE cannot have both %qs and %qs attributes"
 msgstr ""
 
-#: config/mips/mips.cc:1475 config/mips/mips.cc:1481 config/nios2/nios2.cc:4483
+#: config/mips/mips.cc:1474 config/mips/mips.cc:1480 config/nios2/nios2.cc:4487
 #, gcc-internal-format
 msgid "%qE redeclared with conflicting %qs attributes"
 msgstr ""
 
-#: config/mips/mips.cc:1513 config/mips/mips.cc:1567 config/riscv/riscv.cc:3301
+#: config/mips/mips.cc:1512 config/mips/mips.cc:1566 config/riscv/riscv.cc:3882
 #, gcc-internal-format
 msgid "%qE attribute requires a string argument"
 msgstr ""
 
-#: config/mips/mips.cc:1521
+#: config/mips/mips.cc:1520
 #, gcc-internal-format
 msgid "argument to %qE attribute is neither eic, nor %<vector=<line>%>"
 msgstr ""
 
-#: config/mips/mips.cc:1537
+#: config/mips/mips.cc:1536
 #, gcc-internal-format
 msgid ""
 "interrupt vector to %qE attribute is not %<vector=(sw0|sw1|hw0|hw1|hw2|hw3|"
 "hw4|hw5)%>"
 msgstr ""
 
-#: config/mips/mips.cc:1574
+#: config/mips/mips.cc:1573
 #, gcc-internal-format
 msgid "argument to %qE attribute is not intstack"
 msgstr ""
 
-#: config/mips/mips.cc:6090
+#: config/mips/mips.cc:6089
 msgid ""
 "the ABI for passing a value containing zero-width fields before an adjacent "
 "64-bit floating-point field was changed in GCC %{12.1%}"
 msgstr ""
 
-#: config/mips/mips.cc:6518
+#: config/mips/mips.cc:6517
 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:6542
+#: config/mips/mips.cc:6541
 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 "
@@ -41795,124 +42720,124 @@ msgstr ""
 msgid "cannot handle inconsistent calls to %qs"
 msgstr ""
 
-#: config/mips/mips.cc:11124
+#: config/mips/mips.cc:11120
 #, gcc-internal-format
 msgid "the %<interrupt%> attribute requires a MIPS32r2 processor or greater"
 msgstr ""
 
-#: config/mips/mips.cc:11126
+#: config/mips/mips.cc:11122
 #, gcc-internal-format
 msgid "interrupt handlers cannot be MIPS16 functions"
 msgstr ""
 
-#: config/mips/mips.cc:12116
+#: config/mips/mips.cc:12112
 #, gcc-internal-format
 msgid "%<-fstack-check=specific%> not implemented for MIPS16"
 msgstr ""
 
-#: config/mips/mips.cc:17184
+#: config/mips/mips.cc:17180
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d to the built-in must be a constant in range %d to %d"
 msgstr ""
 
-#: config/mips/mips.cc:17304
+#: config/mips/mips.cc:17300
 #, gcc-internal-format
 msgid "failed to expand built-in function"
 msgstr ""
 
-#: config/mips/mips.cc:17435
+#: config/mips/mips.cc:17431
 #, gcc-internal-format
 msgid "built-in function %qE not supported for MIPS16"
 msgstr ""
 
-#: config/mips/mips.cc:18043
+#: config/mips/mips.cc:18039
 #, gcc-internal-format
 msgid "%qs does not support MIPS16 code"
 msgstr ""
 
-#: config/mips/mips.cc:19850
+#: config/mips/mips.cc:19846
 #, gcc-internal-format
 msgid "MIPS16 PIC for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.cc:19853
+#: config/mips/mips.cc:19849
 #, gcc-internal-format
 msgid "MIPS16 %<-mxgot%> code"
 msgstr ""
 
-#: config/mips/mips.cc:19856
+#: config/mips/mips.cc:19852
 #, gcc-internal-format
 msgid "%<hard-float%> MIPS16 code for ABIs other than o32 and o64"
 msgstr ""
 
-#: config/mips/mips.cc:19859
+#: config/mips/mips.cc:19855
 #, gcc-internal-format
 msgid "MSA MIPS16 code"
 msgstr ""
 
-#: config/mips/mips.cc:20037 config/mips/mips.cc:20042
-#: config/mips/mips.cc:20131 config/mips/mips.cc:20133
-#: config/mips/mips.cc:20163 config/mips/mips.cc:20173
-#: config/mips/mips.cc:20279 config/mips/mips.cc:20309
+#: config/mips/mips.cc:20033 config/mips/mips.cc:20038
+#: config/mips/mips.cc:20127 config/mips/mips.cc:20129
+#: config/mips/mips.cc:20159 config/mips/mips.cc:20169
+#: config/mips/mips.cc:20275 config/mips/mips.cc:20299
 #, gcc-internal-format, gfc-internal-format
 msgid "unsupported combination: %s"
 msgstr ""
 
-#: config/mips/mips.cc:20076
+#: config/mips/mips.cc:20072
 #, gcc-internal-format
 msgid ""
 "%<-%s%> conflicts with the other architecture options, which specify a %s "
 "processor"
 msgstr ""
 
-#: config/mips/mips.cc:20086
+#: config/mips/mips.cc:20082
 #, gcc-internal-format
 msgid "%<-march=%s%> is not compatible with the selected ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20101
+#: config/mips/mips.cc:20097
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit processor"
 msgstr ""
 
-#: config/mips/mips.cc:20103
+#: config/mips/mips.cc:20099
 #, gcc-internal-format
 msgid "%<-mgp32%> used with a 64-bit ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20105
+#: config/mips/mips.cc:20101
 #, gcc-internal-format
 msgid "%<-mgp64%> used with a 32-bit ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20128
+#: config/mips/mips.cc:20124
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-mfp32%>"
 msgstr ""
 
-#: config/mips/mips.cc:20137
+#: config/mips/mips.cc:20133
 #, 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:20140
+#: config/mips/mips.cc:20136
 #, gcc-internal-format
 msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20161
+#: config/mips/mips.cc:20157
 #, gcc-internal-format
 msgid "%<-mfpxx%> can only be used with the o32 ABI"
 msgstr ""
 
-#: config/mips/mips.cc:20165
+#: config/mips/mips.cc:20161
 #, gcc-internal-format
 msgid "%<-march=%s%> requires %<-mfp32%>"
 msgstr ""
 
-#: config/mips/mips.cc:20167
+#: config/mips/mips.cc:20163
 #, gcc-internal-format
 msgid "%<-mfpxx%> requires %<-mlra%>"
 msgstr ""
@@ -41922,117 +42847,117 @@ msgstr ""
 #. effort to support the combination of 32-bit GOT entries
 #. and 64-bit pointers, so we treat the abicalls case as
 #. an error.
-#: config/mips/mips.cc:20192
+#: config/mips/mips.cc:20188
 #, gcc-internal-format
 msgid "the combination of %qs and %qs is incompatible with %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20245
+#: config/mips/mips.cc:20241
 #, gcc-internal-format
 msgid "the %qs architecture does not support branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20260
+#: config/mips/mips.cc:20256
 #, gcc-internal-format
 msgid "the %qs architecture does not support madd or msub instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20274
+#: config/mips/mips.cc:20270
 #, gcc-internal-format
 msgid "the %qs architecture does not support odd single-precision registers"
 msgstr ""
 
-#: config/mips/mips.cc:20287 config/mips/mips.cc:20293
+#: config/mips/mips.cc:20283
 #, gcc-internal-format
 msgid "unsupported combination: %qs%s %s"
 msgstr ""
 
-#: config/mips/mips.cc:20302
+#: config/mips/mips.cc:20292
 #, gcc-internal-format
 msgid "unsupported combination: %qs %s"
 msgstr ""
 
-#: config/mips/mips.cc:20317
+#: config/mips/mips.cc:20307
 #, gcc-internal-format
 msgid "cannot generate position-independent code for %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20320
+#: config/mips/mips.cc:20310
 #, gcc-internal-format
 msgid "position-independent code requires %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20353
+#: config/mips/mips.cc:20343
 #, gcc-internal-format
 msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
 msgstr ""
 
-#: config/mips/mips.cc:20361 config/mips/mips.cc:20364
+#: config/mips/mips.cc:20351 config/mips/mips.cc:20354
 #, gcc-internal-format
 msgid "cannot use small-data accesses for %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20379
+#: config/mips/mips.cc:20369
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-m%s=legacy%>"
 msgstr ""
 
-#: config/mips/mips.cc:20386
+#: config/mips/mips.cc:20376
 #, gcc-internal-format
 msgid "the %qs architecture does not support %<-m%s=2008%>"
 msgstr ""
 
-#: config/mips/mips.cc:20404
+#: config/mips/mips.cc:20394
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr ""
 
-#: config/mips/mips.cc:20414
+#: config/mips/mips.cc:20404
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr ""
 
-#: config/mips/mips.cc:20424
+#: config/mips/mips.cc:20414
 #, gcc-internal-format
 msgid "%<-mmsa%> must be used with %<-mfp64%> and %<-mhard-float%>"
 msgstr ""
 
-#: config/mips/mips.cc:20431
+#: config/mips/mips.cc:20421
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20440
+#: config/mips/mips.cc:20430
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr ""
 
-#: config/mips/mips.cc:20451
+#: config/mips/mips.cc:20441
 #, gcc-internal-format
 msgid "the %qs architecture does not support DSP instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20461
+#: config/mips/mips.cc:20451
 #, gcc-internal-format
 msgid "%<-mloongson-mmi%> must be used with %<-mhard-float%>"
 msgstr ""
 
-#: config/mips/mips.cc:20471
+#: config/mips/mips.cc:20461
 #, gcc-internal-format
 msgid "%<-mloongson-ext2%> must be used with %<-mloongson-ext%>"
 msgstr ""
 
-#: config/mips/mips.cc:20577
+#: config/mips/mips.cc:20556
 #, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
 msgstr ""
 
-#: config/mips/mips.cc:20581
+#: config/mips/mips.cc:20560
 #, gcc-internal-format
 msgid "the %qs architecture does not support the synci instruction"
 msgstr ""
 
-#: config/mips/mips.cc:21417
+#: config/mips/mips.cc:21396
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr ""
@@ -42059,33 +42984,33 @@ msgstr ""
 msgid "%<function_profiler%> support for MMIX"
 msgstr ""
 
-#: config/mmix/mmix.cc:1003
+#: config/mmix/mmix.cc:1004
 #, 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:1644 config/mmix/mmix.cc:1668 config/mmix/mmix.cc:1775
 #, 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:1767
 #, gcc-internal-format
 msgid "MMIX Internal: Missing %qc case in %<mmix_print_operand%>"
 msgstr ""
 
-#: config/mmix/mmix.cc:2055
+#: config/mmix/mmix.cc:2056
 #, gcc-internal-format
 msgid "stack frame not a multiple of 8 bytes: %wd"
 msgstr ""
 
-#: config/mmix/mmix.cc:2308
+#: config/mmix/mmix.cc:2309
 #, 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:2595 config/mmix/mmix.cc:2654
 #, gcc-internal-format, gfc-internal-format
 msgid "MMIX Internal: %s is not a shiftable integer"
 msgstr ""
@@ -42143,8 +43068,8 @@ msgstr ""
 #: config/msp430/msp430-devices.cc:303
 #, gcc-internal-format
 msgid ""
-"%<CPU_TYPE%> and %<MPY_TYPE%> column headings are missing from %<devices.csv"
-"%>"
+"%<CPU_TYPE%> and %<MPY_TYPE%> column headings are missing from %<devices."
+"csv%>"
 msgstr ""
 
 #: config/msp430/msp430-devices.cc:315
@@ -42337,17 +43262,17 @@ msgstr ""
 msgid "argument to interrupt attribute is unsupported for weak functions"
 msgstr ""
 
-#: config/msp430/msp430.cc:2747 config/pru/pru.cc:2936
+#: config/msp430/msp430.cc:2747 config/pru/pru.cc:2955
 #, gcc-internal-format
 msgid "%<__delay_cycles%> only takes constant arguments"
 msgstr ""
 
-#: config/msp430/msp430.cc:2757 config/pru/pru.cc:2945
+#: config/msp430/msp430.cc:2757 config/pru/pru.cc:2964
 #, gcc-internal-format
 msgid "%<__delay_cycles%> only takes non-negative cycle counts"
 msgstr ""
 
-#: config/msp430/msp430.cc:2778 config/pru/pru.cc:2958
+#: config/msp430/msp430.cc:2778 config/pru/pru.cc:2977
 #, gcc-internal-format
 msgid "%<__delay_cycles%> is limited to 32-bit loop counts"
 msgstr ""
@@ -42357,13 +43282,13 @@ msgstr ""
 msgid "MSP430 built-in functions only work inside interrupt handlers"
 msgstr ""
 
-#: config/msp430/msp430.cc:2861 config/pru/pru.cc:3029 config/rx/rx.cc:2666
-#: config/xtensa/xtensa.cc:3496 config/xtensa/xtensa.cc:3522
+#: config/msp430/msp430.cc:2861 config/pru/pru.cc:3048 config/rx/rx.cc:2666
+#: config/xtensa/xtensa.cc:4034 config/xtensa/xtensa.cc:4060
 #, gcc-internal-format
 msgid "bad builtin code"
 msgstr ""
 
-#: config/nds32/nds32-intrinsic.cc:126 config/nios2/nios2.cc:3834
+#: config/nds32/nds32-intrinsic.cc:126 config/nios2/nios2.cc:3838
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid argument to built-in function %s"
 msgstr ""
@@ -42454,69 +43379,69 @@ msgid "cannot use reset attributes to function %qD under linux toolchain"
 msgstr ""
 
 #. Trampoline is not supported on reduced-set registers yet.
-#: config/nds32/nds32.cc:2407 config/nds32/nds32.cc:2461
-#: config/nds32/nds32.cc:3572 config/nds32/nds32.cc:3669
-#: config/nds32/nds32.cc:3684 config/nds32/nds32.cc:3690
-#: config/nds32/nds32.cc:3766 config/nds32/nds32.cc:3772
-#: config/nds32/nds32.cc:3804
+#: config/nds32/nds32.cc:2410 config/nds32/nds32.cc:2464
+#: config/nds32/nds32.cc:3575 config/nds32/nds32.cc:3672
+#: config/nds32/nds32.cc:3687 config/nds32/nds32.cc:3693
+#: config/nds32/nds32.cc:3769 config/nds32/nds32.cc:3775
+#: config/nds32/nds32.cc:3807
 #, gcc-internal-format
 msgid "a nested function is not supported for reduced registers"
 msgstr ""
 
 #. The enum index value for array size is out of range.
-#: config/nds32/nds32.cc:3463
+#: config/nds32/nds32.cc:3466
 #, gcc-internal-format
 msgid "intrinsic register index is out of range"
 msgstr ""
 
-#: config/nds32/nds32.cc:3479 config/nds32/nds32.cc:3486
-#: config/nds32/nds32.cc:3493 config/nds32/nds32.cc:3500
-#: config/nds32/nds32.cc:3507
+#: config/nds32/nds32.cc:3482 config/nds32/nds32.cc:3489
+#: config/nds32/nds32.cc:3496 config/nds32/nds32.cc:3503
+#: config/nds32/nds32.cc:3510
 #, gcc-internal-format
 msgid "CCTL intrinsic function subtype out of range"
 msgstr ""
 
-#: config/nds32/nds32.cc:3944
+#: config/nds32/nds32.cc:3947
 #, gcc-internal-format
 msgid "cannot use %<indirect_call%> attribute under linux toolchain"
 msgstr ""
 
-#: config/nds32/nds32.cc:3952
+#: config/nds32/nds32.cc:3955
 #, gcc-internal-format
 msgid "%<indirect_call%> attribute cannot apply for static function"
 msgstr ""
 
-#: config/nds32/nds32.cc:4041
+#: config/nds32/nds32.cc:4044
 #, gcc-internal-format
 msgid "invalid id value for interrupt/exception attribute"
 msgstr ""
 
-#: config/nds32/nds32.cc:4069
+#: config/nds32/nds32.cc:4072
 #, gcc-internal-format
 msgid "invalid id value for reset attribute"
 msgstr ""
 
-#: config/nds32/nds32.cc:4085
+#: config/nds32/nds32.cc:4088
 #, gcc-internal-format
 msgid "invalid nmi function for reset attribute"
 msgstr ""
 
-#: config/nds32/nds32.cc:4098
+#: config/nds32/nds32.cc:4101
 #, gcc-internal-format
 msgid "invalid warm function for reset attribute"
 msgstr ""
 
-#: config/nds32/nds32.cc:4149
+#: config/nds32/nds32.cc:4152
 #, gcc-internal-format
 msgid "not support %<-fpic%> option for v3m toolchain"
 msgstr ""
 
-#: config/nds32/nds32.cc:4182
+#: config/nds32/nds32.cc:4185
 #, gcc-internal-format
 msgid "Disable FPU ISA, the ABI option must be enable %<-mfloat-abi=soft%>"
 msgstr ""
 
-#: config/nds32/nds32.cc:4185
+#: config/nds32/nds32.cc:4188
 #, gcc-internal-format
 msgid ""
 "%<-mabi=2fp+%> option only support when FPU available, must be enable %<-"
@@ -42600,180 +43525,203 @@ msgstr ""
 msgid "R2 architecture is little-endian only"
 msgstr ""
 
-#: config/nios2/nios2.cc:3579
+#: config/nios2/nios2.cc:3583
 #, gcc-internal-format
 msgid ""
 "cannot call %<__builtin_custom_%s%> without specifying switch %<-mcustom-%s%>"
 msgstr ""
 
-#: config/nios2/nios2.cc:3688
+#: config/nios2/nios2.cc:3692
 #, 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:3893
+#: config/nios2/nios2.cc:3897
 #, gcc-internal-format, gfc-internal-format
 msgid "control register number must be in range 0-31 for %s"
 msgstr ""
 
-#: config/nios2/nios2.cc:3921
+#: config/nios2/nios2.cc:3925
 #, gcc-internal-format, gfc-internal-format
 msgid "register number must be in range 0-31 for %s"
 msgstr ""
 
-#: config/nios2/nios2.cc:3928
+#: config/nios2/nios2.cc:3932
 #, gcc-internal-format, gfc-internal-format
 msgid "immediate value must fit into a %d-bit integer for %s"
 msgstr ""
 
-#: config/nios2/nios2.cc:3978
+#: config/nios2/nios2.cc:3982
 #, gcc-internal-format
 msgid "the ENI instruction operand must be either 0 or 1"
 msgstr ""
 
-#: config/nios2/nios2.cc:4006
+#: config/nios2/nios2.cc:4010
 #, gcc-internal-format, gfc-internal-format
 msgid "built-in function %s requires Nios II R%d"
 msgstr ""
 
-#: config/nios2/nios2.cc:4086
+#: config/nios2/nios2.cc:4090
 #, gcc-internal-format
 msgid "switch %<-mcustom-%s%> conflicts with switch %<-mcustom-%s%>"
 msgstr ""
 
-#: config/nios2/nios2.cc:4093 config/nios2/nios2.cc:4104
+#: config/nios2/nios2.cc:4097 config/nios2/nios2.cc:4108
 #, gcc-internal-format
 msgid "call to %<__builtin_custom_%s%> conflicts with switch %<-mcustom-%s%>"
 msgstr ""
 
-#: config/nios2/nios2.cc:4247
+#: config/nios2/nios2.cc:4251
 #, gcc-internal-format
 msgid "%<custom-fpu-cfg%> option does not support %<no-%>"
 msgstr ""
 
-#: config/nios2/nios2.cc:4252
+#: config/nios2/nios2.cc:4256
 #, gcc-internal-format
 msgid "%<custom-fpu-cfg%> option requires configuration argument"
 msgstr ""
 
-#: config/nios2/nios2.cc:4280
+#: config/nios2/nios2.cc:4284
 #, gcc-internal-format
 msgid "%<no-custom-%s%> does not accept arguments"
 msgstr ""
 
-#: config/nios2/nios2.cc:4295
+#: config/nios2/nios2.cc:4299
 #, gcc-internal-format
 msgid "%<custom-%s=%> requires argument"
 msgstr ""
 
-#: config/nios2/nios2.cc:4305
+#: config/nios2/nios2.cc:4309
 #, gcc-internal-format
 msgid "%<custom-%s=%> argument should be a non-negative integer"
 msgstr ""
 
-#: config/nios2/nios2.cc:4317
+#: config/nios2/nios2.cc:4321
 #, gcc-internal-format
 msgid "%<custom-%s=%> is not recognized as FPU instruction"
 msgstr ""
 
-#: config/nios2/nios2.cc:4324
+#: config/nios2/nios2.cc:4328
 #, gcc-internal-format
 msgid "invalid custom instruction option %qs"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:110
+#: config/nvptx/mkoffload.cc:117
 #, gcc-internal-format
 msgid "malformed ptx file"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:470
+#: config/nvptx/mkoffload.cc:329
+#, gcc-internal-format
+msgid ""
+"%<omp requires reverse_offload%> requires at least %<sm_35%> for %<-foffload-"
+"options=nvptx-none=-march=%> - disabling offload-code generation for this "
+"device type"
+msgstr ""
+
+#: config/nvptx/mkoffload.cc:399
+#, gcc-internal-format
+msgid "Cannot find function declaration for %qs"
+msgstr ""
+
+#: config/nvptx/mkoffload.cc:597
 #, gcc-internal-format
 msgid "offload compiler %s not found (consider using %<-B%>)"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:513
+#: config/nvptx/mkoffload.cc:640
 #, gcc-internal-format
 msgid "either %<-fopenacc%> or %<-fopenmp%> must be set"
 msgstr ""
 
-#: config/nvptx/mkoffload.cc:596
+#: config/nvptx/mkoffload.cc:740
 #, gcc-internal-format
 msgid "cannot open intermediate ptx file"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:207
+#: config/nvptx/nvptx.cc:206
 #, gcc-internal-format
 msgid "option %s is not supported together with %<-fopenacc%>"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:326
+#: config/nvptx/nvptx.cc:325
 #, gcc-internal-format
 msgid ""
-"PTX version (%<-mptx%>) needs to be at least %s to support selected %<-misa"
-"%> (sm_%s)"
+"PTX version (%<-mptx%>) needs to be at least %s to support selected %<-"
+"misa%> (sm_%s)"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:359
+#: config/nvptx/nvptx.cc:362
 #, gcc-internal-format
 msgid "not generating patch area, nops not supported"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:458
+#: config/nvptx/nvptx.cc:461
 #, gcc-internal-format
 msgid ""
 "static initialization of variable %q+D in %<.shared%> memory is not supported"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:2330
+#: config/nvptx/nvptx.cc:2339
 #, gcc-internal-format
 msgid "cannot emit unaligned pointers in ptx assembly"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:2555
+#: config/nvptx/nvptx.cc:2564
 #, gcc-internal-format
 msgid "PTX does not support weak declarations (only weak definitions)"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:5790
+#: config/nvptx/nvptx.cc:5805
 #, gcc-internal-format
 msgid "%qE attribute requires a void return type"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:5813
+#: config/nvptx/nvptx.cc:5828
 #, gcc-internal-format
 msgid "%qE attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6433
+#: config/nvptx/nvptx.cc:6196
+#, gcc-internal-format
+msgid "barrier value must be within [0,15]"
+msgstr ""
+
+#: config/nvptx/nvptx.cc:6209
+#, gcc-internal-format
+msgid "complement argument must be constant"
+msgstr ""
+
+#: config/nvptx/nvptx.cc:6541
 #, gcc-internal-format
 msgid ""
 "using %<vector_length (%d)%> due to call to vector-partitionable routine, "
 "ignoring %d"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6441
+#: config/nvptx/nvptx.cc:6549
 #, gcc-internal-format
 msgid "using %<vector_length (%d)%>, ignoring runtime setting"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:6455
+#: config/nvptx/nvptx.cc:6563
 #, gcc-internal-format
 msgid "using %<vector_length (%d)%>, ignoring %d"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:7341
+#: config/nvptx/nvptx.cc:7449
 #, gcc-internal-format
 msgid "variable %qD adjusted for OpenACC privatization level: %qs"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:7455
+#: config/nvptx/nvptx.cc:7563
 #, gcc-internal-format
 msgid "weak alias definitions not supported in this configuration"
 msgstr ""
 
-#: config/nvptx/nvptx.cc:7468
+#: config/nvptx/nvptx.cc:7576
 #, gcc-internal-format
 msgid "non-function alias definitions not supported in this configuration"
 msgstr ""
@@ -42837,109 +43785,191 @@ msgstr ""
 msgid "malformed %<#pragma CTABLE_ENTRY%> variable address"
 msgstr ""
 
-#: config/pru/pru.cc:2115
+#: config/pru/pru.cc:2134
 #, gcc-internal-format
 msgid "aggregate types are prohibited in %<__regio_symbol%> address space"
 msgstr ""
 
-#: config/pru/pru.cc:2122
+#: config/pru/pru.cc:2141
 #, gcc-internal-format
 msgid "variables in %<__regio_symbol%> address space cannot have initial value"
 msgstr ""
 
-#: config/pru/pru.cc:2125
+#: config/pru/pru.cc:2144
 #, gcc-internal-format
 msgid ""
 "variables in %<__regio_symbol%> address space cannot be declared %<register%>"
 msgstr ""
 
-#: config/pru/pru.cc:2128
+#: config/pru/pru.cc:2147
 #, gcc-internal-format
 msgid ""
 "variables in %<__regio_symbol%> address space must be declared %<volatile%>"
 msgstr ""
 
-#: config/pru/pru.cc:2131
+#: config/pru/pru.cc:2150
 #, gcc-internal-format
 msgid ""
 "variables in %<__regio_symbol%> address space must be declared %<extern%>"
 msgstr ""
 
-#: config/pru/pru.cc:2134
+#: config/pru/pru.cc:2153
 #, gcc-internal-format
 msgid "only 32-bit access is supported for %<__regio_symbol%> address space"
 msgstr ""
 
-#: config/pru/pru.cc:2137
+#: config/pru/pru.cc:2156
 #, gcc-internal-format
 msgid "register name %<%s%> not recognized in %<__regio_symbol%> address space"
 msgstr ""
 
-#: config/pru/pru.cc:2162
+#: config/pru/pru.cc:2181
 #, gcc-internal-format
 msgid "pointers to %<__regio_symbol%> address space are prohibited"
 msgstr ""
 
-#: config/riscv/riscv.cc:391
+#: config/riscv/riscv-c.cc:166
+#, gcc-internal-format
+msgid "%<#pragma riscv intrinsic%> requires a string parameter"
+msgstr ""
+
+#: config/riscv/riscv-c.cc:176
+#, gcc-internal-format
+msgid "%<#pragma riscv intrinsic%> option %qs needs 'V' extension enabled"
+msgstr ""
+
+#: config/riscv/riscv-c.cc:184
+#, gcc-internal-format
+msgid "unknown %<#pragma riscv intrinsic%> option %qs"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:1398
+#, gcc-internal-format
+msgid "RVV type %qT does not have a fixed size"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:1404
+#, gcc-internal-format
+msgid "RVV type %qT does not have a defined alignment"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:1419
+#, gcc-internal-format
+msgid "arithmetic on pointer to RVV type %qT"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:1427
+#, gcc-internal-format
+msgid "member variables cannot have RVV type %qT"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:1429
+#, gcc-internal-format
+msgid "fields cannot have RVV type %qT"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:1435
+#, gcc-internal-format
+msgid "array elements cannot have RVV type %qT"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:1441
+#, gcc-internal-format
+msgid "cannot allocate objects with RVV type %qT"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:1447
+#, gcc-internal-format
+msgid "cannot delete objects with RVV type %qT"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:1453
+#, gcc-internal-format
+msgid "cannot throw or catch RVV type %qT"
+msgstr ""
+
+#: config/riscv/riscv-vector-builtins.cc:1459
+#, gcc-internal-format
+msgid "capture by copy of RVV type %qT"
+msgstr ""
+
+#: config/riscv/riscv.cc:450
 #, gcc-internal-format
 msgid "unknown cpu %qs for %<-mtune%>"
 msgstr ""
 
-#: config/riscv/riscv.cc:2921 config/riscv/riscv.cc:2963
+#: config/riscv/riscv.cc:1766
+#, gcc-internal-format
+msgid "this operation requires the RVV ISA extension"
+msgstr ""
+
+#: config/riscv/riscv.cc:1767
+#, 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:3501 config/riscv/riscv.cc:3543
 #, gcc-internal-format
 msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10"
 msgstr ""
 
-#: config/riscv/riscv.cc:3312
+#: config/riscv/riscv.cc:3893
 #, gcc-internal-format
 msgid ""
-"argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<"
-"\"machine\"%>"
+"argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or "
+"%<\"machine\"%>"
 msgstr ""
 
-#: config/riscv/riscv.cc:4980
+#: config/riscv/riscv.cc:6034
 #, gcc-internal-format
 msgid "%<-mdiv%> requires %<-march%> to subsume the %<M%> extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:5023
+#: config/riscv/riscv.cc:6077
 #, gcc-internal-format
 msgid "requested ABI requires %<-march%> to subsume the %qc extension"
 msgstr ""
 
-#: config/riscv/riscv.cc:5027
+#: config/riscv/riscv.cc:6081
 #, gcc-internal-format
 msgid "rv32e requires ilp32e ABI"
 msgstr ""
 
-#: config/riscv/riscv.cc:5031
+#: config/riscv/riscv.cc:6086
+#, gcc-internal-format
+msgid "z*inx requires ABI ilp32, ilp32e or lp64"
+msgstr ""
+
+#: config/riscv/riscv.cc:6090
 #, gcc-internal-format
 msgid "ABI requires %<-march=rv%d%>"
 msgstr ""
 
-#: config/riscv/riscv.cc:5041
+#: config/riscv/riscv.cc:6100
 #, gcc-internal-format
 msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d"
 msgstr ""
 
-#: config/riscv/riscv.cc:5054
+#: config/riscv/riscv.cc:6113
 #, gcc-internal-format
 msgid ""
 "%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-"
 "attribute%>]"
 msgstr ""
 
-#: config/riscv/riscv.cc:5081 config/rs6000/rs6000.cc:4581
+#: config/riscv/riscv.cc:6140 config/rs6000/rs6000.cc:4540
 #, gcc-internal-format
 msgid "%qs is not a valid base register in %qs"
 msgstr ""
 
-#: config/riscv/riscv.cc:5095 config/rs6000/rs6000.cc:4564
+#: config/riscv/riscv.cc:6154 config/rs6000/rs6000.cc:4523
 #, gcc-internal-format
 msgid "%qs is not a valid number in %qs"
 msgstr ""
 
-#: config/riscv/riscv.cc:5396
+#: config/riscv/riscv.cc:6466
 #, gcc-internal-format
 msgid "%qs function cannot have different interrupt type"
 msgstr ""
@@ -43025,119 +44055,124 @@ msgstr ""
 msgid "While setting up signal handler: %m"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:80 config/rs6000/rs6000-builtin.cc:83
-#: config/rs6000/rs6000-builtin.cc:90 config/rs6000/rs6000-builtin.cc:93
-#: config/rs6000/rs6000-builtin.cc:96 config/rs6000/rs6000-builtin.cc:99
-#: config/rs6000/rs6000-builtin.cc:106 config/rs6000/rs6000-builtin.cc:113
-#: config/rs6000/rs6000-builtin.cc:127 config/rs6000/rs6000-builtin.cc:130
-#: config/rs6000/rs6000-builtin.cc:133 config/rs6000/rs6000-builtin.cc:136
-#: config/rs6000/rs6000-builtin.cc:143
+#: config/rs6000/rs6000-builtin.cc:77 config/rs6000/rs6000-builtin.cc:80
+#: config/rs6000/rs6000-builtin.cc:87 config/rs6000/rs6000-builtin.cc:90
+#: config/rs6000/rs6000-builtin.cc:93 config/rs6000/rs6000-builtin.cc:96
+#: config/rs6000/rs6000-builtin.cc:103 config/rs6000/rs6000-builtin.cc:110
+#: config/rs6000/rs6000-builtin.cc:124 config/rs6000/rs6000-builtin.cc:127
+#: config/rs6000/rs6000-builtin.cc:130 config/rs6000/rs6000-builtin.cc:133
+#: config/rs6000/rs6000-builtin.cc:140
 #, gcc-internal-format
 msgid "%qs requires the %qs option"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:86 config/rs6000/rs6000-builtin.cc:102
-#: config/rs6000/rs6000-builtin.cc:116 config/rs6000/rs6000-builtin.cc:139
+#: config/rs6000/rs6000-builtin.cc:83 config/rs6000/rs6000-builtin.cc:99
+#: config/rs6000/rs6000-builtin.cc:113 config/rs6000/rs6000-builtin.cc:136
 #, gcc-internal-format
 msgid "%qs requires the %qs option and either the %qs or %qs option"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:109 config/rs6000/rs6000-builtin.cc:120
+#: config/rs6000/rs6000-builtin.cc:106 config/rs6000/rs6000-builtin.cc:117
 #, gcc-internal-format
 msgid "%qs requires the %qs and %qs options"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:124
+#: config/rs6000/rs6000-builtin.cc:121
 #, gcc-internal-format
 msgid "%qs requires quad-precision floating-point arithmetic"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:2279
+#: config/rs6000/rs6000-builtin.cc:2260
 #, gcc-internal-format
 msgid "argument 1 of %qs must be a constant"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:2337
+#: config/rs6000/rs6000-builtin.cc:2318
 #, gcc-internal-format
 msgid "argument 1 of %qs is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:2609
+#: config/rs6000/rs6000-builtin.cc:2590
 #, gcc-internal-format
 msgid "builtin %qs only accepts a string argument"
 msgstr ""
 
 #. Invalid CPU argument.
-#: config/rs6000/rs6000-builtin.cc:2628
+#: config/rs6000/rs6000-builtin.cc:2609
 #, gcc-internal-format
 msgid "cpu %qs is an invalid argument to builtin %qs"
 msgstr ""
 
 #. Invalid HWCAP argument.
-#: config/rs6000/rs6000-builtin.cc:2656
+#: config/rs6000/rs6000-builtin.cc:2637
 #, gcc-internal-format
 msgid "%s %qs is an invalid argument to builtin %qs"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:2685
+#: config/rs6000/rs6000-builtin.cc:2666
 #, gcc-internal-format
 msgid ""
 "builtin %qs needs GLIBC (2.23 and newer) that exports hardware capability "
 "bits"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3032 config/rs6000/rs6000-builtin.cc:3186
+#: config/rs6000/rs6000-builtin.cc:3013 config/rs6000/rs6000-builtin.cc:3167
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be an unsigned literal"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3034 config/rs6000/rs6000-builtin.cc:3188
+#: config/rs6000/rs6000-builtin.cc:3015 config/rs6000/rs6000-builtin.cc:3169
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d is an unsigned literal that is out of range"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3139
+#: config/rs6000/rs6000-builtin.cc:3120
 #, gcc-internal-format
 msgid "builtin %qs is only valid in 64-bit mode"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3409
+#: config/rs6000/rs6000-builtin.cc:3283
+#, gcc-internal-format
+msgid "unresolved overload for builtin %qF"
+msgstr ""
+
+#: config/rs6000/rs6000-builtin.cc:3377
 #, gcc-internal-format
 msgid "%qs not supported with %<-msoft-float%>"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3416
+#: config/rs6000/rs6000-builtin.cc:3384
 #, gcc-internal-format
 msgid "%qs is not supported in 32-bit mode"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3422
+#: config/rs6000/rs6000-builtin.cc:3390
 #, gcc-internal-format
 msgid "%qs requires %<long double%> to be IBM 128-bit format"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3429
+#: config/rs6000/rs6000-builtin.cc:3397
 #, gcc-internal-format
 msgid "%qs requires %<__ibm128%> type support"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3584
+#: config/rs6000/rs6000-builtin.cc:3552
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be a literal between 0 and %d, inclusive"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3600
+#: config/rs6000/rs6000-builtin.cc:3568
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be a literal between %d and %d, inclusive"
 msgstr ""
 
-#: config/rs6000/rs6000-builtin.cc:3617
+#: config/rs6000/rs6000-builtin.cc:3585
 #, 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:3633
+#: config/rs6000/rs6000-builtin.cc:3601
 #, gcc-internal-format, gfc-internal-format
 msgid "argument %d must be either a literal %d or a literal %d"
 msgstr ""
@@ -43172,95 +44207,95 @@ msgstr ""
 msgid "junk at end of %<#pragma longcall%>"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1249 config/rs6000/rs6000-c.cc:1650
+#: config/rs6000/rs6000-c.cc:1244 config/rs6000/rs6000-c.cc:1645
 #, gcc-internal-format
 msgid "builtin %qs only accepts 1 argument"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1256 config/rs6000/rs6000-c.cc:1342
+#: config/rs6000/rs6000-c.cc:1251 config/rs6000/rs6000-c.cc:1337
 #, gcc-internal-format
 msgid "builtin %qs only accepts 2 arguments"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1520
+#: config/rs6000/rs6000-c.cc:1515
 #, gcc-internal-format
 msgid "builtin %qs only accepts 3 arguments"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1735
+#: config/rs6000/rs6000-c.cc:1730
 #, gcc-internal-format
 msgid ""
 "%<vec_lvsl%> is deprecated for little endian; use assignment for unaligned "
 "loads and stores"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1739
+#: config/rs6000/rs6000-c.cc:1734
 #, gcc-internal-format
 msgid ""
 "%<vec_lvsr%> is deprecated for little endian; use assignment for unaligned "
 "loads and stores"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1795
+#: config/rs6000/rs6000-c.cc:1820
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE discards %qs qualifier from pointer target type"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:1881 config/rs6000/rs6000-c.cc:2037
+#: config/rs6000/rs6000-c.cc:1876 config/rs6000/rs6000-c.cc:2032
 #, gcc-internal-format
 msgid "invalid parameter combination for AltiVec intrinsic %qs"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:2026
+#: config/rs6000/rs6000-c.cc:2021
 #, gcc-internal-format
 msgid "overloaded builtin %qs is implemented by builtin %qs"
 msgstr ""
 
-#: config/rs6000/rs6000-c.cc:2030
+#: config/rs6000/rs6000-c.cc:2025
 #, gcc-internal-format
 msgid "%qs is not supported in this compiler configuration"
 msgstr ""
 
-#: config/rs6000/rs6000-call.cc:387
+#: config/rs6000/rs6000-call.cc:379
 #, gcc-internal-format
 msgid ""
 "ELFv2 parameter passing for an argument containing zero-width bit fields but "
 "that is otherwise a homogeneous aggregate was corrected in GCC 12"
 msgstr ""
 
-#: config/rs6000/rs6000-call.cc:455
+#: config/rs6000/rs6000-call.cc:447
 #, gcc-internal-format
 msgid "invalid use of MMA type %qs as a function return value"
 msgstr ""
 
-#: config/rs6000/rs6000-call.cc:507
+#: config/rs6000/rs6000-call.cc:499
 #, gcc-internal-format
 msgid ""
 "GCC vector returned by reference: non-standard ABI extension with no "
 "compatibility guarantee"
 msgstr ""
 
-#: config/rs6000/rs6000-call.cc:691
+#: config/rs6000/rs6000-call.cc:683
 #, gcc-internal-format
 msgid ""
 "cannot return value in vector register because altivec instructions are "
 "disabled, use %qs to enable them"
 msgstr ""
 
-#: config/rs6000/rs6000-call.cc:1115
+#: config/rs6000/rs6000-call.cc:1113
 #, gcc-internal-format
 msgid ""
 "cannot pass argument in vector register because altivec instructions are "
 "disabled, use %qs to enable them"
 msgstr ""
 
-#: config/rs6000/rs6000-call.cc:1641
+#: config/rs6000/rs6000-call.cc:1639
 #, gcc-internal-format
 msgid "invalid use of MMA operand of type %qs as a function parameter"
 msgstr ""
 
-#: config/rs6000/rs6000-call.cc:2030
+#: config/rs6000/rs6000-call.cc:2028
 #, gcc-internal-format
 msgid ""
 "GCC vector passed by reference: non-standard ABI extension with no "
@@ -43269,65 +44304,70 @@ msgstr ""
 
 #. We can't check this in rs6000_option_override_internal since
 #. DEFAULT_ABI isn't established yet.
-#: config/rs6000/rs6000-logue.cc:732
+#: config/rs6000/rs6000-logue.cc:728
 #, gcc-internal-format
 msgid "%qs requires the ELFv2 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000-logue.cc:1719
+#: config/rs6000/rs6000-logue.cc:1715
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr ""
 
-#: config/rs6000/rs6000-logue.cc:5559
+#: config/rs6000/rs6000-logue.cc:4032
+#, gcc-internal-format, gfc-internal-format
+msgid "unsupported number of nops before function entry (%u)"
+msgstr ""
+
+#: config/rs6000/rs6000-logue.cc:5580
 #, gcc-internal-format
 msgid "%qs uses register r29"
 msgstr ""
 
-#: config/rs6000/rs6000-logue.cc:5567
+#: config/rs6000/rs6000-logue.cc:5588
 #, gcc-internal-format
 msgid "Stack frame larger than 2G is not supported for %<-fsplit-stack%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3230 config/rs6000/rs6000.cc:3233
-#: config/rs6000/rs6000.cc:3236
+#: config/rs6000/rs6000.cc:3212 config/rs6000/rs6000.cc:3215
+#: config/rs6000/rs6000.cc:3218
 #, gcc-internal-format
 msgid "%qs requires %qs or %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3337
+#: config/rs6000/rs6000.cc:3319
 #, gcc-internal-format
 msgid "%qs requires PowerPC64 architecture, enabling"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3487
+#: config/rs6000/rs6000.cc:3434
 #, gcc-internal-format
 msgid "%<-mcall-aixdesc%> incompatible with %<-mabi=elfv2%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3536
+#: config/rs6000/rs6000.cc:3483
 #, gcc-internal-format
 msgid "%qs unsupported for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3669
+#: config/rs6000/rs6000.cc:3611
 #, 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:3808
+#: config/rs6000/rs6000.cc:3769
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3825
+#: config/rs6000/rs6000.cc:3786
 #, gcc-internal-format
 msgid "%qs is not supported on little endian systems"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:3907
+#: config/rs6000/rs6000.cc:3868
 #, gcc-internal-format
 msgid ""
 "power9 target option is incompatible with %<%s=<xxx>%> for <xxx> less than "
@@ -43336,185 +44376,195 @@ msgstr ""
 
 #. Enforce that none of the ISA_3_0_MASKS_SERVER flags
 #. were explicitly cleared.
-#: config/rs6000/rs6000.cc:3915
+#: config/rs6000/rs6000.cc:3876
 #, gcc-internal-format
 msgid "%qs incompatible with explicitly disabled options"
 msgstr ""
 
 #. TARGET_VSX = 1 implies Power 7 and newer
-#: config/rs6000/rs6000.cc:3949 config/rs6000/rs6000.cc:3957
-#: config/rs6000/rs6000.cc:3964 config/rs6000/rs6000.cc:3971
-#: config/rs6000/rs6000.cc:3979 config/rs6000/rs6000.cc:3998
-#: config/rs6000/rs6000.cc:4060 config/rs6000/rs6000.cc:4087
-#: config/rs6000/rs6000.cc:4114 config/rs6000/rs6000.cc:4129
-#: config/rs6000/rs6000.cc:4137 config/rs6000/rs6000.cc:4269
-#: config/rs6000/rs6000.cc:4282 config/rs6000/rs6000.cc:4291
-#: config/rs6000/rs6000.cc:4429 config/rs6000/rs6000.cc:4446
-#: config/rs6000/rs6000.cc:4457
+#: config/rs6000/rs6000.cc:3910 config/rs6000/rs6000.cc:3918
+#: config/rs6000/rs6000.cc:3925 config/rs6000/rs6000.cc:3932
+#: config/rs6000/rs6000.cc:3940 config/rs6000/rs6000.cc:3959
+#: config/rs6000/rs6000.cc:4021 config/rs6000/rs6000.cc:4048
+#: config/rs6000/rs6000.cc:4075 config/rs6000/rs6000.cc:4090
+#: config/rs6000/rs6000.cc:4098 config/rs6000/rs6000.cc:4222
+#: config/rs6000/rs6000.cc:4235 config/rs6000/rs6000.cc:4244
+#: config/rs6000/rs6000.cc:4382 config/rs6000/rs6000.cc:4395
+#: config/rs6000/rs6000.cc:4416
 #, gcc-internal-format
 msgid "%qs requires %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4173
+#: config/rs6000/rs6000.cc:4126
 #, gcc-internal-format
 msgid "target attribute or pragma changes %<long double%> size"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4194
+#: config/rs6000/rs6000.cc:4147
 #, gcc-internal-format
 msgid "%qs requires full ISA 2.06 support"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4207
+#: config/rs6000/rs6000.cc:4160
 #, gcc-internal-format
 msgid "Using IEEE extended precision %<long double%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4210
+#: config/rs6000/rs6000.cc:4163
 #, gcc-internal-format
 msgid "Using IBM extended precision %<long double%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4229
+#: config/rs6000/rs6000.cc:4182
 #, gcc-internal-format
 msgid "%qs requires VSX support"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4238
+#: config/rs6000/rs6000.cc:4191
 #, gcc-internal-format
 msgid "The %<-mfloat128%> option may not be fully supported"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4261
+#: config/rs6000/rs6000.cc:4214
 #, gcc-internal-format
 msgid "%qs requires full ISA 3.0 support"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4348
+#: config/rs6000/rs6000.cc:4301
 #, gcc-internal-format
 msgid "unknown vectorization library ABI type in %<-mveclibabi=%s%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4361 config/rs6000/rs6000.cc:4376
+#: config/rs6000/rs6000.cc:4314 config/rs6000/rs6000.cc:4329
 #, gcc-internal-format
 msgid "target attribute or pragma changes AltiVec ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4389
+#: config/rs6000/rs6000.cc:4342
 #, gcc-internal-format
 msgid "target attribute or pragma changes darwin64 ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4589
+#: config/rs6000/rs6000.cc:4548
 #, gcc-internal-format
 msgid "%qs needs a valid base register"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4886
+#: config/rs6000/rs6000.cc:4845
 #, gcc-internal-format
 msgid "unknown option for %<%s=%s%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:4923
+#: config/rs6000/rs6000.cc:4874
 #, gcc-internal-format
 msgid "%qs is deprecated and not recommended in any circumstances"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:10793
+#: config/rs6000/rs6000.cc:10904
 #, gcc-internal-format
 msgid "%qs is an opaque type, and you cannot set it to other values"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:17602
+#: config/rs6000/rs6000.cc:17774
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:19998
+#: config/rs6000/rs6000.cc:20170
 #, gcc-internal-format
 msgid ""
 "you cannot take the address of a nested function if you use the %qs option"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20080
+#: config/rs6000/rs6000.cc:20252
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20082
+#: config/rs6000/rs6000.cc:20254
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20084
+#: config/rs6000/rs6000.cc:20256
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20086
+#: config/rs6000/rs6000.cc:20258
 #, gcc-internal-format
 msgid "use of decimal floating-point types in AltiVec types is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20092
+#: config/rs6000/rs6000.cc:20264
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20095
+#: config/rs6000/rs6000.cc:20267
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20100
+#: config/rs6000/rs6000.cc:20272
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid without %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:20103
+#: config/rs6000/rs6000.cc:20275
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid without %qs"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24251
+#: config/rs6000/rs6000.cc:24413
 #, gcc-internal-format
 msgid "invalid cpu %qs for %s%qs%s"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24254
+#: config/rs6000/rs6000.cc:24416
 #, gcc-internal-format
 msgid "%s%qs%s is not allowed"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24256
+#: config/rs6000/rs6000.cc:24418
 #, gcc-internal-format
 msgid "%s%qs%s is invalid"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24800
+#: config/rs6000/rs6000.cc:24947
 #, gcc-internal-format
 msgid "%<-mno-%s%> turns off %<-m%s%>"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:24959
+#: config/rs6000/rs6000.cc:25106
 #, gcc-internal-format
 msgid ""
 "%<target_clones%> attribute needs GLIBC (2.23 and newer) that exports "
 "hardware capability bits"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:25247
+#: config/rs6000/rs6000.cc:25395
 #, gcc-internal-format
 msgid "Virtual function multiversioning not supported"
 msgstr ""
 
-#: config/rs6000/rs6000.cc:28338
+#: config/rs6000/rs6000.cc:28469
 #, gcc-internal-format
 msgid ""
 "the result for the xxspltidp instruction is undefined for subnormal input "
 "values"
 msgstr ""
 
+#: config/rs6000/rs6000.cc:28948
+#, gcc-internal-format
+msgid "type %<__vector_quad%> requires the %qs option"
+msgstr ""
+
+#: config/rs6000/rs6000.cc:28953
+#, gcc-internal-format
+msgid "type %<__vector_pair%> requires the %qs option"
+msgstr ""
+
 #: config/rx/rx.cc:651
 #, gcc-internal-format
 msgid "unrecognized control register number: %d - using %<psw%>"
@@ -43556,7 +44606,7 @@ msgstr ""
 msgid "builtin %qs can only be used on vector types"
 msgstr ""
 
-#: config/s390/s390-c.cc:717 config/s390/s390.cc:916
+#: config/s390/s390-c.cc:717 config/s390/s390.cc:989
 #, gcc-internal-format
 msgid "constant value required for builtin %qF argument %d"
 msgstr ""
@@ -43628,84 +44678,83 @@ msgstr ""
 msgid "constant argument %d for builtin %qF is out of range for target type"
 msgstr ""
 
-#: config/s390/s390.cc:765
+#: config/s390/s390.cc:838
 #, gcc-internal-format
 msgid "constant argument %d for builtin %qF is invalid (%s)"
 msgstr ""
 
-#: config/s390/s390.cc:769
+#: config/s390/s390.cc:842
 #, gcc-internal-format
 msgid "constant argument %d for builtin %qF is out of range (0-%wu)"
 msgstr ""
 
-#: config/s390/s390.cc:785
+#: config/s390/s390.cc:858
 #, gcc-internal-format
 msgid "constant argument %d for builtin %qF is out of range (%wd-%wd)"
 msgstr ""
 
-#: config/s390/s390.cc:834
+#: config/s390/s390.cc:907
 #, gcc-internal-format
 msgid ""
 "builtin %qF is not supported without %<-mhtm%> (default with %<-"
 "march=zEC12%> and higher)"
 msgstr ""
 
-#: config/s390/s390.cc:840
+#: config/s390/s390.cc:913
 #, gcc-internal-format
 msgid "builtin %qF requires %<-mvx%> (default with %<-march=z13%> and higher)"
 msgstr ""
 
-#: config/s390/s390.cc:847
+#: config/s390/s390.cc:920
 #, gcc-internal-format
 msgid "Builtin %qF requires z14 or higher"
 msgstr ""
 
-#: config/s390/s390.cc:853
+#: config/s390/s390.cc:926
 #, gcc-internal-format
 msgid "Builtin %qF requires z15 or higher"
 msgstr ""
 
-#: config/s390/s390.cc:872
+#: config/s390/s390.cc:945
 #, gcc-internal-format
 msgid "unresolved overloaded builtin"
 msgstr ""
 
-#: config/s390/s390.cc:879 config/tilegx/tilegx.cc:3540
-#: config/tilepro/tilepro.cc:3103
+#: config/s390/s390.cc:952
 #, gcc-internal-format
 msgid "bad builtin icode"
 msgstr ""
 
-#: config/s390/s390.cc:1013
+#: config/s390/s390.cc:1086
 #, gcc-internal-format
 msgid "invalid argument %d for builtin %qF"
 msgstr ""
 
-#: config/s390/s390.cc:1114
+#: config/s390/s390.cc:1187
 #, 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:1204
+#: config/s390/s390.cc:1277
 #, gcc-internal-format
 msgid "argument to %qE attribute is not (keep|thunk|thunk-extern)"
 msgstr ""
 
-#: config/s390/s390.cc:10094
+#: config/s390/s390.cc:10240
 #, gcc-internal-format
 msgid "total size of local variables exceeds architecture limit"
 msgstr ""
 
-#: config/s390/s390.cc:11459
+#: config/s390/s390.cc:11647
 #, 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:11475
+#: config/s390/s390.cc:11663
 #, gcc-internal-format
 msgid ""
 "frame size of function %qs is %wd bytes which is more than half the stack "
@@ -43713,136 +44762,136 @@ msgid ""
 "function"
 msgstr ""
 
-#: config/s390/s390.cc:11503
+#: config/s390/s390.cc:11691
 #, gcc-internal-format
 msgid "frame size of %qs is %wd bytes"
 msgstr ""
 
-#: config/s390/s390.cc:11507
+#: config/s390/s390.cc:11695
 #, gcc-internal-format
 msgid "%qs uses dynamic stack allocation"
 msgstr ""
 
-#: config/s390/s390.cc:12253
+#: config/s390/s390.cc:12441
 #, 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:13212
+#: config/s390/s390.cc:13400
 #, gcc-internal-format
 msgid "nested functions cannot be profiled with %<-mfentry%> on s390"
 msgstr ""
 
-#: config/s390/s390.cc:15503
+#: config/s390/s390.cc:15716
 #, gcc-internal-format
 msgid "64-bit ABI not supported in ESA/390 mode"
 msgstr ""
 
-#: config/s390/s390.cc:15510
+#: config/s390/s390.cc:15723
 #, gcc-internal-format
 msgid "thunk-inline is only supported with %<-mindirect-branch-jump%>"
 msgstr ""
 
-#: config/s390/s390.cc:15545
+#: config/s390/s390.cc:15758
 #, gcc-internal-format, gfc-internal-format
 msgid "hardware vector support not available on %s"
 msgstr ""
 
-#: config/s390/s390.cc:15548
+#: config/s390/s390.cc:15761
 #, gcc-internal-format
 msgid "hardware vector support not available with %<-msoft-float%>"
 msgstr ""
 
-#: config/s390/s390.cc:15577
+#: config/s390/s390.cc:15790
 #, gcc-internal-format, gfc-internal-format
 msgid "hardware decimal floating-point instructions not available on %s"
 msgstr ""
 
-#: config/s390/s390.cc:15581
+#: config/s390/s390.cc:15794
 #, gcc-internal-format
 msgid ""
 "hardware decimal floating-point instructions not available in ESA/390 mode"
 msgstr ""
 
-#: config/s390/s390.cc:15593
+#: config/s390/s390.cc:15806
 #, gcc-internal-format
 msgid "%<-mhard-dfp%> cannot be used in conjunction with %<-msoft-float%>"
 msgstr ""
 
-#: config/s390/s390.cc:15602
+#: config/s390/s390.cc:15815
 #, gcc-internal-format
 msgid ""
 "%<-mbackchain%> %<-mpacked-stack%> %<-mhard-float%> are not supported in "
 "combination"
 msgstr ""
 
-#: config/s390/s390.cc:15608
+#: config/s390/s390.cc:15821
 #, gcc-internal-format
 msgid "stack size must be greater than the stack guard value"
 msgstr ""
 
-#: config/s390/s390.cc:15610
+#: config/s390/s390.cc:15823
 #, gcc-internal-format
 msgid "stack size must not be greater than 64k"
 msgstr ""
 
-#: config/s390/s390.cc:15613
+#: config/s390/s390.cc:15826
 #, gcc-internal-format
 msgid "%<-mstack-guard%> implies use of %<-mstack-size%>"
 msgstr ""
 
-#: config/s390/s390.cc:15626
+#: config/s390/s390.cc:15839
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-prologue-check%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:15629
+#: config/s390/s390.cc:15842
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-prologue-target%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:15632
+#: config/s390/s390.cc:15845
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-epilogue-check%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:15635
+#: config/s390/s390.cc:15848
 #, gcc-internal-format
 msgid "%<-mtpf-trace-hook-epilogue-target%> requires integer in range 0-4095"
 msgstr ""
 
-#: config/s390/s390.cc:15688
+#: config/s390/s390.cc:15904
 #, gcc-internal-format
 msgid "%<-mfentry%> is supported only for 64-bit CPUs"
 msgstr ""
 
 #. argument is not a plain number
-#: config/s390/s390.cc:15724
+#: config/s390/s390.cc:15940
 #, gcc-internal-format
 msgid "arguments to %qs should be non-negative integers"
 msgstr ""
 
-#: config/s390/s390.cc:15731
+#: config/s390/s390.cc:15947
 #, gcc-internal-format
 msgid "argument to %qs is too large (max. %d)"
 msgstr ""
 
-#: config/s390/s390.cc:15762
+#: config/s390/s390.cc:15978
 #, gcc-internal-format
 msgid ""
 "%<-mno-pic-data-is-text-relative%> cannot be used without %<-fpic%>/%<-fPIC%>"
 msgstr ""
 
-#: config/s390/s390.cc:15923 config/s390/s390.cc:15973
-#: config/s390/s390.cc:15990
+#: config/s390/s390.cc:16139 config/s390/s390.cc:16189
+#: config/s390/s390.cc:16206
 #, gcc-internal-format
 msgid "attribute %<target%> argument %qs is unknown"
 msgstr ""
 
 #. Value is not allowed for the target attribute.
-#: config/s390/s390.cc:15929
+#: config/s390/s390.cc:16145
 #, gcc-internal-format
 msgid "value %qs is not supported by attribute %<target%>"
 msgstr ""
@@ -43864,47 +44913,47 @@ msgstr ""
 msgid "%<__builtin_saveregs%> not supported by this subtarget"
 msgstr ""
 
-#: config/sh/sh.cc:8352
+#: config/sh/sh.cc:8353
 #, gcc-internal-format
 msgid "%qE attribute only applies to interrupt functions"
 msgstr ""
 
-#: config/sh/sh.cc:8422
+#: config/sh/sh.cc:8423
 #, gcc-internal-format
 msgid "%qE attribute is supported only for SH2A"
 msgstr ""
 
-#: config/sh/sh.cc:8464
+#: config/sh/sh.cc:8465
 #, gcc-internal-format
 msgid "%qE attribute only applies to SH2A"
 msgstr ""
 
-#: config/sh/sh.cc:8486
+#: config/sh/sh.cc:8487
 #, gcc-internal-format
 msgid "%qE attribute argument should be between 0 to 255"
 msgstr ""
 
-#: config/sh/sh.cc:10825
+#: config/sh/sh.cc:10832
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr ""
 
-#: config/sparc/sparc.cc:1842
+#: config/sparc/sparc.cc:1843
 #, gcc-internal-format, gfc-internal-format
 msgid "%s is not supported by this configuration"
 msgstr ""
 
-#: config/sparc/sparc.cc:1849
+#: config/sparc/sparc.cc:1850
 #, gcc-internal-format
 msgid "%<-mlong-double-64%> not allowed with %<-m64%>"
 msgstr ""
 
-#: config/sparc/sparc.cc:1857
+#: config/sparc/sparc.cc:1858
 #, gcc-internal-format
 msgid "%<-fcall-saved-REG%> is not supported for out registers"
 msgstr ""
 
-#: config/sparc/sparc.cc:1981
+#: config/sparc/sparc.cc:1982
 #, gcc-internal-format
 msgid "%<-mcmodel=%> is not supported in 32-bit mode"
 msgstr ""
@@ -43939,11 +44988,6 @@ msgstr ""
 msgid "%<__BELOW100__%> attribute not allowed with auto storage class"
 msgstr ""
 
-#: config/tilegx/tilegx.cc:3581 config/tilepro/tilepro.cc:3129
-#, gcc-internal-format
-msgid "operand must be an immediate of the right size"
-msgstr ""
-
 #: config/v850/v850-c.cc:67
 #, gcc-internal-format
 msgid "%<#pragma%> GHS endXXX found without previous startXXX"
@@ -44139,22 +45183,22 @@ msgstr ""
 msgid "invalid constant in %<#pragma %s%>"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2252
+#: config/xtensa/xtensa.cc:2769
 #, gcc-internal-format
 msgid "boolean registers required for the floating-point option"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2287
+#: config/xtensa/xtensa.cc:2804
 #, gcc-internal-format
 msgid "%<-f%s%> is not supported with CONST16 instructions"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:2294
+#: config/xtensa/xtensa.cc:2811
 #, gcc-internal-format
 msgid "PIC is required but not supported with CONST16 instructions"
 msgstr ""
 
-#: config/xtensa/xtensa.cc:3664
+#: config/xtensa/xtensa.cc:4169
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in a %<.bss%> section"
 msgstr ""
@@ -44179,602 +45223,668 @@ msgstr ""
 msgid "%s contains too many lines"
 msgstr ""
 
-#: ada/gcc-interface/trans.cc:1657
+#: ada/gcc-interface/trans.cc:1614
 #, gcc-internal-format
 msgid "subprogram %q+F not marked %<Inline_Always%>"
 msgstr ""
 
-#: ada/gcc-interface/trans.cc:1659 ada/gcc-interface/trans.cc:1665
+#: ada/gcc-interface/trans.cc:1616 ada/gcc-interface/trans.cc:1622
 #, gcc-internal-format
 msgid "parent subprogram cannot be inlined"
 msgstr ""
 
-#: ada/gcc-interface/trans.cc:1663
+#: ada/gcc-interface/trans.cc:1620
 #, gcc-internal-format
 msgid "subprogram %q+F not marked %<Inline%>"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:4163
+#: ada/gcc-interface/utils.cc:4149
 #, gcc-internal-format
 msgid "invalid element type for attribute %qs"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:4187
+#: ada/gcc-interface/utils.cc:4173
 #, gcc-internal-format
 msgid "number of components of vector not a power of two"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6387 ada/gcc-interface/utils.cc:6565
-#: ada/gcc-interface/utils.cc:6746
+#: ada/gcc-interface/utils.cc:6393 ada/gcc-interface/utils.cc:6571
+#: ada/gcc-interface/utils.cc:6752
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6442
+#: ada/gcc-interface/utils.cc:6448
 #, gcc-internal-format
 msgid "%qs attribute without arguments on a non-prototype"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6457
+#: ada/gcc-interface/utils.cc:6463
 #, gcc-internal-format
 msgid "%qs argument has invalid operand number (argument %lu)"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6479
+#: ada/gcc-interface/utils.cc:6485
 #, gcc-internal-format
 msgid ""
 "%qs argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6488
+#: ada/gcc-interface/utils.cc:6494
 #, gcc-internal-format
 msgid "%qs argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6509
+#: ada/gcc-interface/utils.cc:6515
 #, gcc-internal-format
 msgid "%qs attribute requires prototypes with named arguments"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6518
+#: ada/gcc-interface/utils.cc:6524
 #, gcc-internal-format
 msgid "%qs attribute only applies to variadic functions"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6706 d/d-attribs.cc:346 d/d-attribs.cc:473
+#: ada/gcc-interface/utils.cc:6712 d/d-attribs.cc:359 d/d-attribs.cc:485
 #, gcc-internal-format
 msgid "%qE attribute has no effect"
 msgstr ""
 
-#: ada/gcc-interface/utils.cc:6990
+#: ada/gcc-interface/utils.cc:7044
 #, gcc-internal-format
 msgid "attribute %qs applies to array types only"
 msgstr ""
 
-#: c/c-convert.cc:104 c/c-typeck.cc:2258 c/c-typeck.cc:12924 cp/typeck.cc:2344
-#: cp/typeck.cc:8996 cp/typeck.cc:9798 d/d-convert.cc:262
+#: c/c-convert.cc:104 c/c-typeck.cc:2352 c/c-typeck.cc:13364 cp/typeck.cc:2497
+#: cp/typeck.cc:9386 cp/typeck.cc:10183 d/d-convert.cc:262
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr ""
 
-#: c/c-convert.cc:183 d/d-convert.cc:323
+#: c/c-convert.cc:221
+#, gcc-internal-format
+msgid "conversion from %qT to %qT"
+msgstr ""
+
+#: c/c-convert.cc:223
+#, gcc-internal-format
+msgid "only %qT or a null pointer constant can be converted to %qT"
+msgstr ""
+
+#: c/c-convert.cc:227 d/d-convert.cc:323
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr ""
 
-#: c/c-decl.cc:838
+#: c/c-decl.cc:842
 #, gcc-internal-format
 msgid "array %q+D assumed to have one element"
 msgstr ""
 
-#: c/c-decl.cc:879
+#: c/c-decl.cc:883
 #, gcc-internal-format
 msgid "%qD is static but used in inline function %qD which is not static"
 msgstr ""
 
-#: c/c-decl.cc:884
+#: c/c-decl.cc:888
 #, gcc-internal-format
 msgid "%q+D is static but declared in inline function %qD which is not static"
 msgstr ""
 
-#: c/c-decl.cc:1080
+#: c/c-decl.cc:1084
 #, gcc-internal-format, gfc-internal-format
 msgid "GCC supports only %u nested scopes"
 msgstr ""
 
-#: c/c-decl.cc:1232 cp/decl.cc:368
+#: c/c-decl.cc:1236 cp/decl.cc:367
 #, gcc-internal-format
 msgid "label %q+D used but not defined"
 msgstr ""
 
-#: c/c-decl.cc:1278
+#: c/c-decl.cc:1282
 #, gcc-internal-format
 msgid "nested function %q+D declared but never defined"
 msgstr ""
 
-#: c/c-decl.cc:1292
+#: c/c-decl.cc:1296
 #, gcc-internal-format
 msgid "inline function %q+D declared but never defined"
 msgstr ""
 
-#: c/c-decl.cc:1309
+#: c/c-decl.cc:1313
 #, gcc-internal-format
 msgid "unused variable %q+D"
 msgstr ""
 
-#: c/c-decl.cc:1313 cp/decl.cc:707
+#: c/c-decl.cc:1317 cp/decl.cc:709
 #, gcc-internal-format
 msgid "variable %qD set but not used"
 msgstr ""
 
-#: c/c-decl.cc:1318
+#: c/c-decl.cc:1322
 #, gcc-internal-format
 msgid "type of array %q+D completed incompatibly with implicit initialization"
 msgstr ""
 
-#: c/c-decl.cc:1599 c/c-decl.cc:7391 c/c-decl.cc:8296 c/c-decl.cc:9119
+#: c/c-decl.cc:1502
+#, gcc-internal-format
+msgid ""
+"underspecified declaration of %qE, which is already declared in this scope"
+msgstr ""
+
+#: c/c-decl.cc:1673 c/c-decl.cc:7697 c/c-decl.cc:8644 c/c-decl.cc:9592
 #, gcc-internal-format
 msgid "originally defined here"
 msgstr ""
 
-#: c/c-decl.cc:1824
+#: c/c-decl.cc:1896
 #, gcc-internal-format
 msgid ""
 "a parameter list with an ellipsis cannot match an empty parameter name list "
 "declaration"
 msgstr ""
 
-#: c/c-decl.cc:1831
+#: c/c-decl.cc:1903
 #, 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:1879
+#: c/c-decl.cc:1951
 #, gcc-internal-format
 msgid ""
 "prototype for %q+D declares more arguments than previous old-style definition"
 msgstr ""
 
-#: c/c-decl.cc:1885
+#: c/c-decl.cc:1957
 #, gcc-internal-format
 msgid ""
 "prototype for %q+D declares fewer arguments than previous old-style "
 "definition"
 msgstr ""
 
-#: c/c-decl.cc:1894
+#: c/c-decl.cc:1966
 #, 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:1907
+#: c/c-decl.cc:1979
 #, gcc-internal-format
 msgid "prototype for %q+D follows non-prototype definition"
 msgstr ""
 
-#: c/c-decl.cc:1925
+#: c/c-decl.cc:1997
 #, gcc-internal-format
 msgid "previous definition of %q+D with type %qT"
 msgstr ""
 
-#: c/c-decl.cc:1929
+#: c/c-decl.cc:2001
 #, gcc-internal-format
 msgid "previous implicit declaration of %q+D with type %qT"
 msgstr ""
 
-#: c/c-decl.cc:1933
+#: c/c-decl.cc:2005
 #, gcc-internal-format
 msgid "previous declaration of %q+D with type %qT"
 msgstr ""
 
-#: c/c-decl.cc:1973
+#: c/c-decl.cc:2045
 #, gcc-internal-format
 msgid "%q+D redeclared as different kind of symbol"
 msgstr ""
 
-#: c/c-decl.cc:1978
+#: c/c-decl.cc:2050
 #, gcc-internal-format
 msgid "built-in function %q+D declared as non-function"
 msgstr ""
 
-#: c/c-decl.cc:1981 c/c-decl.cc:3069
+#: c/c-decl.cc:2053 c/c-decl.cc:3159
 #, gcc-internal-format
 msgid "declaration of %q+D shadows a built-in function"
 msgstr ""
 
-#: c/c-decl.cc:1991
+#: c/c-decl.cc:2063
 #, gcc-internal-format
 msgid "redeclaration of enumerator %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2027
+#: c/c-decl.cc:2102
 #, gcc-internal-format
 msgid "conflicting types for built-in function %q+D; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2037 c/c-decl.cc:2062
+#: c/c-decl.cc:2112 c/c-decl.cc:2137
 #, gcc-internal-format
 msgid "%qD is declared in header %qs"
 msgstr ""
 
-#: c/c-decl.cc:2048
+#: c/c-decl.cc:2123
 #, gcc-internal-format
 msgid "mismatch in argument %u type of built-in function %qD; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2053
+#: c/c-decl.cc:2128
 #, gcc-internal-format
 msgid "mismatch in return type of built-in function %qD; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2086
+#: c/c-decl.cc:2161
 #, gcc-internal-format
 msgid "conflicting types for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2099 c/c-decl.cc:2136
+#: c/c-decl.cc:2174 c/c-decl.cc:2211
 #, gcc-internal-format
 msgid "conflicting types for %q+D; have %qT"
 msgstr ""
 
-#: c/c-decl.cc:2116
+#: c/c-decl.cc:2191
 #, gcc-internal-format
 msgid "conflicting named address spaces (generic vs %s) for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2120
+#: c/c-decl.cc:2195
 #, gcc-internal-format
 msgid "conflicting named address spaces (%s vs generic) for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2124
+#: c/c-decl.cc:2199
 #, gcc-internal-format
 msgid "conflicting named address spaces (%s vs %s) for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2133
+#: c/c-decl.cc:2208
 #, gcc-internal-format
 msgid "conflicting type qualifiers for %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2158
+#: c/c-decl.cc:2222
+#, gcc-internal-format
+msgid "conflicting types for %q+D due to enum/integer mismatch; have %qT"
+msgstr ""
+
+#: c/c-decl.cc:2239
 #, gcc-internal-format
 msgid "redefinition of typedef %q+D with different type"
 msgstr ""
 
-#: c/c-decl.cc:2171
+#: c/c-decl.cc:2252
 #, gcc-internal-format
 msgid "redefinition of typedef %q+D with variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:2176
+#: c/c-decl.cc:2257
 #, gcc-internal-format
 msgid "redefinition of typedef %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2204
+#: c/c-decl.cc:2285
 #, gcc-internal-format
 msgid "declaration of %qD shadows a built-in function"
 msgstr ""
 
-#: c/c-decl.cc:2220
+#: c/c-decl.cc:2301
 #, gcc-internal-format
 msgid "declaration of built-in function %qD without a prototype; expected %qT"
 msgstr ""
 
-#: c/c-decl.cc:2247 c/c-decl.cc:2358
+#: c/c-decl.cc:2328 c/c-decl.cc:2439
 #, gcc-internal-format
 msgid "redefinition of %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2286 c/c-decl.cc:2398
+#: c/c-decl.cc:2367 c/c-decl.cc:2479
 #, gcc-internal-format
 msgid "static declaration of %q+D follows non-static declaration"
 msgstr ""
 
-#: c/c-decl.cc:2297 c/c-decl.cc:2305 c/c-decl.cc:2387 c/c-decl.cc:2395
+#: c/c-decl.cc:2378 c/c-decl.cc:2386 c/c-decl.cc:2468 c/c-decl.cc:2476
 #, gcc-internal-format
 msgid "non-static declaration of %q+D follows static declaration"
 msgstr ""
 
-#: c/c-decl.cc:2322
+#: c/c-decl.cc:2403
 #, gcc-internal-format
 msgid "%<gnu_inline%> attribute present on %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2325
+#: c/c-decl.cc:2406
 #, gcc-internal-format
 msgid "but not here"
 msgstr ""
 
-#: c/c-decl.cc:2344
+#: c/c-decl.cc:2425
 #, gcc-internal-format
 msgid "thread-local declaration of %q+D follows non-thread-local declaration"
 msgstr ""
 
-#: c/c-decl.cc:2347
+#: c/c-decl.cc:2428
 #, gcc-internal-format
 msgid "non-thread-local declaration of %q+D follows thread-local declaration"
 msgstr ""
 
-#: c/c-decl.cc:2379
+#: c/c-decl.cc:2460
 #, gcc-internal-format
 msgid "extern declaration of %q+D follows declaration with no linkage"
 msgstr ""
 
-#: c/c-decl.cc:2417
+#: c/c-decl.cc:2498
 #, gcc-internal-format
 msgid "declaration of %q+D with no linkage follows extern declaration"
 msgstr ""
 
-#: c/c-decl.cc:2424
+#: c/c-decl.cc:2505
 #, gcc-internal-format
 msgid "redeclaration of %q+D with no linkage"
 msgstr ""
 
-#: c/c-decl.cc:2450
+#: c/c-decl.cc:2531
 #, gcc-internal-format
 msgid ""
 "redeclaration of %q+D with different visibility (old visibility preserved)"
 msgstr ""
 
-#: c/c-decl.cc:2471
+#: c/c-decl.cc:2552
 #, gcc-internal-format
 msgid "redefinition of parameter %q+D"
 msgstr ""
 
-#: c/c-decl.cc:2498
+#: c/c-decl.cc:2579
 #, gcc-internal-format
 msgid "redundant redeclaration of %q+D"
 msgstr ""
 
-#: c/c-decl.cc:3027
+#: c/c-decl.cc:3117
 #, gcc-internal-format
 msgid "declaration of %q+D shadows previous non-variable"
 msgstr ""
 
-#: c/c-decl.cc:3049
+#: c/c-decl.cc:3139
 #, gcc-internal-format
 msgid "declaration of %qD shadows a parameter"
 msgstr ""
 
-#: c/c-decl.cc:3062 cp/name-lookup.cc:3321
+#: c/c-decl.cc:3152 cp/name-lookup.cc:3321
 #, gcc-internal-format
 msgid "declaration of %qD shadows a global declaration"
 msgstr ""
 
-#: c/c-decl.cc:3088
+#: c/c-decl.cc:3178
 #, gcc-internal-format
 msgid "declaration of %qD shadows a previous local"
 msgstr ""
 
-#: c/c-decl.cc:3094 cp/name-lookup.cc:3085
+#: c/c-decl.cc:3184 cp/name-lookup.cc:3085
 #, gcc-internal-format
 msgid "shadowed declaration is here"
 msgstr ""
 
-#: c/c-decl.cc:3224
+#: c/c-decl.cc:3314
 #, gcc-internal-format
 msgid "nested extern declaration of %qD"
 msgstr ""
 
-#: c/c-decl.cc:3387 c/c-decl.cc:3401
+#: c/c-decl.cc:3477 c/c-decl.cc:3491
 #, gcc-internal-format
 msgid "implicit declaration of function %qE; did you mean %qs?"
 msgstr ""
 
-#: c/c-decl.cc:3393 c/c-decl.cc:3406
+#: c/c-decl.cc:3483 c/c-decl.cc:3496
 #, gcc-internal-format
 msgid "implicit declaration of function %qE"
 msgstr ""
 
-#: c/c-decl.cc:3425
+#: c/c-decl.cc:3515
 #, gcc-internal-format
 msgid "include %qs or provide a declaration of %qE"
 msgstr ""
 
-#: c/c-decl.cc:3695
+#: c/c-decl.cc:3786
 #, gcc-internal-format
 msgid "incompatible implicit declaration of built-in function %qD"
 msgstr ""
 
-#: c/c-decl.cc:3705
+#: c/c-decl.cc:3796
 #, gcc-internal-format
 msgid "include %qs or provide a declaration of %qD"
 msgstr ""
 
-#: c/c-decl.cc:3716
+#: c/c-decl.cc:3807
 #, gcc-internal-format
 msgid "incompatible implicit declaration of function %qD"
 msgstr ""
 
-#: c/c-decl.cc:3777
+#: c/c-decl.cc:3868
 #, gcc-internal-format
 msgid "%qE undeclared here (not in a function); did you mean %qs?"
 msgstr ""
 
-#: c/c-decl.cc:3782
+#: c/c-decl.cc:3873
 #, gcc-internal-format
 msgid "%qE undeclared here (not in a function)"
 msgstr ""
 
-#: c/c-decl.cc:3795
+#: c/c-decl.cc:3886
 #, gcc-internal-format
 msgid "%qE undeclared (first use in this function); did you mean %qs?"
 msgstr ""
 
-#: c/c-decl.cc:3800
+#: c/c-decl.cc:3891
 #, gcc-internal-format
 msgid "%qE undeclared (first use in this function)"
 msgstr ""
 
-#: c/c-decl.cc:3804
+#: c/c-decl.cc:3895
 #, gcc-internal-format
 msgid ""
 "each undeclared identifier is reported only once for each function it "
 "appears in"
 msgstr ""
 
-#: c/c-decl.cc:3852 cp/decl.cc:3358
+#: c/c-decl.cc:3943 cp/decl.cc:3480
 #, gcc-internal-format
 msgid "label %qE referenced outside of any function"
 msgstr ""
 
-#: c/c-decl.cc:3888
+#: c/c-decl.cc:3980
 #, gcc-internal-format
 msgid "jump into scope of identifier with variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:3891
+#: c/c-decl.cc:3983
 #, gcc-internal-format
 msgid "jump skips variable initialization"
 msgstr ""
 
-#: c/c-decl.cc:3892 c/c-decl.cc:3947 c/c-decl.cc:4037
+#: c/c-decl.cc:3985 c/c-decl.cc:4041 c/c-decl.cc:4132
 #, gcc-internal-format
 msgid "label %qD defined here"
 msgstr ""
 
-#: c/c-decl.cc:3946 c/c-decl.cc:4036
+#: c/c-decl.cc:4040 c/c-decl.cc:4131
 #, gcc-internal-format
 msgid "jump into statement expression"
 msgstr ""
 
-#: c/c-decl.cc:3969
+#: c/c-decl.cc:4063
 #, gcc-internal-format
 msgid "duplicate label declaration %qE"
 msgstr ""
 
-#: c/c-decl.cc:4068 cp/decl.cc:3767
+#: c/c-decl.cc:4163 cp/decl.cc:3898
 #, gcc-internal-format
 msgid "duplicate label %qD"
 msgstr ""
 
-#: c/c-decl.cc:4099
+#: c/c-decl.cc:4194
 #, gcc-internal-format
 msgid ""
 "traditional C lacks a separate namespace for labels, identifier %qE conflicts"
 msgstr ""
 
-#: c/c-decl.cc:4164
+#: c/c-decl.cc:4263
 #, gcc-internal-format
 msgid "switch jumps over variable initialization"
 msgstr ""
 
-#: c/c-decl.cc:4165 c/c-decl.cc:4176
+#: c/c-decl.cc:4266 c/c-decl.cc:4279
 #, gcc-internal-format
 msgid "switch starts here"
 msgstr ""
 
-#: c/c-decl.cc:4175
+#: c/c-decl.cc:4278
 #, gcc-internal-format
 msgid "switch jumps into statement expression"
 msgstr ""
 
-#: c/c-decl.cc:4258
+#: c/c-decl.cc:4361
 #, gcc-internal-format
 msgid "%qE defined as wrong kind of tag"
 msgstr ""
 
-#: c/c-decl.cc:4444 cp/tree.cc:4907
+#: c/c-decl.cc:4547 cp/tree.cc:5055
 #, gcc-internal-format
 msgid "%qE attribute applied to %qD with void return type"
 msgstr ""
 
-#: c/c-decl.cc:4453
+#: c/c-decl.cc:4556
 #, gcc-internal-format
 msgid ""
 "%qE attribute can only be applied to functions or to structure, union or "
 "enumeration types"
 msgstr ""
 
-#: c/c-decl.cc:4718
+#: c/c-decl.cc:4576
+#, gcc-internal-format
+msgid "standard %qE attribute can only be applied to functions"
+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:4852 c/c-decl.cc:8591
+#, gcc-internal-format
+msgid "%qT declared in underspecified object initializer"
+msgstr ""
+
+#: c/c-decl.cc:4863
 #, gcc-internal-format
 msgid "unnamed struct/union that defines no instances"
 msgstr ""
 
-#: c/c-decl.cc:4729
+#: c/c-decl.cc:4874
 #, gcc-internal-format
 msgid "empty declaration with storage class specifier does not redeclare tag"
 msgstr ""
 
-#: c/c-decl.cc:4745
+#: c/c-decl.cc:4890
 #, gcc-internal-format
 msgid "empty declaration with type qualifier does not redeclare tag"
 msgstr ""
 
-#: c/c-decl.cc:4757
+#: c/c-decl.cc:4902
 #, gcc-internal-format
 msgid "empty declaration with %<_Alignas%> does not redeclare tag"
 msgstr ""
 
-#: c/c-decl.cc:4779 c/c-decl.cc:4787
+#: c/c-decl.cc:4916
+#, gcc-internal-format
+msgid "empty declaration of %<enum%> type does not redeclare tag"
+msgstr ""
+
+#: c/c-decl.cc:4939 c/c-decl.cc:4947
 #, gcc-internal-format
 msgid "useless type name in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4795
+#: c/c-decl.cc:4955
 #, gcc-internal-format
 msgid "%<inline%> in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4801
+#: c/c-decl.cc:4961
 #, gcc-internal-format
 msgid "%<_Noreturn%> in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4807
+#: c/c-decl.cc:4967
+#, gcc-internal-format
+msgid "%<constexpr%> in empty declaration"
+msgstr ""
+
+#: c/c-decl.cc:4973
 #, gcc-internal-format
 msgid "%<auto%> in file-scope empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4813
+#: c/c-decl.cc:4979
 #, gcc-internal-format
 msgid "%<register%> in file-scope empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4820
+#: c/c-decl.cc:4987
+#, gcc-internal-format
+msgid ""
+"storage class specifier in empty declaration with %<enum%> underlying type"
+msgstr ""
+
+#: c/c-decl.cc:4993
+#, gcc-internal-format
+msgid "%qs in empty declaration with %<enum%> underlying type"
+msgstr ""
+
+#: c/c-decl.cc:5003
+#, gcc-internal-format
+msgid "type qualifier in empty declaration with %<enum%> underlying type"
+msgstr ""
+
+#: c/c-decl.cc:5009
+#, gcc-internal-format
+msgid "%<alignas%> in empty declaration with %<enum%> underlying type"
+msgstr ""
+
+#: c/c-decl.cc:5018
 #, gcc-internal-format
 msgid "useless storage class specifier in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4826
+#: c/c-decl.cc:5024
 #, gcc-internal-format
 msgid "useless %qs in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4839
+#: c/c-decl.cc:5037
 #, gcc-internal-format
 msgid "useless type qualifier in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4846
+#: c/c-decl.cc:5044
 #, gcc-internal-format
 msgid "useless %<_Alignas%> in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4864
+#: c/c-decl.cc:5062
 #, gcc-internal-format
 msgid "invalid use of attributes in empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4878 c/c-parser.cc:2038
+#: c/c-decl.cc:5076 c/c-parser.cc:2264
 #, gcc-internal-format
 msgid "empty declaration"
 msgstr ""
 
-#: c/c-decl.cc:4950
+#: c/c-decl.cc:5148
 #, gcc-internal-format
 msgid ""
 "ISO C90 does not support %<static%> or type qualifiers in parameter array "
 "declarators"
 msgstr ""
 
-#: c/c-decl.cc:4954
+#: c/c-decl.cc:5152
 #, gcc-internal-format
 msgid "ISO C90 does not support %<[*]%> array declarators"
 msgstr ""
@@ -44782,297 +45892,303 @@ 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:4960 c/c-decl.cc:7855 c/c-decl.cc:9820
+#: c/c-decl.cc:5158 c/c-decl.cc:8189 c/c-decl.cc:10413
 #, gcc-internal-format
 msgid "%<[*]%> not allowed in other than function prototype scope"
 msgstr ""
 
-#: c/c-decl.cc:5130
+#: c/c-decl.cc:5376
 #, gcc-internal-format
 msgid "%q+D is usually a function"
 msgstr ""
 
-#: c/c-decl.cc:5139
+#: c/c-decl.cc:5385
 #, gcc-internal-format
 msgid "typedef %qD is initialized (use %<__typeof__%> instead)"
 msgstr ""
 
-#: c/c-decl.cc:5144
+#: c/c-decl.cc:5390
 #, 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:5150
+#: c/c-decl.cc:5396
 #, gcc-internal-format
 msgid "parameter %qD is initialized"
 msgstr ""
 
-#. Although C99 is unclear about whether incomplete arrays
-#. of VLAs themselves count as VLAs, it does not make
-#. sense to permit them to be initialized given that
-#. ordinary VLAs may not be initialized.
-#: c/c-decl.cc:5169 c/c-decl.cc:5184 c/c-typeck.cc:8270
-#, gcc-internal-format
-msgid "variable-sized object may not be initialized"
-msgstr ""
-
-#: c/c-decl.cc:5175
+#: c/c-decl.cc:5416
 #, gcc-internal-format
 msgid "variable %qD has initializer but incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:5264
+#: c/c-decl.cc:5496
 #, gcc-internal-format
 msgid "inline function %q+D given attribute %qs"
 msgstr ""
 
-#: c/c-decl.cc:5314
+#: c/c-decl.cc:5552
 #, gcc-internal-format
 msgid "uninitialized const member in %qT is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:5316
+#: c/c-decl.cc:5554
 #, gcc-internal-format
 msgid "%qD should be initialized"
 msgstr ""
 
-#: c/c-decl.cc:5397
+#: c/c-decl.cc:5635
 #, gcc-internal-format
 msgid "initializer fails to determine size of %q+D"
 msgstr ""
 
-#: c/c-decl.cc:5402
+#: c/c-decl.cc:5640
 #, gcc-internal-format
 msgid "array size missing in %q+D"
 msgstr ""
 
-#: c/c-decl.cc:5406
+#: c/c-decl.cc:5644
 #, gcc-internal-format
 msgid "zero or negative size array %q+D"
 msgstr ""
 
-#: c/c-decl.cc:5495
+#: c/c-decl.cc:5733 m2/gm2-gcc/m2type.cc:1269
 #, gcc-internal-format
 msgid "storage size of %q+D isn%'t constant"
 msgstr ""
 
-#: c/c-decl.cc:5545
+#: c/c-decl.cc:5783
 #, gcc-internal-format
 msgid "ignoring %<asm%> specifier for non-static local variable %q+D"
 msgstr ""
 
-#: c/c-decl.cc:5583
+#: c/c-decl.cc:5821
 #, gcc-internal-format
 msgid "cannot put object with volatile field into register"
 msgstr ""
 
-#: c/c-decl.cc:5669
+#: c/c-decl.cc:5907
 #, gcc-internal-format
 msgid "uninitialized %<const %D%> is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:5684 cp/decl.cc:8589
+#: c/c-decl.cc:5922 cp/decl.cc:8786
 #, gcc-internal-format
 msgid "%q+D in declare target directive does not have mappable type"
 msgstr ""
 
-#: c/c-decl.cc:5947
+#: c/c-decl.cc:6185
 #, gcc-internal-format
 msgid "ISO C forbids forward parameter declarations"
 msgstr ""
 
-#: c/c-decl.cc:6058
+#: c/c-decl.cc:6225
+#, gcc-internal-format
+msgid "file-scope compound literal specifies %<register%>"
+msgstr ""
+
+#: c/c-decl.cc:6231
+#, gcc-internal-format
+msgid "compound literal implicitly auto and declared %qs"
+msgstr ""
+
+#: c/c-decl.cc:6331
 #, gcc-internal-format
 msgid "defining a type in a compound literal is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:6079 c/c-decl.cc:6094
+#: c/c-decl.cc:6352 c/c-decl.cc:6367
 #, gcc-internal-format
 msgid "bit-field %qs width not an integer constant"
 msgstr ""
 
-#: c/c-decl.cc:6089
+#: c/c-decl.cc:6362
 #, gcc-internal-format
 msgid "bit-field %qs width not an integer constant expression"
 msgstr ""
 
-#: c/c-decl.cc:6100
+#: c/c-decl.cc:6373
 #, gcc-internal-format
 msgid "negative width in bit-field %qs"
 msgstr ""
 
-#: c/c-decl.cc:6105
+#: c/c-decl.cc:6378
 #, gcc-internal-format
 msgid "zero width for bit-field %qs"
 msgstr ""
 
-#: c/c-decl.cc:6115
+#: c/c-decl.cc:6388
 #, gcc-internal-format
 msgid "bit-field %qs has invalid type"
 msgstr ""
 
-#: c/c-decl.cc:6121
+#: c/c-decl.cc:6394
 #, gcc-internal-format
 msgid "cannot declare bit-field %qs with %<warn_if_not_aligned%> type"
 msgstr ""
 
-#: c/c-decl.cc:6132
+#: c/c-decl.cc:6405
 #, gcc-internal-format
 msgid "type of bit-field %qs is a GCC extension"
 msgstr ""
 
-#: c/c-decl.cc:6138
+#: c/c-decl.cc:6411
 #, gcc-internal-format
 msgid "width of %qs exceeds its type"
 msgstr ""
 
-#: c/c-decl.cc:6151
+#: c/c-decl.cc:6424
 #, gcc-internal-format
 msgid "%qs is narrower than values of its type"
 msgstr ""
 
-#: c/c-decl.cc:6166
+#: c/c-decl.cc:6439
 #, gcc-internal-format
 msgid "ISO C90 forbids array %qE whose size cannot be evaluated"
 msgstr ""
 
-#: c/c-decl.cc:6169
+#: c/c-decl.cc:6442
 #, gcc-internal-format
 msgid "ISO C90 forbids array whose size cannot be evaluated"
 msgstr ""
 
-#: c/c-decl.cc:6176
+#: c/c-decl.cc:6449
 #, gcc-internal-format
 msgid "ISO C90 forbids variable length array %qE"
 msgstr ""
 
-#: c/c-decl.cc:6178
+#: c/c-decl.cc:6451
 #, gcc-internal-format
 msgid "ISO C90 forbids variable length array"
 msgstr ""
 
-#: c/c-decl.cc:6395 c/c-decl.cc:6791 c/c-decl.cc:6801
+#: c/c-decl.cc:6660
+#, gcc-internal-format
+msgid "%<enum%> underlying type may not be specified here"
+msgstr ""
+
+#: c/c-decl.cc:6688 c/c-decl.cc:7095 c/c-decl.cc:7105
 #, gcc-internal-format
 msgid "variably modified %qE at file scope"
 msgstr ""
 
-#: c/c-decl.cc:6397
+#: c/c-decl.cc:6690
 #, gcc-internal-format
 msgid "variably modified field at file scope"
 msgstr ""
 
-#: c/c-decl.cc:6417
+#: c/c-decl.cc:6710
 #, gcc-internal-format
 msgid "type defaults to %<int%> in declaration of %qE"
 msgstr ""
 
-#: c/c-decl.cc:6421
+#: c/c-decl.cc:6714
 #, gcc-internal-format
 msgid "type defaults to %<int%> in type name"
 msgstr ""
 
-#: c/c-decl.cc:6453
+#: c/c-decl.cc:6746
 #, gcc-internal-format
 msgid "duplicate %<const%>"
 msgstr ""
 
-#: c/c-decl.cc:6455
+#: c/c-decl.cc:6748
 #, gcc-internal-format
 msgid "duplicate %<restrict%>"
 msgstr ""
 
-#: c/c-decl.cc:6457
+#: c/c-decl.cc:6750
 #, gcc-internal-format
 msgid "duplicate %<volatile%>"
 msgstr ""
 
-#: c/c-decl.cc:6459
+#: c/c-decl.cc:6752
 #, gcc-internal-format
 msgid "duplicate %<_Atomic%>"
 msgstr ""
 
-#: c/c-decl.cc:6462
+#: c/c-decl.cc:6755
 #, gcc-internal-format, gfc-internal-format
 msgid "conflicting named address spaces (%s vs %s)"
 msgstr ""
 
-#: c/c-decl.cc:6485 c/c-parser.cc:3053
+#: c/c-decl.cc:6778 c/c-parser.cc:3360
 #, gcc-internal-format
 msgid "%<_Atomic%>-qualified array type"
 msgstr ""
 
-#: c/c-decl.cc:6499
+#: c/c-decl.cc:6793
 #, gcc-internal-format
 msgid "function definition declared %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:6501
+#: c/c-decl.cc:6795
 #, gcc-internal-format
 msgid "function definition declared %<register%>"
 msgstr ""
 
-#: c/c-decl.cc:6503
+#: c/c-decl.cc:6797
 #, gcc-internal-format
 msgid "function definition declared %<typedef%>"
 msgstr ""
 
-#: c/c-decl.cc:6505
+#: c/c-decl.cc:6799
 #, gcc-internal-format
 msgid "function definition declared %qs"
 msgstr ""
 
-#: c/c-decl.cc:6523
+#: c/c-decl.cc:6826
 #, gcc-internal-format
 msgid "storage class specified for structure field %qE"
 msgstr ""
 
-#: c/c-decl.cc:6526
+#: c/c-decl.cc:6829
 #, gcc-internal-format
 msgid "storage class specified for structure field"
 msgstr ""
 
-#: c/c-decl.cc:6530
+#: c/c-decl.cc:6833
 #, gcc-internal-format
 msgid "storage class specified for parameter %qE"
 msgstr ""
 
-#: c/c-decl.cc:6533
+#: c/c-decl.cc:6836
 #, gcc-internal-format
 msgid "storage class specified for unnamed parameter"
 msgstr ""
 
-#: c/c-decl.cc:6536 cp/decl.cc:12607
+#: c/c-decl.cc:6839 cp/decl.cc:12806
 #, gcc-internal-format
 msgid "storage class specified for typename"
 msgstr ""
 
-#: c/c-decl.cc:6553
+#: c/c-decl.cc:6857
 #, gcc-internal-format
 msgid "%qE initialized and declared %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:6557
+#: c/c-decl.cc:6861
 #, gcc-internal-format
 msgid "%qE has both %<extern%> and initializer"
 msgstr ""
 
-#: c/c-decl.cc:6562
+#: c/c-decl.cc:6866
 #, gcc-internal-format
 msgid "file-scope declaration of %qE specifies %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:6566
+#: c/c-decl.cc:6870
 #, gcc-internal-format
 msgid "file-scope declaration of %qE specifies %<register%>"
 msgstr ""
 
-#: c/c-decl.cc:6571
+#: c/c-decl.cc:6875
 #, gcc-internal-format
 msgid "nested function %qE declared %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:6574
+#: c/c-decl.cc:6878
 #, gcc-internal-format
 msgid "function-scope %qE implicitly auto and declared %qs"
 msgstr ""
@@ -45080,1105 +46196,1210 @@ 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:6621 c/c-decl.cc:7015
+#: c/c-decl.cc:6925 c/c-decl.cc:7320
 #, gcc-internal-format
 msgid "static or type qualifiers in non-parameter array declarator"
 msgstr ""
 
-#: c/c-decl.cc:6682
+#: c/c-decl.cc:6986
 #, gcc-internal-format
 msgid "declaration of %qE as array of voids"
 msgstr ""
 
-#: c/c-decl.cc:6684
+#: c/c-decl.cc:6988
 #, gcc-internal-format
 msgid "declaration of type name as array of voids"
 msgstr ""
 
-#: c/c-decl.cc:6691
+#: c/c-decl.cc:6995
 #, gcc-internal-format
 msgid "declaration of %qE as array of functions"
 msgstr ""
 
-#: c/c-decl.cc:6694
+#: c/c-decl.cc:6998
 #, gcc-internal-format
 msgid "declaration of type name as array of functions"
 msgstr ""
 
-#: c/c-decl.cc:6702 c/c-decl.cc:8827
+#: c/c-decl.cc:7006 c/c-decl.cc:9275
 #, gcc-internal-format
 msgid "invalid use of structure with flexible array member"
 msgstr ""
 
-#: c/c-decl.cc:6734
+#: c/c-decl.cc:7038
 #, gcc-internal-format
 msgid "size of array %qE has non-integer type"
 msgstr ""
 
-#: c/c-decl.cc:6738
+#: c/c-decl.cc:7042
 #, gcc-internal-format
 msgid "size of unnamed array has non-integer type"
 msgstr ""
 
-#: c/c-decl.cc:6746
+#: c/c-decl.cc:7050
 #, gcc-internal-format
 msgid "size of array %qE has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:6749
+#: c/c-decl.cc:7053
 #, gcc-internal-format
 msgid "size of unnamed array has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:6761
+#: c/c-decl.cc:7065
 #, gcc-internal-format
 msgid "ISO C forbids zero-size array %qE"
 msgstr ""
 
-#: c/c-decl.cc:6764
+#: c/c-decl.cc:7068
 #, gcc-internal-format
 msgid "ISO C forbids zero-size array"
 msgstr ""
 
-#: c/c-decl.cc:6773
+#: c/c-decl.cc:7077
 #, gcc-internal-format
 msgid "size of array %qE is negative"
 msgstr ""
 
-#: c/c-decl.cc:6775
+#: c/c-decl.cc:7079
 #, gcc-internal-format
 msgid "size of unnamed array is negative"
 msgstr ""
 
-#: c/c-decl.cc:6861
+#: c/c-decl.cc:7165
 #, gcc-internal-format
 msgid "size of array %qE is too large"
 msgstr ""
 
-#: c/c-decl.cc:6864
+#: c/c-decl.cc:7168
 #, gcc-internal-format
 msgid "size of unnamed array is too large"
 msgstr ""
 
-#: c/c-decl.cc:6903 c/c-decl.cc:7561
+#: c/c-decl.cc:7207 c/c-decl.cc:7867
 #, gcc-internal-format
 msgid "ISO C90 does not support flexible array members"
 msgstr ""
 
 #. C99 6.7.5.2p4
-#: c/c-decl.cc:6925
+#: c/c-decl.cc:7229
 #, gcc-internal-format
 msgid "%<[*]%> not in a declaration"
 msgstr ""
 
-#: c/c-decl.cc:6938
+#: c/c-decl.cc:7243
 #, gcc-internal-format
 msgid "array type has incomplete element type %qT"
 msgstr ""
 
-#: c/c-decl.cc:6944
+#: c/c-decl.cc:7249
 #, gcc-internal-format
 msgid ""
 "declaration of %qE as multidimensional array must have bounds for all "
 "dimensions except the first"
 msgstr ""
 
-#: c/c-decl.cc:6948
+#: c/c-decl.cc:7253
 #, gcc-internal-format
 msgid ""
 "declaration of multidimensional array must have bounds for all dimensions "
 "except the first"
 msgstr ""
 
-#: c/c-decl.cc:7051
+#: c/c-decl.cc:7356
 #, gcc-internal-format
 msgid "%qE declared as function returning a function"
 msgstr ""
 
-#: c/c-decl.cc:7054
+#: c/c-decl.cc:7359
 #, gcc-internal-format
 msgid "type name declared as function returning a function"
 msgstr ""
 
-#: c/c-decl.cc:7061
+#: c/c-decl.cc:7366
 #, gcc-internal-format
 msgid "%qE declared as function returning an array"
 msgstr ""
 
-#: c/c-decl.cc:7064
+#: c/c-decl.cc:7369
 #, gcc-internal-format
 msgid "type name declared as function returning an array"
 msgstr ""
 
-#: c/c-decl.cc:7105
+#: c/c-decl.cc:7410
 #, gcc-internal-format
 msgid "function definition has qualified void return type"
 msgstr ""
 
-#: c/c-decl.cc:7109 cp/decl.cc:12912
+#: c/c-decl.cc:7414 cp/decl.cc:13127
 #, gcc-internal-format
 msgid "type qualifiers ignored on function return type"
 msgstr ""
 
-#: c/c-decl.cc:7147 c/c-decl.cc:7357 c/c-decl.cc:7411 c/c-decl.cc:7495
-#: c/c-decl.cc:7617 c/c-parser.cc:3055
+#: c/c-decl.cc:7453 c/c-decl.cc:7663 c/c-decl.cc:7717 c/c-decl.cc:7801
+#: c/c-decl.cc:7923 c/c-parser.cc:3362
 #, gcc-internal-format
 msgid "%<_Atomic%>-qualified function type"
 msgstr ""
 
-#: c/c-decl.cc:7153 c/c-decl.cc:7363 c/c-decl.cc:7500 c/c-decl.cc:7622
+#: c/c-decl.cc:7459 c/c-decl.cc:7669 c/c-decl.cc:7806 c/c-decl.cc:7928
 #, gcc-internal-format
 msgid "ISO C forbids qualified function types"
 msgstr ""
 
-#: c/c-decl.cc:7248
+#: c/c-decl.cc:7554
 #, gcc-internal-format
 msgid "%qs combined with %<auto%> qualifier for %qE"
 msgstr ""
 
-#: c/c-decl.cc:7252
+#: c/c-decl.cc:7558
 #, gcc-internal-format
 msgid "%qs combined with %<register%> qualifier for %qE"
 msgstr ""
 
-#: c/c-decl.cc:7258
+#: c/c-decl.cc:7564
 #, gcc-internal-format
 msgid "%qs specified for auto variable %qE"
 msgstr ""
 
-#: c/c-decl.cc:7274
+#: c/c-decl.cc:7580
 #, gcc-internal-format
 msgid "%qs specified for parameter %qE"
 msgstr ""
 
-#: c/c-decl.cc:7277
+#: c/c-decl.cc:7583
 #, gcc-internal-format
 msgid "%qs specified for unnamed parameter"
 msgstr ""
 
-#: c/c-decl.cc:7283
+#: c/c-decl.cc:7589
 #, gcc-internal-format
 msgid "%qs specified for structure field %qE"
 msgstr ""
 
-#: c/c-decl.cc:7286
+#: c/c-decl.cc:7592
 #, gcc-internal-format
 msgid "%qs specified for structure field"
 msgstr ""
 
-#: c/c-decl.cc:7301
+#: c/c-decl.cc:7607
 #, gcc-internal-format
 msgid "bit-field %qE has atomic type"
 msgstr ""
 
-#: c/c-decl.cc:7303
+#: c/c-decl.cc:7609
 #, gcc-internal-format
 msgid "bit-field has atomic type"
 msgstr ""
 
-#: c/c-decl.cc:7312
+#: c/c-decl.cc:7618
 #, gcc-internal-format
 msgid "alignment specified for typedef %qE"
 msgstr ""
 
-#: c/c-decl.cc:7314
+#: c/c-decl.cc:7620
 #, gcc-internal-format
 msgid "alignment specified for %<register%> object %qE"
 msgstr ""
 
-#: c/c-decl.cc:7319
+#: c/c-decl.cc:7625
 #, gcc-internal-format
 msgid "alignment specified for parameter %qE"
 msgstr ""
 
-#: c/c-decl.cc:7321
+#: c/c-decl.cc:7627
 #, gcc-internal-format
 msgid "alignment specified for unnamed parameter"
 msgstr ""
 
-#: c/c-decl.cc:7326
+#: c/c-decl.cc:7632
 #, gcc-internal-format
 msgid "alignment specified for bit-field %qE"
 msgstr ""
 
-#: c/c-decl.cc:7328
+#: c/c-decl.cc:7634
 #, gcc-internal-format
 msgid "alignment specified for unnamed bit-field"
 msgstr ""
 
-#: c/c-decl.cc:7331
+#: c/c-decl.cc:7637
 #, gcc-internal-format
 msgid "alignment specified for function %qE"
 msgstr ""
 
-#: c/c-decl.cc:7338
+#: c/c-decl.cc:7644
 #, gcc-internal-format
 msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE"
 msgstr ""
 
-#: c/c-decl.cc:7341
+#: c/c-decl.cc:7647
 #, gcc-internal-format
 msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field"
 msgstr ""
 
-#: c/c-decl.cc:7372
+#: c/c-decl.cc:7678
 #, gcc-internal-format
 msgid "typedef %q+D declared %<inline%>"
 msgstr ""
 
-#: c/c-decl.cc:7374
+#: c/c-decl.cc:7680
 #, gcc-internal-format
 msgid "typedef %q+D declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:7417
+#: c/c-decl.cc:7723
 #, gcc-internal-format
 msgid "ISO C forbids const or volatile function types"
 msgstr ""
 
 #. C99 6.7.2.1p8
-#: c/c-decl.cc:7428
+#: c/c-decl.cc:7734
 #, gcc-internal-format
 msgid "a member of a structure or union cannot have a variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:7445 cp/decl.cc:11498
+#: c/c-decl.cc:7751 cp/decl.cc:11691
 #, gcc-internal-format
 msgid "variable or field %qE declared void"
 msgstr ""
 
-#: c/c-decl.cc:7485
+#: c/c-decl.cc:7791
 #, gcc-internal-format
 msgid "attributes in parameter array declarator ignored"
 msgstr ""
 
-#: c/c-decl.cc:7527
+#: c/c-decl.cc:7833
 #, gcc-internal-format
 msgid "parameter %q+D declared %<inline%>"
 msgstr ""
 
-#: c/c-decl.cc:7529
+#: c/c-decl.cc:7835
 #, gcc-internal-format
 msgid "parameter %q+D declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:7542
+#: c/c-decl.cc:7848
 #, gcc-internal-format
 msgid "field %qE declared as a function"
 msgstr ""
 
-#: c/c-decl.cc:7549
+#: c/c-decl.cc:7855
 #, gcc-internal-format
 msgid "field %qE has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:7551
+#: c/c-decl.cc:7857
 #, gcc-internal-format
 msgid "unnamed field has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:7588 c/c-decl.cc:7599 c/c-decl.cc:7602
+#: c/c-decl.cc:7894 c/c-decl.cc:7905 c/c-decl.cc:7908
 #, gcc-internal-format
 msgid "invalid storage class for function %qE"
 msgstr ""
 
-#: c/c-decl.cc:7659
+#: c/c-decl.cc:7965
 #, gcc-internal-format
 msgid "cannot inline function %<main%>"
 msgstr ""
 
-#: c/c-decl.cc:7661
+#: c/c-decl.cc:7967
 #, gcc-internal-format
 msgid "%<main%> declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:7672
+#: c/c-decl.cc:7978
 #, gcc-internal-format
 msgid "ISO C99 does not support %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:7675
+#: c/c-decl.cc:7981
 #, gcc-internal-format
 msgid "ISO C90 does not support %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:7704
+#: c/c-decl.cc:8000
+#, gcc-internal-format
+msgid "%<constexpr%> object has variably modified type"
+msgstr ""
+
+#: c/c-decl.cc:8004 c/c-parser.cc:10931
+#, gcc-internal-format
+msgid "invalid qualifiers for %<constexpr%> object"
+msgstr ""
+
+#: c/c-decl.cc:8010 c/c-parser.cc:10934
+#, gcc-internal-format
+msgid "invalid qualifiers for field of %<constexpr%> object"
+msgstr ""
+
+#: c/c-decl.cc:8036
 #, gcc-internal-format
 msgid "variable previously declared %<static%> redeclared %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:7714
+#: c/c-decl.cc:8048
 #, gcc-internal-format
 msgid "variable %q+D declared %<inline%>"
 msgstr ""
 
-#: c/c-decl.cc:7716
+#: c/c-decl.cc:8050
 #, gcc-internal-format
 msgid "variable %q+D declared %<_Noreturn%>"
 msgstr ""
 
-#: c/c-decl.cc:7751
+#: c/c-decl.cc:8085
 #, gcc-internal-format
 msgid "non-nested function with variably modified type"
 msgstr ""
 
-#: c/c-decl.cc:7753
+#: c/c-decl.cc:8087
 #, gcc-internal-format
 msgid "object with variably modified type must have no linkage"
 msgstr ""
 
-#: c/c-decl.cc:7861 c/c-decl.cc:9628
+#: c/c-decl.cc:8195 c/c-decl.cc:10218
 #, gcc-internal-format
 msgid "function declaration isn%'t a prototype"
 msgstr ""
 
-#: c/c-decl.cc:7871
+#: c/c-decl.cc:8205
 #, gcc-internal-format
 msgid "parameter names (without types) in function declaration"
 msgstr ""
 
-#: c/c-decl.cc:7916
+#: c/c-decl.cc:8250
 #, gcc-internal-format
 msgid "parameter %u (%q+D) has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:7920
+#: c/c-decl.cc:8254
 #, gcc-internal-format, gfc-internal-format
 msgid "parameter %u has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:7931
+#: c/c-decl.cc:8265
 #, gcc-internal-format
 msgid "parameter %u (%q+D) has void type"
 msgstr ""
 
-#: c/c-decl.cc:7935
+#: c/c-decl.cc:8269
 #, gcc-internal-format, gfc-internal-format
 msgid "parameter %u has void type"
 msgstr ""
 
-#: c/c-decl.cc:8009
+#: c/c-decl.cc:8344
 #, gcc-internal-format
 msgid "%<void%> as only parameter may not be qualified"
 msgstr ""
 
-#: c/c-decl.cc:8013 c/c-decl.cc:8049
+#: c/c-decl.cc:8348 c/c-decl.cc:8384
 #, gcc-internal-format
 msgid "%<void%> must be the only parameter"
 msgstr ""
 
-#: c/c-decl.cc:8043
+#: c/c-decl.cc:8378
 #, gcc-internal-format
 msgid "parameter %q+D has just a forward declaration"
 msgstr ""
 
-#: c/c-decl.cc:8089
+#: c/c-decl.cc:8424
 #, 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:8095
+#: c/c-decl.cc:8430
 #, 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:8203
+#: c/c-decl.cc:8545
 #, gcc-internal-format
 msgid "enum type defined here"
 msgstr ""
 
-#: c/c-decl.cc:8209
+#: c/c-decl.cc:8551
 #, gcc-internal-format
 msgid "struct defined here"
 msgstr ""
 
-#: c/c-decl.cc:8215
+#: c/c-decl.cc:8557
 #, gcc-internal-format
 msgid "union defined here"
 msgstr ""
 
-#: c/c-decl.cc:8292
+#: c/c-decl.cc:8640
 #, gcc-internal-format
 msgid "redefinition of %<union %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8294
+#: c/c-decl.cc:8642
 #, gcc-internal-format
 msgid "redefinition of %<struct %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8303
+#: c/c-decl.cc:8651
 #, gcc-internal-format
 msgid "nested redefinition of %<union %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8305
+#: c/c-decl.cc:8653
 #, gcc-internal-format
 msgid "nested redefinition of %<struct %E%>"
 msgstr ""
 
-#: c/c-decl.cc:8335 c/c-decl.cc:9138
+#: c/c-decl.cc:8683 c/c-decl.cc:9617
 #, gcc-internal-format
 msgid "defining type in %qs expression is invalid in C++"
 msgstr ""
 
-#: c/c-decl.cc:8402 cp/decl.cc:5329
+#: c/c-decl.cc:8689 c/c-decl.cc:9623
+#, gcc-internal-format
+msgid "%qT defined in underspecified object initializer"
+msgstr ""
+
+#: c/c-decl.cc:8753 cp/decl.cc:5467
 #, gcc-internal-format
 msgid "declaration does not declare anything"
 msgstr ""
 
-#: c/c-decl.cc:8407
+#: c/c-decl.cc:8758
 #, gcc-internal-format
 msgid "ISO C99 doesn%'t support unnamed structs/unions"
 msgstr ""
 
-#: c/c-decl.cc:8410
+#: c/c-decl.cc:8761
 #, gcc-internal-format
 msgid "ISO C90 doesn%'t support unnamed structs/unions"
 msgstr ""
 
-#: c/c-decl.cc:8503 c/c-decl.cc:8521 c/c-decl.cc:8582
+#: c/c-decl.cc:8854 c/c-decl.cc:8872 c/c-decl.cc:8933
 #, gcc-internal-format
 msgid "duplicate member %q+D"
 msgstr ""
 
-#: c/c-decl.cc:8608
+#: c/c-decl.cc:8959
 #, gcc-internal-format
 msgid "empty struct has size 0 in C, size 1 in C++"
 msgstr ""
 
-#: c/c-decl.cc:8611
+#: c/c-decl.cc:8962
 #, gcc-internal-format
 msgid "empty union has size 0 in C, size 1 in C++"
 msgstr ""
 
-#: c/c-decl.cc:8736
+#: c/c-decl.cc:9171
 #, gcc-internal-format
 msgid "union has no named members"
 msgstr ""
 
-#: c/c-decl.cc:8738
+#: c/c-decl.cc:9173
 #, gcc-internal-format
 msgid "union has no members"
 msgstr ""
 
-#: c/c-decl.cc:8743
+#: c/c-decl.cc:9178
 #, gcc-internal-format
 msgid "struct has no named members"
 msgstr ""
 
-#: c/c-decl.cc:8745
+#: c/c-decl.cc:9180
 #, gcc-internal-format
 msgid "struct has no members"
 msgstr ""
 
-#: c/c-decl.cc:8806 cp/decl.cc:13875
+#: c/c-decl.cc:9254 cp/decl.cc:14110
 #, gcc-internal-format
 msgid "flexible array member in union"
 msgstr ""
 
-#: c/c-decl.cc:8812
+#: c/c-decl.cc:9260
 #, gcc-internal-format
 msgid "flexible array member not at end of struct"
 msgstr ""
 
-#: c/c-decl.cc:8818
+#: c/c-decl.cc:9266
 #, gcc-internal-format
 msgid "flexible array member in a struct with no named members"
 msgstr ""
 
-#: c/c-decl.cc:8849
+#: c/c-decl.cc:9300
 #, gcc-internal-format
 msgid "type %qT is too large"
 msgstr ""
 
-#: c/c-decl.cc:8903
+#: c/c-decl.cc:9354
 #, gcc-internal-format
 msgid "type punning toggles scalar storage order"
 msgstr ""
 
-#: c/c-decl.cc:8970
+#: c/c-decl.cc:9421
 #, gcc-internal-format
 msgid "union cannot be made transparent"
 msgstr ""
 
-#: c/c-decl.cc:9110
+#: c/c-decl.cc:9582
 #, gcc-internal-format
 msgid "nested redefinition of %<enum %E%>"
 msgstr ""
 
-#. This enum is a named one that has been declared already.
-#: c/c-decl.cc:9117
+#: c/c-decl.cc:9590
 #, gcc-internal-format
 msgid "redeclaration of %<enum %E%>"
 msgstr ""
 
-#: c/c-decl.cc:9196 cp/decl.cc:16417
+#: c/c-decl.cc:9601
+#, gcc-internal-format
+msgid "%<enum%> declared with but defined without fixed underlying type"
+msgstr ""
+
+#: c/c-decl.cc:9686 cp/decl.cc:16686 m2/gm2-gcc/m2type.cc:2060
 #, gcc-internal-format
 msgid "specified mode too small for enumerated values"
 msgstr ""
 
-#: c/c-decl.cc:9211
+#: c/c-decl.cc:9705
 #, gcc-internal-format
 msgid "enumeration values exceed range of largest integer"
 msgstr ""
 
-#: c/c-decl.cc:9331 c/c-decl.cc:9347
+#: c/c-decl.cc:9714
+#, gcc-internal-format
+msgid "enumeration values exceed range of %qs"
+msgstr ""
+
+#: c/c-decl.cc:9841 c/c-decl.cc:9857
 #, gcc-internal-format
 msgid "enumerator value for %qE is not an integer constant"
 msgstr ""
 
-#: c/c-decl.cc:9342
+#: c/c-decl.cc:9852
 #, gcc-internal-format
 msgid "enumerator value for %qE is not an integer constant expression"
 msgstr ""
 
-#: c/c-decl.cc:9366
+#: c/c-decl.cc:9876
 #, gcc-internal-format
 msgid "overflow in enumeration values"
 msgstr ""
 
-#: c/c-decl.cc:9374
+#: c/c-decl.cc:9883
+#, gcc-internal-format
+msgid "enumerator value outside the range of underlying type"
+msgstr ""
+
+#: c/c-decl.cc:9911
 #, gcc-internal-format
-msgid "ISO C restricts enumerator values to range of %<int%>"
+msgid "enumerator value outside the range of %qs"
 msgstr ""
 
-#: c/c-decl.cc:9522 cp/decl.cc:5642 cp/decl.cc:16996
+#: c/c-decl.cc:9917
+#, gcc-internal-format
+msgid "ISO C restricts enumerator values to range of %<int%> before C2X"
+msgstr ""
+
+#: c/c-decl.cc:10111 cp/decl.cc:5787 cp/decl.cc:17265
 #, gcc-internal-format
 msgid "inline function %qD given attribute %qs"
 msgstr ""
 
-#: c/c-decl.cc:9540
+#: c/c-decl.cc:10129
 #, gcc-internal-format
 msgid "return type is an incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:9551
+#: c/c-decl.cc:10141
 #, gcc-internal-format
 msgid "return type defaults to %<int%>"
 msgstr ""
 
-#: c/c-decl.cc:9579
+#: c/c-decl.cc:10169
 #, gcc-internal-format
 msgid "%q+D defined as variadic function without prototype"
 msgstr ""
 
-#: c/c-decl.cc:9637
+#: c/c-decl.cc:10227
 #, gcc-internal-format
 msgid "no previous prototype for %qD"
 msgstr ""
 
-#: c/c-decl.cc:9646
+#: c/c-decl.cc:10236
 #, gcc-internal-format
 msgid "%qD was used with no prototype before its definition"
 msgstr ""
 
-#: c/c-decl.cc:9654 cp/decl.cc:17131
+#: c/c-decl.cc:10244 cp/decl.cc:17408
 #, gcc-internal-format
 msgid "no previous declaration for %qD"
 msgstr ""
 
-#: c/c-decl.cc:9664
+#: c/c-decl.cc:10254
 #, gcc-internal-format
 msgid "%qD was used with no declaration before its definition"
 msgstr ""
 
-#: c/c-decl.cc:9683
+#: c/c-decl.cc:10273
 #, gcc-internal-format
 msgid "return type of %qD is not %<int%>"
 msgstr ""
 
-#: c/c-decl.cc:9685
+#: c/c-decl.cc:10275
 #, gcc-internal-format
 msgid "%<_Atomic%>-qualified return type of %qD"
 msgstr ""
 
-#: c/c-decl.cc:9692
+#: c/c-decl.cc:10282
 #, gcc-internal-format
 msgid "%qD is normally a non-static function"
 msgstr ""
 
-#: c/c-decl.cc:9740
+#: c/c-decl.cc:10333
 #, gcc-internal-format
 msgid "old-style parameter declarations in prototyped function definition"
 msgstr ""
 
-#: c/c-decl.cc:9755
+#: c/c-decl.cc:10348
 #, gcc-internal-format
 msgid "traditional C rejects ISO C style function definitions"
 msgstr ""
 
-#: c/c-decl.cc:9772
+#: c/c-decl.cc:10365
 #, gcc-internal-format
 msgid ""
 "ISO C does not support omitting parameter names in function definitions "
 "before C2X"
 msgstr ""
 
-#: c/c-decl.cc:9812 c/c-decl.cc:9816
+#: c/c-decl.cc:10405 c/c-decl.cc:10409
 #, gcc-internal-format
 msgid "old-style function definition"
 msgstr ""
 
-#: c/c-decl.cc:9829
+#: c/c-decl.cc:10422
 #, gcc-internal-format
 msgid "parameter name missing from parameter list"
 msgstr ""
 
-#: c/c-decl.cc:9845
+#: c/c-decl.cc:10438
 #, gcc-internal-format
 msgid "%qD declared as a non-parameter"
 msgstr ""
 
-#: c/c-decl.cc:9853
+#: c/c-decl.cc:10446
 #, gcc-internal-format
 msgid "multiple parameters named %qD"
 msgstr ""
 
-#: c/c-decl.cc:9862
+#: c/c-decl.cc:10455
 #, gcc-internal-format
 msgid "parameter %qD declared with void type"
 msgstr ""
 
-#: c/c-decl.cc:9891 c/c-decl.cc:9896
+#: c/c-decl.cc:10484 c/c-decl.cc:10489
 #, gcc-internal-format
 msgid "type of %qD defaults to %<int%>"
 msgstr ""
 
-#: c/c-decl.cc:9916
+#: c/c-decl.cc:10509
 #, gcc-internal-format
 msgid "parameter %qD has incomplete type"
 msgstr ""
 
-#: c/c-decl.cc:9923
+#: c/c-decl.cc:10516
 #, gcc-internal-format
 msgid "declaration for parameter %qD but no such parameter"
 msgstr ""
 
-#: c/c-decl.cc:9976
+#: c/c-decl.cc:10569
 #, gcc-internal-format
 msgid "number of arguments doesn%'t match built-in prototype"
 msgstr ""
 
-#: c/c-decl.cc:9987
+#: c/c-decl.cc:10580
 #, gcc-internal-format
 msgid "number of arguments doesn%'t match prototype"
 msgstr ""
 
-#: c/c-decl.cc:9990 c/c-decl.cc:10037 c/c-decl.cc:10051
+#: c/c-decl.cc:10583 c/c-decl.cc:10630 c/c-decl.cc:10644
 #, gcc-internal-format
 msgid "prototype declaration"
 msgstr ""
 
-#: c/c-decl.cc:10029
+#: c/c-decl.cc:10622
 #, gcc-internal-format
 msgid "promoted argument %qD doesn%'t match built-in prototype"
 msgstr ""
 
-#: c/c-decl.cc:10034
+#: c/c-decl.cc:10627
 #, gcc-internal-format
 msgid "promoted argument %qD doesn%'t match prototype"
 msgstr ""
 
-#: c/c-decl.cc:10044
+#: c/c-decl.cc:10637
 #, gcc-internal-format
 msgid "argument %qD doesn%'t match built-in prototype"
 msgstr ""
 
-#: c/c-decl.cc:10049
+#: c/c-decl.cc:10642
 #, gcc-internal-format
 msgid "argument %qD doesn%'t match prototype"
 msgstr ""
 
-#: c/c-decl.cc:10307 cp/decl.cc:17942
+#: c/c-decl.cc:10900 cp/decl.cc:18189
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr ""
 
-#: c/c-decl.cc:10326 cp/decl.cc:18026
+#: c/c-decl.cc:10919 cp/decl.cc:18273
 #, gcc-internal-format
 msgid "parameter %qD set but not used"
 msgstr ""
 
-#. If we get here, declarations have been used in a for loop without
-#. the C99 for loop scope.  This doesn't make much sense, so don't
-#. allow it.
-#: c/c-decl.cc:10422
+#: c/c-decl.cc:11016
 #, gcc-internal-format
 msgid "%<for%> loop initial declarations are only allowed in C99 or C11 mode"
 msgstr ""
 
-#: c/c-decl.cc:10427
+#: c/c-decl.cc:11021
 #, gcc-internal-format
 msgid ""
 "use option %<-std=c99%>, %<-std=gnu99%>, %<-std=c11%> or %<-std=gnu11%> to "
 "compile your code"
 msgstr ""
 
-#: c/c-decl.cc:10434
+#: c/c-decl.cc:11028
 #, gcc-internal-format
 msgid "ISO C90 does not support %<for%> loop initial declarations"
 msgstr ""
 
-#: c/c-decl.cc:10466
+#: c/c-decl.cc:11060
 #, gcc-internal-format
 msgid "declaration of static variable %qD in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:10470
+#: c/c-decl.cc:11064
 #, gcc-internal-format
 msgid ""
 "declaration of %<extern%> variable %qD in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:10477
+#: c/c-decl.cc:11071
 #, gcc-internal-format
 msgid "%<struct %E%> declared in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:10482
+#: c/c-decl.cc:11076
 #, gcc-internal-format
 msgid "%<union %E%> declared in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:10486
+#: c/c-decl.cc:11080
 #, gcc-internal-format
 msgid "%<enum %E%> declared in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:10490
+#: c/c-decl.cc:11084
 #, gcc-internal-format
 msgid "declaration of non-variable %qD in %<for%> loop initial declaration"
 msgstr ""
 
-#: c/c-decl.cc:10784
+#: c/c-decl.cc:11370
 #, gcc-internal-format
 msgid "incompatible address space qualifiers %qs and %qs"
 msgstr ""
 
-#: c/c-decl.cc:10843 c/c-decl.cc:10850
+#: c/c-decl.cc:11429 c/c-decl.cc:11436
 #, gcc-internal-format
 msgid "duplicate %qE declaration specifier"
 msgstr ""
 
-#: c/c-decl.cc:10880 c/c-decl.cc:11264 c/c-decl.cc:11659
+#: c/c-decl.cc:11464 c/c-decl.cc:12465
+#, gcc-internal-format
+msgid "multiple storage classes in declaration specifiers"
+msgstr ""
+
+#: c/c-decl.cc:11466
+#, 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:11471
+#, gcc-internal-format
+msgid "%<auto%> used with %<constexpr%>"
+msgstr ""
+
+#: c/c-decl.cc:11484 c/c-decl.cc:11868 c/c-decl.cc:12263
 #, gcc-internal-format
 msgid "two or more data types in declaration specifiers"
 msgstr ""
 
-#: c/c-decl.cc:10892 cp/parser.cc:32773
+#: c/c-decl.cc:11496 cp/parser.cc:33520
 #, gcc-internal-format
 msgid "%<long long long%> is too long for GCC"
 msgstr ""
 
-#: c/c-decl.cc:10905
+#: c/c-decl.cc:11509
 #, gcc-internal-format
 msgid "ISO C90 does not support %<long long%>"
 msgstr ""
 
-#: c/c-decl.cc:11134 c/c-parser.cc:9997
+#: c/c-decl.cc:11738 c/c-parser.cc:10585
 #, gcc-internal-format
 msgid "ISO C90 does not support complex types"
 msgstr ""
 
-#: c/c-decl.cc:11180
+#: c/c-decl.cc:11784
 #, gcc-internal-format
 msgid "ISO C does not support saturating types"
 msgstr ""
 
-#: c/c-decl.cc:11251 c/c-decl.cc:11817
+#: c/c-decl.cc:11855 c/c-decl.cc:12400 c/c-decl.cc:12459
 #, gcc-internal-format
 msgid "duplicate %qE"
 msgstr ""
 
-#: c/c-decl.cc:11311
+#: c/c-decl.cc:11915
 #, gcc-internal-format
 msgid "ISO C does not support %<__int%d%> types"
 msgstr ""
 
-#: c/c-decl.cc:11333
+#: c/c-decl.cc:11937
 #, gcc-internal-format
 msgid "%<__int%d%> is not supported on this target"
 msgstr ""
 
-#: c/c-decl.cc:11376
+#: c/c-decl.cc:11980
 #, gcc-internal-format
 msgid "ISO C90 does not support boolean types"
 msgstr ""
 
-#: c/c-decl.cc:11495
+#: c/c-decl.cc:12099
 #, gcc-internal-format
 msgid "ISO C does not support the %<_Float%d%s%> type"
 msgstr ""
 
-#: c/c-decl.cc:11545
+#: c/c-decl.cc:12149 cp/parser.cc:19715
 #, gcc-internal-format
 msgid "%<_Float%d%s%> is not supported on this target"
 msgstr ""
 
-#: c/c-decl.cc:11616
+#: c/c-decl.cc:12220
 #, gcc-internal-format
 msgid "ISO C does not support decimal floating-point before C2X"
 msgstr ""
 
-#: c/c-decl.cc:11640 c/c-decl.cc:11913 c/c-parser.cc:9008
+#: c/c-decl.cc:12244 c/c-decl.cc:12561 c/c-parser.cc:9595
 #, gcc-internal-format
 msgid "fixed-point types not supported for this target"
 msgstr ""
 
-#: c/c-decl.cc:11642
+#: c/c-decl.cc:12246
 #, gcc-internal-format
 msgid "ISO C does not support fixed-point types"
 msgstr ""
 
-#: c/c-decl.cc:11677
+#: c/c-decl.cc:12279
 #, gcc-internal-format
 msgid "C++ lookup of %qD would return a field, not a type"
 msgstr ""
 
-#: c/c-decl.cc:11690
+#: c/c-decl.cc:12292
 #, gcc-internal-format
 msgid "%qE fails to be a typedef or built in type"
 msgstr ""
 
-#: c/c-decl.cc:11739
+#: c/c-decl.cc:12344
 #, gcc-internal-format
 msgid "%qE is not at beginning of declaration"
 msgstr ""
 
-#: c/c-decl.cc:11760
+#. auto may only be used with another storage class specifier,
+#. such as constexpr, if the type is inferred.
+#: c/c-decl.cc:12365 c/c-decl.cc:12442
 #, gcc-internal-format
 msgid "%qE used with %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:11762
+#: c/c-decl.cc:12367
 #, gcc-internal-format
 msgid "%qE used with %<register%>"
 msgstr ""
 
-#: c/c-decl.cc:11764
+#: c/c-decl.cc:12369 c/c-decl.cc:12438
 #, gcc-internal-format
 msgid "%qE used with %<typedef%>"
 msgstr ""
 
-#: c/c-decl.cc:11778 c/c-parser.cc:8362
+#: c/c-decl.cc:12371 c/c-decl.cc:12408
+#, gcc-internal-format
+msgid "%qE used with %<constexpr%>"
+msgstr ""
+
+#: c/c-decl.cc:12385 c/c-parser.cc:2925 c/c-parser.cc:4209 c/c-parser.cc:8939
 #, gcc-internal-format
 msgid "ISO C99 does not support %qE"
 msgstr ""
 
-#: c/c-decl.cc:11781 c/c-parser.cc:8365
+#: c/c-decl.cc:12388 c/c-parser.cc:2928 c/c-parser.cc:4212 c/c-parser.cc:8942
 #, gcc-internal-format
 msgid "ISO C90 does not support %qE"
 msgstr ""
 
-#: c/c-decl.cc:11793
+#: c/c-decl.cc:12414
 #, gcc-internal-format
 msgid "%<__thread%> before %<extern%>"
 msgstr ""
 
-#: c/c-decl.cc:11802
+#: c/c-decl.cc:12423
 #, gcc-internal-format
 msgid "%<__thread%> before %<static%>"
 msgstr ""
 
-#: c/c-decl.cc:11815
+#: c/c-decl.cc:12429
 #, gcc-internal-format
-msgid "duplicate %<_Thread_local%> or %<__thread%>"
+msgid "%<typedef%> used with %<auto%>"
 msgstr ""
 
-#: c/c-decl.cc:11823
+#: c/c-decl.cc:12436
 #, gcc-internal-format
-msgid "multiple storage classes in declaration specifiers"
+msgid "%qE used with %<extern%>"
+msgstr ""
+
+#: c/c-decl.cc:12444
+#, gcc-internal-format
+msgid "%qE used with %qs"
+msgstr ""
+
+#: c/c-decl.cc:12457
+#, gcc-internal-format
+msgid "duplicate %<_Thread_local%> or %<__thread%>"
 msgstr ""
 
-#: c/c-decl.cc:11831
+#: c/c-decl.cc:12473
 #, gcc-internal-format
 msgid "%qs used with %qE"
 msgstr ""
 
-#: c/c-decl.cc:11910
+#: c/c-decl.cc:12481
+#, gcc-internal-format
+msgid "%<constexpr%> used with %qE"
+msgstr ""
+
+#: c/c-decl.cc:12558
 #, gcc-internal-format
 msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
 msgstr ""
 
-#: c/c-decl.cc:11925
+#: c/c-decl.cc:12573
 #, gcc-internal-format
 msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
 msgstr ""
 
-#: c/c-decl.cc:11952
+#: c/c-decl.cc:12584
+#, gcc-internal-format
+msgid "ISO C does not support %<auto%> type deduction before C2X"
+msgstr ""
+
+#: c/c-decl.cc:12613
 #, gcc-internal-format
 msgid "%<__auto_type%> followed by %<[[]]%> attributes"
 msgstr ""
 
-#: c/c-decl.cc:11978 c/c-decl.cc:11994 c/c-decl.cc:12020
+#: c/c-decl.cc:12639 c/c-decl.cc:12655 c/c-decl.cc:12681
 #, gcc-internal-format
 msgid "ISO C does not support complex integer types"
 msgstr ""
 
-#: c/c-decl.cc:12448 cp/semantics.cc:6007
+#: c/c-decl.cc:13109 cp/semantics.cc:6063
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare reduction%> combiner refers to variable %qD which is "
 "not %<omp_out%> nor %<omp_in%>"
 msgstr ""
 
-#: c/c-decl.cc:12452 cp/semantics.cc:6011
+#: c/c-decl.cc:13113 cp/semantics.cc:6067
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare reduction%> initializer refers to variable %qD which "
 "is not %<omp_priv%> nor %<omp_orig%>"
 msgstr ""
 
-#: c/c-fold.cc:388 c/c-typeck.cc:12227 cp/typeck.cc:5398
+#: c/c-fold.cc:388 c/c-typeck.cc:12642 cp/typeck.cc:5636
 #, gcc-internal-format
 msgid "left shift of negative value"
 msgstr ""
 
-#: c/c-fold.cc:398 c/c-typeck.cc:12236 cp/typeck.cc:5406
+#: c/c-fold.cc:398 c/c-typeck.cc:12651 cp/typeck.cc:5644
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr ""
 
-#: c/c-fold.cc:399 c/c-typeck.cc:12164 cp/typeck.cc:5345
+#: c/c-fold.cc:399 c/c-typeck.cc:12579 cp/typeck.cc:5583
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr ""
 
-#: c/c-fold.cc:407 c/c-typeck.cc:12255 cp/typeck.cc:5414
+#: c/c-fold.cc:407 c/c-typeck.cc:12670 cp/typeck.cc:5652
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr ""
 
-#: c/c-fold.cc:408 c/c-typeck.cc:12188 cp/typeck.cc:5356
+#: c/c-fold.cc:408 c/c-typeck.cc:12603 cp/typeck.cc:5594
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr ""
 
-#: c/c-fold.cc:415 c/c-typeck.cc:12247
+#: c/c-fold.cc:415 c/c-typeck.cc:12662
 #, gcc-internal-format
 msgid "left shift count >= width of vector element"
 msgstr ""
 
-#: c/c-fold.cc:416 c/c-typeck.cc:12175
+#: c/c-fold.cc:416 c/c-typeck.cc:12590
 #, gcc-internal-format
 msgid "right shift count >= width of vector element"
 msgstr ""
 
-#: c/c-parser.cc:321
+#: c/c-parser.cc:336
 #, gcc-internal-format
 msgid "identifier %qE conflicts with C++ keyword"
 msgstr ""
 
-#: c/c-parser.cc:974 cp/parser.cc:3035
+#: c/c-parser.cc:1017 cp/parser.cc:3113
 #, gcc-internal-format
 msgid "version control conflict marker in file"
 msgstr ""
 
-#: c/c-parser.cc:1195 cp/parser.cc:3116
+#: c/c-parser.cc:1238 cp/parser.cc:3194
 #, gcc-internal-format
 msgid "to match this %qs"
 msgstr ""
 
-#: c/c-parser.cc:1324 cp/parser.cc:33007
+#: c/c-parser.cc:1367 cp/parser.cc:33754
 #, gcc-internal-format
 msgid "expected end of line"
 msgstr ""
 
-#: c/c-parser.cc:1643
+#: c/c-parser.cc:1770
 #, gcc-internal-format
 msgid "ISO C forbids an empty translation unit"
 msgstr ""
 
-#: c/c-parser.cc:1667 cp/semantics.cc:3353
+#: c/c-parser.cc:1796 c/c-parser.cc:1805 c/c-parser.cc:23169 cp/parser.cc:47419
+#: cp/semantics.cc:3399 cp/semantics.cc:3408
 #, gcc-internal-format
-msgid ""
-"%<#pragma omp declare target%> without corresponding %<#pragma omp end "
-"declare target%>"
+msgid "%qs without corresponding %qs"
 msgstr ""
 
-#: c/c-parser.cc:1755 c/c-parser.cc:11307
+#: c/c-parser.cc:1901 c/c-parser.cc:11991
 #, gcc-internal-format
 msgid "ISO C does not allow extra %<;%> outside of a function"
 msgstr ""
 
-#: c/c-parser.cc:1946
+#: c/c-parser.cc:1982
+#, gcc-internal-format
+msgid "%<assume%> attribute at top level"
+msgstr ""
+
+#: c/c-parser.cc:2132
 #, gcc-internal-format
 msgid "unknown type name %qE; use %<struct%> keyword to refer to the type"
 msgstr ""
 
-#: c/c-parser.cc:1954
+#: c/c-parser.cc:2140
 #, gcc-internal-format
 msgid "unknown type name %qE; use %<union%> keyword to refer to the type"
 msgstr ""
 
-#: c/c-parser.cc:1962
+#: c/c-parser.cc:2148
 #, gcc-internal-format
 msgid "unknown type name %qE; use %<enum%> keyword to refer to the type"
 msgstr ""
 
-#: c/c-parser.cc:1975 c/c-parser.cc:4381
+#: c/c-parser.cc:2161 c/c-parser.cc:4816
 #, gcc-internal-format
 msgid "unknown type name %qE; did you mean %qs?"
 msgstr ""
 
-#: c/c-parser.cc:1979 c/c-parser.cc:2882 c/c-parser.cc:4385
+#: c/c-parser.cc:2165 c/c-parser.cc:3183 c/c-parser.cc:4820
 #, gcc-internal-format
 msgid "unknown type name %qE"
 msgstr ""
 
-#: c/c-parser.cc:2006 c/c-parser.cc:12610 c/c-parser.cc:19966
-#: c/c-parser.cc:20553 c/c-parser.cc:21075 cp/parser.cc:43820
-#: cp/parser.cc:48080
+#: c/c-parser.cc:2192 c/c-parser.cc:13313 c/c-parser.cc:20919
+#: c/c-parser.cc:21514 c/c-parser.cc:22068 cp/parser.cc:44882
+#: cp/parser.cc:49481
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr ""
 
-#: c/c-parser.cc:2016
+#: c/c-parser.cc:2216
+#, gcc-internal-format
+msgid "%qT declared in underspecified object declaration"
+msgstr ""
+
+#: c/c-parser.cc:2221
+#, gcc-internal-format
+msgid "%qT defined in underspecified object declaration"
+msgstr ""
+
+#: c/c-parser.cc:2240
 #, gcc-internal-format
-msgid "%<__auto_type%> in empty declaration"
+msgid "%qs in empty declaration"
 msgstr ""
 
-#: c/c-parser.cc:2030
+#: c/c-parser.cc:2254
 #, gcc-internal-format
 msgid "%<fallthrough%> attribute at top level"
 msgstr ""
 
-#: c/c-parser.cc:2053 c/c-parser.cc:3614
+#: c/c-parser.cc:2279 c/c-parser.cc:4013
 #, gcc-internal-format
 msgid "expected %<;%>, identifier or %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:2071 cp/parser.cc:35240 cp/parser.cc:35312
+#: c/c-parser.cc:2297 cp/parser.cc:35989 cp/parser.cc:36061
 #, gcc-internal-format
 msgid "prefix attributes are ignored for methods"
 msgstr ""
 
-#: c/c-parser.cc:2106
+#: c/c-parser.cc:2332
 #, gcc-internal-format
 msgid "prefix attributes are ignored for implementations"
 msgstr ""
 
-#: c/c-parser.cc:2127
+#: c/c-parser.cc:2353
 #, gcc-internal-format
 msgid "unexpected attribute"
 msgstr ""
 
-#: c/c-parser.cc:2137 c/c-parser.cc:6233 cp/parser.cc:12517 cp/parser.cc:12724
+#: c/c-parser.cc:2363 c/c-parser.cc:6748 cp/parser.cc:12603 cp/parser.cc:12825
 #, gcc-internal-format
 msgid "%<fallthrough%> attribute not followed by %<;%>"
 msgstr ""
 
-#: c/c-parser.cc:2169
+#: c/c-parser.cc:2366 c/c-parser.cc:6731 cp/cp-gimplify.cc:3191
+#, gcc-internal-format
+msgid "%<assume%> attribute not followed by %<;%>"
+msgstr ""
+
+#: c/c-parser.cc:2399
 #, gcc-internal-format
 msgid "%<__auto_type%> requires a plain identifier as declarator"
 msgstr ""
 
-#: c/c-parser.cc:2186
+#: c/c-parser.cc:2412
+#, gcc-internal-format
+msgid ""
+"%<auto%> requires a plain identifier, possibly with attributes, as declarator"
+msgstr ""
+
+#: c/c-parser.cc:2438
 #, gcc-internal-format
 msgid "data definition has no type or storage class"
 msgstr ""
@@ -46186,28 +47407,28 @@ msgstr ""
 #. This means there is an attribute specifier after
 #. the declarator in a function definition.  Provide
 #. some more information for the user.
-#: c/c-parser.cc:2201
+#: c/c-parser.cc:2453
 #, gcc-internal-format
 msgid ""
 "attributes should be specified before the declarator in a function definition"
 msgstr ""
 
-#: c/c-parser.cc:2228
+#: c/c-parser.cc:2492
 #, gcc-internal-format
 msgid "%<__auto_type%> used with a bit-field initializer"
 msgstr ""
 
-#: c/c-parser.cc:2299 c/c-parser.cc:2428
+#: c/c-parser.cc:2592 c/c-parser.cc:2722
 #, gcc-internal-format
-msgid "%<__auto_type%> requires an initialized data declaration"
+msgid "%qs requires an initialized data declaration"
 msgstr ""
 
-#: c/c-parser.cc:2391
+#: c/c-parser.cc:2685
 #, gcc-internal-format
-msgid "%<__auto_type%> may only be used with a single declarator"
+msgid "%qs may only be used with a single declarator"
 msgstr ""
 
-#: c/c-parser.cc:2420 cp/parser.cc:15387
+#: c/c-parser.cc:2714 cp/parser.cc:15497
 #, gcc-internal-format
 msgid "expected %<,%> or %<;%>"
 msgstr ""
@@ -46215,263 +47436,274 @@ 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:2434 c/c-parser.cc:2475
+#: c/c-parser.cc:2729 c/c-parser.cc:2770
 #, gcc-internal-format
 msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
 msgstr ""
 
-#: c/c-parser.cc:2442
+#: c/c-parser.cc:2737
 #, gcc-internal-format
 msgid "ISO C forbids nested functions"
 msgstr ""
 
-#: c/c-parser.cc:2626
-#, gcc-internal-format
-msgid "ISO C99 does not support %<_Static_assert%>"
-msgstr ""
-
-#: c/c-parser.cc:2629
-#, gcc-internal-format
-msgid "ISO C90 does not support %<_Static_assert%>"
-msgstr ""
-
-#: c/c-parser.cc:2650 c/c-parser.cc:7351 c/c-parser.cc:12671
+#: c/c-parser.cc:2951 c/c-parser.cc:7870 c/c-parser.cc:13374
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr ""
 
-#: c/c-parser.cc:2659
+#: c/c-parser.cc:2960
 #, gcc-internal-format
-msgid "ISO C11 does not support omitting the string in %<_Static_assert%>"
+msgid "ISO C11 does not support omitting the string in %qE"
 msgstr ""
 
-#: c/c-parser.cc:2665
+#: c/c-parser.cc:2966
 #, gcc-internal-format
 msgid "expression in static assertion is not an integer"
 msgstr ""
 
-#: c/c-parser.cc:2674
+#: c/c-parser.cc:2975
 #, gcc-internal-format
 msgid "expression in static assertion is not an integer constant expression"
 msgstr ""
 
-#: c/c-parser.cc:2679
+#: c/c-parser.cc:2980
 #, gcc-internal-format
 msgid "expression in static assertion is not constant"
 msgstr ""
 
-#: c/c-parser.cc:2686
+#: c/c-parser.cc:2987
 #, gcc-internal-format
 msgid "static assertion failed: %E"
 msgstr ""
 
-#: c/c-parser.cc:2688 cp/semantics.cc:11193
+#: c/c-parser.cc:2989 cp/semantics.cc:11287
 #, gcc-internal-format
 msgid "static assertion failed"
 msgstr ""
 
-#: c/c-parser.cc:3024
+#: c/c-parser.cc:3330
 #, gcc-internal-format
 msgid "%<_Atomic%> in Objective-C"
 msgstr ""
 
-#: c/c-parser.cc:3027
+#: c/c-parser.cc:3333
 #, gcc-internal-format
 msgid "ISO C99 does not support the %<_Atomic%> qualifier"
 msgstr ""
 
-#: c/c-parser.cc:3030
+#: c/c-parser.cc:3336
 #, gcc-internal-format
 msgid "ISO C90 does not support the %<_Atomic%> qualifier"
 msgstr ""
 
-#: c/c-parser.cc:3057
+#: c/c-parser.cc:3364
 #, gcc-internal-format
 msgid "%<_Atomic%> applied to a qualified type"
 msgstr ""
 
-#: c/c-parser.cc:3087
+#: c/c-parser.cc:3394
 #, gcc-internal-format
 msgid "%<__GIMPLE%> only valid with %<-fgimple%>"
 msgstr ""
 
-#: c/c-parser.cc:3197
+#: c/c-parser.cc:3485
+#, gcc-internal-format
+msgid "ISO C does not support specifying %<enum%> underlying types before C2X"
+msgstr ""
+
+#: c/c-parser.cc:3494
+#, gcc-internal-format
+msgid "%<enum%> declared both with and without fixed underlying type"
+msgstr ""
+
+#: c/c-parser.cc:3516
+#, gcc-internal-format
+msgid "no %<enum%> underlying type specified"
+msgstr ""
+
+#: c/c-parser.cc:3520
+#, gcc-internal-format
+msgid "invalid %<enum%> underlying type"
+msgstr ""
+
+#: c/c-parser.cc:3550
+#, gcc-internal-format
+msgid "%<enum%> underlying type incompatible with previous declaration"
+msgstr ""
+
+#: c/c-parser.cc:3585
 #, gcc-internal-format
 msgid "empty enum is invalid"
 msgstr ""
 
-#: c/c-parser.cc:3201 c/c-parser.cc:4199 c/c-parser.cc:4905 c/c-parser.cc:4917
-#: c/c-parser.cc:5352 c/c-parser.cc:5651 c/c-parser.cc:7218 c/c-parser.cc:7301
-#: c/c-parser.cc:8225 c/c-parser.cc:8530 c/c-parser.cc:8539 c/c-parser.cc:9068
-#: c/c-parser.cc:9254 c/c-parser.cc:9280 c/c-parser.cc:10164
-#: c/c-parser.cc:10590 c/c-parser.cc:10627 c/c-parser.cc:10889
-#: c/c-parser.cc:10940 c/c-parser.cc:11100 c/c-parser.cc:11130
-#: c/c-parser.cc:11138 c/c-parser.cc:11167 c/c-parser.cc:11180
-#: c/c-parser.cc:11486 c/c-parser.cc:11610 c/c-parser.cc:12194
-#: c/c-parser.cc:12247 c/c-parser.cc:12263 c/c-parser.cc:12309
-#: c/c-parser.cc:13118 c/c-parser.cc:13161 c/c-parser.cc:15797
-#: c/c-parser.cc:15909 c/c-parser.cc:16560 c/c-parser.cc:18942
-#: c/c-parser.cc:21603 c/c-parser.cc:21794 c/gimple-parser.cc:1793
-#: c/gimple-parser.cc:1839 cp/parser.cc:9164 cp/parser.cc:33010
-#: cp/parser.cc:36217 cp/parser.cc:39011 cp/parser.cc:39180 cp/parser.cc:45371
-#: cp/parser.cc:47375
+#: c/c-parser.cc:3589 c/c-parser.cc:4641 c/c-parser.cc:5362 c/c-parser.cc:5374
+#: c/c-parser.cc:5836 c/c-parser.cc:6148 c/c-parser.cc:7737 c/c-parser.cc:7820
+#: c/c-parser.cc:8796 c/c-parser.cc:9113 c/c-parser.cc:9122 c/c-parser.cc:9655
+#: c/c-parser.cc:9842 c/c-parser.cc:9870 c/c-parser.cc:10752
+#: c/c-parser.cc:11270 c/c-parser.cc:11308 c/c-parser.cc:11573
+#: c/c-parser.cc:11624 c/c-parser.cc:11784 c/c-parser.cc:11814
+#: c/c-parser.cc:11822 c/c-parser.cc:11851 c/c-parser.cc:11864
+#: c/c-parser.cc:12170 c/c-parser.cc:12294 c/c-parser.cc:12879
+#: c/c-parser.cc:12932 c/c-parser.cc:12948 c/c-parser.cc:12994
+#: c/c-parser.cc:13839 c/c-parser.cc:13885 c/c-parser.cc:16615
+#: c/c-parser.cc:16752 c/c-parser.cc:17467 c/c-parser.cc:19903
+#: c/c-parser.cc:22596 c/c-parser.cc:22787 c/gimple-parser.cc:1806
+#: c/gimple-parser.cc:1853 cp/parser.cc:9276 cp/parser.cc:33757
+#: cp/parser.cc:36966 cp/parser.cc:39892 cp/parser.cc:40084 cp/parser.cc:46465
+#: cp/parser.cc:48764
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr ""
 
-#: c/c-parser.cc:3243 cp/parser.cc:21109
+#: c/c-parser.cc:3634 cp/parser.cc:21252
 #, gcc-internal-format
 msgid "comma at end of enumerator list"
 msgstr ""
 
-#: c/c-parser.cc:3249 go/gofrontend/embed.cc:423
+#: c/c-parser.cc:3640 go/gofrontend/embed.cc:423
 #, gcc-internal-format
 msgid "expected %<,%> or %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:3288
+#: c/c-parser.cc:3683
 #, gcc-internal-format
 msgid "ISO C forbids forward references to %<enum%> types"
 msgstr ""
 
-#: c/c-parser.cc:3411
+#: c/c-parser.cc:3807
 #, gcc-internal-format
 msgid "expected class name"
 msgstr ""
 
-#: c/c-parser.cc:3433
+#: c/c-parser.cc:3829
 #, gcc-internal-format
 msgid "extra semicolon in struct or union specified"
 msgstr ""
 
-#: c/c-parser.cc:3462
+#: c/c-parser.cc:3858
 #, gcc-internal-format
 msgid "no semicolon at end of struct or union"
 msgstr ""
 
-#: c/c-parser.cc:3576 c/c-parser.cc:5147
+#: c/c-parser.cc:3975 c/c-parser.cc:5608
 #, gcc-internal-format
 msgid "expected specifier-qualifier-list"
 msgstr ""
 
-#: c/c-parser.cc:3587
+#: c/c-parser.cc:3986
 #, gcc-internal-format
 msgid "ISO C forbids member declarations with no members"
 msgstr ""
 
-#: c/c-parser.cc:3677
+#: c/c-parser.cc:4080
 #, gcc-internal-format
 msgid "expected %<,%>, %<;%> or %<}%>"
 msgstr ""
 
-#: c/c-parser.cc:3684
+#: c/c-parser.cc:4087
 #, gcc-internal-format
 msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
 msgstr ""
 
-#: c/c-parser.cc:3738
+#: c/c-parser.cc:4158
 #, gcc-internal-format
 msgid "%<typeof%> applied to a bit-field"
 msgstr ""
 
-#: c/c-parser.cc:3770
-#, gcc-internal-format
-msgid "ISO C99 does not support %<_Alignas%>"
-msgstr ""
-
-#: c/c-parser.cc:3773
-#, gcc-internal-format
-msgid "ISO C90 does not support %<_Alignas%>"
-msgstr ""
-
-#: c/c-parser.cc:4027
+#: c/c-parser.cc:4469
 #, gcc-internal-format
 msgid "expected identifier or %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:4268
+#: c/c-parser.cc:4702
 #, gcc-internal-format
-msgid "ISO C requires a named argument before %<...%>"
+msgid "ISO C requires a named argument before %<...%> before C2X"
 msgstr ""
 
-#: c/c-parser.cc:4392
+#: c/c-parser.cc:4827
 #, gcc-internal-format
 msgid "expected declaration specifiers or %<...%>"
 msgstr ""
 
-#: c/c-parser.cc:4617
+#: c/c-parser.cc:5055
 #, gcc-internal-format
 msgid "parentheses must be omitted if attribute argument list is empty"
 msgstr ""
 
-#: c/c-parser.cc:4942 cp/parser.cc:29074
+#: c/c-parser.cc:5399 cp/parser.cc:29380
 #, gcc-internal-format
 msgid "%qE attribute does not take any arguments"
 msgstr ""
 
-#: c/c-parser.cc:4993
+#: c/c-parser.cc:5454
 #, gcc-internal-format
 msgid "ISO C does not support %<[[]]%> attributes before C2X"
 msgstr ""
 
-#: c/c-parser.cc:5257
+#: c/c-parser.cc:5683 c/c-parser.cc:5743 c/c-typeck.cc:8648
+#, gcc-internal-format
+msgid ""
+"variable-sized object may not be initialized except with an empty initializer"
+msgstr ""
+
+#: c/c-parser.cc:5737
 #, gcc-internal-format
-msgid "ISO C forbids empty initializer braces"
+msgid "ISO C forbids empty initializer braces before C2X"
 msgstr ""
 
-#: c/c-parser.cc:5316
+#: c/c-parser.cc:5800
 #, gcc-internal-format
 msgid "obsolete use of designated initializer with %<:%>"
 msgstr ""
 
-#: c/c-parser.cc:5461
+#: c/c-parser.cc:5956
 #, gcc-internal-format
 msgid "ISO C forbids specifying range of elements to initialize"
 msgstr ""
 
-#: c/c-parser.cc:5473
+#: c/c-parser.cc:5968
 #, gcc-internal-format
 msgid "ISO C90 forbids specifying subobject to initialize"
 msgstr ""
 
-#: c/c-parser.cc:5481
+#: c/c-parser.cc:5976
 #, gcc-internal-format
 msgid "obsolete use of designated initializer without %<=%>"
 msgstr ""
 
-#: c/c-parser.cc:5666
+#: c/c-parser.cc:6163
 #, gcc-internal-format
 msgid "ISO C forbids label declarations"
 msgstr ""
 
-#: c/c-parser.cc:5672 c/c-parser.cc:5761 c/c-parser.cc:5775
-#: c/gimple-parser.cc:409
+#: c/c-parser.cc:6169 c/c-parser.cc:6258 c/c-parser.cc:6272
+#: c/gimple-parser.cc:419
 #, gcc-internal-format
 msgid "expected declaration or statement"
 msgstr ""
 
-#: c/c-parser.cc:5707
+#: c/c-parser.cc:6204
 #, 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:5719 c/c-parser.cc:5752
+#: c/c-parser.cc:6216 c/c-parser.cc:6249
 #, gcc-internal-format
 msgid "ISO C90 forbids mixed declarations and code"
 msgstr ""
 
-#: c/c-parser.cc:5783
+#: c/c-parser.cc:6280
 #, gcc-internal-format
 msgid "expected %<}%> before %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:5788 cp/parser.cc:12845
+#: c/c-parser.cc:6285 cp/parser.cc:12950
 #, gcc-internal-format
 msgid "%<else%> without a previous %<if%>"
 msgstr ""
 
-#: c/c-parser.cc:5806
+#: c/c-parser.cc:6303
 #, gcc-internal-format
 msgid "label at end of compound statement"
 msgstr ""
@@ -46480,1844 +47712,1960 @@ 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:5827 c/c-parser.cc:5840 c/c-parser.cc:6254
-#: c/gimple-parser.cc:2328 cp/parser.cc:12426
+#: c/c-parser.cc:6324 c/c-parser.cc:6337 c/c-parser.cc:6773
+#: c/gimple-parser.cc:2344 cp/parser.cc:12509
 #, gcc-internal-format
 msgid "expected statement"
 msgstr ""
 
-#: c/c-parser.cc:5894
+#: c/c-parser.cc:6396
 #, gcc-internal-format
 msgid "expected %<:%> or %<...%>"
 msgstr ""
 
-#: c/c-parser.cc:5922
+#: c/c-parser.cc:6424
 #, gcc-internal-format
 msgid ""
 "GNU-style attribute between label and declaration appertains to the label"
 msgstr ""
 
-#: c/c-parser.cc:6153
+#: c/c-parser.cc:6655
 #, gcc-internal-format
 msgid "expected identifier or %<*%>"
 msgstr ""
 
-#: c/c-parser.cc:6237
+#: c/c-parser.cc:6756
 #, gcc-internal-format
-msgid "only attribute %<fallthrough%> can be applied to a null statement"
+msgid ""
+"only attribute %<fallthrough%> or %<assume%> can be applied to a null "
+"statement"
 msgstr ""
 
-#: c/c-parser.cc:6362 cp/parser.cc:14409
+#: c/c-parser.cc:6881 cp/parser.cc:14519
 #, gcc-internal-format
 msgid "suggest braces around empty body in an %<if%> statement"
 msgstr ""
 
-#: c/c-parser.cc:6404 cp/parser.cc:14412
+#: c/c-parser.cc:6923 cp/parser.cc:14522
 #, gcc-internal-format
 msgid "suggest braces around empty body in an %<else%> statement"
 msgstr ""
 
-#: c/c-parser.cc:6535 cp/parser.cc:13214
+#: c/c-parser.cc:7054 cp/parser.cc:13319
 #, gcc-internal-format
 msgid "suggest explicit braces to avoid ambiguous %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:6675
+#: c/c-parser.cc:7194
 #, gcc-internal-format
 msgid "suggest braces around empty body in %<do%> statement"
 msgstr ""
 
-#: c/c-parser.cc:6807 c/c-parser.cc:6839
+#: c/c-parser.cc:7326 c/c-parser.cc:7358
 #, gcc-internal-format
 msgid "multiple iterating variables in fast enumeration"
 msgstr ""
 
-#: c/c-parser.cc:6862
+#: c/c-parser.cc:7381
 #, gcc-internal-format
 msgid "invalid iterating variable in fast enumeration"
 msgstr ""
 
-#: c/c-parser.cc:6886 cp/parser.cc:13501
+#: c/c-parser.cc:7405 cp/parser.cc:13606
 #, gcc-internal-format
 msgid "missing loop condition in loop with %<GCC ivdep%> pragma"
 msgstr ""
 
-#: c/c-parser.cc:6892 cp/parser.cc:13507
+#: c/c-parser.cc:7411 cp/parser.cc:13612
 #, gcc-internal-format
 msgid "missing loop condition in loop with %<GCC unroll%> pragma"
 msgstr ""
 
-#: c/c-parser.cc:6928
+#: c/c-parser.cc:7447
 #, gcc-internal-format
 msgid "missing collection in fast enumeration"
 msgstr ""
 
-#: c/c-parser.cc:7050 c/c-parser.cc:7061 c/c-parser.cc:7072
+#: c/c-parser.cc:7569 c/c-parser.cc:7580 c/c-parser.cc:7591
 #, gcc-internal-format
 msgid "duplicate %<asm%> qualifier %qE"
 msgstr ""
 
-#: c/c-parser.cc:7051 c/c-parser.cc:7062 c/c-parser.cc:7073 cp/parser.cc:21981
-#: cp/parser.cc:21998 cp/parser.cc:22012
+#: c/c-parser.cc:7570 c/c-parser.cc:7581 c/c-parser.cc:7592 cp/parser.cc:22159
+#: cp/parser.cc:22176 cp/parser.cc:22190
 #, gcc-internal-format
 msgid "first seen here"
 msgstr ""
 
-#: c/c-parser.cc:7082
+#: c/c-parser.cc:7601
 #, gcc-internal-format
 msgid "%qE is not a valid %<asm%> qualifier"
 msgstr ""
 
-#: c/c-parser.cc:7132
+#: c/c-parser.cc:7651
 #, gcc-internal-format
 msgid "expected %<:%> or %<)%>"
 msgstr ""
 
-#: c/c-parser.cc:7431 cp/parser.cc:4485
+#: c/c-parser.cc:7950 cp/parser.cc:4575
 #, gcc-internal-format
 msgid "a wide string is invalid in this context"
 msgstr ""
 
-#: c/c-parser.cc:7623
+#: c/c-parser.cc:8156
 #, 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:7844 cp/typeck.cc:5173
+#: c/c-parser.cc:8378 cp/typeck.cc:5417
 #, gcc-internal-format
 msgid ""
 "division %<sizeof (%T) / sizeof (%T)%> does not compute the number of array "
 "elements"
 msgstr ""
 
-#: c/c-parser.cc:7850 cp/typeck.cc:5178
+#: c/c-parser.cc:8384 cp/typeck.cc:5422
 #, gcc-internal-format
 msgid "first %<sizeof%> operand was declared here"
 msgstr ""
 
-#: c/c-parser.cc:8089
+#: c/c-parser.cc:8655
+#, gcc-internal-format
+msgid "storage class specifier in cast"
+msgstr ""
+
+#: c/c-parser.cc:8658
 #, gcc-internal-format
 msgid "alignment specified for type name in cast"
 msgstr ""
 
-#: c/c-parser.cc:8188
+#: c/c-parser.cc:8759
 #, gcc-internal-format
 msgid "traditional C rejects the unary plus operator"
 msgstr ""
 
-#: c/c-parser.cc:8319
+#: c/c-parser.cc:8891
+#, gcc-internal-format
+msgid "storage class specifier in %<sizeof%>"
+msgstr ""
+
+#: c/c-parser.cc:8894
 #, gcc-internal-format
 msgid "alignment specified for type name in %<sizeof%>"
 msgstr ""
 
-#: c/c-parser.cc:8335
+#: c/c-parser.cc:8910
 #, gcc-internal-format
 msgid "%<sizeof%> applied to a bit-field"
 msgstr ""
 
-#: c/c-parser.cc:8405
+#: c/c-parser.cc:8983
+#, gcc-internal-format
+msgid "storage class specifier in %qE"
+msgstr ""
+
+#: c/c-parser.cc:8986
 #, gcc-internal-format
 msgid "alignment specified for type name in %qE"
 msgstr ""
 
-#: c/c-parser.cc:8428
+#: c/c-parser.cc:9010
 #, gcc-internal-format
 msgid "ISO C does not allow %<%E (expression)%>"
 msgstr ""
 
-#: c/c-parser.cc:8579
+#: c/c-parser.cc:9163
 #, gcc-internal-format
 msgid "cannot take address of %qs"
 msgstr ""
 
-#: c/c-parser.cc:8662
+#: c/c-parser.cc:9246
 #, gcc-internal-format
 msgid "ISO C99 does not support %<_Generic%>"
 msgstr ""
 
-#: c/c-parser.cc:8665
+#: c/c-parser.cc:9249
 #, gcc-internal-format
 msgid "ISO C90 does not support %<_Generic%>"
 msgstr ""
 
-#: c/c-parser.cc:8734
+#: c/c-parser.cc:9318
 #, gcc-internal-format
 msgid "%<_Generic%> association has function type"
 msgstr ""
 
-#: c/c-parser.cc:8737
+#: c/c-parser.cc:9321
 #, gcc-internal-format
 msgid "%<_Generic%> association has incomplete type"
 msgstr ""
 
-#: c/c-parser.cc:8741
+#: c/c-parser.cc:9325
 #, gcc-internal-format
 msgid "%<_Generic%> association has variable length type"
 msgstr ""
 
-#: c/c-parser.cc:8765
+#: c/c-parser.cc:9349
 #, gcc-internal-format
 msgid "duplicate %<default%> case in %<_Generic%>"
 msgstr ""
 
-#: c/c-parser.cc:8766
+#: c/c-parser.cc:9350
 #, gcc-internal-format
 msgid "original %<default%> is here"
 msgstr ""
 
-#: c/c-parser.cc:8774
+#: c/c-parser.cc:9358
 #, gcc-internal-format
 msgid "%<_Generic%> specifies two compatible types"
 msgstr ""
 
-#: c/c-parser.cc:8775
+#: c/c-parser.cc:9359
 #, gcc-internal-format
 msgid "compatible type is here"
 msgstr ""
 
-#: c/c-parser.cc:8798
+#: c/c-parser.cc:9382
 #, gcc-internal-format
 msgid "%<_Generic%> selector matches multiple associations"
 msgstr ""
 
-#: c/c-parser.cc:8800
+#: c/c-parser.cc:9384
 #, gcc-internal-format
 msgid "other match is here"
 msgstr ""
 
-#: c/c-parser.cc:8825
+#: c/c-parser.cc:9409
 #, gcc-internal-format
 msgid ""
 "%<_Generic%> selector of type %qT is not compatible with any association"
 msgstr ""
 
-#: c/c-parser.cc:8846
+#: c/c-parser.cc:9430
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> is not a function pointer"
 msgstr ""
 
-#: c/c-parser.cc:8854
+#: c/c-parser.cc:9438
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> is unprototyped"
 msgstr ""
 
-#: c/c-parser.cc:8860
+#: c/c-parser.cc:9444
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> has variable arguments"
 msgstr ""
 
-#: c/c-parser.cc:8876
+#: c/c-parser.cc:9460
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> has no arguments"
 msgstr ""
 
-#: c/c-parser.cc:8899 c/c-parser.cc:8903
+#: c/c-parser.cc:9483 c/c-parser.cc:9487
 #, gcc-internal-format
 msgid "ISO C does not support %qs predefined identifier"
 msgstr ""
 
-#: c/c-parser.cc:8907
+#: c/c-parser.cc:9491
 #, gcc-internal-format
 msgid "ISO C90 does not support %<__func__%> predefined identifier"
 msgstr ""
 
-#: c/c-parser.cc:9082 c/c-parser.cc:10206 c/c-parser.cc:10228
-#: c/c-parser.cc:18358 c/gimple-parser.cc:1711 c/gimple-parser.cc:2345
-#: cp/parser.cc:40936
+#: c/c-parser.cc:9669 c/c-parser.cc:10819 c/c-parser.cc:10841
+#: c/c-parser.cc:19320 c/gimple-parser.cc:1722 c/gimple-parser.cc:2361
+#: cp/parser.cc:41978
 #, gcc-internal-format
 msgid "expected expression"
 msgstr ""
 
-#: c/c-parser.cc:9103
+#: c/c-parser.cc:9690
 #, gcc-internal-format
 msgid "braced-group within expression allowed only inside a function"
 msgstr ""
 
-#: c/c-parser.cc:9117
+#: c/c-parser.cc:9704
 #, gcc-internal-format
 msgid "ISO C forbids braced-groups within expressions"
 msgstr ""
 
-#: c/c-parser.cc:9307
+#: c/c-parser.cc:9897
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_choose_expr%>"
 msgstr ""
 
-#: c/c-parser.cc:9323
+#: c/c-parser.cc:9913
 #, gcc-internal-format
 msgid "first argument to %<__builtin_choose_expr%> not a constant"
 msgstr ""
 
-#: c/c-parser.cc:9393 c/c-parser.cc:9410 c/c-parser.cc:9417
+#: c/c-parser.cc:9983 c/c-parser.cc:10000 c/c-parser.cc:10007
 #, gcc-internal-format
 msgid "too few arguments to %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:9438
+#: c/c-parser.cc:10028
 #, gcc-internal-format
 msgid "argument %u of %<__builtin_tgmath%> has wrong number of arguments"
 msgstr ""
 
-#: c/c-parser.cc:9482 c/c-parser.cc:9492
+#: c/c-parser.cc:10072 c/c-parser.cc:10082
 #, gcc-internal-format
 msgid ""
 "invalid type-generic return type for argument %u of %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:9514 c/c-parser.cc:9524
+#: c/c-parser.cc:10104 c/c-parser.cc:10114
 #, gcc-internal-format
 msgid ""
 "invalid type-generic type for argument %u of argument %u of "
 "%<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:9557
+#: c/c-parser.cc:10147
 #, gcc-internal-format
 msgid "function arguments of %<__builtin_tgmath%> all have the same type"
 msgstr ""
 
-#: c/c-parser.cc:9576
+#: c/c-parser.cc:10166
 #, gcc-internal-format
 msgid "function arguments of %<__builtin_tgmath%> lack type-generic parameter"
 msgstr ""
 
-#: c/c-parser.cc:9624
+#: c/c-parser.cc:10214
 #, gcc-internal-format
 msgid ""
 "duplicate type-generic parameter type for function argument %u of "
 "%<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:9647
+#: c/c-parser.cc:10237
 #, gcc-internal-format
 msgid "bad return type for function argument %u of %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:9664
+#: c/c-parser.cc:10254
 #, gcc-internal-format
 msgid ""
 "bad type for argument %u of function argument %u of %<__builtin_tgmath%>"
 msgstr ""
 
-#: c/c-parser.cc:9702
+#: c/c-parser.cc:10293
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid type of argument %u of type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:9713
+#: c/c-parser.cc:10304
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "decimal floating-point argument %u to complex-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:9721
+#: c/c-parser.cc:10312
 #, gcc-internal-format, gfc-internal-format
 msgid "decimal floating-point argument %u to binary-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:9729 c/c-parser.cc:9759
+#: c/c-parser.cc:10320 c/c-parser.cc:10350
 #, gcc-internal-format
 msgid ""
 "both complex and decimal floating-point arguments to type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:9737 c/c-parser.cc:9779
+#: c/c-parser.cc:10328 c/c-parser.cc:10370
 #, gcc-internal-format
 msgid ""
 "both binary and decimal floating-point arguments to type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:9751
+#: c/c-parser.cc:10342
 #, gcc-internal-format, gfc-internal-format
 msgid "complex argument %u to decimal-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:9771
+#: c/c-parser.cc:10362
 #, gcc-internal-format, gfc-internal-format
 msgid "binary argument %u to decimal-only type-generic function"
 msgstr ""
 
-#: c/c-parser.cc:9877
+#: c/c-parser.cc:10465
 #, gcc-internal-format
 msgid "no matching function for type-generic call"
 msgstr ""
 
-#: c/c-parser.cc:9918
+#: c/c-parser.cc:10506
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_call_with_static_chain%>"
 msgstr ""
 
-#: c/c-parser.cc:9931
+#: c/c-parser.cc:10519
 #, gcc-internal-format
 msgid ""
 "first argument to %<__builtin_call_with_static_chain%> must be a call "
 "expression"
 msgstr ""
 
-#: c/c-parser.cc:9935
+#: c/c-parser.cc:10523
 #, gcc-internal-format
 msgid ""
 "second argument to %<__builtin_call_with_static_chain%> must be a pointer "
 "type"
 msgstr ""
 
-#: c/c-parser.cc:9961
+#: c/c-parser.cc:10549
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_complex%>"
 msgstr ""
 
-#: c/c-parser.cc:9983
+#: c/c-parser.cc:10571
 #, gcc-internal-format
 msgid "%<__builtin_complex%> operand not of real binary floating-point type"
 msgstr ""
 
-#: c/c-parser.cc:9992
+#: c/c-parser.cc:10580
 #, gcc-internal-format
 msgid "%<__builtin_complex%> operands of different types"
 msgstr ""
 
-#: c/c-parser.cc:10037 c/c-parser.cc:10066 cp/parser.cc:7480
+#: c/c-parser.cc:10625 c/c-parser.cc:10654 cp/parser.cc:7603
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_shuffle%>"
 msgstr ""
 
-#: c/c-parser.cc:10266
+#: c/c-parser.cc:10796 cp/parser.cc:5983
+#, gcc-internal-format
+msgid "%<omp_all_memory%> may only be used in OpenMP %<depend%> clause"
+msgstr ""
+
+#: c/c-parser.cc:10806
+#, gcc-internal-format
+msgid "ISO C does not support %qs before C2X"
+msgstr ""
+
+#: c/c-parser.cc:10894
+#, gcc-internal-format
+msgid "%qT declared in %<constexpr%> compound literal"
+msgstr ""
+
+#: c/c-parser.cc:10899
+#, gcc-internal-format
+msgid "%qT defined in %<constexpr%> compound literal"
+msgstr ""
+
+#: c/c-parser.cc:10914
 #, gcc-internal-format
 msgid "compound literal has variable size"
 msgstr ""
 
-#: c/c-parser.cc:10277
+#: c/c-parser.cc:10919
+#, gcc-internal-format
+msgid "compound literal has function type"
+msgstr ""
+
+#: c/c-parser.cc:10950
 #, gcc-internal-format
 msgid "compound literal qualified by address-space qualifier"
 msgstr ""
 
-#: c/c-parser.cc:10281
+#: c/c-parser.cc:10955
 #, gcc-internal-format
 msgid "ISO C90 forbids compound literals"
 msgstr ""
 
-#: c/c-parser.cc:10294
+#: c/c-parser.cc:10957
+#, gcc-internal-format
+msgid "ISO C forbids storage class specifiers in compound literals before C2X"
+msgstr ""
+
+#: c/c-parser.cc:10971
 #, gcc-internal-format
 msgid "%<_Alignas%> specifiers cannot reduce alignment of compound literal"
 msgstr ""
 
-#: c/c-parser.cc:10368
+#: c/c-parser.cc:11046
 #, gcc-internal-format
 msgid ""
 "using integer absolute value function %qD when argument is of floating-point "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:10373
+#: c/c-parser.cc:11051
 #, gcc-internal-format
 msgid ""
 "using integer absolute value function %qD when argument is of complex type "
 "%qT"
 msgstr ""
 
-#: c/c-parser.cc:10381
+#: c/c-parser.cc:11059
 #, gcc-internal-format
 msgid "taking the absolute value of unsigned type %qT has no effect"
 msgstr ""
 
-#: c/c-parser.cc:10392
+#: c/c-parser.cc:11070
 #, gcc-internal-format
 msgid ""
 "using floating-point absolute value function %qD when argument is of integer "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:10396
+#: c/c-parser.cc:11074
 #, 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:10401
+#: c/c-parser.cc:11079
 #, gcc-internal-format
 msgid ""
 "using floating-point absolute value function %qD when argument is of complex "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:10414
+#: c/c-parser.cc:11092
 #, gcc-internal-format
 msgid ""
 "using complex absolute value function %qD when argument is of integer type "
 "%qT"
 msgstr ""
 
-#: c/c-parser.cc:10418
+#: c/c-parser.cc:11096
 #, gcc-internal-format
 msgid ""
 "using complex absolute value function %qD when argument is of floating-point "
 "type %qT"
 msgstr ""
 
-#: c/c-parser.cc:10435
+#: c/c-parser.cc:11113
 #, gcc-internal-format
 msgid ""
 "using decimal floating-point absolute value function %qD when argument is of "
 "integer type %qT"
 msgstr ""
 
-#: c/c-parser.cc:10440
+#: c/c-parser.cc:11118
 #, 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:10445
+#: c/c-parser.cc:11123
 #, gcc-internal-format
 msgid ""
 "using decimal floating-point absolute value function %qD when argument is of "
 "complex type %qT"
 msgstr ""
 
-#: c/c-parser.cc:10471
+#: c/c-parser.cc:11149
 #, 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:10911
+#: c/c-parser.cc:11595
 #, gcc-internal-format
 msgid "expected identifier or %<)%>"
 msgstr ""
 
-#: c/c-parser.cc:11007
+#: c/c-parser.cc:11691
 #, gcc-internal-format
 msgid "extra semicolon"
 msgstr ""
 
-#: c/c-parser.cc:11255
+#: c/c-parser.cc:11939
 #, gcc-internal-format
 msgid "extra semicolon in method definition specified"
 msgstr ""
 
-#: c/c-parser.cc:11387
+#: c/c-parser.cc:12071
 #, gcc-internal-format
 msgid "method attributes must be specified at the end only"
 msgstr ""
 
-#: c/c-parser.cc:11407
+#: c/c-parser.cc:12091
 #, gcc-internal-format
 msgid "expected %<;%> or %<{%> after method attribute definition"
 msgstr ""
 
-#: c/c-parser.cc:11529
+#: c/c-parser.cc:12213
 #, gcc-internal-format
 msgid "objective-c method declaration is expected"
 msgstr ""
 
-#: c/c-parser.cc:11980
+#: c/c-parser.cc:12665
 #, gcc-internal-format
 msgid "no type or storage class may be specified here,"
 msgstr ""
 
-#: c/c-parser.cc:12048 cp/parser.cc:36074
+#: c/c-parser.cc:12733 cp/parser.cc:36823
 #, gcc-internal-format
 msgid "empty property attribute list"
 msgstr ""
 
-#: c/c-parser.cc:12062 cp/parser.cc:36087
+#: c/c-parser.cc:12747 cp/parser.cc:36836
 #, gcc-internal-format
 msgid "missing property attribute"
 msgstr ""
 
-#: c/c-parser.cc:12101
+#: c/c-parser.cc:12786
 #, gcc-internal-format
 msgid "unknown property attribute %<%s%s%>"
 msgstr ""
 
-#: c/c-parser.cc:12104 cp/parser.cc:36124
+#: c/c-parser.cc:12789 cp/parser.cc:36873
 #, gcc-internal-format
 msgid "unknown property attribute"
 msgstr ""
 
-#: c/c-parser.cc:12113 cp/parser.cc:36133
+#: c/c-parser.cc:12798 cp/parser.cc:36882
 #, gcc-internal-format
 msgid "expected %<=%> after Objective-C %qE"
 msgstr ""
 
-#: c/c-parser.cc:12124 cp/parser.cc:36147
+#: c/c-parser.cc:12809 cp/parser.cc:36896
 #, gcc-internal-format
 msgid "expected %qE selector name"
 msgstr ""
 
-#: c/c-parser.cc:12140 cp/parser.cc:36166
+#: c/c-parser.cc:12825 cp/parser.cc:36915
 #, gcc-internal-format
 msgid "setter method names must terminate with %<:%>"
 msgstr ""
 
-#: c/c-parser.cc:12354 cp/parser.cc:47706
+#: c/c-parser.cc:13039 cp/parser.cc:49091
 #, gcc-internal-format
 msgid ""
 "%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a "
 "non-negative integral constant less than %u"
 msgstr ""
 
-#: c/c-parser.cc:12398 c/c-parser.cc:20550 c/c-parser.cc:20847
-#: c/c-parser.cc:20906 c/c-parser.cc:20992 cp/parser.cc:43817
-#: cp/parser.cc:44153 cp/parser.cc:44244 cp/parser.cc:44318 cp/parser.cc:47753
-#: cp/parser.cc:47769 cp/parser.cc:47785 cp/parser.cc:47802 cp/parser.cc:47819
-#: cp/parser.cc:47836 cp/parser.cc:47863 cp/parser.cc:47877 cp/parser.cc:47902
-#: cp/parser.cc:47916
+#: c/c-parser.cc:13084 c/c-parser.cc:21511 c/c-parser.cc:21812
+#: c/c-parser.cc:21875 c/c-parser.cc:21973 cp/parser.cc:44879
+#: cp/parser.cc:45219 cp/parser.cc:45322 cp/parser.cc:45408 cp/parser.cc:49138
+#: cp/parser.cc:49154 cp/parser.cc:49170 cp/parser.cc:49187 cp/parser.cc:49204
+#: cp/parser.cc:49221 cp/parser.cc:49248 cp/parser.cc:49262 cp/parser.cc:49287
+#: cp/parser.cc:49301
 #, gcc-internal-format
 msgid "%<#pragma %s%> may only be used in compound statements"
 msgstr ""
 
-#: c/c-parser.cc:12421 cp/parser.cc:47891
+#: c/c-parser.cc:13107 cp/parser.cc:49276
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> must be at file scope"
 msgstr ""
 
-#: c/c-parser.cc:12507 cp/parser.cc:47999
+#: c/c-parser.cc:13197 cp/parser.cc:49400
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp scan%> may only be used in a loop construct with %<inscan%> "
 "%<reduction%> clause"
 msgstr ""
 
-#: c/c-parser.cc:12514 cp/parser.cc:48005
+#: c/c-parser.cc:13204 cp/parser.cc:49406
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp section%> may only be used in %<#pragma omp sections%> "
 "construct"
 msgstr ""
 
-#: c/c-parser.cc:12526
+#: c/c-parser.cc:13216 c/c-parser.cc:13228
 #, gcc-internal-format
-msgid "%<#pragma omp requires%> may only be used at file scope"
+msgid "%<#pragma %s%> may only be used at file scope"
 msgstr ""
 
-#: c/c-parser.cc:12555 c/c-parser.cc:12579 cp/parser.cc:48034
-#: cp/parser.cc:48067
+#: c/c-parser.cc:13258 c/c-parser.cc:13282 cp/parser.cc:49435
+#: cp/parser.cc:49468
 #, gcc-internal-format
 msgid "for, while or do statement expected"
 msgstr ""
 
-#: c/c-parser.cc:12592 cp/parser.cc:47743
+#: c/c-parser.cc:13295 cp/parser.cc:49128
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr ""
 
-#: c/c-parser.cc:12939 c/c-parser.cc:16405 c/c-parser.cc:18118
-#: c/c-parser.cc:18176 c/c-parser.cc:18183 c/c-parser.cc:18190
-#: c/c-parser.cc:22622 c/c-parser.cc:22630 c/c-parser.cc:22904
-#: c/c-parser.cc:22914 cp/parser.cc:36589 cp/parser.cc:39685 cp/parser.cc:40710
-#: cp/parser.cc:40773 cp/parser.cc:40780 cp/parser.cc:40787 cp/parser.cc:46634
-#: cp/parser.cc:46642 cp/parser.cc:46799 cp/parser.cc:46809
+#: c/c-parser.cc:13648 c/c-parser.cc:17312 c/c-parser.cc:18857
+#: c/c-parser.cc:18876 c/c-parser.cc:19080 c/c-parser.cc:19138
+#: c/c-parser.cc:19145 c/c-parser.cc:19152 c/c-parser.cc:23695
+#: c/c-parser.cc:23703 c/c-parser.cc:23973 c/c-parser.cc:23983
+#: c/c-parser.cc:24077 c/c-parser.cc:24084 c/c-parser.cc:24091
+#: cp/parser.cc:37344 cp/parser.cc:40661 cp/parser.cc:41526 cp/parser.cc:41563
+#: cp/parser.cc:41752 cp/parser.cc:41815 cp/parser.cc:41822 cp/parser.cc:41829
+#: cp/parser.cc:46686 cp/parser.cc:46693 cp/parser.cc:46700 cp/parser.cc:48025
+#: cp/parser.cc:48033 cp/parser.cc:48185 cp/parser.cc:48195
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr ""
 
-#: c/c-parser.cc:12966
+#: c/c-parser.cc:13675
 #, gcc-internal-format
 msgid "expression must be integral"
 msgstr ""
 
-#: c/c-parser.cc:13265 c/c-parser.cc:13277
+#: c/c-parser.cc:13990 c/c-parser.cc:14002
 #, gcc-internal-format
 msgid "expected %<)%> or %<,%>"
 msgstr ""
 
-#: c/c-parser.cc:13428 c/c-parser.cc:23107
+#: c/c-parser.cc:14153 c/c-parser.cc:24382
 #, gcc-internal-format
 msgid "%qD is not a variable"
 msgstr ""
 
-#: c/c-parser.cc:13432 cp/semantics.cc:8200
+#: c/c-parser.cc:14157 cp/semantics.cc:8307
 #, gcc-internal-format
 msgid "%qD is not a pointer variable"
 msgstr ""
 
-#: c/c-parser.cc:13474 cp/parser.cc:37321
+#: c/c-parser.cc:14199 cp/parser.cc:38084
 #, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:13569 cp/parser.cc:37399
+#: c/c-parser.cc:14294 cp/parser.cc:38162
 #, gcc-internal-format
 msgid "expected %<none%> or %<present%>"
 msgstr ""
 
-#: c/c-parser.cc:13571 cp/parser.cc:37401
+#: c/c-parser.cc:14296 cp/parser.cc:38164
 #, gcc-internal-format
 msgid "expected %<none%>, %<shared%>, %<private%> or %<firstprivate%>"
 msgstr ""
 
-#: c/c-parser.cc:13692 cp/parser.cc:37513
+#: c/c-parser.cc:14417 cp/parser.cc:38276
 #, gcc-internal-format
 msgid "expected %<data%>, %<update%>, %<enter%> or %<exit%>"
 msgstr ""
 
-#: c/c-parser.cc:13712 c/c-parser.cc:20899 c/c-parser.cc:20985
-#: cp/parser.cc:37531 cp/parser.cc:44145 cp/parser.cc:44236
+#: c/c-parser.cc:14437 c/c-parser.cc:21868 c/c-parser.cc:21966
+#: cp/parser.cc:38294 cp/parser.cc:45211 cp/parser.cc:45314
 #, gcc-internal-format
 msgid "expected %<data%>"
 msgstr ""
 
-#: c/c-parser.cc:13765 cp/parser.cc:37586
+#: c/c-parser.cc:14490 cp/parser.cc:38349
 #, gcc-internal-format
 msgid "too many %<if%> clauses with %qs modifier"
 msgstr ""
 
-#: c/c-parser.cc:13772 cp/parser.cc:37593
+#: c/c-parser.cc:14497 cp/parser.cc:38356
 #, gcc-internal-format
 msgid "too many %<if%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:13774 cp/parser.cc:37595
+#: c/c-parser.cc:14499 cp/parser.cc:38358
 #, gcc-internal-format
 msgid "too many %<if%> clauses without modifier"
 msgstr ""
 
-#: c/c-parser.cc:13780 cp/parser.cc:37601
+#: c/c-parser.cc:14505 cp/parser.cc:38364
 #, gcc-internal-format
 msgid ""
 "if any %<if%> clause has modifier, then all %<if%> clauses have to use "
 "modifier"
 msgstr ""
 
-#: c/c-parser.cc:13885 c/c-parser.cc:13945 c/c-parser.cc:14006
-#: c/c-parser.cc:14053 c/c-parser.cc:14132 c/c-parser.cc:14511
-#: c/c-parser.cc:14593 c/c-parser.cc:15160 c/c-parser.cc:15305
-#: c/c-parser.cc:15370 c/c-parser.cc:16342
+#: c/c-parser.cc:14610 c/c-parser.cc:14670 c/c-parser.cc:14731
+#: c/c-parser.cc:14778 c/c-parser.cc:14857 c/c-parser.cc:15236
+#: c/c-parser.cc:15318 c/c-parser.cc:15885 c/c-parser.cc:16030
+#: c/c-parser.cc:16095 c/c-parser.cc:17249
 #, gcc-internal-format
 msgid "expected integer expression"
 msgstr ""
 
-#: c/c-parser.cc:13896
+#: c/c-parser.cc:14621
 #, gcc-internal-format
 msgid "%<num_threads%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:13956
+#: c/c-parser.cc:14681
 #, gcc-internal-format
 msgid "%<num_tasks%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:14017 cp/semantics.cc:8420
+#: c/c-parser.cc:14742 cp/semantics.cc:8534
 #, gcc-internal-format
 msgid "%<grainsize%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:14065 cp/semantics.cc:8450
+#: c/c-parser.cc:14790 cp/semantics.cc:8564
 #, gcc-internal-format
 msgid "%<priority%> value must be non-negative"
 msgstr ""
 
-#: c/c-parser.cc:14099 cp/parser.cc:37827
+#: c/c-parser.cc:14824 cp/parser.cc:38590
 #, gcc-internal-format
 msgid "expected constant integer expression with valid sync-hint value"
 msgstr ""
 
-#: c/c-parser.cc:14171 cp/parser.cc:37897
+#: c/c-parser.cc:14896 cp/parser.cc:38660
 #, gcc-internal-format
 msgid ""
 "expected %<alloc%>, %<to%>, %<from%>, %<tofrom%>, %<firstprivate%>, %<none%> "
 "or %<default%>"
 msgstr ""
 
-#: c/c-parser.cc:14232 cp/parser.cc:37962
+#: c/c-parser.cc:14957 cp/parser.cc:38725
 #, gcc-internal-format
 msgid "expected %<scalar%>, %<aggregate%> or %<pointer%>"
 msgstr ""
 
-#: c/c-parser.cc:14298 cp/parser.cc:38031
+#: c/c-parser.cc:15023 cp/parser.cc:38794
 #, gcc-internal-format
 msgid "too many %<defaultmap%> clauses with %qs category"
 msgstr ""
 
-#: c/c-parser.cc:14301 cp/parser.cc:38034
+#: c/c-parser.cc:15026 cp/parser.cc:38797
 #, gcc-internal-format
 msgid "too many %<defaultmap%> clauses with unspecified category"
 msgstr ""
 
-#: c/c-parser.cc:14385 cp/semantics.cc:7281 cp/semantics.cc:7334
+#: c/c-parser.cc:15110 cp/semantics.cc:7356 cp/semantics.cc:7409
 #, gcc-internal-format
 msgid "%qs expression must be integral"
 msgstr ""
 
-#: c/c-parser.cc:14397 c/c-parser.cc:14520 cp/semantics.cc:7313
-#: cp/semantics.cc:7348
+#: c/c-parser.cc:15122 c/c-parser.cc:15245 cp/semantics.cc:7388
+#: cp/semantics.cc:7423
 #, gcc-internal-format
 msgid "%qs value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:14459 cp/parser.cc:37093
+#: c/c-parser.cc:15184 cp/parser.cc:37856
 #, gcc-internal-format
 msgid "too many %<static%> arguments"
 msgstr ""
 
-#: c/c-parser.cc:14493 cp/parser.cc:37126
+#: c/c-parser.cc:15218 cp/parser.cc:37889
 #, gcc-internal-format
 msgid "unexpected argument"
 msgstr ""
 
-#: c/c-parser.cc:14660 cp/semantics.cc:8630
+#: c/c-parser.cc:15385 cp/semantics.cc:8750
 #, gcc-internal-format
 msgid "%<tile%> argument needs positive integral constant"
 msgstr ""
 
-#: c/c-parser.cc:14735 cp/parser.cc:38084
+#: c/c-parser.cc:15460 cp/parser.cc:38847
 #, gcc-internal-format
 msgid "expected %<reproducible%> or %<unconstrained%>"
 msgstr ""
 
-#: c/c-parser.cc:14744 c/c-parser.cc:14750 cp/parser.cc:38093
-#: cp/parser.cc:38103
+#: c/c-parser.cc:15469 c/c-parser.cc:15475 cp/parser.cc:38856
+#: cp/parser.cc:38866
 #, gcc-internal-format
 msgid "expected %<concurrent%>"
 msgstr ""
 
-#: c/c-parser.cc:14786 cp/parser.cc:38143
+#: c/c-parser.cc:15511 cp/parser.cc:38906
 #, gcc-internal-format
 msgid "expected %<teams%>, %<parallel%> or %<thread%>"
 msgstr ""
 
-#: c/c-parser.cc:14839 cp/parser.cc:38211
+#: c/c-parser.cc:15564 cp/parser.cc:38974
 #, gcc-internal-format
 msgid "ordered argument needs positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:14964 c/c-parser.cc:22176 cp/parser.cc:46273
+#: c/c-parser.cc:15689 c/c-parser.cc:23252 cp/parser.cc:47672
 #, gcc-internal-format
 msgid ""
 "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or "
 "identifier"
 msgstr ""
 
-#: c/c-parser.cc:15084 cp/parser.cc:38469
+#: c/c-parser.cc:15809 cp/parser.cc:39232
 #, gcc-internal-format
 msgid "both %<monotonic%> and %<nonmonotonic%> modifiers specified"
 msgstr ""
 
-#: c/c-parser.cc:15138 cp/parser.cc:38485
+#: c/c-parser.cc:15863 cp/parser.cc:39248
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c/c-parser.cc:15142 cp/parser.cc:38488
+#: c/c-parser.cc:15867 cp/parser.cc:39251
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr ""
 
-#: c/c-parser.cc:15154 cp/semantics.cc:7395
+#: c/c-parser.cc:15879 cp/semantics.cc:7470
 #, gcc-internal-format
 msgid "chunk size value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:15177 cp/parser.cc:38508
+#: c/c-parser.cc:15902 cp/parser.cc:39271
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr ""
 
-#: c/c-parser.cc:15315 c/c-parser.cc:15325
+#: c/c-parser.cc:16040 c/c-parser.cc:16050
 #, gcc-internal-format
 msgid "%<num_teams%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:15332 cp/semantics.cc:7362
+#: c/c-parser.cc:16057 cp/semantics.cc:7437
 #, gcc-internal-format
 msgid "%<num_teams%> lower bound %qE bigger than upper bound %qE"
 msgstr ""
 
-#: c/c-parser.cc:15380 cp/semantics.cc:7491
+#: c/c-parser.cc:16105 cp/semantics.cc:7566
 #, gcc-internal-format
 msgid "%<thread_limit%> value must be positive"
 msgstr ""
 
-#: c/c-parser.cc:15425 cp/semantics.cc:7619
+#: c/c-parser.cc:16150 cp/semantics.cc:7694
 #, gcc-internal-format
 msgid ""
 "%<aligned%> clause alignment expression must be positive constant integer "
 "expression"
 msgstr ""
 
-#: c/c-parser.cc:15535
+#: c/c-parser.cc:16260 c/c-parser.cc:18846 cp/parser.cc:41518
 #, gcc-internal-format
 msgid "expected %<allocator%> or %<align%>"
 msgstr ""
 
-#: c/c-parser.cc:15542
+#: c/c-parser.cc:16267
 #, gcc-internal-format
 msgid "duplicate %qs modifier"
 msgstr ""
 
-#: c/c-parser.cc:15590 cp/semantics.cc:7754
+#: c/c-parser.cc:16315 cp/semantics.cc:7829
 #, gcc-internal-format
 msgid ""
 "%<allocate%> clause allocator expression has type %qT rather than "
 "%<omp_allocator_handle_t%>"
 msgstr ""
 
-#: c/c-parser.cc:15601 cp/semantics.cc:7709 cp/semantics.cc:7725
+#: c/c-parser.cc:16326 cp/semantics.cc:7784 cp/semantics.cc:7800
 #, gcc-internal-format
 msgid ""
 "%<allocate%> clause %<align%> modifier argument needs to be positive "
 "constant power of two integer expression"
 msgstr ""
 
-#: c/c-parser.cc:15677
+#: c/c-parser.cc:16445 cp/parser.cc:39718
+#, gcc-internal-format
+msgid "multiple linear modifiers"
+msgstr ""
+
+#: c/c-parser.cc:16457 cp/parser.cc:39731
+#, gcc-internal-format
+msgid "multiple %<step%> modifiers"
+msgstr ""
+
+#: c/c-parser.cc:16465 c/c-parser.cc:16493
 #, gcc-internal-format
 msgid "%<linear%> clause step expression must be integral"
 msgstr ""
 
-#: c/c-parser.cc:15727
+#: c/c-parser.cc:16545
 #, gcc-internal-format
 msgid ""
 "%<safelen%> clause expression must be positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:15766
+#: c/c-parser.cc:16584
 #, gcc-internal-format
 msgid ""
 "%<simdlen%> clause expression must be positive constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:16097 cp/parser.cc:39370
+#: c/c-parser.cc:16944 cp/parser.cc:40278
 #, gcc-internal-format
 msgid "%<iterator%> modifier incompatible with %qs"
 msgstr ""
 
-#: c/c-parser.cc:16144 cp/parser.cc:39424 cp/parser.cc:39746 cp/parser.cc:39796
+#: c/c-parser.cc:16992 cp/parser.cc:40333 cp/parser.cc:40722 cp/parser.cc:40772
 #, gcc-internal-format
 msgid "invalid depend kind"
 msgstr ""
 
-#: c/c-parser.cc:16214 cp/parser.cc:39494
+#: c/c-parser.cc:17053 cp/parser.cc:40363
+#, gcc-internal-format
+msgid "invalid doacross kind"
+msgstr ""
+
+#: c/c-parser.cc:17121 cp/parser.cc:40470
 #, gcc-internal-format
 msgid "too many %<always%> modifiers"
 msgstr ""
 
-#: c/c-parser.cc:16224 cp/parser.cc:39507
+#: c/c-parser.cc:17131 cp/parser.cc:40483
 #, gcc-internal-format
 msgid "too many %<close%> modifiers"
 msgstr ""
 
-#: c/c-parser.cc:16232 cp/parser.cc:39518
+#: c/c-parser.cc:17139 cp/parser.cc:40494
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target%> with modifier other than %<always%> or %<close%> on "
 "%<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:16260 cp/parser.cc:39549
+#: c/c-parser.cc:17167 cp/parser.cc:40525
 #, gcc-internal-format
 msgid "invalid map kind"
 msgstr ""
 
-#: c/c-parser.cc:16312 cp/parser.cc:39608
+#: c/c-parser.cc:17219 cp/parser.cc:40584
 #, gcc-internal-format
 msgid ""
 "%<ancestor%> device modifier not preceded by %<requires%> directive with "
 "%<reverse_offload%> clause"
 msgstr ""
 
-#: c/c-parser.cc:16324 cp/parser.cc:39619
+#: c/c-parser.cc:17231 cp/parser.cc:40595
 #, gcc-internal-format
 msgid "expected %<ancestor%> or %<device_num%>"
 msgstr ""
 
-#: c/c-parser.cc:16347 cp/semantics.cc:7516
+#: c/c-parser.cc:17254 cp/semantics.cc:7591
 #, gcc-internal-format
 msgid "the %<device%> clause expression must evaluate to %<1%>"
 msgstr ""
 
-#: c/c-parser.cc:16380 cp/parser.cc:39690
+#: c/c-parser.cc:17287 cp/parser.cc:40666
 #, gcc-internal-format
 msgid "invalid dist_schedule kind"
 msgstr ""
 
-#: c/c-parser.cc:16459
+#: c/c-parser.cc:17366
 #, gcc-internal-format
 msgid "invalid proc_bind kind"
 msgstr ""
 
-#: c/c-parser.cc:16503
+#: c/c-parser.cc:17410
 #, gcc-internal-format
 msgid "expected %<host%>, %<nohost%> or %<any%>"
 msgstr ""
 
-#: c/c-parser.cc:16580 cp/semantics.cc:7916
+#: c/c-parser.cc:17487 cp/semantics.cc:8010
 #, gcc-internal-format
 msgid ""
-"%<detach%> clause event handle has type %qT rather than %<omp_event_handle_t"
-"%>"
+"%<detach%> clause event handle has type %qT rather than "
+"%<omp_event_handle_t%>"
 msgstr ""
 
-#: c/c-parser.cc:16782 cp/parser.cc:40035
+#: c/c-parser.cc:17689 cp/parser.cc:41011
 #, gcc-internal-format
 msgid "expected %<#pragma acc%> clause"
 msgstr ""
 
-#: c/c-parser.cc:16793 c/c-parser.cc:17137 cp/parser.cc:40046
-#: cp/parser.cc:40438
+#: c/c-parser.cc:17700 c/c-parser.cc:18058 cp/parser.cc:41022
+#: cp/parser.cc:41424
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr ""
 
-#: c/c-parser.cc:16837 cp/parser.cc:40098
+#: c/c-parser.cc:17744 cp/parser.cc:41069
 #, gcc-internal-format
 msgid "clauses in %<simd%> trait should be separated by %<,%>"
 msgstr ""
 
-#: c/c-parser.cc:16986 cp/parser.cc:40286
+#: c/c-parser.cc:17893 cp/parser.cc:41257
 #, gcc-internal-format
 msgid "%qs must be the first clause of %qs"
 msgstr ""
 
-#: c/c-parser.cc:17126 cp/parser.cc:40427
+#: c/c-parser.cc:18047 cp/parser.cc:41413
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr ""
 
-#: c/c-parser.cc:17259 cp/parser.cc:44645
+#: c/c-parser.cc:18180 cp/parser.cc:45739
 #, gcc-internal-format
 msgid "no valid clauses specified in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17269 cp/parser.cc:44655
+#: c/c-parser.cc:18190 cp/parser.cc:45749
 #, gcc-internal-format
 msgid "array section in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17289 cp/parser.cc:44675
+#: c/c-parser.cc:18210 cp/parser.cc:45769
 #, gcc-internal-format
 msgid "%qD must be a global variable in %<#pragma acc declare link%>"
 msgstr ""
 
-#: c/c-parser.cc:17300 cp/parser.cc:44686
+#: c/c-parser.cc:18221 cp/parser.cc:45780
 #, gcc-internal-format
 msgid "invalid OpenACC clause at file scope"
 msgstr ""
 
-#: c/c-parser.cc:17307 cp/parser.cc:44693
+#: c/c-parser.cc:18228 cp/parser.cc:45787
 #, gcc-internal-format
 msgid "invalid use of %<extern%> variable %qD in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17315 cp/parser.cc:44701
+#: c/c-parser.cc:18236 cp/parser.cc:45795
 #, gcc-internal-format
 msgid "invalid use of %<global%> variable %qD in %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17326 cp/parser.cc:44723
+#: c/c-parser.cc:18247 cp/parser.cc:45817
 #, gcc-internal-format
 msgid ""
 "%qD must be a variable declared in the same scope as %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17336 cp/parser.cc:44733
+#: c/c-parser.cc:18257 cp/parser.cc:45827
 #, gcc-internal-format
 msgid "variable %qD used more than once with %<#pragma acc declare%>"
 msgstr ""
 
-#: c/c-parser.cc:17429 cp/parser.cc:44831
+#: c/c-parser.cc:18350 cp/parser.cc:45925
 #, gcc-internal-format
 msgid "expected %<data%> after %<#pragma acc %s%>"
 msgstr ""
 
-#: c/c-parser.cc:17445 cp/parser.cc:44848
+#: c/c-parser.cc:18366 cp/parser.cc:45942
 #, gcc-internal-format
 msgid "%<#pragma acc %s data%> has no data movement clause"
 msgstr ""
 
-#: c/c-parser.cc:17695 cp/parser.cc:3163
+#: c/c-parser.cc:18616 cp/parser.cc:3241
 #, gcc-internal-format
 msgid "%qE has not been declared"
 msgstr ""
 
-#: c/c-parser.cc:17699
+#: c/c-parser.cc:18620
 #, gcc-internal-format
 msgid "expected function name"
 msgstr ""
 
-#: c/c-parser.cc:17717 cp/parser.cc:47066
+#: c/c-parser.cc:18638 cp/parser.cc:48452
 #, gcc-internal-format
 msgid "%qD does not refer to a function"
 msgstr ""
 
-#: c/c-parser.cc:17740 c/c-parser.cc:17788 cp/parser.cc:1499
+#: c/c-parser.cc:18661 c/c-parser.cc:18709 cp/parser.cc:1586
 #, gcc-internal-format
 msgid ""
 "%<#pragma acc routine%> not immediately followed by function declaration or "
 "definition"
 msgstr ""
 
-#: c/c-parser.cc:17780 cp/parser.cc:47117 cp/parser.cc:47164
+#: c/c-parser.cc:18701 cp/parser.cc:48503 cp/parser.cc:48550
 #, gcc-internal-format
 msgid ""
 "%<#pragma acc routine%> not immediately followed by a single function "
 "declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:17811 cp/parser.cc:47192
+#: c/c-parser.cc:18732 cp/parser.cc:48578
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> must be applied before use"
 msgstr ""
 
-#: c/c-parser.cc:17812 cp/parser.cc:47194
+#: c/c-parser.cc:18733 cp/parser.cc:48580
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> must be applied before definition"
 msgstr ""
 
-#: c/c-parser.cc:17856 cp/parser.cc:45049
+#: c/c-parser.cc:18777 cp/parser.cc:46143
 #, gcc-internal-format
 msgid ""
 "%<#pragma acc update%> must contain at least one %<device%> or %<host%> or "
 "%<self%> clause"
 msgstr ""
 
-#: c/c-parser.cc:17911 cp/parser.cc:40524
+#: c/c-parser.cc:18868 cp/parser.cc:41538 cp/parser.cc:41553
 #, gcc-internal-format
-msgid "expected %<allocator%>"
+msgid ""
+"%<align%> clause argument needs to be positive constant power of two integer "
+"expression"
 msgstr ""
 
-#: c/c-parser.cc:17927
+#: c/c-parser.cc:18891
 #, gcc-internal-format
 msgid ""
 "%<allocator%> clause allocator expression has type %qT rather than "
 "%<omp_allocator_handle_t%>"
 msgstr ""
 
-#: c/c-parser.cc:17942 cp/parser.cc:40539
+#. FIXME: When implementing properly, delete the align/allocate expr error
+#. check above and add one in semantics.cc (to properly handle templates).
+#. Base this on the allocator/align modifiers check for the 'allocate' clause
+#. in semantics.cc's finish_omp_clauses.
+#: c/c-parser.cc:18908 cp/parser.cc:41586
 #, gcc-internal-format
 msgid "%<#pragma omp allocate%> not yet supported"
 msgstr ""
 
-#: c/c-parser.cc:18084 cp/parser.cc:40676
+#: c/c-parser.cc:19046 cp/parser.cc:41718
 #, gcc-internal-format
 msgid "expected %<read%>, %<write%>, %<update%>, or %<capture%> clause"
 msgstr ""
 
-#: c/c-parser.cc:18123 cp/parser.cc:40715
+#: c/c-parser.cc:19085 cp/parser.cc:41757
 #, gcc-internal-format
 msgid "expected %<seq_cst%>, %<acquire%> or %<relaxed%>"
 msgstr ""
 
-#: c/c-parser.cc:18147 cp/parser.cc:40744
+#: c/c-parser.cc:19109 cp/parser.cc:41786
 #, gcc-internal-format
 msgid ""
-"expected %<read%>, %<write%>, %<update%>, %<capture%>, %<compare%>, %<weak"
-"%>, %<fail%>, %<seq_cst%>, %<acq_rel%>, %<release%>, %<relaxed%> or %<hint%> "
-"clause"
+"expected %<read%>, %<write%>, %<update%>, %<capture%>, %<compare%>, "
+"%<weak%>, %<fail%>, %<seq_cst%>, %<acq_rel%>, %<release%>, %<relaxed%> or "
+"%<hint%> clause"
 msgstr ""
 
-#: c/c-parser.cc:18162 cp/parser.cc:40759
+#: c/c-parser.cc:19124 cp/parser.cc:41801
 #, gcc-internal-format
 msgid "too many atomic clauses"
 msgstr ""
 
-#: c/c-parser.cc:18169 cp/parser.cc:40766
+#: c/c-parser.cc:19131 cp/parser.cc:41808
 #, gcc-internal-format
 msgid "too many memory order clauses"
 msgstr ""
 
-#: c/c-parser.cc:18207 c/c-parser.cc:18214 cp/parser.cc:40804
-#: cp/parser.cc:40811
+#: c/c-parser.cc:19169 c/c-parser.cc:19176 cp/parser.cc:41846
+#: cp/parser.cc:41853
 #, gcc-internal-format
 msgid "%qs clause is incompatible with %<read%> or %<write%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:18220 c/c-parser.cc:18225 cp/parser.cc:40817
-#: cp/parser.cc:40822
+#: c/c-parser.cc:19182 c/c-parser.cc:19187 cp/parser.cc:41859
+#: cp/parser.cc:41864
 #, gcc-internal-format
 msgid "%qs clause requires %qs clause"
 msgstr ""
 
-#: c/c-parser.cc:18269 cp/parser.cc:40866
+#: c/c-parser.cc:19231 cp/parser.cc:41908
 #, gcc-internal-format
 msgid "%<#pragma omp atomic read%> incompatible with %<release%> clause"
 msgstr ""
 
-#: c/c-parser.cc:18279 cp/parser.cc:40876
+#: c/c-parser.cc:19241 cp/parser.cc:41918
 #, gcc-internal-format
 msgid "%<#pragma omp atomic write%> incompatible with %<acquire%> clause"
 msgstr ""
 
-#: c/c-parser.cc:18402 cp/parser.cc:40976
+#: c/c-parser.cc:19364 cp/parser.cc:42018
 #, gcc-internal-format
 msgid "expected %<==%> comparison in %<if%> condition"
 msgstr ""
 
-#: c/c-parser.cc:18409 cp/parser.cc:40983
+#: c/c-parser.cc:19371 cp/parser.cc:42025
 #, gcc-internal-format
 msgid "expected %<==%>, %<<%> or %<>%> comparison in %<if%> condition"
 msgstr ""
 
-#: c/c-parser.cc:18482 cp/parser.cc:41048 cp/parser.cc:41329 cp/parser.cc:41423
-#: cp/parser.cc:41441
+#: c/c-parser.cc:19444 cp/parser.cc:42090 cp/parser.cc:42373 cp/parser.cc:42467
+#: cp/parser.cc:42485
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic compare%>"
 msgstr ""
 
-#: c/c-parser.cc:18493 cp/parser.cc:41059
+#: c/c-parser.cc:19455 cp/parser.cc:42101
 #, gcc-internal-format
 msgid "unexpected %<else%>"
 msgstr ""
 
-#: c/c-parser.cc:18553 cp/parser.cc:41496
+#: c/c-parser.cc:19515 cp/parser.cc:42540
 #, gcc-internal-format
 msgid "invalid form of %<pragma omp atomic compare%>"
 msgstr ""
 
-#: c/c-parser.cc:18825 cp/parser.cc:41350 cp/parser.cc:41376
+#: c/c-parser.cc:19786 cp/parser.cc:42394 cp/parser.cc:42420
 #, gcc-internal-format
 msgid "invalid form of %<#pragma omp atomic%>"
 msgstr ""
 
-#: c/c-parser.cc:18829 cp/parser.cc:41416 cp/parser.cc:41450
+#: c/c-parser.cc:19790 cp/parser.cc:42460 cp/parser.cc:42494
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
 msgstr ""
 
-#: c/c-parser.cc:18880 cp/parser.cc:41485
+#: c/c-parser.cc:19841 cp/parser.cc:42529
 #, gcc-internal-format
 msgid "%<weak%> clause requires atomic equality comparison"
 msgstr ""
 
-#: c/c-parser.cc:18886 cp/semantics.cc:10770 cp/semantics.cc:10780
+#: c/c-parser.cc:19847 cp/semantics.cc:10902 cp/semantics.cc:10912
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp atomic capture%> uses two different expressions for memory"
 msgstr ""
 
-#: c/c-parser.cc:18986 cp/semantics.cc:10857
+#: c/c-parser.cc:19947 cp/semantics.cc:10989
 #, gcc-internal-format
 msgid "%<depobj%> expression is not lvalue expression"
 msgstr ""
 
-#: c/c-parser.cc:19043 cp/parser.cc:41651
+#: c/c-parser.cc:20008 cp/parser.cc:42695
 #, gcc-internal-format
-msgid "expected %<in%>, %<out%>, %<inout%> or %<mutexinoutset%>"
+msgid "expected %<in%>, %<out%>, %<inout%>, %<mutexinoutset%> or %<inoutset%>"
 msgstr ""
 
-#: c/c-parser.cc:19055 cp/parser.cc:41667
+#: c/c-parser.cc:20020 cp/parser.cc:42711
 #, gcc-internal-format
 msgid "expected %<depend%>, %<destroy%> or %<update%> clause"
 msgstr ""
 
-#: c/c-parser.cc:19093 cp/parser.cc:41707
+#: c/c-parser.cc:20061 cp/parser.cc:42749
 #, gcc-internal-format
 msgid "expected %<seq_cst%>, %<acq_rel%>, %<release%> or %<acquire%>"
 msgstr ""
 
-#: c/c-parser.cc:19101 cp/parser.cc:41715
+#: c/c-parser.cc:20069 cp/parser.cc:42757
 #, gcc-internal-format
 msgid "%<flush%> list specified together with memory order clause"
 msgstr ""
 
-#: c/c-parser.cc:19106
+#: c/c-parser.cc:20074
 #, gcc-internal-format
 msgid "expected %<(%> or end of line"
 msgstr ""
 
-#: c/c-parser.cc:19185 cp/parser.cc:42434
+#: c/c-parser.cc:20156 cp/parser.cc:43516
 #, gcc-internal-format
 msgid "expected %<inclusive%> or %<exclusive%> clause"
 msgstr ""
 
-#: c/c-parser.cc:19190 cp/parser.cc:42440
+#: c/c-parser.cc:20161 cp/parser.cc:43522
 #, gcc-internal-format
 msgid "expected %<#pragma omp scan%>"
 msgstr ""
 
-#: c/c-parser.cc:19246 cp/parser.cc:42491
+#: c/c-parser.cc:20217 cp/parser.cc:43573
 #, gcc-internal-format
 msgid "%<ordered%> clause parameter is less than %<collapse%>"
 msgstr ""
 
-#: c/c-parser.cc:19257 cp/parser.cc:42502
-#, gcc-internal-format
-msgid ""
-"%<linear%> clause may not be specified together with %<ordered%> clause with "
-"a parameter"
-msgstr ""
-
-#: c/c-parser.cc:19275 cp/parser.cc:42530
+#: c/c-parser.cc:20233 cp/parser.cc:43599
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr ""
 
-#: c/c-parser.cc:19353 cp/semantics.cc:10348 cp/semantics.cc:10439
+#: c/c-parser.cc:20311 cp/semantics.cc:10480 cp/semantics.cc:10571
 #, gcc-internal-format
 msgid "expected iteration declaration or initialization"
 msgstr ""
 
-#: c/c-parser.cc:19439
+#: c/c-parser.cc:20397
 #, gcc-internal-format
 msgid "not enough perfectly nested loops"
 msgstr ""
 
-#: c/c-parser.cc:19487 cp/parser.cc:42844
+#: c/c-parser.cc:20445 cp/parser.cc:43913
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr ""
 
-#: c/c-parser.cc:19570 cp/parser.cc:42640 cp/parser.cc:42682 cp/pt.cc:18221
+#: c/c-parser.cc:20528 cp/parser.cc:43709 cp/parser.cc:43751 cp/pt.cc:18441
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr ""
 
-#: c/c-parser.cc:19706 cp/parser.cc:42965
-#, gcc-internal-format
-msgid "%<ordered%> clause with parameter may not be specified on %qs construct"
-msgstr ""
-
-#: c/c-parser.cc:19985 cp/parser.cc:43258
+#: c/c-parser.cc:20943 cp/parser.cc:44317
 #, gcc-internal-format
 msgid ""
-"%<#pragma omp ordered%> with %<depend%> clause may only be used in compound "
+"%<#pragma omp ordered%> with %qs clause may only be used in compound "
 "statements"
 msgstr ""
 
-#: c/c-parser.cc:20199 cp/parser.cc:43464
+#: c/c-parser.cc:21157 cp/parser.cc:44523
 #, gcc-internal-format
 msgid "expected %<for%> after %qs"
 msgstr ""
 
-#: c/c-parser.cc:20541 cp/parser.cc:43808
+#: c/c-parser.cc:21502 cp/parser.cc:44870
 #, gcc-internal-format
 msgid "expected %<point%>"
 msgstr ""
 
-#: c/c-parser.cc:20796 cp/parser.cc:44083
+#: c/c-parser.cc:21761 cp/parser.cc:45149
 #, 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:20812 cp/parser.cc:44099
+#: c/c-parser.cc:21777 cp/parser.cc:45165
 #, 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:20860 cp/parser.cc:44331
+#: c/c-parser.cc:21825 cp/parser.cc:45421
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target update%> must contain at least one %<from%> or %<to%> "
 "clauses"
 msgstr ""
 
-#: c/c-parser.cc:20934 cp/parser.cc:44182
+#: c/c-parser.cc:21915 cp/parser.cc:45260
 #, gcc-internal-format
 msgid ""
-"%<#pragma omp target enter data%> with map-type other than %<to%> or %<alloc"
-"%> on %<map%> clause"
+"%<#pragma omp target enter data%> with map-type other than %<to%>"
+"%<tofrom%> or %<alloc%> on %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:20946 cp/parser.cc:44194
+#: c/c-parser.cc:21927 cp/parser.cc:45272
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target enter data%> must contain at least one %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:21021 cp/parser.cc:44274
+#: c/c-parser.cc:22014 cp/parser.cc:45364
 #, gcc-internal-format
 msgid ""
-"%<#pragma omp target exit data%> with map-type other than %<from%>, %<release"
-"%> or %<delete%> on %<map%> clause"
+"%<#pragma omp target exit data%> with map-type other than %<from%>, "
+"%<tofrom%>, %<release%> or %<delete%> on %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:21034 cp/parser.cc:44287
+#: c/c-parser.cc:22027 cp/parser.cc:45377
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp target exit data%> must contain at least one %<map%> clause"
 msgstr ""
 
-#: c/c-parser.cc:21270 cp/semantics.cc:9879
+#: c/c-parser.cc:22263 cp/semantics.cc:10011
 #, 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:21327
+#: c/c-parser.cc:22320
 #, 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:21378 c/c-parser.cc:21406
+#: c/c-parser.cc:22371 c/c-parser.cc:22399
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> must be followed by function declaration or "
 "definition"
 msgstr ""
 
-#: c/c-parser.cc:21445 cp/parser.cc:45199
+#: c/c-parser.cc:22438 cp/parser.cc:46293
 #, gcc-internal-format
 msgid "expected trait selector name"
 msgstr ""
 
-#: c/c-parser.cc:21498 cp/parser.cc:45251
+#: c/c-parser.cc:22491 cp/parser.cc:46345
 #, gcc-internal-format
 msgid "selector %qs not allowed for context selector set %qs"
 msgstr ""
 
-#: c/c-parser.cc:21523 cp/parser.cc:45275
+#: c/c-parser.cc:22516 cp/parser.cc:46369
 #, gcc-internal-format
 msgid "selector %qs does not accept any properties"
 msgstr ""
 
-#: c/c-parser.cc:21550 cp/parser.cc:45314 cp/pt.cc:11645
+#: c/c-parser.cc:22543 cp/parser.cc:46408 cp/pt.cc:11762
 #, gcc-internal-format
 msgid "score argument must be constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:21553 cp/parser.cc:45317 cp/pt.cc:11662
+#: c/c-parser.cc:22546 cp/parser.cc:46411 cp/pt.cc:11779
 #, gcc-internal-format
 msgid "score argument must be non-negative"
 msgstr ""
 
-#: c/c-parser.cc:21577 cp/parser.cc:45345 cp/pt.cc:11648
+#: c/c-parser.cc:22570 cp/parser.cc:46439 cp/pt.cc:11765
 #, gcc-internal-format
 msgid "property must be constant integer expression or string literal"
 msgstr ""
 
-#: c/c-parser.cc:21622 cp/parser.cc:45389
+#: c/c-parser.cc:22615 cp/parser.cc:46485
 #, gcc-internal-format
 msgid "expected identifier or string literal"
 msgstr ""
 
-#: c/c-parser.cc:21644 cp/parser.cc:45411 cp/pt.cc:11652
+#: c/c-parser.cc:22637 cp/parser.cc:46507 cp/pt.cc:11769
 #, gcc-internal-format
 msgid "property must be constant integer expression"
 msgstr ""
 
-#: c/c-parser.cc:21655 cp/parser.cc:45422
+#: c/c-parser.cc:22648 cp/parser.cc:46518
 #, gcc-internal-format
 msgid ""
 "properties for %<simd%> selector may not be specified in %<metadirective%>"
 msgstr ""
 
-#: c/c-parser.cc:21742 cp/parser.cc:45508
+#: c/c-parser.cc:22735 cp/parser.cc:46604
 #, gcc-internal-format
 msgid "expected %<construct%>, %<device%>, %<implementation%> or %<user%>"
 msgstr ""
 
-#: c/c-parser.cc:21817 cp/parser.cc:45622
+#: c/c-parser.cc:22814 cp/parser.cc:46921
 #, gcc-internal-format
 msgid "expected %<match%>"
 msgstr ""
 
-#: c/c-parser.cc:21837
+#: c/c-parser.cc:22834
 #, gcc-internal-format
 msgid "variant %qD is not a function"
 msgstr ""
 
-#: c/c-parser.cc:21843 cp/decl.cc:7920
+#: c/c-parser.cc:22840 cp/decl.cc:8100
 #, gcc-internal-format
 msgid "variant %qD and base %qD have incompatible types"
 msgstr ""
 
-#: c/c-parser.cc:21855 cp/decl.cc:7929
+#: c/c-parser.cc:22852 cp/decl.cc:8109
 #, gcc-internal-format
 msgid "variant %qD is a built-in"
 msgstr ""
 
-#: c/c-parser.cc:21900
+#: c/c-parser.cc:22897
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> not immediately followed by a function "
 "declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:21908 cp/parser.cc:45667
+#: c/c-parser.cc:22905 cp/parser.cc:46966
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> not immediately followed by a single function "
 "declaration or definition"
 msgstr ""
 
-#: c/c-parser.cc:22017 cp/parser.cc:45875
+#: c/c-parser.cc:23019 cp/parser.cc:47170
+#, gcc-internal-format
+msgid "%qD specified both in declare target %<link%> and %qs clauses"
+msgstr ""
+
+#: c/c-parser.cc:23023 cp/parser.cc:47174
 #, gcc-internal-format
-msgid "%qD specified both in declare target %<link%> and %<to%> clauses"
+msgid ""
+"%qD specified both in declare target %<link%> and %<to%> or %<enter%> clauses"
 msgstr ""
 
-#: c/c-parser.cc:22066 cp/parser.cc:45987
+#: c/c-parser.cc:23072 cp/parser.cc:47285
 #, gcc-internal-format
-msgid "directive with only %<device_type%> clauses ignored"
+msgid "directive with only %<device_type%> clause"
 msgstr ""
 
-#: c/c-parser.cc:22085 cp/parser.cc:46013
+#: c/c-parser.cc:23112 c/c-parser.cc:23152 cp/parser.cc:47333
+#: cp/parser.cc:47380
 #, gcc-internal-format
 msgid "expected %<target%>"
 msgstr ""
 
-#: c/c-parser.cc:22092 cp/parser.cc:46020
+#: c/c-parser.cc:23124 cp/parser.cc:47346
 #, gcc-internal-format
-msgid "expected %<declare%>"
+msgid "expected %<declare target%> or %<assumes%>"
 msgstr ""
 
-#: c/c-parser.cc:22098 cp/parser.cc:46027
+#: c/c-parser.cc:23158 cp/parser.cc:47387
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp end declare target%> without corresponding %<#pragma omp "
-"declare target%>"
+"declare target%> or %<#pragma omp begin declare target%>"
+msgstr ""
+
+#: c/c-parser.cc:23176 cp/parser.cc:47442
+#, gcc-internal-format
+msgid "expected %<declare%> or %<assumes%>"
 msgstr ""
 
-#: c/c-parser.cc:22126
+#: c/c-parser.cc:23202
 #, gcc-internal-format
 msgid "%<#pragma omp declare reduction%> not at file or block scope"
 msgstr ""
 
-#: c/c-parser.cc:22203
+#: c/c-parser.cc:23279
 #, gcc-internal-format
 msgid "predeclared arithmetic type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:22207
+#: c/c-parser.cc:23283
 #, gcc-internal-format
 msgid "function or array type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:22210
+#: c/c-parser.cc:23286
 #, gcc-internal-format
 msgid "%<_Atomic%> qualified type in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:22213
+#: c/c-parser.cc:23289
 #, gcc-internal-format
 msgid ""
-"const, volatile or restrict qualified type in %<#pragma omp declare reduction"
-"%>"
+"const, volatile or restrict qualified type in %<#pragma omp declare "
+"reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:22221
+#: c/c-parser.cc:23297
 #, gcc-internal-format
 msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT"
 msgstr ""
 
-#: c/c-parser.cc:22230
+#: c/c-parser.cc:23306
 #, gcc-internal-format
 msgid "previous %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: c/c-parser.cc:22347
+#: c/c-parser.cc:23427
 #, gcc-internal-format
 msgid "expected %<omp_priv%> or function-name"
 msgstr ""
 
-#: c/c-parser.cc:22358
+#: c/c-parser.cc:23438
 #, gcc-internal-format
 msgid "expected function-name %<(%>"
 msgstr ""
 
-#: c/c-parser.cc:22377
+#: c/c-parser.cc:23457
 #, gcc-internal-format
 msgid "one of the initializer call arguments should be %<&omp_priv%>"
 msgstr ""
 
-#: c/c-parser.cc:22508 cp/parser.cc:46515
+#: c/c-parser.cc:23588 cp/parser.cc:47914
 #, gcc-internal-format
 msgid "expected %<simd%>, %<reduction%>, %<target%> or %<variant%>"
 msgstr ""
 
-#: c/c-parser.cc:22575 cp/parser.cc:46581
+#: c/c-parser.cc:23651 cp/parser.cc:47975
 #, gcc-internal-format
 msgid "expected %<seq_cst%>, %<relaxed%> or %<acq_rel%>"
 msgstr ""
 
-#: c/c-parser.cc:22604 cp/parser.cc:46616
+#: c/c-parser.cc:23680 cp/parser.cc:48010
 #, gcc-internal-format
 msgid ""
-"expected %<unified_address%>, %<unified_shared_memory%>, %<dynamic_allocators"
-"%>, %<reverse_offload%> or %<atomic_default_mem_order%> clause"
-msgstr ""
-
-#: c/c-parser.cc:22613 cp/parser.cc:46625
-#, gcc-internal-format
-msgid "%qs clause on %<requires%> directive not supported yet"
+"expected %<unified_address%>, %<unified_shared_memory%>, "
+"%<dynamic_allocators%>, %<reverse_offload%> or %<atomic_default_mem_order%> "
+"clause"
 msgstr ""
 
-#: c/c-parser.cc:22625 cp/parser.cc:46637
+#: c/c-parser.cc:23698 cp/parser.cc:48028
 #, gcc-internal-format
 msgid ""
 "%qs clause used lexically after first target construct or offloading API"
 msgstr ""
 
-#: c/c-parser.cc:22637 cp/parser.cc:46649
+#: c/c-parser.cc:23710 cp/parser.cc:48040
 #, gcc-internal-format
 msgid ""
 "more than one %<atomic_default_mem_order%> clause in a single compilation "
 "unit"
 msgstr ""
 
-#: c/c-parser.cc:22646 cp/parser.cc:46658
+#: c/c-parser.cc:23719 cp/parser.cc:48049
 #, gcc-internal-format
 msgid ""
 "%<atomic_default_mem_order%> clause used lexically after first %<atomic%> "
 "construct without memory order clause"
 msgstr ""
 
-#: c/c-parser.cc:22660 cp/parser.cc:46672
+#: c/c-parser.cc:23733 cp/parser.cc:48063
 #, gcc-internal-format
 msgid "%<pragma omp requires%> requires at least one clause"
 msgstr ""
 
-#: c/c-parser.cc:22679
+#: c/c-parser.cc:23752
 #, gcc-internal-format
 msgid "zero sized type %qT in %<reduction%> clause"
 msgstr ""
 
-#: c/c-parser.cc:22685
+#: c/c-parser.cc:23758
 #, gcc-internal-format
 msgid "variable sized type %qT in %<reduction%> clause"
 msgstr ""
 
-#: c/c-parser.cc:22846 cp/parser.cc:46734
+#: c/c-parser.cc:23915 cp/parser.cc:48120
 #, gcc-internal-format
 msgid "expected %<at%>, %<severity%> or %<message%> clause"
 msgstr ""
 
-#: c/c-parser.cc:22879 cp/parser.cc:46769
+#: c/c-parser.cc:23948 cp/parser.cc:48155
 #, gcc-internal-format
 msgid "expected %qs or %qs"
 msgstr ""
 
-#: c/c-parser.cc:22936 cp/parser.cc:46831
+#: c/c-parser.cc:24005 cp/parser.cc:48217
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp error%> with %<at(execution)%> clause may only be used in "
 "compound statements"
 msgstr ""
 
-#: c/c-parser.cc:22959 cp/parser.cc:46858
+#: c/c-parser.cc:24028 cp/parser.cc:48244
 #, gcc-internal-format
 msgid "%<pragma omp error%> encountered: %s"
 msgstr ""
 
-#: c/c-parser.cc:22962 cp/parser.cc:46861
+#: c/c-parser.cc:24031 cp/parser.cc:48247
 #, gcc-internal-format
 msgid "%<pragma omp error%> encountered"
 msgstr ""
 
-#: c/c-parser.cc:23109 cp/semantics.cc:9254
+#: c/c-parser.cc:24058 cp/parser.cc:46667
+#, gcc-internal-format
+msgid "expected at least one assumption clause"
+msgstr ""
+
+#: c/c-parser.cc:24144 cp/parser.cc:46753
+#, gcc-internal-format
+msgid "expected directive name"
+msgstr ""
+
+#: c/c-parser.cc:24157 cp/parser.cc:46766
+#, gcc-internal-format
+msgid "unknown OpenMP directive name in %qs clause argument"
+msgstr ""
+
+#: c/c-parser.cc:24164 cp/parser.cc:46773
+#, gcc-internal-format
+msgid ""
+"%<%s%s%s%s%s%> directive mentioned in both %<absent%> and %<contains%> "
+"clauses"
+msgstr ""
+
+#: c/c-parser.cc:24175 cp/parser.cc:46784
+#, gcc-internal-format
+msgid "%<%s%s%s%s%s%> directive mentioned multiple times in %qs clauses"
+msgstr ""
+
+#: c/c-parser.cc:24198 cp/parser.cc:46811
+#, gcc-internal-format
+msgid "unknown assumption clause %qs"
+msgstr ""
+
+#: c/c-parser.cc:24211 cp/parser.cc:46821
+#, gcc-internal-format
+msgid "expected assumption clause"
+msgstr ""
+
+#: c/c-parser.cc:24384 cp/semantics.cc:9385
 #, gcc-internal-format
 msgid "%qE declared %<threadprivate%> after first use"
 msgstr ""
 
-#: c/c-parser.cc:23111 cp/semantics.cc:9256
+#: c/c-parser.cc:24386 cp/semantics.cc:9387
 #, gcc-internal-format
 msgid "automatic variable %qE cannot be %<threadprivate%>"
 msgstr ""
 
-#: c/c-parser.cc:23115 cp/semantics.cc:9258
+#: c/c-parser.cc:24390 cp/semantics.cc:9389
 #, gcc-internal-format
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr ""
 
-#: c/c-parser.cc:23294 cp/parser.cc:47597
+#: c/c-parser.cc:24570 cp/parser.cc:48986
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> without transactional memory support enabled"
 msgstr ""
 
-#: c/c-parser.cc:23300 cp/parser.cc:47603
+#: c/c-parser.cc:24576 cp/parser.cc:48992
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
 msgstr ""
 
-#: c/c-parser.cc:23309
+#: c/c-parser.cc:24585
 #, gcc-internal-format
 msgid ""
 "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%> or "
 "a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: c/c-parser.cc:23317 cp/parser.cc:47621
+#: c/c-parser.cc:24593 cp/parser.cc:49010
 #, gcc-internal-format
 msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
 msgstr ""
 
-#: c/c-parser.cc:23401
+#: c/c-parser.cc:24677
 #, gcc-internal-format
 msgid "no closing brace"
 msgstr ""
 
-#: c/c-typeck.cc:228
+#: c/c-typeck.cc:237
 #, gcc-internal-format
 msgid "%qD has an incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:242 c/c-typeck.cc:10734 c/c-typeck.cc:10776 cp/call.cc:4670
+#: c/c-typeck.cc:251 c/c-typeck.cc:11152 c/c-typeck.cc:11194 cp/call.cc:4853
 #, gcc-internal-format
 msgid "invalid use of void expression"
 msgstr ""
 
-#: c/c-typeck.cc:250
+#: c/c-typeck.cc:259
 #, gcc-internal-format
 msgid "invalid use of flexible array member"
 msgstr ""
 
-#: c/c-typeck.cc:256 cp/typeck2.cc:363
+#: c/c-typeck.cc:265 cp/typeck2.cc:350 rust/backend/rust-tree.cc:3886
 #, gcc-internal-format
 msgid "invalid use of array with unspecified bounds"
 msgstr ""
 
-#: c/c-typeck.cc:264
+#: c/c-typeck.cc:273
 #, 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:267
+#: c/c-typeck.cc:276
 #, gcc-internal-format
 msgid "invalid use of incomplete typedef %qT"
 msgstr ""
 
-#: c/c-typeck.cc:340
+#: c/c-typeck.cc:349
 #, gcc-internal-format
 msgid "%qT and %qT are in disjoint named address spaces"
 msgstr ""
 
-#: c/c-typeck.cc:375
+#: c/c-typeck.cc:384
 #, gcc-internal-format
 msgid ""
 "%qs attribute cannot be applied to a function that does not take variable "
 "arguments"
 msgstr ""
 
-#: c/c-typeck.cc:602 c/c-typeck.cc:627
+#: c/c-typeck.cc:615 c/c-typeck.cc:640
 #, gcc-internal-format
 msgid "function types not truly compatible in ISO C"
 msgstr ""
 
-#: c/c-typeck.cc:777
+#: c/c-typeck.cc:790
 #, gcc-internal-format
 msgid "cannot mix operands of decimal floating and vector types"
 msgstr ""
 
-#: c/c-typeck.cc:782
+#: c/c-typeck.cc:795
 #, gcc-internal-format
 msgid "cannot mix operands of decimal floating and complex types"
 msgstr ""
 
-#: c/c-typeck.cc:787
+#: c/c-typeck.cc:800
 #, gcc-internal-format
 msgid "cannot mix operands of decimal floating and other floating types"
 msgstr ""
 
-#: c/c-typeck.cc:1332
+#: c/c-typeck.cc:1345
 #, gcc-internal-format
 msgid ""
 "invalid use of pointers to arrays with different qualifiers in ISO C before "
 "C2X"
 msgstr ""
 
-#: c/c-typeck.cc:1336
+#: c/c-typeck.cc:1349
 #, gcc-internal-format
 msgid "types are not quite compatible"
 msgstr ""
 
-#: c/c-typeck.cc:1340
+#: c/c-typeck.cc:1353
 #, gcc-internal-format
 msgid "pointer target types incompatible in C++"
 msgstr ""
 
-#: c/c-typeck.cc:1673
+#: c/c-typeck.cc:1686
 #, gcc-internal-format
 msgid "function return types not compatible due to %<volatile%>"
 msgstr ""
 
-#: c/c-typeck.cc:1930
+#: c/c-typeck.cc:1947
 #, gcc-internal-format
 msgid "converting an array compound literal to a pointer is ill-formed in C++"
 msgstr ""
 
-#: c/c-typeck.cc:2505 c/c-typeck.cc:9289
+#: c/c-typeck.cc:2600 c/c-typeck.cc:9673
 #, gcc-internal-format
 msgid "%qT has no member named %qE; did you mean %qE?"
 msgstr ""
 
-#: c/c-typeck.cc:2509 c/c-typeck.cc:9293
+#: c/c-typeck.cc:2604 c/c-typeck.cc:9677
 #, gcc-internal-format
 msgid "%qT has no member named %qE"
 msgstr ""
 
-#: c/c-typeck.cc:2518
+#: c/c-typeck.cc:2613
 #, gcc-internal-format
 msgid "accessing a member %qE of an atomic structure %qE"
 msgstr ""
 
-#: c/c-typeck.cc:2521
+#: c/c-typeck.cc:2616
 #, gcc-internal-format
 msgid "accessing a member %qE of an atomic union %qE"
 msgstr ""
 
-#: c/c-typeck.cc:2583
+#: c/c-typeck.cc:2680
+#, 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:2689
 #, gcc-internal-format
 msgid "%qE is a pointer; did you mean to use %<->%>?"
 msgstr ""
 
-#: c/c-typeck.cc:2589
+#: c/c-typeck.cc:2696
 #, gcc-internal-format
 msgid "request for member %qE in something not a structure or union"
 msgstr ""
 
-#: c/c-typeck.cc:2637
+#: c/c-typeck.cc:2744
 #, gcc-internal-format
 msgid "dereferencing %<void *%> pointer"
 msgstr ""
 
-#: c/c-typeck.cc:2692
+#: c/c-typeck.cc:2799
 #, gcc-internal-format
 msgid "subscripted value is neither array nor pointer nor vector"
 msgstr ""
 
-#: c/c-typeck.cc:2702 cp/typeck.cc:3838 cp/typeck.cc:3931
+#: c/c-typeck.cc:2809 cp/typeck.cc:3991 cp/typeck.cc:4084
 #, gcc-internal-format
 msgid "array subscript is not an integer"
 msgstr ""
 
-#: c/c-typeck.cc:2708
+#: c/c-typeck.cc:2815
 #, gcc-internal-format
 msgid "subscripted value is pointer to function"
 msgstr ""
 
-#: c/c-typeck.cc:2762
+#: c/c-typeck.cc:2869
 #, gcc-internal-format
 msgid "ISO C forbids subscripting %<register%> array"
 msgstr ""
 
-#: c/c-typeck.cc:2765
+#: c/c-typeck.cc:2872
 #, gcc-internal-format
 msgid "ISO C90 forbids subscripting non-lvalue array"
 msgstr ""
 
-#: c/c-typeck.cc:2881
+#: c/c-typeck.cc:2940
+#, gcc-internal-format
+msgid "underspecified %qD referenced in its initializer"
+msgstr ""
+
+#: c/c-typeck.cc:2991
 #, gcc-internal-format
 msgid "enum constant defined here"
 msgstr ""
 
-#: c/c-typeck.cc:2988 cp/typeck.cc:1989
+#: c/c-typeck.cc:3099 cp/typeck.cc:2141
 #, gcc-internal-format
 msgid "%<sizeof%> on array function parameter %qE will return size of %qT"
 msgstr ""
 
-#: c/c-typeck.cc:3147
+#: c/c-typeck.cc:3260
 #, gcc-internal-format
 msgid "called object %qE is not a function or function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:3152
+#: c/c-typeck.cc:3265
 #, gcc-internal-format
 msgid "called object %qD is not a function or function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:3158
+#: c/c-typeck.cc:3271
 #, gcc-internal-format
 msgid "called object is not a function or function pointer"
 msgstr ""
@@ -48325,1715 +49673,1758 @@ 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:3188
+#: c/c-typeck.cc:3300
 #, gcc-internal-format
 msgid "function called through a non-compatible type"
 msgstr ""
 
-#: c/c-typeck.cc:3193 c/c-typeck.cc:3245
+#: c/c-typeck.cc:3305 c/c-typeck.cc:3360
 #, gcc-internal-format
 msgid "function with qualified void return type called"
 msgstr ""
 
-#: c/c-typeck.cc:3300
+#: c/c-typeck.cc:3415
 #, gcc-internal-format, gfc-internal-format
 msgid "type of formal parameter %d is incomplete"
 msgstr ""
 
-#: c/c-typeck.cc:3314
+#: c/c-typeck.cc:3429
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as integer rather than floating due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3320
+#: c/c-typeck.cc:3435
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as integer rather than complex due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3326
+#: c/c-typeck.cc:3441
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as complex rather than floating due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3332
+#: c/c-typeck.cc:3447
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as floating rather than integer due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3338
+#: c/c-typeck.cc:3453
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as complex rather than integer due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3344
+#: c/c-typeck.cc:3459
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as floating rather than complex due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3358
+#: c/c-typeck.cc:3473
 #, gcc-internal-format
 msgid ""
 "passing argument %d of %qE as %<float%> rather than %<double%> due to "
 "prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3384
+#: c/c-typeck.cc:3499
 #, gcc-internal-format
 msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3409
+#: c/c-typeck.cc:3524
 #, gcc-internal-format
 msgid "passing argument %d of %qE with different width due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3433
+#: c/c-typeck.cc:3548
 #, gcc-internal-format
 msgid "passing argument %d of %qE as unsigned due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3438
+#: c/c-typeck.cc:3553
 #, gcc-internal-format
 msgid "passing argument %d of %qE as signed due to prototype"
 msgstr ""
 
-#: c/c-typeck.cc:3591
+#: c/c-typeck.cc:3707
 #, gcc-internal-format
 msgid "too many arguments to method %qE"
 msgstr ""
 
-#: c/c-typeck.cc:3601
+#: c/c-typeck.cc:3717
 #, gcc-internal-format
 msgid "too many arguments to built-in function %qE expecting %d"
 msgstr ""
 
-#: c/c-typeck.cc:3673
+#: c/c-typeck.cc:3792
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT when passing argument to function"
 msgstr ""
 
-#: c/c-typeck.cc:3741
+#: c/c-typeck.cc:3860
 #, gcc-internal-format
 msgid "too few arguments to built-in function %qE expecting %u"
 msgstr ""
 
-#: c/c-typeck.cc:3916 c/c-typeck.cc:3944 cp/typeck.cc:5444 cp/typeck.cc:5720
+#: c/c-typeck.cc:4038 c/c-typeck.cc:4066 cp/typeck.cc:5682 cp/typeck.cc:5958
 #, gcc-internal-format
 msgid "comparison with string literal results in unspecified behavior"
 msgstr ""
 
-#: c/c-typeck.cc:3924 c/c-typeck.cc:3935 cp/typeck.cc:5476 cp/typeck.cc:5500
+#: c/c-typeck.cc:4046 c/c-typeck.cc:4057 cp/typeck.cc:5714 cp/typeck.cc:5738
 #, gcc-internal-format
 msgid "comparison between pointer and zero character constant"
 msgstr ""
 
-#: c/c-typeck.cc:3927 c/c-typeck.cc:3938 cp/typeck.cc:5479 cp/typeck.cc:5503
+#: c/c-typeck.cc:4049 c/c-typeck.cc:4060 cp/typeck.cc:5717 cp/typeck.cc:5741
 #, gcc-internal-format
 msgid "did you mean to dereference the pointer?"
 msgstr ""
 
-#: c/c-typeck.cc:3965
+#: c/c-typeck.cc:4087
 #, gcc-internal-format
 msgid "comparison between %qT and %qT"
 msgstr ""
 
-#: c/c-typeck.cc:4016
+#: c/c-typeck.cc:4146
 #, gcc-internal-format
 msgid "pointer of type %<void *%> used in subtraction"
 msgstr ""
 
-#: c/c-typeck.cc:4019
+#: c/c-typeck.cc:4149
 #, gcc-internal-format
 msgid "pointer to a function used in subtraction"
 msgstr ""
 
-#: c/c-typeck.cc:4053
+#: c/c-typeck.cc:4183
 #, gcc-internal-format
 msgid "arithmetic on pointer to an incomplete type"
 msgstr ""
 
-#: c/c-typeck.cc:4062 cp/typeck.cc:6461
+#: c/c-typeck.cc:4192 cp/typeck.cc:6762
 #, gcc-internal-format
 msgid "arithmetic on pointer to an empty aggregate"
 msgstr ""
 
-#: c/c-typeck.cc:4505
+#: c/c-typeck.cc:4635
 #, gcc-internal-format
 msgid "%<~%> on a boolean expression"
 msgstr ""
 
-#: c/c-typeck.cc:4509
+#: c/c-typeck.cc:4639
 #, gcc-internal-format
 msgid "did you mean to use logical not?"
 msgstr ""
 
-#: c/c-typeck.cc:4519
+#: c/c-typeck.cc:4649
 #, gcc-internal-format
 msgid "ISO C does not support %<~%> for complex conjugation"
 msgstr ""
 
-#: c/c-typeck.cc:4543
+#: c/c-typeck.cc:4673
 #, gcc-internal-format
 msgid "wrong type argument to absu"
 msgstr ""
 
-#: c/c-typeck.cc:4568
+#: c/c-typeck.cc:4698
 #, gcc-internal-format
 msgid "wrong type argument to unary exclamation mark"
 msgstr ""
 
-#: c/c-typeck.cc:4626
+#: c/c-typeck.cc:4756
 #, gcc-internal-format
 msgid "increment of enumeration value is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:4629
+#: c/c-typeck.cc:4759
 #, gcc-internal-format
 msgid "decrement of enumeration value is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:4636
+#: c/c-typeck.cc:4766
 #, gcc-internal-format
 msgid "increment of a boolean expression"
 msgstr ""
 
-#: c/c-typeck.cc:4639
+#: c/c-typeck.cc:4769
 #, gcc-internal-format
 msgid "decrement of a boolean expression"
 msgstr ""
 
-#: c/c-typeck.cc:4655
+#: c/c-typeck.cc:4785
 #, gcc-internal-format
 msgid "ISO C does not support %<++%> and %<--%> on complex types"
 msgstr ""
 
-#: c/c-typeck.cc:4681 c/c-typeck.cc:4715
+#: c/c-typeck.cc:4811 c/c-typeck.cc:4845
 #, gcc-internal-format
 msgid "wrong type argument to increment"
 msgstr ""
 
-#: c/c-typeck.cc:4683 c/c-typeck.cc:4718
+#: c/c-typeck.cc:4813 c/c-typeck.cc:4848
 #, gcc-internal-format
 msgid "wrong type argument to decrement"
 msgstr ""
 
-#: c/c-typeck.cc:4703
+#: c/c-typeck.cc:4833
 #, gcc-internal-format
 msgid "increment of pointer to an incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:4707
+#: c/c-typeck.cc:4837
 #, gcc-internal-format
 msgid "decrement of pointer to an incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:4812
+#: c/c-typeck.cc:4945
 #, gcc-internal-format
 msgid "taking address of expression of type %<void%>"
 msgstr ""
 
-#: c/c-typeck.cc:4871 c/c-typeck.cc:5064
+#: c/c-typeck.cc:5004 c/c-typeck.cc:5197
 #, gcc-internal-format
 msgid "cannot take address of bit-field %qD"
 msgstr ""
 
-#: c/c-typeck.cc:4885
+#: c/c-typeck.cc:5018
 #, gcc-internal-format
 msgid "cannot take address of scalar with reverse storage order"
 msgstr ""
 
-#: c/c-typeck.cc:4893
+#: c/c-typeck.cc:5026
 #, gcc-internal-format
 msgid "address of array with reverse scalar storage order requested"
 msgstr ""
 
-#: c/c-typeck.cc:5095
+#: c/c-typeck.cc:5212
+#, gcc-internal-format
+msgid "address of register compound literal requested"
+msgstr ""
+
+#: c/c-typeck.cc:5233
 #, gcc-internal-format
 msgid "global register variable %qD used in nested function"
 msgstr ""
 
-#: c/c-typeck.cc:5098
+#: c/c-typeck.cc:5236
 #, gcc-internal-format
 msgid "register variable %qD used in nested function"
 msgstr ""
 
-#: c/c-typeck.cc:5103
+#: c/c-typeck.cc:5241
 #, gcc-internal-format
 msgid "address of global register variable %qD requested"
 msgstr ""
 
-#: c/c-typeck.cc:5105
+#: c/c-typeck.cc:5243 d/d-codegen.cc:721
 #, gcc-internal-format
 msgid "address of register variable %qD requested"
 msgstr ""
 
-#: c/c-typeck.cc:5244
+#: c/c-typeck.cc:5382
 #, gcc-internal-format
 msgid "non-lvalue array in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5326
+#: c/c-typeck.cc:5464
 #, gcc-internal-format
 msgid ""
 "implicit conversion from %qT to %qT to match other result of conditional"
 msgstr ""
 
-#: c/c-typeck.cc:5385 c/c-typeck.cc:5391
+#: c/c-typeck.cc:5523 c/c-typeck.cc:5529
 #, gcc-internal-format
 msgid ""
 "operand of %<?:%> changes signedness from %qT to %qT due to unsignedness of "
 "other operand"
 msgstr ""
 
-#: c/c-typeck.cc:5408
+#: c/c-typeck.cc:5546
 #, gcc-internal-format
 msgid "ISO C forbids conditional expr with only one void side"
 msgstr ""
 
-#: c/c-typeck.cc:5425
+#: c/c-typeck.cc:5563
 #, gcc-internal-format
 msgid "pointers to disjoint address spaces used in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5449
+#: c/c-typeck.cc:5587
 #, gcc-internal-format
 msgid "pointer to array loses qualifier in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5453
+#: c/c-typeck.cc:5591
 #, gcc-internal-format
 msgid ""
 "pointer to array loses qualifier in conditional expression in ISO C before "
 "C2X"
 msgstr ""
 
-#: c/c-typeck.cc:5458
+#: c/c-typeck.cc:5596
 #, gcc-internal-format
 msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:5473
+#: c/c-typeck.cc:5611
 #, gcc-internal-format
 msgid ""
 "pointer type mismatch between %qT and %qT of %qD and %qD in conditional "
 "expression"
 msgstr ""
 
-#: c/c-typeck.cc:5478
+#: c/c-typeck.cc:5616
 #, gcc-internal-format
 msgid "pointer type mismatch in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5487 c/c-typeck.cc:5498
+#: c/c-typeck.cc:5625 c/c-typeck.cc:5636
 #, gcc-internal-format
 msgid "pointer/integer type mismatch in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5512
+#: c/c-typeck.cc:5657
 #, gcc-internal-format
 msgid "type mismatch in conditional expression"
 msgstr ""
 
-#: c/c-typeck.cc:5627
+#: c/c-typeck.cc:5772
 #, gcc-internal-format
 msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>: %E"
 msgstr ""
 
-#: c/c-typeck.cc:5631
+#: c/c-typeck.cc:5776
 #, gcc-internal-format
 msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>"
 msgstr ""
 
-#: c/c-typeck.cc:5649
+#: c/c-typeck.cc:5794
 #, gcc-internal-format
 msgid ""
 "ignoring return value of type %qT, declared with attribute %<nodiscard%>: %E"
 msgstr ""
 
-#: c/c-typeck.cc:5654
+#: c/c-typeck.cc:5799
 #, gcc-internal-format
 msgid ""
 "ignoring return value of type %qT, declared with attribute %<nodiscard%>"
 msgstr ""
 
-#: c/c-typeck.cc:5663 cp/cvt.cc:1096
+#: c/c-typeck.cc:5808 cp/cvt.cc:1100 rust/backend/rust-tree.cc:641
 #, gcc-internal-format
 msgid "in call to %qD, declared here"
 msgstr ""
 
-#: c/c-typeck.cc:5712
+#: c/c-typeck.cc:5857
 #, gcc-internal-format
 msgid "left-hand operand of comma expression has no effect"
 msgstr ""
 
-#: c/c-typeck.cc:5730 c/c-typeck.cc:11309
+#: c/c-typeck.cc:5875 c/c-typeck.cc:11727
 #, gcc-internal-format
 msgid "right-hand operand of comma expression has no effect"
 msgstr ""
 
-#: c/c-typeck.cc:5801
+#: c/c-typeck.cc:5946
 msgid "cast adds %q#v qualifier to function type"
 msgstr ""
 
-#: c/c-typeck.cc:5807
+#: c/c-typeck.cc:5952
 msgid "cast discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:5842
+#: c/c-typeck.cc:5987
 #, gcc-internal-format
 msgid ""
-"to be safe all intermediate pointers in cast from %qT to %qT must be %<const"
-"%> qualified"
+"to be safe all intermediate pointers in cast from %qT to %qT must be "
+"%<const%> qualified"
 msgstr ""
 
-#: c/c-typeck.cc:5936
+#: c/c-typeck.cc:6081
 #, gcc-internal-format
 msgid "cast specifies array type"
 msgstr ""
 
-#: c/c-typeck.cc:5942
+#: c/c-typeck.cc:6087
 #, gcc-internal-format
 msgid "cast specifies function type"
 msgstr ""
 
-#: c/c-typeck.cc:5957
+#: c/c-typeck.cc:6102
 #, gcc-internal-format
 msgid "ISO C forbids casting nonscalar to the same type"
 msgstr ""
 
-#: c/c-typeck.cc:5977
+#: c/c-typeck.cc:6122
 #, gcc-internal-format
 msgid "ISO C forbids casts to union type"
 msgstr ""
 
-#: c/c-typeck.cc:5987
+#: c/c-typeck.cc:6132
 #, gcc-internal-format
 msgid "cast to union type from type not present in union"
 msgstr ""
 
-#: c/c-typeck.cc:6022
-#, gcc-internal-format, gfc-internal-format
+#: c/c-typeck.cc:6167
+#, gcc-internal-format
 msgid ""
-"cast to %s address space pointer from disjoint generic address space pointer"
+"cast to %qs address space pointer from disjoint generic address space pointer"
 msgstr ""
 
-#: c/c-typeck.cc:6027
-#, gcc-internal-format, gfc-internal-format
+#: c/c-typeck.cc:6172
+#, gcc-internal-format
 msgid ""
-"cast to generic address space pointer from disjoint %s address space pointer"
+"cast to generic address space pointer from disjoint %qs address space pointer"
 msgstr ""
 
-#: c/c-typeck.cc:6032
-#, gcc-internal-format, gfc-internal-format
-msgid "cast to %s address space pointer from disjoint %s address space pointer"
+#: c/c-typeck.cc:6177
+#, gcc-internal-format
+msgid ""
+"cast to %qs address space pointer from disjoint %qs address space pointer"
 msgstr ""
 
-#: c/c-typeck.cc:6052
+#: c/c-typeck.cc:6197
 #, gcc-internal-format
 msgid "cast increases required alignment of target type"
 msgstr ""
 
-#: c/c-typeck.cc:6063
+#: c/c-typeck.cc:6208
 #, gcc-internal-format
 msgid "cast from pointer to integer of different size"
 msgstr ""
 
-#: c/c-typeck.cc:6068
+#: c/c-typeck.cc:6213
 #, gcc-internal-format
 msgid "cast from function call of type %qT to non-matching type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:6077 cp/typeck.cc:8831
+#: c/c-typeck.cc:6222 cp/typeck.cc:9172
 #, gcc-internal-format
 msgid "cast to pointer from integer of different size"
 msgstr ""
 
-#: c/c-typeck.cc:6091
+#: c/c-typeck.cc:6236
 #, gcc-internal-format
 msgid "ISO C forbids conversion of function pointer to object pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:6100
+#: c/c-typeck.cc:6245
 #, gcc-internal-format
 msgid "ISO C forbids conversion of object pointer to function pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:6110
+#: c/c-typeck.cc:6255
 #, gcc-internal-format
 msgid "cast between incompatible function types from %qT to %qT"
 msgstr ""
 
-#: c/c-typeck.cc:6206
+#: c/c-typeck.cc:6351
 #, gcc-internal-format
 msgid "defining a type in a cast is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:6247
+#: c/c-typeck.cc:6392
 #, gcc-internal-format
 msgid "assignment to expression with array type"
 msgstr ""
 
-#: c/c-typeck.cc:6373
+#: c/c-typeck.cc:6518
 #, gcc-internal-format
 msgid "enum conversion in assignment is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:6575 c/c-typeck.cc:6597 c/c-typeck.cc:6623
+#: c/c-typeck.cc:6720 c/c-typeck.cc:6742 c/c-typeck.cc:6768
 #, gcc-internal-format
 msgid "(near initialization for %qs)"
 msgstr ""
 
-#: c/c-typeck.cc:6638
+#: c/c-typeck.cc:6783
 #, gcc-internal-format
 msgid "array initialized from parenthesized string constant"
 msgstr ""
 
-#: c/c-typeck.cc:6681 c/c-typeck.cc:6922
+#: c/c-typeck.cc:6826 c/c-typeck.cc:7067
 #, gcc-internal-format
 msgid "expected %qT but argument is of type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:6715
+#: c/c-typeck.cc:6860
 #, 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:6718
+#: c/c-typeck.cc:6863
 #, 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:6723
+#: c/c-typeck.cc:6868
 #, gcc-internal-format
 msgid "built-in %qD declared here"
 msgstr ""
 
-#: c/c-typeck.cc:6917
+#: c/c-typeck.cc:7062
 #, gcc-internal-format
 msgid "enum conversion when passing argument %d of %qE is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:6926
+#: c/c-typeck.cc:7071
 #, gcc-internal-format
 msgid "enum conversion from %qT to %qT in assignment is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:6931
+#: c/c-typeck.cc:7076
 #, gcc-internal-format
 msgid "enum conversion from %qT to %qT in initialization is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:6936
+#: c/c-typeck.cc:7081
 #, gcc-internal-format
 msgid "enum conversion from %qT to %qT in return is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:6954
+#: c/c-typeck.cc:7099
 #, gcc-internal-format
 msgid "implicit conversion from %qT to %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7133 c/c-typeck.cc:7507
+#: c/c-typeck.cc:7278 c/c-typeck.cc:7663
 msgid ""
 "passing argument %d of %qE makes %q#v qualified function pointer from "
 "unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7136 c/c-typeck.cc:7510
+#: c/c-typeck.cc:7281 c/c-typeck.cc:7666
 msgid "assignment makes %q#v qualified function pointer from unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7139 c/c-typeck.cc:7512
+#: c/c-typeck.cc:7284 c/c-typeck.cc:7668
 msgid "initialization makes %q#v qualified function pointer from unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7142 c/c-typeck.cc:7514
+#: c/c-typeck.cc:7287 c/c-typeck.cc:7670
 msgid "return makes %q#v qualified function pointer from unqualified"
 msgstr ""
 
-#: c/c-typeck.cc:7150 c/c-typeck.cc:7398 c/c-typeck.cc:7441
+#: c/c-typeck.cc:7295 c/c-typeck.cc:7554 c/c-typeck.cc:7597
 msgid ""
 "passing argument %d of %qE discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7152 c/c-typeck.cc:7400 c/c-typeck.cc:7443
+#: c/c-typeck.cc:7297 c/c-typeck.cc:7556 c/c-typeck.cc:7599
 msgid "assignment discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7154 c/c-typeck.cc:7402 c/c-typeck.cc:7445
+#: c/c-typeck.cc:7299 c/c-typeck.cc:7558 c/c-typeck.cc:7601
 msgid "initialization discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7156 c/c-typeck.cc:7404 c/c-typeck.cc:7447
+#: c/c-typeck.cc:7301 c/c-typeck.cc:7560 c/c-typeck.cc:7603
 msgid "return discards %qv qualifier from pointer target type"
 msgstr ""
 
-#: c/c-typeck.cc:7165
+#: c/c-typeck.cc:7310
 #, gcc-internal-format
 msgid "ISO C prohibits argument conversion to union type"
 msgstr ""
 
-#: c/c-typeck.cc:7233
+#: c/c-typeck.cc:7378
 #, gcc-internal-format
 msgid "request for implicit conversion from %qT to %qT not permitted in C++"
 msgstr ""
 
-#: c/c-typeck.cc:7246
+#: c/c-typeck.cc:7393
 #, gcc-internal-format
 msgid "passing argument %d of %qE from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7256
+#: c/c-typeck.cc:7404
 #, gcc-internal-format
 msgid "assignment from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7267
+#: c/c-typeck.cc:7415
 #, gcc-internal-format
 msgid "initialization from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7277
+#: c/c-typeck.cc:7425
 #, gcc-internal-format
 msgid "return from pointer to non-enclosed address space"
 msgstr ""
 
-#: c/c-typeck.cc:7300
+#: c/c-typeck.cc:7441
+#, gcc-internal-format
+msgid "expected %qT but pointer is of type %qT"
+msgstr ""
+
+#: c/c-typeck.cc:7456
 #, gcc-internal-format
 msgid "argument %d of %qE might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7306
+#: c/c-typeck.cc:7462
 #, gcc-internal-format
 msgid "assignment left-hand side might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7312
+#: c/c-typeck.cc:7468
 #, gcc-internal-format
 msgid ""
 "initialization left-hand side might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7317 cp/typeck.cc:9951
+#: c/c-typeck.cc:7473 cp/typeck.cc:10336
 #, gcc-internal-format
 msgid "return type might be a candidate for a format attribute"
 msgstr ""
 
-#: c/c-typeck.cc:7340
+#: c/c-typeck.cc:7496
 #, gcc-internal-format
 msgid "passing argument %d of %qE from incompatible scalar storage order"
 msgstr ""
 
-#: c/c-typeck.cc:7350
+#: c/c-typeck.cc:7506
 #, gcc-internal-format
 msgid ""
 "assignment to %qT from pointer type %qT with incompatible scalar storage "
 "order"
 msgstr ""
 
-#: c/c-typeck.cc:7360
+#: c/c-typeck.cc:7516
 #, gcc-internal-format
 msgid ""
 "initialization of %qT from pointer type %qT with incompatible scalar storage "
 "order"
 msgstr ""
 
-#: c/c-typeck.cc:7365
+#: c/c-typeck.cc:7521
 #, gcc-internal-format
 msgid ""
 "returning %qT from pointer type with incompatible scalar storage order %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7415
+#: c/c-typeck.cc:7571
 #, gcc-internal-format
 msgid ""
 "ISO C forbids passing argument %d of %qE between function pointer and %<void "
 "*%>"
 msgstr ""
 
-#: c/c-typeck.cc:7418
+#: c/c-typeck.cc:7574
 #, gcc-internal-format
 msgid "ISO C forbids assignment between function pointer and %<void *%>"
 msgstr ""
 
-#: c/c-typeck.cc:7420
+#: c/c-typeck.cc:7576
 #, gcc-internal-format
 msgid "ISO C forbids initialization between function pointer and %<void *%>"
 msgstr ""
 
-#: c/c-typeck.cc:7422
+#: c/c-typeck.cc:7578
 #, gcc-internal-format
 msgid "ISO C forbids return between function pointer and %<void *%>"
 msgstr ""
 
-#: c/c-typeck.cc:7452
+#: c/c-typeck.cc:7608
 #, gcc-internal-format
 msgid "array with qualifier on the element is not qualified before C2X"
 msgstr ""
 
-#: c/c-typeck.cc:7469
+#: c/c-typeck.cc:7625
 #, gcc-internal-format
 msgid "pointer targets in passing argument %d of %qE differ in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7477
+#: c/c-typeck.cc:7633
 #, gcc-internal-format
 msgid "pointer targets in assignment from %qT to %qT differ in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7483
+#: c/c-typeck.cc:7639
 #, gcc-internal-format
 msgid "pointer targets in initialization of %qT from %qT differ in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7488
+#: c/c-typeck.cc:7644
 #, gcc-internal-format
 msgid ""
 "pointer targets in returning %qT from a function with return type %qT differ "
 "in signedness"
 msgstr ""
 
-#: c/c-typeck.cc:7530
+#: c/c-typeck.cc:7686
 #, gcc-internal-format
 msgid "passing argument %d of %qE from incompatible pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:7538
+#: c/c-typeck.cc:7694
 #, gcc-internal-format
 msgid "assignment to %qT from pointer to %qD with incompatible type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7543
+#: c/c-typeck.cc:7699
 #, gcc-internal-format
 msgid "assignment to %qT from incompatible pointer type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7550
+#: c/c-typeck.cc:7706
 #, gcc-internal-format
 msgid "initialization of %qT from pointer to %qD with incompatible type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7555
+#: c/c-typeck.cc:7711
 #, gcc-internal-format
 msgid "initialization of %qT from incompatible pointer type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7562
+#: c/c-typeck.cc:7718
 #, gcc-internal-format
 msgid ""
 "returning pointer to %qD of type %qT from a function with incompatible type "
 "%qT"
 msgstr ""
 
-#: c/c-typeck.cc:7567
+#: c/c-typeck.cc:7723
 #, gcc-internal-format
 msgid "returning %qT from a function with incompatible return type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7606
+#: c/c-typeck.cc:7763
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes pointer from integer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7613
+#: c/c-typeck.cc:7770
 #, gcc-internal-format
 msgid "assignment to %qT from %qT makes pointer from integer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7619
+#: c/c-typeck.cc:7776
 #, gcc-internal-format
 msgid ""
 "initialization of %qT from %qT makes pointer from integer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7623
+#: c/c-typeck.cc:7780
 #, 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:7643
+#: c/c-typeck.cc:7800
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes integer from pointer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7650
+#: c/c-typeck.cc:7807
 #, gcc-internal-format
 msgid "assignment to %qT from %qT makes integer from pointer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7656
+#: c/c-typeck.cc:7813
 #, gcc-internal-format
 msgid ""
 "initialization of %qT from %qT makes integer from pointer without a cast"
 msgstr ""
 
-#: c/c-typeck.cc:7660
+#: c/c-typeck.cc:7817
 #, 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:7687
+#: c/c-typeck.cc:7849
 #, gcc-internal-format
 msgid "incompatible type for argument %d of %qE"
 msgstr ""
 
-#: c/c-typeck.cc:7698
+#: c/c-typeck.cc:7860
 #, gcc-internal-format
 msgid "incompatible types when assigning to type %qT from type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7709
+#: c/c-typeck.cc:7871
 #, gcc-internal-format
 msgid "incompatible types when initializing type %qT using type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:7719
+#: c/c-typeck.cc:7881
 #, gcc-internal-format
 msgid "incompatible types when returning type %qT but %qT was expected"
 msgstr ""
 
-#: c/c-typeck.cc:7787
+#: c/c-typeck.cc:7961
 #, gcc-internal-format
 msgid "traditional C rejects automatic aggregate initialization"
 msgstr ""
 
-#: c/c-typeck.cc:8027 c/c-typeck.cc:8926 cp/typeck2.cc:1190
+#: c/c-typeck.cc:8203
+#, gcc-internal-format
+msgid "%<constexpr%> pointer initializer is not null"
+msgstr ""
+
+#: c/c-typeck.cc:8211
+#, gcc-internal-format
+msgid "%<constexpr%> integer initializer is not an integer constant expression"
+msgstr ""
+
+#: c/c-typeck.cc:8214 c/c-typeck.cc:8276 c/c-typeck.cc:8413
+#, gcc-internal-format
+msgid "%<constexpr%> initializer not representable in type of object"
+msgstr ""
+
+#: c/c-typeck.cc:8224
+#, gcc-internal-format
+msgid "%<constexpr%> initializer is not an arithmetic constant expression"
+msgstr ""
+
+#: c/c-typeck.cc:8241
+#, gcc-internal-format
+msgid "%<constexpr%> initializer for a real type is of complex type"
+msgstr ""
+
+#: c/c-typeck.cc:8250
+#, gcc-internal-format
+msgid ""
+"%<constexpr%> initializer for a binary floating-point type is of decimal type"
+msgstr ""
+
+#: c/c-typeck.cc:8378 c/c-typeck.cc:9304 cp/typeck2.cc:1199
 #, gcc-internal-format
 msgid "initialization of a flexible array member"
 msgstr ""
 
-#: c/c-typeck.cc:8043 cp/typeck2.cc:1207
+#: c/c-typeck.cc:8394 cp/typeck2.cc:1216
 #, gcc-internal-format
 msgid ""
 "cannot initialize array of %qT from a string literal with type array of %qT"
 msgstr ""
 
-#: c/c-typeck.cc:8083
+#: c/c-typeck.cc:8453
 #, gcc-internal-format
 msgid "array of inappropriate type initialized from string constant"
 msgstr ""
 
-#: c/c-typeck.cc:8151 cp/typeck.cc:2380
+#: c/c-typeck.cc:8521 cp/typeck.cc:2533
 #, gcc-internal-format
 msgid "invalid use of non-lvalue array"
 msgstr ""
 
-#: c/c-typeck.cc:8170 c/c-typeck.cc:8194 c/c-typeck.cc:8197 c/c-typeck.cc:8205
-#: c/c-typeck.cc:8248 c/c-typeck.cc:9779 c/c-typeck.cc:9829
+#: c/c-typeck.cc:8540 c/c-typeck.cc:8564 c/c-typeck.cc:8567 c/c-typeck.cc:8575
+#: c/c-typeck.cc:8622 c/c-typeck.cc:10163 c/c-typeck.cc:10242
 #, gcc-internal-format
 msgid "initializer element is not constant"
 msgstr ""
 
-#: c/c-typeck.cc:8179
+#: c/c-typeck.cc:8549
 #, gcc-internal-format
 msgid "array initialized from non-constant array expression"
 msgstr ""
 
-#: c/c-typeck.cc:8210 c/c-typeck.cc:8261 c/c-typeck.cc:9839
+#: c/c-typeck.cc:8580 c/c-typeck.cc:8635 c/c-typeck.cc:10252
 #, gcc-internal-format
 msgid "initializer element is not a constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:8255 c/c-typeck.cc:9834
+#: c/c-typeck.cc:8629 c/c-typeck.cc:10247
 #, gcc-internal-format
 msgid "initializer element is not computable at load time"
 msgstr ""
 
-#: c/c-typeck.cc:8274
+#: c/c-typeck.cc:8653
 #, gcc-internal-format
 msgid "invalid initializer"
 msgstr ""
 
-#: c/c-typeck.cc:8555 cp/decl.cc:7305
+#: c/c-typeck.cc:8931 cp/decl.cc:7478
 #, gcc-internal-format
 msgid "opaque vector types cannot be initialized"
 msgstr ""
 
-#: c/c-typeck.cc:8774
+#: c/c-typeck.cc:9151
 #, gcc-internal-format
 msgid "extra brace group at end of initializer"
 msgstr ""
 
-#: c/c-typeck.cc:8857
+#: c/c-typeck.cc:9234
 #, gcc-internal-format
 msgid "braces around scalar initializer"
 msgstr ""
 
-#: c/c-typeck.cc:8923 c/c-typeck.cc:10362 cp/typeck2.cc:1217 cp/typeck2.cc:1482
+#: c/c-typeck.cc:9301 c/c-typeck.cc:10780 cp/typeck2.cc:1226 cp/typeck2.cc:1584
 #, gcc-internal-format
 msgid "initialization of flexible array member in a nested context"
 msgstr ""
 
-#: c/c-typeck.cc:8960
+#: c/c-typeck.cc:9338
 #, gcc-internal-format
 msgid "missing braces around initializer"
 msgstr ""
 
-#: c/c-typeck.cc:8983
+#: c/c-typeck.cc:9361
 #, gcc-internal-format
 msgid "missing initializer for field %qD of %qT"
 msgstr ""
 
-#: c/c-typeck.cc:9007
-#, gcc-internal-format
-msgid "empty scalar initializer"
-msgstr ""
-
-#: c/c-typeck.cc:9012
+#: c/c-typeck.cc:9396
 #, gcc-internal-format
 msgid "extra elements in scalar initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9131 c/c-typeck.cc:9213
+#: c/c-typeck.cc:9515 c/c-typeck.cc:9597
 #, gcc-internal-format
 msgid "array index in non-array initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9136 c/c-typeck.cc:9275
+#: c/c-typeck.cc:9520 c/c-typeck.cc:9659
 #, gcc-internal-format
 msgid "field name not in record or union initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9186
+#: c/c-typeck.cc:9570
 #, gcc-internal-format
 msgid "array index in initializer not of integer type"
 msgstr ""
 
-#: c/c-typeck.cc:9195 c/c-typeck.cc:9204
+#: c/c-typeck.cc:9579 c/c-typeck.cc:9588
 #, gcc-internal-format
 msgid "array index in initializer is not an integer constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:9209 c/c-typeck.cc:9211
+#: c/c-typeck.cc:9593 c/c-typeck.cc:9595
 #, gcc-internal-format
 msgid "nonconstant array index in initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9215 c/c-typeck.cc:9218
+#: c/c-typeck.cc:9599 c/c-typeck.cc:9602
 #, gcc-internal-format
 msgid "array index in initializer exceeds array bounds"
 msgstr ""
 
-#: c/c-typeck.cc:9237
+#: c/c-typeck.cc:9621
 #, gcc-internal-format
 msgid "empty index range in initializer"
 msgstr ""
 
-#: c/c-typeck.cc:9246
+#: c/c-typeck.cc:9630
 #, gcc-internal-format
 msgid "array index range in initializer exceeds array bounds"
 msgstr ""
 
-#: c/c-typeck.cc:9348 c/c-typeck.cc:9378 c/c-typeck.cc:9922
+#: c/c-typeck.cc:9732 c/c-typeck.cc:9762 c/c-typeck.cc:10340
 #, gcc-internal-format
 msgid "initialized field with side-effects overwritten"
 msgstr ""
 
-#: c/c-typeck.cc:9352 c/c-typeck.cc:9382 c/c-typeck.cc:9925
+#: c/c-typeck.cc:9736 c/c-typeck.cc:9766 c/c-typeck.cc:10343
 #, gcc-internal-format
 msgid "initialized field overwritten"
 msgstr ""
 
-#: c/c-typeck.cc:9856
+#: c/c-typeck.cc:10274
 #, gcc-internal-format
 msgid "enum conversion in initialization is invalid in C++"
 msgstr ""
 
-#: c/c-typeck.cc:10237
+#: c/c-typeck.cc:10655
 #, gcc-internal-format
 msgid "excess elements in %<char%> array initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10244 c/c-typeck.cc:10321
+#: c/c-typeck.cc:10662 c/c-typeck.cc:10739
 #, gcc-internal-format
 msgid "excess elements in struct initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10265
+#: c/c-typeck.cc:10683
 #, gcc-internal-format
 msgid ""
 "positional initialization of field in %<struct%> declared with "
 "%<designated_init%> attribute"
 msgstr ""
 
-#: c/c-typeck.cc:10336 cp/typeck2.cc:1194
+#: c/c-typeck.cc:10754 cp/typeck2.cc:1203
 #, gcc-internal-format
 msgid "non-static initialization of a flexible array member"
 msgstr ""
 
-#: c/c-typeck.cc:10431
+#: c/c-typeck.cc:10849
 #, gcc-internal-format
 msgid "excess elements in union initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10453
+#: c/c-typeck.cc:10871
 #, gcc-internal-format
 msgid "traditional C rejects initialization of unions"
 msgstr ""
 
-#: c/c-typeck.cc:10515
+#: c/c-typeck.cc:10933
 #, gcc-internal-format
 msgid "excess elements in array initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10549
+#: c/c-typeck.cc:10967
 #, gcc-internal-format
 msgid "excess elements in vector initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10581
+#: c/c-typeck.cc:10999
 #, gcc-internal-format
 msgid "excess elements in scalar initializer"
 msgstr ""
 
-#: c/c-typeck.cc:10824
+#: c/c-typeck.cc:11242
 #, gcc-internal-format
 msgid "ISO C forbids %<goto *expr;%>"
 msgstr ""
 
-#: c/c-typeck.cc:10830
+#: c/c-typeck.cc:11248
 #, gcc-internal-format
 msgid "computed goto must be pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:10859 c/gimple-parser.cc:2456 cp/typeck.cc:10443
+#: c/c-typeck.cc:11277 c/gimple-parser.cc:2472 cp/typeck.cc:10926
 #, gcc-internal-format
 msgid "function declared %<noreturn%> has a %<return%> statement"
 msgstr ""
 
-#: c/c-typeck.cc:10887 c/c-typeck.cc:10891
+#: c/c-typeck.cc:11305 c/c-typeck.cc:11309
 #, gcc-internal-format
 msgid "%<return%> with no value, in function returning non-void"
 msgstr ""
 
-#: c/c-typeck.cc:10905 c/gimple-parser.cc:2466
+#: c/c-typeck.cc:11323 c/gimple-parser.cc:2482
 #, gcc-internal-format
 msgid "%<return%> with a value, in function returning void"
 msgstr ""
 
-#: c/c-typeck.cc:10908
+#: c/c-typeck.cc:11326
 #, gcc-internal-format
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr ""
 
-#: c/c-typeck.cc:10985
+#: c/c-typeck.cc:11403
 #, gcc-internal-format
 msgid "function returns address of label"
 msgstr ""
 
-#: c/c-typeck.cc:11076 cp/semantics.cc:1515
+#: c/c-typeck.cc:11494 cp/semantics.cc:1524
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr ""
 
-#: c/c-typeck.cc:11101
+#: c/c-typeck.cc:11519
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr ""
 
-#: c/c-typeck.cc:11139 c/c-typeck.cc:11147
+#: c/c-typeck.cc:11557 c/c-typeck.cc:11565
 #, gcc-internal-format
 msgid "case label is not an integer constant expression"
 msgstr ""
 
-#: c/c-typeck.cc:11153 cp/parser.cc:12638
+#: c/c-typeck.cc:11571 cp/parser.cc:12737
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr ""
 
-#: c/c-typeck.cc:11155
+#: c/c-typeck.cc:11573
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr ""
 
-#: c/c-typeck.cc:11231 cp/parser.cc:14243
+#: c/c-typeck.cc:11649 cp/parser.cc:14353
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr ""
 
-#: c/c-typeck.cc:11234 c/c-typeck.cc:11254 cp/decl.cc:3739 cp/parser.cc:14253
-#: cp/parser.cc:14274
+#: c/c-typeck.cc:11652 c/c-typeck.cc:11672 cp/decl.cc:3870 cp/parser.cc:14363
+#: cp/parser.cc:14384
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr ""
 
-#: c/c-typeck.cc:11237 cp/parser.cc:14256
+#: c/c-typeck.cc:11655 cp/parser.cc:14366
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr ""
 
-#: c/c-typeck.cc:11251 cp/parser.cc:14266
+#: c/c-typeck.cc:11669 cp/parser.cc:14376
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr ""
 
-#: c/c-typeck.cc:11291 cp/cp-gimplify.cc:229
+#: c/c-typeck.cc:11709 cp/cp-gimplify.cc:229
 #, gcc-internal-format
 msgid "statement with no effect"
 msgstr ""
 
-#: c/c-typeck.cc:11335
+#: c/c-typeck.cc:11753
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr ""
 
-#: c/c-typeck.cc:11626
+#: c/c-typeck.cc:12044
 #, 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:11631
+#: c/c-typeck.cc:12049
 #, 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:11649 c/c-typeck.cc:11686
+#: c/c-typeck.cc:12067 c/c-typeck.cc:12105
 #, 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:11654 c/c-typeck.cc:11691
+#: c/c-typeck.cc:12072 c/c-typeck.cc:12110
 #, 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:12277 c/c-typeck.cc:12413 cp/typeck.cc:5742
+#: c/c-typeck.cc:12692 c/c-typeck.cc:12853 cp/typeck.cc:5980
 #, gcc-internal-format
 msgid "comparing vectors with different element types"
 msgstr ""
 
-#: c/c-typeck.cc:12285 c/c-typeck.cc:12421 cp/typeck.cc:5755
+#: c/c-typeck.cc:12700 c/c-typeck.cc:12861 cp/typeck.cc:5993
 #, gcc-internal-format
 msgid "comparing vectors with different number of elements"
 msgstr ""
 
-#: c/c-typeck.cc:12300 c/c-typeck.cc:12436 cp/typeck.cc:5773
+#: c/c-typeck.cc:12715 c/c-typeck.cc:12876 cp/typeck.cc:6011
 #, gcc-internal-format
 msgid "comparison between types %qT and %qT"
 msgstr ""
 
-#: c/c-typeck.cc:12310 c/c-typeck.cc:12446 cp/typeck.cc:5790
+#: c/c-typeck.cc:12725 c/c-typeck.cc:12886 cp/typeck.cc:6028
 #, gcc-internal-format
 msgid "could not find an integer type of the same size as %qT"
 msgstr ""
 
-#: c/c-typeck.cc:12324 cp/typeck.cc:5433
+#: c/c-typeck.cc:12739 cp/typeck.cc:5671
 #, gcc-internal-format
 msgid "comparing floating-point with %<==%> or %<!=%> is unsafe"
 msgstr ""
 
-#: c/c-typeck.cc:12358 c/c-typeck.cc:12487
+#: c/c-typeck.cc:12777 c/c-typeck.cc:12927
 #, gcc-internal-format
 msgid "comparison of pointers to disjoint address spaces"
 msgstr ""
 
-#: c/c-typeck.cc:12365 c/c-typeck.cc:12371
+#: c/c-typeck.cc:12784 c/c-typeck.cc:12790
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr ""
 
-#: c/c-typeck.cc:12378 c/c-typeck.cc:12497
+#: c/c-typeck.cc:12797 c/c-typeck.cc:12937
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr ""
 
-#: c/c-typeck.cc:12390 c/c-typeck.cc:12395 c/c-typeck.cc:12523
-#: c/c-typeck.cc:12528
+#: c/c-typeck.cc:12809 c/c-typeck.cc:12814 c/c-typeck.cc:12963
+#: c/c-typeck.cc:12968
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr ""
 
-#: c/c-typeck.cc:12475
+#: c/c-typeck.cc:12915
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr ""
 
-#: c/c-typeck.cc:12477
+#: c/c-typeck.cc:12917
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr ""
 
-#: c/c-typeck.cc:12482
+#: c/c-typeck.cc:12922
 #, gcc-internal-format
 msgid "ordered comparison of pointer with null pointer"
 msgstr ""
 
-#: c/c-typeck.cc:12505 c/c-typeck.cc:12508 c/c-typeck.cc:12515
-#: c/c-typeck.cc:12518
+#: c/c-typeck.cc:12945 c/c-typeck.cc:12948 c/c-typeck.cc:12955
+#: c/c-typeck.cc:12958
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr ""
 
-#: c/c-typeck.cc:12594
+#: c/c-typeck.cc:13034
 #, gcc-internal-format
 msgid ""
 "implicit conversion from %qT to %qT to match other operand of binary "
 "expression"
 msgstr ""
 
-#: c/c-typeck.cc:12912
+#: c/c-typeck.cc:13352
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:12916
+#: c/c-typeck.cc:13356
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:12920
+#: c/c-typeck.cc:13360
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:12936
+#: c/c-typeck.cc:13376
 #, gcc-internal-format
 msgid "used vector type where scalar is required"
 msgstr ""
 
-#: c/c-typeck.cc:13126 cp/semantics.cc:10930
+#: c/c-typeck.cc:13566 cp/semantics.cc:11062
 #, gcc-internal-format
 msgid ""
-"%<#pragma omp cancel%> must specify one of %<parallel%>, %<for%>, %<sections"
-"%> or %<taskgroup%> clauses"
+"%<#pragma omp cancel%> must specify one of %<parallel%>, %<for%>, "
+"%<sections%> or %<taskgroup%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:13137 c/c-typeck.cc:13147 cp/semantics.cc:10941
-#: cp/semantics.cc:10951
+#: c/c-typeck.cc:13577 c/c-typeck.cc:13587 cp/semantics.cc:11073
+#: cp/semantics.cc:11083
 #, gcc-internal-format
 msgid "expected %<cancel%> %<if%> clause modifier"
 msgstr ""
 
-#: c/c-typeck.cc:13182 cp/semantics.cc:10986
+#: c/c-typeck.cc:13622 cp/semantics.cc:11118
 #, gcc-internal-format
 msgid ""
-"%<#pragma omp cancellation point%> must specify one of %<parallel%>, %<for"
-"%>, %<sections%> or %<taskgroup%> clauses"
+"%<#pragma omp cancellation point%> must specify one of %<parallel%>, "
+"%<for%>, %<sections%> or %<taskgroup%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:13227 c/c-typeck.cc:14923 c/c-typeck.cc:15059
-#: c/c-typeck.cc:15142
+#: c/c-typeck.cc:13667 c/c-typeck.cc:15392 c/c-typeck.cc:15528
+#: c/c-typeck.cc:15611
 #, gcc-internal-format
 msgid "%<_Atomic%> %qE in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13251 c/c-typeck.cc:14849 c/c-typeck.cc:15045
-#: cp/semantics.cc:5101 cp/semantics.cc:7839 cp/semantics.cc:8082
+#: c/c-typeck.cc:13691 c/c-typeck.cc:15307 c/c-typeck.cc:15514
+#: cp/semantics.cc:5157 cp/semantics.cc:7925 cp/semantics.cc:8185
 #, gcc-internal-format
 msgid "bit-field %qE in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13260 c/c-typeck.cc:15069 cp/semantics.cc:5111
-#: cp/semantics.cc:8101
+#: c/c-typeck.cc:13700 c/c-typeck.cc:15538 cp/semantics.cc:5167
+#: cp/semantics.cc:8206
 #, gcc-internal-format
 msgid "%qE is a member of a union"
 msgstr ""
 
-#: c/c-typeck.cc:13277 c/c-typeck.cc:15078 cp/semantics.cc:8110
+#: c/c-typeck.cc:13717 c/c-typeck.cc:15547 cp/semantics.cc:8215
 #, gcc-internal-format
 msgid "cannot dereference %qE in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13288 cp/semantics.cc:5136 cp/semantics.cc:8155
+#: c/c-typeck.cc:13728 cp/semantics.cc:5192 cp/semantics.cc:8260
 #, gcc-internal-format
 msgid "%qD is not a variable in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13292 c/c-typeck.cc:15106 cp/semantics.cc:5140
-#: cp/semantics.cc:8159
+#: c/c-typeck.cc:13732 c/c-typeck.cc:15575 cp/semantics.cc:5196
+#: cp/semantics.cc:8264
 #, gcc-internal-format
 msgid "%qE is not a variable in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13300
+#: c/c-typeck.cc:13740
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13310 c/c-typeck.cc:15113 c/c-typeck.cc:15240
-#: cp/semantics.cc:5149 cp/semantics.cc:8166 cp/semantics.cc:8355
+#: c/c-typeck.cc:13750 c/c-typeck.cc:15582 c/c-typeck.cc:15712
+#: cp/semantics.cc:5205 cp/semantics.cc:8271 cp/semantics.cc:8467
 #, gcc-internal-format
 msgid "%qD is threadprivate variable in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13347 cp/semantics.cc:5183
+#: c/c-typeck.cc:13787 cp/semantics.cc:5239
 #, gcc-internal-format
 msgid "low bound %qE of array section does not have integral type"
 msgstr ""
 
-#: c/c-typeck.cc:13354 cp/semantics.cc:5190
+#: c/c-typeck.cc:13794 cp/semantics.cc:5246
 #, gcc-internal-format
 msgid "length %qE of array section does not have integral type"
 msgstr ""
 
-#: c/c-typeck.cc:13377 cp/semantics.cc:5223
+#: c/c-typeck.cc:13817 cp/semantics.cc:5279
 #, gcc-internal-format
 msgid "expected single pointer in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13395 c/c-typeck.cc:13462 c/c-typeck.cc:13754
-#: cp/semantics.cc:5241 cp/semantics.cc:5308
+#: c/c-typeck.cc:13835 c/c-typeck.cc:13902 c/c-typeck.cc:14194
+#: cp/semantics.cc:5297 cp/semantics.cc:5364
 #, gcc-internal-format
 msgid "zero length array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13414 cp/semantics.cc:5260
+#: c/c-typeck.cc:13854 cp/semantics.cc:5316
 #, gcc-internal-format
 msgid "for unknown bound array type length expression must be specified"
 msgstr ""
 
-#: c/c-typeck.cc:13422 cp/semantics.cc:5268
+#: c/c-typeck.cc:13862 cp/semantics.cc:5324
 #, gcc-internal-format
 msgid "negative low bound in array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13431 c/c-typeck.cc:13555 cp/semantics.cc:5277
-#: cp/semantics.cc:5401
+#: c/c-typeck.cc:13871 c/c-typeck.cc:13995 cp/semantics.cc:5333
+#: cp/semantics.cc:5457
 #, gcc-internal-format
 msgid "negative length in array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13448 cp/semantics.cc:5294
+#: c/c-typeck.cc:13888 cp/semantics.cc:5350
 #, gcc-internal-format
 msgid "low bound %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13491 cp/semantics.cc:5337
+#: c/c-typeck.cc:13931 cp/semantics.cc:5393
 #, gcc-internal-format
 msgid "length %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13506 cp/semantics.cc:5352
+#: c/c-typeck.cc:13946 cp/semantics.cc:5408
 #, gcc-internal-format
 msgid "high bound %qE above array section size in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13543 cp/semantics.cc:5389
+#: c/c-typeck.cc:13983 cp/semantics.cc:5445
 #, gcc-internal-format
 msgid "for array function parameter length expression must be specified"
 msgstr ""
 
-#: c/c-typeck.cc:13547 cp/semantics.cc:5393
+#: c/c-typeck.cc:13987 cp/semantics.cc:5449
 #, gcc-internal-format
 msgid "for pointer type length expression must be specified"
 msgstr ""
 
-#: c/c-typeck.cc:13574 c/c-typeck.cc:13693 cp/semantics.cc:5420
-#: cp/semantics.cc:5554
+#: c/c-typeck.cc:14014 c/c-typeck.cc:14133 cp/semantics.cc:5476
+#: cp/semantics.cc:5610
 #, gcc-internal-format
 msgid "array section is not contiguous in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:13584 cp/semantics.cc:5430
+#: c/c-typeck.cc:14024 cp/semantics.cc:5486
 #, gcc-internal-format
 msgid "%qE does not have pointer or array type"
 msgstr ""
 
-#: c/c-typeck.cc:13971 cp/semantics.cc:6528
+#: c/c-typeck.cc:14411 cp/semantics.cc:6584
 #, gcc-internal-format
 msgid "iterator %qD has neither integral nor pointer type"
 msgstr ""
 
-#: c/c-typeck.cc:13978
+#: c/c-typeck.cc:14418
 #, gcc-internal-format
 msgid "iterator %qD has %<_Atomic%> qualified type"
 msgstr ""
 
-#: c/c-typeck.cc:13984 cp/semantics.cc:6535
+#: c/c-typeck.cc:14424 cp/semantics.cc:6591
 #, gcc-internal-format
 msgid "iterator %qD has const qualified type"
 msgstr ""
 
-#: c/c-typeck.cc:13997 cp/semantics.cc:6551
+#: c/c-typeck.cc:14437 cp/semantics.cc:6607
 #, gcc-internal-format
 msgid "iterator step with non-integral type"
 msgstr ""
 
-#: c/c-typeck.cc:14017 cp/semantics.cc:6587
+#: c/c-typeck.cc:14457 cp/semantics.cc:6643
 #, gcc-internal-format
 msgid "iterator %qD has zero step"
 msgstr ""
 
-#: c/c-typeck.cc:14044
+#: c/c-typeck.cc:14484
 #, gcc-internal-format
 msgid "type of iterator %qD refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14051 cp/semantics.cc:6621
+#: c/c-typeck.cc:14491 cp/semantics.cc:6677
 #, gcc-internal-format
 msgid "begin expression refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14057 cp/semantics.cc:6627
+#: c/c-typeck.cc:14497 cp/semantics.cc:6683
 #, gcc-internal-format
 msgid "end expression refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14063 cp/semantics.cc:6633
+#: c/c-typeck.cc:14503 cp/semantics.cc:6689
 #, gcc-internal-format
 msgid "step expression refers to outer iterator %qD"
 msgstr ""
 
-#: c/c-typeck.cc:14100 cp/semantics.cc:6681
+#: c/c-typeck.cc:14540 cp/semantics.cc:6737
 #, gcc-internal-format
 msgid "expected pointer in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14188 cp/semantics.cc:6762
+#: c/c-typeck.cc:14635 cp/semantics.cc:6825
 #, gcc-internal-format
 msgid ""
 "%<inscan%> and non-%<inscan%> %<reduction%> clauses on the same construct"
 msgstr ""
 
-#: c/c-typeck.cc:14210 cp/semantics.cc:6782
+#: c/c-typeck.cc:14657 cp/semantics.cc:6845
 #, gcc-internal-format
 msgid "%<inscan%> %<reduction%> clause with array section"
 msgstr ""
 
-#: c/c-typeck.cc:14236 c/c-typeck.cc:14246
+#: c/c-typeck.cc:14683 c/c-typeck.cc:14693
 #, gcc-internal-format
 msgid "%qD in %<reduction%> clause is a zero size array"
 msgstr ""
 
-#: c/c-typeck.cc:14266
+#: c/c-typeck.cc:14713
 #, gcc-internal-format
 msgid "%<_Atomic%> %qE in %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14278
+#: c/c-typeck.cc:14725
 #, gcc-internal-format
 msgid "zero sized type %qT in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14286
+#: c/c-typeck.cc:14733
 #, gcc-internal-format
 msgid "variable sized type %qT in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14330
+#: c/c-typeck.cc:14777
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr ""
 
-#: c/c-typeck.cc:14339 cp/semantics.cc:6420
+#: c/c-typeck.cc:14786 cp/semantics.cc:6476
 #, gcc-internal-format
 msgid "user defined reduction not found for %qE"
 msgstr ""
 
-#: c/c-typeck.cc:14427
+#: c/c-typeck.cc:14874
 #, gcc-internal-format
 msgid "variable length element type in array %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14445 c/c-typeck.cc:15334 cp/semantics.cc:8871
+#: c/c-typeck.cc:14892 c/c-typeck.cc:15806 cp/semantics.cc:9002
 #, gcc-internal-format
 msgid "%<nowait%> clause must not be used together with %<copyprivate%>"
 msgstr ""
 
-#: c/c-typeck.cc:14457 cp/semantics.cc:8939
+#: c/c-typeck.cc:14904 cp/semantics.cc:9070
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr ""
 
-#: c/c-typeck.cc:14471 cp/semantics.cc:6823
+#: c/c-typeck.cc:14919 cp/semantics.cc:6888
 #, gcc-internal-format
 msgid ""
 "modifier should not be specified in %<linear%> clause on %<simd%> or %<for%> "
-"constructs"
+"constructs when not using OpenMP 5.2 modifiers"
 msgstr ""
 
-#: c/c-typeck.cc:14479
+#: c/c-typeck.cc:14928
 #, gcc-internal-format
 msgid ""
 "linear clause applied to non-integral non-pointer variable with type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:14487
+#: c/c-typeck.cc:14936
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<linear%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14506 cp/semantics.cc:6897
+#: c/c-typeck.cc:14955 cp/semantics.cc:6972
 #, gcc-internal-format
 msgid "%<linear%> clause step %qE is neither constant nor a parameter"
 msgstr ""
 
-#: c/c-typeck.cc:14536 c/c-typeck.cc:15233 c/c-typeck.cc:15479
-#: cp/semantics.cc:6984 cp/semantics.cc:8348 cp/semantics.cc:8691
+#: c/c-typeck.cc:14985 c/c-typeck.cc:15706 c/c-typeck.cc:15951
+#: cp/semantics.cc:7059 cp/semantics.cc:8461 cp/semantics.cc:8811
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr ""
 
-#: c/c-typeck.cc:14554 cp/semantics.cc:7002
+#: c/c-typeck.cc:15003 cp/semantics.cc:7077
 #, gcc-internal-format
 msgid "%qD appears more than once in data-sharing clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14565 cp/semantics.cc:7013
+#: c/c-typeck.cc:15014 cp/semantics.cc:7088
 #, gcc-internal-format
 msgid "%qD appears more than once in reduction clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14579 c/c-typeck.cc:14649 c/c-typeck.cc:14683
+#: c/c-typeck.cc:15028 c/c-typeck.cc:15098 c/c-typeck.cc:15132
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14589 c/c-typeck.cc:14656 c/c-typeck.cc:14967
-#: c/c-typeck.cc:15160 c/c-typeck.cc:15168 c/c-typeck.cc:15185
-#: c/c-typeck.cc:15195 c/c-typeck.cc:15203 cp/semantics.cc:7027
-#: cp/semantics.cc:7037 cp/semantics.cc:7130 cp/semantics.cc:7137
-#: cp/semantics.cc:7184 cp/semantics.cc:7995 cp/semantics.cc:8218
-#: cp/semantics.cc:8226 cp/semantics.cc:8243 cp/semantics.cc:8253
-#: cp/semantics.cc:8261
+#: c/c-typeck.cc:15038 c/c-typeck.cc:15105 c/c-typeck.cc:15436
+#: c/c-typeck.cc:15629 c/c-typeck.cc:15637 c/c-typeck.cc:15654
+#: c/c-typeck.cc:15664 c/c-typeck.cc:15672 cp/semantics.cc:7102
+#: cp/semantics.cc:7112 cp/semantics.cc:7205 cp/semantics.cc:7212
+#: cp/semantics.cc:7259 cp/semantics.cc:8094 cp/semantics.cc:8325
+#: cp/semantics.cc:8333 cp/semantics.cc:8350 cp/semantics.cc:8360
+#: cp/semantics.cc:8368
 #, gcc-internal-format
 msgid "%qD appears more than once in data clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14592 c/c-typeck.cc:14662 c/c-typeck.cc:15171
-#: c/c-typeck.cc:15206 cp/semantics.cc:7040 cp/semantics.cc:7143
-#: cp/semantics.cc:8229 cp/semantics.cc:8264
+#: c/c-typeck.cc:15041 c/c-typeck.cc:15111 c/c-typeck.cc:15640
+#: c/c-typeck.cc:15675 cp/semantics.cc:7115 cp/semantics.cc:7218
+#: cp/semantics.cc:8336 cp/semantics.cc:8371
 #, gcc-internal-format
 msgid "%qD appears both in data and map clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14637 cp/semantics.cc:7117
+#: c/c-typeck.cc:15086 cp/semantics.cc:7192
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: c/c-typeck.cc:14676 cp/semantics.cc:7176
+#: c/c-typeck.cc:15125 cp/semantics.cc:7251
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: c/c-typeck.cc:14695 cp/semantics.cc:7571
+#: c/c-typeck.cc:15144 cp/semantics.cc:7646
 #, gcc-internal-format
 msgid "%qE is not a variable in %<aligned%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14702
+#: c/c-typeck.cc:15151
 #, gcc-internal-format
 msgid "%qE in %<aligned%> clause is neither a pointer nor an array"
 msgstr ""
 
-#: c/c-typeck.cc:14709
+#: c/c-typeck.cc:15158
 #, gcc-internal-format
 msgid "%<_Atomic%> %qD in %<aligned%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14716
+#: c/c-typeck.cc:15165
 #, gcc-internal-format
 msgid "%qE appears more than once in %<aligned%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14729 cp/semantics.cc:7642
+#: c/c-typeck.cc:15178 cp/semantics.cc:7717
 #, gcc-internal-format
 msgid "%qE is not a variable in %<nontemporal%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14735
+#: c/c-typeck.cc:15184
 #, gcc-internal-format
 msgid "%qE appears more than once in %<nontemporal%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14748 cp/semantics.cc:7681
+#: c/c-typeck.cc:15197 cp/semantics.cc:7756
 #, gcc-internal-format
 msgid "%qE is not a variable in %<allocate%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:14754
+#: c/c-typeck.cc:15203
 #, gcc-internal-format
 msgid "%qE appears more than once in %<allocate%> clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14827 cp/semantics.cc:7810
+#: c/c-typeck.cc:15273 cp/semantics.cc:7882
 #, gcc-internal-format
 msgid "%<depend%> clause with %<depobj%> dependence type on array section"
 msgstr ""
 
-#: c/c-typeck.cc:14838 cp/semantics.cc:7829
+#: c/c-typeck.cc:15288 cp/semantics.cc:7897
+#, gcc-internal-format
+msgid ""
+"%<omp_all_memory%> used with %<depend%> kind other than %<out%> or %<inout%>"
+msgstr ""
+
+#: c/c-typeck.cc:15296 cp/semantics.cc:7915
 #, gcc-internal-format
 msgid "%qE is not lvalue expression nor array section in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14859 cp/semantics.cc:7851
+#: c/c-typeck.cc:15317 cp/semantics.cc:7937
 #, gcc-internal-format
 msgid ""
 "%qE does not have %<omp_depend_t%> type in %<depend%> clause with %<depobj%> "
 "dependence type"
 msgstr ""
 
-#: c/c-typeck.cc:14869 cp/semantics.cc:7863
+#: c/c-typeck.cc:15327 cp/semantics.cc:7949
 #, 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:14915 cp/semantics.cc:7947
+#: c/c-typeck.cc:15384 cp/semantics.cc:8044
 #, gcc-internal-format
 msgid "array section does not have mappable type in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:14963 c/c-typeck.cc:15182 cp/semantics.cc:7991
-#: cp/semantics.cc:8240
+#: c/c-typeck.cc:15432 c/c-typeck.cc:15651 cp/semantics.cc:8090
+#: cp/semantics.cc:8347
 #, gcc-internal-format
 msgid "%qD appears more than once in motion clauses"
 msgstr ""
 
-#: c/c-typeck.cc:14971 c/c-typeck.cc:15188 cp/semantics.cc:7999
-#: cp/semantics.cc:8246
+#: c/c-typeck.cc:15440 c/c-typeck.cc:15657 cp/semantics.cc:8098
+#: cp/semantics.cc:8353
 #, gcc-internal-format
 msgid "%qD appears more than once in map clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15052 cp/semantics.cc:8089
+#: c/c-typeck.cc:15521 cp/semantics.cc:8192
 #, gcc-internal-format
 msgid "%qE does not have a mappable type in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:15133 c/c-typeck.cc:15247 cp/semantics.cc:8189
-#: cp/semantics.cc:8362
+#: c/c-typeck.cc:15602 c/c-typeck.cc:15719 cp/semantics.cc:8294
+#: cp/semantics.cc:8474
 #, gcc-internal-format
 msgid "%qD does not have a mappable type in %qs clause"
 msgstr ""
 
-#: c/c-typeck.cc:15228 cp/semantics.cc:8342
+#: c/c-typeck.cc:15702 cp/semantics.cc:8456
 #, gcc-internal-format
 msgid "%qE is neither a variable nor a function name in clause %qs"
 msgstr ""
 
-#: c/c-typeck.cc:15256 cp/semantics.cc:8372
+#: c/c-typeck.cc:15728 cp/semantics.cc:8486
 #, gcc-internal-format
 msgid "%qE appears more than once on the same %<declare target%> directive"
 msgstr ""
 
-#: c/c-typeck.cc:15270 cp/semantics.cc:8388
+#: c/c-typeck.cc:15742 cp/semantics.cc:8502
 #, gcc-internal-format
 msgid "%qD is not an argument in %<uniform%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15273 cp/semantics.cc:8391
+#: c/c-typeck.cc:15745 cp/semantics.cc:8505
 #, gcc-internal-format
 msgid "%qE is not an argument in %<uniform%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15292
+#: c/c-typeck.cc:15764
 #, gcc-internal-format
 msgid "%qs variable is not a pointer"
 msgstr ""
 
-#: c/c-typeck.cc:15299
+#: c/c-typeck.cc:15771
 #, gcc-internal-format
 msgid "%qs variable is neither a pointer nor an array"
 msgstr ""
 
-#: c/c-typeck.cc:15347 c/c-typeck.cc:15440 cp/semantics.cc:8833
+#: c/c-typeck.cc:15819 c/c-typeck.cc:15912 cp/semantics.cc:8964
 #, gcc-internal-format
 msgid "%<order%> clause must not be used together with %<ordered%>"
 msgstr ""
 
-#: c/c-typeck.cc:15367 cp/semantics.cc:7895
+#: c/c-typeck.cc:15839 cp/semantics.cc:7989
 #, gcc-internal-format
 msgid "too many %qs clauses on a task construct"
 msgstr ""
 
-#: c/c-typeck.cc:15462 cp/semantics.cc:8659
+#: c/c-typeck.cc:15934 cp/semantics.cc:8779
 #, gcc-internal-format
 msgid "%<inbranch%> clause is incompatible with %<notinbranch%>"
 msgstr ""
 
-#: c/c-typeck.cc:15529 cp/semantics.cc:9010
+#: c/c-typeck.cc:16001 cp/semantics.cc:9141
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr ""
 
-#: c/c-typeck.cc:15539
+#: c/c-typeck.cc:16011
 #, gcc-internal-format
 msgid ""
 "%<const%> qualified %qE may appear only in %<shared%> or %<firstprivate%> "
 "clauses"
 msgstr ""
 
-#: c/c-typeck.cc:15558 cp/semantics.cc:8785
+#: c/c-typeck.cc:16042 cp/semantics.cc:8916
 #, gcc-internal-format
 msgid "%<simdlen%> clause value is bigger than %<safelen%> clause value"
 msgstr ""
 
-#: c/c-typeck.cc:15570 cp/semantics.cc:8798
+#: c/c-typeck.cc:16054 cp/semantics.cc:8929
 #, gcc-internal-format
 msgid ""
 "%<nonmonotonic%> schedule modifier specified together with %<ordered%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15581 c/c-typeck.cc:15589 cp/semantics.cc:8807
-#: cp/semantics.cc:8825
+#: c/c-typeck.cc:16065 c/c-typeck.cc:16073 cp/semantics.cc:8938
+#: cp/semantics.cc:8956
 #, gcc-internal-format
 msgid "%qs clause specified together with %<inscan%> %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15637 cp/semantics.cc:8765
+#: c/c-typeck.cc:16121 cp/semantics.cc:8896
 #, gcc-internal-format
 msgid ""
 "%<linear%> clause step is a parameter %qD not specified in %<uniform%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15688 cp/semantics.cc:8815
+#: c/c-typeck.cc:16172 cp/semantics.cc:8946
 #, gcc-internal-format
 msgid "%<nogroup%> clause must not be used together with %<reduction%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15698 cp/semantics.cc:8844
+#: c/c-typeck.cc:16182 cp/semantics.cc:8975
 #, gcc-internal-format
 msgid "%<detach%> clause must not be used together with %<mergeable%> clause"
 msgstr ""
 
-#: c/c-typeck.cc:15716 cp/semantics.cc:9035
+#: c/c-typeck.cc:16200 cp/semantics.cc:9166
 #, gcc-internal-format
 msgid ""
 "the event handle of a %<detach%> clause should not be in a data-sharing "
 "clause"
 msgstr ""
 
-#: c/c-typeck.cc:15890
+#: c/c-typeck.cc:16374
 #, gcc-internal-format
 msgid "cannot use %<va_arg%> with reverse storage order"
 msgstr ""
 
-#: c/c-typeck.cc:15895
+#: c/c-typeck.cc:16379
 #, gcc-internal-format
 msgid "second argument to %<va_arg%> is of incomplete type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:15901
+#: c/c-typeck.cc:16385
 #, gcc-internal-format
 msgid "second argument to %<va_arg%> is a function type %qT"
 msgstr ""
 
-#: c/c-typeck.cc:15907
+#: c/c-typeck.cc:16391
 #, gcc-internal-format
 msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
 msgstr ""
@@ -50063,1075 +51454,1109 @@ msgstr ""
 msgid "SSA name %qE with version %d has no definition"
 msgstr ""
 
-#: c/gimple-parser.cc:482 c/gimple-parser.cc:488
+#: c/gimple-parser.cc:492 c/gimple-parser.cc:498
 #, gcc-internal-format
 msgid "expected block index"
 msgstr ""
 
-#: c/gimple-parser.cc:496
+#: c/gimple-parser.cc:506
 #, gcc-internal-format
 msgid "invalid block index"
 msgstr ""
 
-#: c/gimple-parser.cc:507
+#: c/gimple-parser.cc:517
 #, gcc-internal-format
 msgid "expected block specifier"
 msgstr ""
 
-#: c/gimple-parser.cc:525
+#: c/gimple-parser.cc:535
 #, gcc-internal-format
 msgid "expected loop number"
 msgstr ""
 
-#: c/gimple-parser.cc:543
+#: c/gimple-parser.cc:553
 #, gcc-internal-format
 msgid "unknown block specifier"
 msgstr ""
 
-#: c/gimple-parser.cc:556 c/gimple-parser.cc:1968
+#: c/gimple-parser.cc:566 c/gimple-parser.cc:1984
 #, gcc-internal-format
 msgid "expected count value"
 msgstr ""
 
-#: c/gimple-parser.cc:579 c/gimple-parser.cc:666
+#: c/gimple-parser.cc:589 c/gimple-parser.cc:676
 #, gcc-internal-format
 msgid "stmts without block"
 msgstr ""
 
-#: c/gimple-parser.cc:616
+#: c/gimple-parser.cc:626
 #, gcc-internal-format
 msgid "duplicate loop header"
 msgstr ""
 
-#: c/gimple-parser.cc:823
+#: c/gimple-parser.cc:833
 #, gcc-internal-format
 msgid "invalid source block specification"
 msgstr ""
 
-#: c/gimple-parser.cc:890
+#: c/gimple-parser.cc:900
 #, gcc-internal-format
 msgid "unexpected RHS for assignment"
 msgstr ""
 
-#: c/gimple-parser.cc:994
+#: c/gimple-parser.cc:1004
 #, gcc-internal-format
 msgid "%<&&%> not valid in GIMPLE"
 msgstr ""
 
-#: c/gimple-parser.cc:997
+#: c/gimple-parser.cc:1007
 #, gcc-internal-format
 msgid "%<||%> not valid in GIMPLE"
 msgstr ""
 
-#: c/gimple-parser.cc:1111
+#: c/gimple-parser.cc:1121
 #, gcc-internal-format
 msgid "expected pointer as argument of unary %<*%>"
 msgstr ""
 
-#: c/gimple-parser.cc:1137
+#: c/gimple-parser.cc:1147
 #, gcc-internal-format
 msgid "%<!%> not valid in GIMPLE"
 msgstr ""
 
-#: c/gimple-parser.cc:1196 c/gimple-parser.cc:1533
+#: c/gimple-parser.cc:1206 c/gimple-parser.cc:1544
 #, gcc-internal-format
 msgid "expected constant offset"
 msgstr ""
 
-#: c/gimple-parser.cc:1257
+#: c/gimple-parser.cc:1267
 #, gcc-internal-format
 msgid "SSA name undeclared"
 msgstr ""
 
-#: c/gimple-parser.cc:1279
+#: c/gimple-parser.cc:1289
 #, gcc-internal-format
 msgid "base variable or SSA name undeclared"
 msgstr ""
 
-#: c/gimple-parser.cc:1286
+#: c/gimple-parser.cc:1296
 #, gcc-internal-format
 msgid "invalid base %qE for SSA name"
 msgstr ""
 
-#: c/gimple-parser.cc:1314
+#: c/gimple-parser.cc:1324
 #, gcc-internal-format
 msgid "expecting internal function name"
 msgstr ""
 
-#: c/gimple-parser.cc:1327
+#: c/gimple-parser.cc:1337
 #, gcc-internal-format
 msgid "unknown internal function %qE"
 msgstr ""
 
-#: c/gimple-parser.cc:1465
+#: c/gimple-parser.cc:1476
 #, gcc-internal-format
 msgid "invalid type of %<__MEM%> operand"
 msgstr ""
 
-#: c/gimple-parser.cc:1527
+#: c/gimple-parser.cc:1538
 #, gcc-internal-format
 msgid "expected constant size"
 msgstr ""
 
-#: c/gimple-parser.cc:1565 c/gimple-parser.cc:1595 c/gimple-parser.cc:1635
-#: c/gimple-parser.cc:1643 c/gimple-parser.cc:1652
+#: c/gimple-parser.cc:1576 c/gimple-parser.cc:1606 c/gimple-parser.cc:1646
+#: c/gimple-parser.cc:1654 c/gimple-parser.cc:1663
 #, gcc-internal-format
 msgid "invalid _Literal"
 msgstr ""
 
-#: c/gimple-parser.cc:1574
+#: c/gimple-parser.cc:1585
 #, gcc-internal-format
 msgid "invalid type for _Literal with constructor"
 msgstr ""
 
-#: c/gimple-parser.cc:1687
+#: c/gimple-parser.cc:1698
 #, gcc-internal-format
 msgid "anonymous SSA name cannot have default definition"
 msgstr ""
 
-#: c/gimple-parser.cc:1770
+#: c/gimple-parser.cc:1782
 #, gcc-internal-format
 msgid "invalid call to non-function"
 msgstr ""
 
-#: c/gimple-parser.cc:1824
+#: c/gimple-parser.cc:1838
 #, gcc-internal-format
 msgid "dereference of non-pointer"
 msgstr ""
 
-#: c/gimple-parser.cc:1949
+#: c/gimple-parser.cc:1965
 #, gcc-internal-format
 msgid "expected pass name"
 msgstr ""
 
-#: c/gimple-parser.cc:1988
+#: c/gimple-parser.cc:2004
 #, gcc-internal-format
 msgid "invalid operation"
 msgstr ""
 
-#: c/gimple-parser.cc:2152
+#: c/gimple-parser.cc:2168
 #, gcc-internal-format
 msgid "comparison required"
 msgstr ""
 
-#: c/gimple-parser.cc:2204
+#: c/gimple-parser.cc:2220
 #, gcc-internal-format
 msgid "%<catch%> is not supported"
 msgstr ""
 
-#: c/gimple-parser.cc:2206
+#: c/gimple-parser.cc:2222
 #, gcc-internal-format
 msgid "expected %<finally%> or %<catch%>"
 msgstr ""
 
-#: c/gimple-parser.cc:2250 c/gimple-parser.cc:2287
+#: c/gimple-parser.cc:2266 c/gimple-parser.cc:2303
 #, gcc-internal-format
 msgid "expected goto expression"
 msgstr ""
 
-#: c/gimple-parser.cc:2258
+#: c/gimple-parser.cc:2274
 #, gcc-internal-format
 msgid "expected else statement"
 msgstr ""
 
-#: c/gimple-parser.cc:2401
+#: c/gimple-parser.cc:2417
 #, gcc-internal-format
 msgid "expected case label"
 msgstr ""
 
 #. A bad conversion for 'this' must be discarding cv-quals.
-#: cp/call.cc:3796
+#: cp/call.cc:3834
 #, gcc-internal-format
 msgid "  passing %qT as %<this%> argument discards qualifiers"
 msgstr ""
 
-#: cp/call.cc:3800
+#: cp/call.cc:3838
 msgid "  no known conversion for implicit %<this%> parameter from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:3807
+#: cp/call.cc:3845
 #, gcc-internal-format, gfc-internal-format
 msgid "  conversion of argument %d would be ill-formed:"
 msgstr ""
 
 #. Conversion of conversion function return value failed.
-#: cp/call.cc:3814
+#: cp/call.cc:3852
 msgid "  no known conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:3820
+#: cp/call.cc:3858
 msgid "  no known conversion for argument %d from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:3834 cp/pt.cc:6964
+#: cp/call.cc:3872 cp/pt.cc:6988
 #, gcc-internal-format, gfc-internal-format
 msgid "  candidate expects at least %d argument, %d provided"
 msgid_plural "  candidate expects at least %d arguments, %d provided"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/call.cc:3839 cp/pt.cc:6969
+#: cp/call.cc:3877 cp/pt.cc:6993
 #, gcc-internal-format, gfc-internal-format
 msgid "  candidate expects %d argument, %d provided"
 msgid_plural "  candidate expects %d arguments, %d provided"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/call.cc:3867
+#: cp/call.cc:3905
 #, gcc-internal-format
 msgid "%s%<%D(%T, %T, %T)%> (built-in)"
 msgstr ""
 
-#: cp/call.cc:3872
+#: cp/call.cc:3910
 #, gcc-internal-format
 msgid "%s%<%D(%T, %T)%> (built-in)"
 msgstr ""
 
-#: cp/call.cc:3876
+#: cp/call.cc:3914
 #, gcc-internal-format
 msgid "%s%<%D(%T)%> (built-in)"
 msgstr ""
 
-#: cp/call.cc:3880
+#: cp/call.cc:3918
 #, gcc-internal-format
 msgid "%s%qT (conversion)"
 msgstr ""
 
-#: cp/call.cc:3882
+#: cp/call.cc:3920
 #, gcc-internal-format
 msgid "%s%#qD (near match)"
 msgstr ""
 
-#: cp/call.cc:3884
+#: cp/call.cc:3922
 #, gcc-internal-format
 msgid "%s%#qD (deleted)"
 msgstr ""
 
-#: cp/call.cc:3886
+#: cp/call.cc:3924
 #, gcc-internal-format
 msgid "%s%#qD (reversed)"
 msgstr ""
 
-#: cp/call.cc:3888
+#: cp/call.cc:3926
 #, gcc-internal-format
 msgid "%s%#qD (rewritten)"
 msgstr ""
 
-#: cp/call.cc:3890
+#: cp/call.cc:3928
 #, gcc-internal-format
 msgid "%s%#qD"
 msgstr ""
 
-#: cp/call.cc:3894
+#: cp/call.cc:3932
 #, gcc-internal-format
 msgid "  inherited here"
 msgstr ""
 
-#: cp/call.cc:3915
+#: cp/call.cc:3953
 #, gcc-internal-format
 msgid ""
 "  return type %qT of explicit conversion function cannot be converted to %qT "
 "with a qualification conversion"
 msgstr ""
 
-#: cp/call.cc:3921
+#: cp/call.cc:3959
 #, gcc-internal-format
 msgid ""
 "  conversion from return type %qT of template conversion function "
 "specialization to %qT is not an exact match"
 msgstr ""
 
-#: cp/call.cc:3932
+#: cp/call.cc:3970
 #, gcc-internal-format
 msgid ""
 "  substitution of deduced template arguments resulted in errors seen above"
 msgstr ""
 
 #. Re-run template unification with diagnostics.
-#: cp/call.cc:3937
+#: cp/call.cc:3975
 #, gcc-internal-format
 msgid "  template argument deduction/substitution failed:"
 msgstr ""
 
-#: cp/call.cc:3951
+#: cp/call.cc:3989
 #, gcc-internal-format
 msgid ""
 "  a constructor taking a single argument of its own class type is invalid"
 msgstr ""
 
-#: cp/call.cc:3958
+#: cp/call.cc:3996
 #, gcc-internal-format
 msgid ""
 "  an inherited constructor is not a candidate for initialization from an "
 "expression of the same or derived type"
 msgstr ""
 
-#: cp/call.cc:4105 cp/call.cc:4481
+#: cp/call.cc:4143 cp/call.cc:4664
 #, gcc-internal-format
 msgid "designated initializers cannot be used with a non-aggregate type %qT"
 msgstr ""
 
-#: cp/call.cc:4380
+#: cp/call.cc:4561
 msgid "conversion from %qH to %qI is ambiguous"
 msgstr ""
 
-#: cp/call.cc:4487 cp/cvt.cc:860
+#: cp/call.cc:4670 cp/cvt.cc:864
 msgid "could not convert %qE from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:4554
+#: cp/call.cc:4737
 msgid ""
 "initializing %qH with %qI in converted constant expression does not bind "
 "directly"
 msgstr ""
 
-#: cp/call.cc:4575
+#: cp/call.cc:4758
 msgid "conversion from %qH to %qI in a converted constant expression"
 msgstr ""
 
-#: cp/call.cc:4758
+#: cp/call.cc:4946
 #, gcc-internal-format
 msgid "no matching function for call to %<%D(%A)%>"
 msgstr ""
 
-#: cp/call.cc:4761
+#: cp/call.cc:4949
 #, 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:5021
+#: cp/call.cc:5236
 #, gcc-internal-format
 msgid ""
 "pointer-to-member function %qE cannot be called without an object; consider "
 "using %<.*%> or %<->*%>"
 msgstr ""
 
-#: cp/call.cc:5091
+#: cp/call.cc:5306
 #, gcc-internal-format
 msgid "no match for call to %<(%T) (%A)%>"
 msgstr ""
 
-#: cp/call.cc:5105
+#: cp/call.cc:5320
 #, gcc-internal-format
 msgid "call of %<(%T) (%A)%> is ambiguous"
 msgstr ""
 
-#: cp/call.cc:5145
+#: cp/call.cc:5366
 #, gcc-internal-format
 msgid "ambiguous overload for "
 msgstr ""
 
-#: cp/call.cc:5146
+#: cp/call.cc:5367
 #, gcc-internal-format
 msgid "no match for "
 msgstr ""
 
-#: cp/call.cc:5149
+#: cp/call.cc:5370
 #, gcc-internal-format
 msgid " (operand types are %qT, %qT, and %qT)"
 msgstr ""
 
-#: cp/call.cc:5151
+#: cp/call.cc:5372
 #, gcc-internal-format
 msgid " (operand types are %qT and %qT)"
 msgstr ""
 
-#: cp/call.cc:5153
+#: cp/call.cc:5374
 #, gcc-internal-format
 msgid " (operand type is %qT)"
 msgstr ""
 
-#: cp/call.cc:5170
+#: cp/call.cc:5391
 #, gcc-internal-format
 msgid "ternary %<operator?:%>"
 msgstr ""
 
-#: cp/call.cc:5174
+#: cp/call.cc:5395
 #, gcc-internal-format
 msgid "ternary %<operator?:%> in %<%E ? %E : %E%>"
 msgstr ""
 
-#: cp/call.cc:5183 cp/call.cc:5227 cp/call.cc:5237
+#: cp/call.cc:5404 cp/call.cc:5448 cp/call.cc:5458
 #, gcc-internal-format
 msgid "%<operator%s%>"
 msgstr ""
 
-#: cp/call.cc:5186
+#: cp/call.cc:5407
 #, gcc-internal-format
 msgid "%<operator%s%> in %<%E%s%>"
 msgstr ""
 
-#: cp/call.cc:5193
+#: cp/call.cc:5414
 #, gcc-internal-format
 msgid "%<operator[]%>"
 msgstr ""
 
-#: cp/call.cc:5196
+#: cp/call.cc:5417
 #, gcc-internal-format
 msgid "%<operator[]%> in %<%E[%E]%>"
 msgstr ""
 
-#: cp/call.cc:5204
+#: cp/call.cc:5425
 #, gcc-internal-format
 msgid "%qs"
 msgstr ""
 
-#: cp/call.cc:5207
+#: cp/call.cc:5428
 #, gcc-internal-format
 msgid "%qs in %<%s %E%>"
 msgstr ""
 
-#: cp/call.cc:5213
+#: cp/call.cc:5434
 #, gcc-internal-format
 msgid "%<operator %s%>"
 msgstr ""
 
-#: cp/call.cc:5216
+#: cp/call.cc:5437
 #, gcc-internal-format
 msgid "%<operator %s%> in %<%s%E%>"
 msgstr ""
 
-#: cp/call.cc:5231
+#: cp/call.cc:5452
 #, gcc-internal-format
 msgid "%<operator%s%> in %<%E %s %E%>"
 msgstr ""
 
-#: cp/call.cc:5240
+#: cp/call.cc:5461
 #, gcc-internal-format
 msgid "%<operator%s%> in %<%s%E%>"
 msgstr ""
 
-#: cp/call.cc:5352
+#: cp/call.cc:5574
 #, gcc-internal-format
 msgid "ISO C++ forbids omitting the middle term of a %<?:%> expression"
 msgstr ""
 
-#: cp/call.cc:5419
+#: cp/call.cc:5649
 #, 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:5436 cp/call.cc:5443
+#: cp/call.cc:5666 cp/call.cc:5673
 msgid "conversion of scalar %qH to vector %qI involves truncation"
 msgstr ""
 
-#: cp/call.cc:5499
+#: cp/call.cc:5729
 #, gcc-internal-format
 msgid "incompatible vector types in conditional expression: %qT, %qT and %qT"
 msgstr ""
 
-#: cp/call.cc:5579
+#: cp/call.cc:5781 cp/call.cc:6133 cp/call.cc:6153
+#, gcc-internal-format
+msgid "operands to %<?:%> of types %qT and %qT have unordered conversion rank"
+msgstr ""
+
+#: cp/call.cc:5853
 #, 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:5584
+#: cp/call.cc:5858
 #, 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:5633 cp/call.cc:5748 cp/call.cc:5919
+#: cp/call.cc:5907 cp/call.cc:6022 cp/call.cc:6256
 #, gcc-internal-format
 msgid "operands to %<?:%> have different types %qT and %qT"
 msgstr ""
 
-#: cp/call.cc:5637
+#: cp/call.cc:5911
 #, gcc-internal-format
 msgid "  and each type can be converted to the other"
 msgstr ""
 
-#: cp/call.cc:5824
+#: cp/call.cc:6161
 msgid ""
 "implicit conversion from %qH to %qI to match other result of conditional"
 msgstr ""
 
-#: cp/call.cc:5840
+#: cp/call.cc:6177
 #, gcc-internal-format
 msgid "enumerated mismatch in conditional expression: %qT vs %qT"
 msgstr ""
 
-#: cp/call.cc:5853
+#: cp/call.cc:6190
 #, gcc-internal-format
 msgid ""
 "conditional expression between enumeration type %qT and floating-point type "
 "%qT is deprecated"
 msgstr ""
 
-#: cp/call.cc:5858
+#: cp/call.cc:6195
 #, gcc-internal-format
 msgid ""
 "conditional expression between floating-point type %qT and enumeration type "
 "%qT is deprecated"
 msgstr ""
 
-#: cp/call.cc:5874
+#: cp/call.cc:6211
 #, gcc-internal-format
 msgid "enumerated and non-enumerated type in conditional expression"
 msgstr ""
 
-#: cp/call.cc:6631
+#: cp/call.cc:7062
 #, gcc-internal-format
 msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
 msgstr ""
 
-#: cp/call.cc:6633
+#: cp/call.cc:7064
 #, gcc-internal-format
 msgid "no %<%D(int)%> declared for postfix %qs"
 msgstr ""
 
-#: cp/call.cc:6713
+#: cp/call.cc:7144
 #, gcc-internal-format
 msgid ""
 "in C++20 this comparison calls the current function recursively with "
 "reversed arguments"
 msgstr ""
 
-#: cp/call.cc:6764
+#: cp/call.cc:7197
 #, gcc-internal-format
 msgid "return type of %qD is not %qs"
 msgstr ""
 
-#: cp/call.cc:6766
+#: cp/call.cc:7199
 #, gcc-internal-format
 msgid "used as rewritten candidate for comparison of %qT and %qT"
 msgstr ""
 
-#: cp/call.cc:6837
+#: cp/call.cc:7276
 #, gcc-internal-format
 msgid "comparison between %q#T and %q#T"
 msgstr ""
 
-#: cp/call.cc:7030
+#: cp/call.cc:7469
 #, gcc-internal-format
 msgid "no match for call to %<%T::operator[] (%A)%>"
 msgstr ""
 
-#: cp/call.cc:7044
+#: cp/call.cc:7483
 #, gcc-internal-format
 msgid "call of %<%T::operator[] (%A)%> is ambiguous"
 msgstr ""
 
-#: cp/call.cc:7320
+#: cp/call.cc:7764
 #, gcc-internal-format
 msgid ""
 "exception cleanup for this placement new selects non-placement %<operator "
 "delete%>"
 msgstr ""
 
-#: cp/call.cc:7323
+#: cp/call.cc:7767
 #, gcc-internal-format
 msgid ""
 "%qD is a usual (non-placement) deallocation function in C++14 (or with %<-"
 "fsized-deallocation%>)"
 msgstr ""
 
-#: cp/call.cc:7360
+#: cp/call.cc:7804
 #, gcc-internal-format
 msgid "%qD is a usual (non-placement) deallocation function"
 msgstr ""
 
-#: cp/call.cc:7554
+#: cp/call.cc:7998
 #, gcc-internal-format
 msgid "no corresponding deallocation function for %qD"
 msgstr ""
 
-#: cp/call.cc:7557
+#: cp/call.cc:8001
 #, 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:7566
+#: cp/call.cc:8010
 #, gcc-internal-format
 msgid "no suitable %<operator %s%> for %qT"
 msgstr ""
 
-#: cp/call.cc:7602
+#: cp/call.cc:8046
 #, gcc-internal-format
 msgid "%q#D is private within this context"
 msgstr ""
 
-#: cp/call.cc:7603 cp/decl.cc:8657
+#: cp/call.cc:8047 cp/decl.cc:8856
 #, gcc-internal-format
 msgid "declared private here"
 msgstr ""
 
-#: cp/call.cc:7608
+#: cp/call.cc:8052
 #, gcc-internal-format
 msgid "%q#D is protected within this context"
 msgstr ""
 
-#: cp/call.cc:7609 cp/decl.cc:8658
+#: cp/call.cc:8053 cp/decl.cc:8857
 #, gcc-internal-format
 msgid "declared protected here"
 msgstr ""
 
-#: cp/call.cc:7616
+#: cp/call.cc:8060
 #, gcc-internal-format
 msgid "%q#D is inaccessible within this context"
 msgstr ""
 
-#: cp/call.cc:7697
+#: cp/call.cc:8141
 #, gcc-internal-format
 msgid "passing NULL to non-pointer argument %P of %qD"
 msgstr ""
 
-#: cp/call.cc:7700 cp/call.cc:7719 cp/decl.cc:10336 cp/decl.cc:10344
-#: cp/typeck.cc:4438
+#: cp/call.cc:8144 cp/call.cc:8163 cp/decl.cc:10528 cp/decl.cc:10536
+#: cp/typeck.cc:4591
 #, gcc-internal-format
 msgid "  declared here"
 msgstr ""
 
-#: cp/call.cc:7704
+#: cp/call.cc:8148
 #, gcc-internal-format
 msgid "converting to non-pointer type %qT from NULL"
 msgstr ""
 
-#: cp/call.cc:7716
+#: cp/call.cc:8160
 #, gcc-internal-format
 msgid "converting %<false%> to pointer type for argument %P of %qD"
 msgstr ""
 
-#: cp/call.cc:7723
+#: cp/call.cc:8167
 #, gcc-internal-format
 msgid "converting %<false%> to pointer type %qT"
 msgstr ""
 
-#: cp/call.cc:7790
+#: cp/call.cc:8234
 #, gcc-internal-format
 msgid "  initializing argument %P of %qD"
 msgstr ""
 
-#: cp/call.cc:7811
+#: cp/call.cc:8255
 #, 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:7861
+#: cp/call.cc:8305
 #, gcc-internal-format
 msgid "too many braces around initializer for %qT"
 msgstr ""
 
-#: cp/call.cc:7872
+#: cp/call.cc:8316
 msgid "converting to %qH from %qI requires direct-initialization"
 msgstr ""
 
-#: cp/call.cc:7881
+#: cp/call.cc:8328
+msgid "converting to %qH from %qI with greater conversion rank"
+msgstr ""
+
+#: cp/call.cc:8333
+msgid "converting to %qH from %qI with unordered conversion ranks"
+msgstr ""
+
+#: cp/call.cc:8346
 msgid "invalid user-defined conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:7918 cp/cvt.cc:227
+#: cp/call.cc:8386 cp/cvt.cc:227
 msgid "invalid conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:7960 cp/call.cc:7967
+#: cp/call.cc:8428 cp/call.cc:8435
 #, gcc-internal-format
 msgid ""
 "converting to %qT from initializer list would use explicit constructor %qD"
 msgstr ""
 
-#: cp/call.cc:7963
+#: cp/call.cc:8431
 #, gcc-internal-format
 msgid "in C++11 and above a default constructor can be explicit"
 msgstr ""
 
-#: cp/call.cc:8233
+#: cp/call.cc:8701
 msgid "cannot bind rvalue reference of type %qH to lvalue of type %qI"
 msgstr ""
 
-#: cp/call.cc:8242
+#: cp/call.cc:8710
 msgid ""
 "cannot bind non-const lvalue reference of type %qH to a value of type %qI"
 msgstr ""
 
-#: cp/call.cc:8247
+#: cp/call.cc:8715
 msgid ""
 "cannot bind non-const lvalue reference of type %qH to an rvalue of type %qI"
 msgstr ""
 
 #. extype is volatile
-#: cp/call.cc:8250
+#: cp/call.cc:8718
 msgid "cannot bind lvalue reference of type %qH to an rvalue of type %qI"
 msgstr ""
 
-#: cp/call.cc:8263
+#: cp/call.cc:8731
 msgid "cannot bind reference of type %qH to %qI due to different array bounds"
 msgstr ""
 
-#: cp/call.cc:8266
+#: cp/call.cc:8734
 msgid "binding reference of type %qH to %qI discards qualifiers"
 msgstr ""
 
-#: cp/call.cc:8305
+#: cp/call.cc:8773
 #, gcc-internal-format
 msgid "cannot bind bit-field %qE to %qT"
 msgstr ""
 
-#: cp/call.cc:8308 cp/call.cc:8326
+#: cp/call.cc:8776 cp/call.cc:8794
 #, gcc-internal-format
 msgid "cannot bind packed field %qE to %qT"
 msgstr ""
 
-#: cp/call.cc:8311
+#: cp/call.cc:8779
 #, gcc-internal-format
 msgid "cannot bind rvalue %qE to %qT"
 msgstr ""
 
-#: cp/call.cc:8506
+#: cp/call.cc:8980
 msgid "implicit conversion from %qH to %qI when passing argument to function"
 msgstr ""
 
-#: cp/call.cc:8533 cp/cvt.cc:1988
+#: cp/call.cc:9009 cp/cvt.cc:1992
 #, gcc-internal-format
 msgid ""
 "scoped enum %qT passed through %<...%> as %qT before %<-fabi-version=6%>, "
 "%qT after"
 msgstr ""
 
-#: cp/call.cc:8577
+#: cp/call.cc:9053
 #, gcc-internal-format
 msgid ""
 "passing objects of non-trivially-copyable type %q#T through %<...%> is "
 "conditionally supported"
 msgstr ""
 
-#: cp/call.cc:8613
+#: cp/call.cc:9089
 #, gcc-internal-format
 msgid "cannot receive reference type %qT through %<...%>"
 msgstr ""
 
-#: cp/call.cc:8623
+#: cp/call.cc:9099
 #, gcc-internal-format
 msgid ""
 "receiving objects of non-trivially-copyable type %q#T through %<...%> is "
 "conditionally-supported"
 msgstr ""
 
-#: cp/call.cc:8691
+#: cp/call.cc:9167
 #, gcc-internal-format
 msgid "recursive evaluation of default argument for %q#D"
 msgstr ""
 
-#: cp/call.cc:8700
+#: cp/call.cc:9176
 #, gcc-internal-format
 msgid ""
 "call to %qD uses the default argument for parameter %P, which is not yet "
 "defined"
 msgstr ""
 
-#: cp/call.cc:8800
+#: cp/call.cc:9276
 #, gcc-internal-format
 msgid "argument of function call might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/call.cc:8862
+#: cp/call.cc:9346
 #, gcc-internal-format
 msgid "use of multiversioned function without a default"
 msgstr ""
 
-#: cp/call.cc:9465
+#: cp/call.cc:9971
 #, gcc-internal-format
 msgid "passing %qT as %<this%> argument discards qualifiers"
 msgstr ""
 
-#: cp/call.cc:9468 cp/call.cc:12162
+#: cp/call.cc:9974 cp/call.cc:12754
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr ""
 
-#: cp/call.cc:9493
+#: cp/call.cc:9999
 #, gcc-internal-format
 msgid "%qT is not an accessible base of %qT"
 msgstr ""
 
-#: cp/call.cc:9690
+#: cp/call.cc:10204
 #, gcc-internal-format
 msgid "passing arguments to ellipsis of inherited constructor %qD"
 msgstr ""
 
-#: cp/call.cc:9825
+#: cp/call.cc:10339
 #, gcc-internal-format
 msgid ""
 "assignment from temporary %<initializer_list%> does not extend the lifetime "
 "of the underlying array"
 msgstr ""
 
-#: cp/call.cc:10221
+#: cp/call.cc:10735
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with no trivial copy-assignment"
 msgstr ""
 
-#: cp/call.cc:10224
+#: cp/call.cc:10738
 #, gcc-internal-format
 msgid "%qD writing to an object of non-trivial type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10229
+#: cp/call.cc:10743
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with %qs member %qD"
 msgstr ""
 
-#: cp/call.cc:10234
+#: cp/call.cc:10748
 #, gcc-internal-format
 msgid ""
 "%qD writing to an object of type %#qT containing a pointer to data member%s"
 msgstr ""
 
-#: cp/call.cc:10249
+#: cp/call.cc:10763
 #, gcc-internal-format
 msgid "; use assignment or value-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10251
+#: cp/call.cc:10765
 #, gcc-internal-format
 msgid "; use assignment instead"
 msgstr ""
 
-#: cp/call.cc:10253
+#: cp/call.cc:10767
 #, gcc-internal-format
 msgid "; use value-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10256
+#: cp/call.cc:10770
 #, gcc-internal-format
 msgid "%qD clearing an object of type %#qT with no trivial copy-assignment%s"
 msgstr ""
 
-#: cp/call.cc:10259
+#: cp/call.cc:10773
 #, gcc-internal-format
 msgid "%qD clearing an object of non-trivial type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10261
+#: cp/call.cc:10775
 #, gcc-internal-format
 msgid "%qD clearing an object of type %#qT containing a pointer-to-member%s"
 msgstr ""
 
-#: cp/call.cc:10282
+#: cp/call.cc:10796
 #, gcc-internal-format
 msgid "; use copy-assignment or copy-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10284
+#: cp/call.cc:10798
 #, gcc-internal-format
 msgid "; use copy-assignment instead"
 msgstr ""
 
-#: cp/call.cc:10286
+#: cp/call.cc:10800
 #, gcc-internal-format
 msgid "; use copy-initialization instead"
 msgstr ""
 
-#: cp/call.cc:10289
+#: cp/call.cc:10803
 #, gcc-internal-format
 msgid "%qD writing to an object of type %#qT with no trivial copy-assignment%s"
 msgstr ""
 
-#: cp/call.cc:10292
+#: cp/call.cc:10806
 #, gcc-internal-format
 msgid "%qD writing to an object of non-trivially copyable type %#qT%s"
 msgstr ""
 
-#: cp/call.cc:10295
+#: cp/call.cc:10809
 #, gcc-internal-format
 msgid "%qD writing to an object with a deleted copy constructor"
 msgstr ""
 
-#: cp/call.cc:10306
+#: cp/call.cc:10820
 #, gcc-internal-format
 msgid "%qD copying an object of non-trivial type %#qT from an array of %#qT"
 msgstr ""
 
-#: cp/call.cc:10318
+#: cp/call.cc:10832
 #, 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:10335
+#: cp/call.cc:10851
 #, gcc-internal-format
 msgid ""
 "%qD writing to an object of a non-trivial type %#qT leaves %wu bytes "
 "unchanged"
 msgstr ""
 
-#: cp/call.cc:10338
+#: cp/call.cc:10854
 #, gcc-internal-format
 msgid ""
 "%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged"
 msgstr ""
 
-#: cp/call.cc:10348
+#: cp/call.cc:10864
 #, gcc-internal-format
 msgid ""
 "%qD moving an object of non-trivially copyable type %#qT; use %<new%> and "
 "%<delete%> instead"
 msgstr ""
 
-#: cp/call.cc:10351
+#: cp/call.cc:10867
 #, gcc-internal-format
 msgid ""
 "%qD moving an object of type %#qT with deleted copy constructor; use %<new%> "
 "and %<delete%> instead"
 msgstr ""
 
-#: cp/call.cc:10354
+#: cp/call.cc:10870
 #, gcc-internal-format
 msgid "%qD moving an object of type %#qT with deleted destructor"
 msgstr ""
 
-#: cp/call.cc:10363
+#: cp/call.cc:10879
 #, 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:10385
+#: cp/call.cc:10901
 #, gcc-internal-format
 msgid "%#qT declared here"
 msgstr ""
 
-#: cp/call.cc:10439
+#: cp/call.cc:10955
 #, gcc-internal-format
 msgid ""
 "argument %u in call to function %qE has pointer to a non-trivially-copyable "
 "type (%qT)"
 msgstr ""
 
-#: cp/call.cc:10506
+#: cp/call.cc:11022
 #, gcc-internal-format
 msgid "constructor delegates to itself"
 msgstr ""
 
-#: cp/call.cc:10781 cp/typeck.cc:9886
+#: cp/call.cc:11297 cp/typeck.cc:10271
 msgid "cannot convert %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:10803
+#: cp/call.cc:11319
 #, gcc-internal-format
 msgid "no matching function for call to %<%T::operator %T(%A)%#V%>"
 msgstr ""
 
-#: cp/call.cc:10835
+#: cp/call.cc:11351
 #, gcc-internal-format
 msgid "no matching function for call to %<%T::%s%E(%A)%#V%>"
 msgstr ""
 
-#: cp/call.cc:10884
+#: cp/call.cc:11400
 #, gcc-internal-format
 msgid "call to non-function %qD"
 msgstr ""
 
-#: cp/call.cc:10922 cp/pt.cc:16520 cp/typeck.cc:3339
+#: cp/call.cc:11438 cp/pt.cc:16771 cp/typeck.cc:3492
 #, gcc-internal-format
 msgid "cannot call constructor %<%T::%D%> directly"
 msgstr ""
 
-#: cp/call.cc:10924
+#: cp/call.cc:11440
 #, gcc-internal-format
 msgid "for a function-style cast, remove the redundant %<::%D%>"
 msgstr ""
 
-#: cp/call.cc:11116
+#: cp/call.cc:11628
 #, gcc-internal-format
 msgid "no matching function for call to %<%s(%A)%>"
 msgstr ""
 
-#: cp/call.cc:11119
+#: cp/call.cc:11631
 #, gcc-internal-format
 msgid "call of overloaded %<%s(%A)%> is ambiguous"
 msgstr ""
 
-#: cp/call.cc:11142
+#: cp/call.cc:11654
 #, gcc-internal-format
 msgid "pure virtual %q#D called from non-static data member initializer"
 msgstr ""
 
-#: cp/call.cc:11147
+#: cp/call.cc:11659
 #, gcc-internal-format
 msgid "pure virtual %q#D called from constructor"
 msgstr ""
 
-#: cp/call.cc:11148
+#: cp/call.cc:11660
 #, gcc-internal-format
 msgid "pure virtual %q#D called from destructor"
 msgstr ""
 
-#: cp/call.cc:11171
+#: cp/call.cc:11683
 #, gcc-internal-format
 msgid "cannot call member function %qD without object"
 msgstr ""
 
-#: cp/call.cc:12160
+#: cp/call.cc:12752
 #, gcc-internal-format
 msgid "passing %qT chooses %qT over %qT"
 msgstr ""
 
-#: cp/call.cc:12229
+#: cp/call.cc:12778
+#, gcc-internal-format
+msgid ""
+"C++20 says that these are ambiguous, even though the second is reversed:"
+msgstr ""
+
+#: cp/call.cc:12801
+#, gcc-internal-format
+msgid "try making the operator a %<const%> member function"
+msgstr ""
+
+#: cp/call.cc:12864
 #, gcc-internal-format
 msgid "choosing %qD over %qD"
 msgstr ""
 
-#: cp/call.cc:12230
+#: cp/call.cc:12865
 msgid "  for conversion from %qH to %qI"
 msgstr ""
 
-#: cp/call.cc:12233
+#: cp/call.cc:12868
 #, gcc-internal-format
 msgid "  because conversion sequence for the argument is better"
 msgstr ""
 
-#: cp/call.cc:12483
+#: cp/call.cc:13118
 #, gcc-internal-format
 msgid "default argument mismatch in overload resolution"
 msgstr ""
 
-#: cp/call.cc:12487
+#: cp/call.cc:13122
 #, gcc-internal-format
 msgid " candidate 1: %q#F"
 msgstr ""
 
-#: cp/call.cc:12489
+#: cp/call.cc:13124
 #, gcc-internal-format
 msgid " candidate 2: %q#F"
 msgstr ""
 
-#: cp/call.cc:12535
+#: cp/call.cc:13170
 #, 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:12936
+#: cp/call.cc:13571
 #, gcc-internal-format
 msgid "a temporary bound to %qD only persists until the constructor exits"
 msgstr ""
 
-#: cp/call.cc:13091
+#: cp/call.cc:13726
 msgid ""
 "invalid initialization of non-const reference of type %qH from an rvalue of "
 "type %qI"
 msgstr ""
 
-#: cp/call.cc:13095
+#: cp/call.cc:13730
 msgid ""
 "invalid initialization of reference of type %qH from expression of type %qI"
 msgstr ""
 
+#: cp/call.cc:13924
+#, gcc-internal-format
+msgid "possibly dangling reference to a temporary"
+msgstr ""
+
+#: cp/call.cc:13925
+#, gcc-internal-format
+msgid "the temporary was destroyed at the end of the full expression %qE"
+msgstr ""
+
 #: cp/class.cc:321
 #, gcc-internal-format
 msgid ""
@@ -51179,8 +52604,8 @@ msgstr ""
 msgid "%q#D cannot be overloaded with %q#D"
 msgstr ""
 
-#: cp/class.cc:1233 cp/decl.cc:1801 cp/decl.cc:1813 cp/decl.cc:1838
-#: cp/decl.cc:1861 cp/name-lookup.cc:2720 cp/name-lookup.cc:3034
+#: cp/class.cc:1233 cp/decl.cc:1869 cp/decl.cc:1881 cp/decl.cc:1906
+#: cp/decl.cc:1929 cp/name-lookup.cc:2720 cp/name-lookup.cc:3034
 #, gcc-internal-format
 msgid "previous declaration %q#D"
 msgstr ""
@@ -51221,7 +52646,7 @@ msgid "%qD inherits the %E ABI tag that %qT (used in its return type) has"
 msgstr ""
 
 #: cp/class.cc:1468 cp/class.cc:1475 cp/class.cc:1482 cp/class.cc:1494
-#: cp/cvt.cc:1098
+#: cp/cvt.cc:1102 rust/backend/rust-tree.cc:644
 #, gcc-internal-format
 msgid "%qT declared here"
 msgstr ""
@@ -51286,909 +52711,942 @@ msgstr ""
 msgid "%q+#D marked %<final%>, but is not virtual"
 msgstr ""
 
-#: cp/class.cc:3062
+#: cp/class.cc:3077
 #, gcc-internal-format
 msgid "%qD was hidden"
 msgstr ""
 
-#: cp/class.cc:3063
+#: cp/class.cc:3078
 #, gcc-internal-format
 msgid "  by %qD"
 msgstr ""
 
-#: cp/class.cc:3275
+#: cp/class.cc:3290
 #, gcc-internal-format
 msgid "the ellipsis in %qD is not inherited"
 msgstr ""
 
-#: cp/class.cc:3467
+#: cp/class.cc:3482
 #, gcc-internal-format
 msgid "bit-field %q#D with non-integral type %qT"
 msgstr ""
 
-#: cp/class.cc:3483
+#: cp/class.cc:3498
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr ""
 
-#: cp/class.cc:3488
+#: cp/class.cc:3503
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr ""
 
-#: cp/class.cc:3493
+#: cp/class.cc:3508
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr ""
 
-#: cp/class.cc:3503
+#: cp/class.cc:3518
 #, gcc-internal-format
 msgid "width of %qD exceeds its type"
 msgstr ""
 
-#: cp/class.cc:3509
+#: cp/class.cc:3524
 #, gcc-internal-format
 msgid "%qD is too small to hold all values of %q#T"
 msgstr ""
 
-#: cp/class.cc:3570
+#: cp/class.cc:3585
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3573
+#: cp/class.cc:3588
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3575
+#: cp/class.cc:3590
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr ""
 
-#: cp/class.cc:3579
+#: cp/class.cc:3594
 #, gcc-internal-format
 msgid ""
 "unrestricted unions only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/class.cc:3695
+#: cp/class.cc:3710
 #, 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:3708
+#: cp/class.cc:3723
 #, gcc-internal-format
 msgid "non-static data member %q+D in a union may not have reference type %qT"
 msgstr ""
 
-#: cp/class.cc:3721
+#: cp/class.cc:3736
 #, gcc-internal-format
 msgid "data member %q+D invalidly declared function type"
 msgstr ""
 
-#: cp/class.cc:3727
+#: cp/class.cc:3742
 #, gcc-internal-format
 msgid "data member %q+D invalidly declared method type"
 msgstr ""
 
-#: cp/class.cc:3798
+#: cp/class.cc:3813
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q#D"
 msgstr ""
 
-#: cp/class.cc:3850
+#: cp/class.cc:3865
 #, gcc-internal-format
 msgid "member %q+D cannot be declared as a %<mutable%> reference"
 msgstr ""
 
-#: cp/class.cc:3853
+#: cp/class.cc:3868
 #, gcc-internal-format
 msgid "member %q+D cannot be declared both %<const%> and %<mutable%>"
 msgstr ""
 
-#: cp/class.cc:3884
+#: cp/class.cc:3899
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr ""
 
-#: cp/class.cc:3886
+#: cp/class.cc:3901
 #, gcc-internal-format
 msgid "initialized member %q+D declared here"
 msgstr ""
 
-#: cp/class.cc:3934
+#: cp/class.cc:3949
 #, gcc-internal-format
 msgid "field %q#D with same name as class"
 msgstr ""
 
-#: cp/class.cc:3962
+#: cp/class.cc:3977
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr ""
 
-#: cp/class.cc:3967
+#: cp/class.cc:3982
 #, gcc-internal-format
 msgid "  but does not declare %<%T(const %T&)%>"
 msgstr ""
 
-#: cp/class.cc:3969
+#: cp/class.cc:3984
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.cc:3973
+#: cp/class.cc:3988
 #, gcc-internal-format
 msgid "  but does not declare %<operator=(const %T&)%>"
 msgstr ""
 
-#: cp/class.cc:3975
+#: cp/class.cc:3990
 #, gcc-internal-format
 msgid "pointer member %q+D declared here"
 msgstr ""
 
-#: cp/class.cc:4432
+#: cp/class.cc:4447
 #, gcc-internal-format
 msgid "alignment of %qD increased in %<-fabi-version=9%> (GCC 5.2)"
 msgstr ""
 
-#: cp/class.cc:4435
+#: cp/class.cc:4450
 #, gcc-internal-format
 msgid "alignment of %qD will increase in %<-fabi-version=9%>"
 msgstr ""
 
-#: cp/class.cc:4763
+#: cp/class.cc:4778
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr ""
 
-#: cp/class.cc:4796
+#: cp/class.cc:4819
+#, gcc-internal-format
+msgid "no viable destructor for %qT"
+msgstr ""
+
+#: cp/class.cc:4821
 #, gcc-internal-format
 msgid "destructor for %qT is ambiguous"
 msgstr ""
 
-#: cp/class.cc:5249
+#: cp/class.cc:5287
 #, gcc-internal-format
 msgid "method overrides both %<transaction_pure%> and %qE methods"
 msgstr ""
 
-#: cp/class.cc:5270
+#: cp/class.cc:5308
 #, gcc-internal-format
 msgid "method declared %qE overriding %qE method"
 msgstr ""
 
-#: cp/class.cc:5894 cp/constexpr.cc:261
+#: cp/class.cc:5932 cp/constexpr.cc:301
 #, gcc-internal-format
 msgid ""
 "enclosing class of %<constexpr%> non-static member function %q+#D is not a "
 "literal type"
 msgstr ""
 
-#: cp/class.cc:5920
+#: cp/class.cc:5958 rust/backend/rust-tree.cc:6047
 #, gcc-internal-format
 msgid "%q+T is not literal because:"
 msgstr ""
 
-#: cp/class.cc:5923
+#: cp/class.cc:5961 rust/backend/rust-tree.cc:6050
 #, gcc-internal-format
 msgid "  %qT is a closure type, which is only literal in C++17 and later"
 msgstr ""
 
-#: cp/class.cc:5926
+#: cp/class.cc:5964 rust/backend/rust-tree.cc:6058
 #, gcc-internal-format
 msgid "  %q+T has a non-trivial destructor"
 msgstr ""
 
-#: cp/class.cc:5929
+#: cp/class.cc:5967 rust/backend/rust-tree.cc:6055
 #, gcc-internal-format
 msgid "  %q+T does not have %<constexpr%> destructor"
 msgstr ""
 
-#: cp/class.cc:5937
+#: cp/class.cc:5975 rust/backend/rust-tree.cc:6063
 #, 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:5970
+#: cp/class.cc:6008 rust/backend/rust-tree.cc:6095
 #, gcc-internal-format
 msgid "  base class %qT of %q+T is non-literal"
 msgstr ""
 
-#: cp/class.cc:5985
+#: cp/class.cc:6023 rust/backend/rust-tree.cc:6109
 #, gcc-internal-format
 msgid "  non-static data member %qD has non-literal type"
 msgstr ""
 
-#: cp/class.cc:5992
+#: cp/class.cc:6030 rust/backend/rust-tree.cc:6116
 #, gcc-internal-format
 msgid "  non-static data member %qD has volatile type"
 msgstr ""
 
-#: cp/class.cc:6123
+#: cp/class.cc:6163
 #, gcc-internal-format
 msgid "base class %q#T has accessible non-virtual destructor"
 msgstr ""
 
-#: cp/class.cc:6152
+#: cp/class.cc:6192
 #, gcc-internal-format
 msgid "non-static reference %q#D in class without a constructor"
 msgstr ""
 
-#: cp/class.cc:6158
+#: cp/class.cc:6198
 #, gcc-internal-format
 msgid "non-static const member %q#D in class without a constructor"
 msgstr ""
 
-#: cp/class.cc:6490
+#: cp/class.cc:6530
 #, 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:6494
+#: cp/class.cc:6534
 #, gcc-internal-format
 msgid ""
 "offset of %qD for %<-std=c++14%> and up changes in %<-fabi-version=17%> (GCC "
 "12)"
 msgstr ""
 
-#: cp/class.cc:6534
+#: cp/class.cc:6574
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.cc:6546
+#: cp/class.cc:6586
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr ""
 
-#: cp/class.cc:6788
+#: cp/class.cc:6828
 #, gcc-internal-format
 msgid ""
 "offset of %qD is not ABI-compliant and may change in a future version of GCC"
 msgstr ""
 
-#: cp/class.cc:6983
+#: cp/class.cc:7023
 #, gcc-internal-format
 msgid "size of type %qT is too large (%qE bytes)"
 msgstr ""
 
-#: cp/class.cc:7269
+#: cp/class.cc:7309
 #, gcc-internal-format
 msgid "invalid use of %q#T with a zero-size array in %q#D"
 msgstr ""
 
-#: cp/class.cc:7271
+#: cp/class.cc:7311
 #, gcc-internal-format
 msgid "invalid use of %q#T with a flexible array member in %q#T"
 msgstr ""
 
-#: cp/class.cc:7276
+#: cp/class.cc:7316
 #, gcc-internal-format
 msgid "array member %q#D declared here"
 msgstr ""
 
-#: cp/class.cc:7304
+#: cp/class.cc:7344
 #, gcc-internal-format
 msgid "zero-size array member %qD not at end of %q#T"
 msgstr ""
 
-#: cp/class.cc:7306
+#: cp/class.cc:7346
 #, gcc-internal-format
 msgid "zero-size array member %qD in an otherwise empty %q#T"
 msgstr ""
 
-#: cp/class.cc:7315 cp/class.cc:7346
+#: cp/class.cc:7355 cp/class.cc:7386
 #, gcc-internal-format
 msgid "in the definition of %q#T"
 msgstr ""
 
-#: cp/class.cc:7323
+#: cp/class.cc:7363
 #, gcc-internal-format
 msgid "flexible array member %qD not at end of %q#T"
 msgstr ""
 
-#: cp/class.cc:7325
+#: cp/class.cc:7365
 #, gcc-internal-format
 msgid "flexible array member %qD in an otherwise empty %q#T"
 msgstr ""
 
-#: cp/class.cc:7344
+#: cp/class.cc:7384
 #, gcc-internal-format
 msgid "next member %q#D declared here"
 msgstr ""
 
-#: cp/class.cc:7458 cp/decl.cc:16839 cp/parser.cc:26662
+#: cp/class.cc:7498 cp/decl.cc:17108 cp/parser.cc:26952
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr ""
 
-#: cp/class.cc:7602
+#: cp/class.cc:7642
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr ""
 
-#: cp/class.cc:7630
+#: cp/class.cc:7670
 #, gcc-internal-format
 msgid "type transparent %q#T does not have any fields"
 msgstr ""
 
-#: cp/class.cc:7636
+#: cp/class.cc:7676
 #, gcc-internal-format
 msgid "type transparent class %qT has base classes"
 msgstr ""
 
-#: cp/class.cc:7640
+#: cp/class.cc:7680
 #, gcc-internal-format
 msgid "type transparent class %qT has virtual functions"
 msgstr ""
 
-#: cp/class.cc:7646
+#: cp/class.cc:7686
 #, 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:7795
+#: cp/class.cc:7835
 #, gcc-internal-format
 msgid "definition of %qD does not match %<#include <initializer_list>%>"
 msgstr ""
 
-#: cp/class.cc:7806
+#: cp/class.cc:7846
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr ""
 
-#: cp/class.cc:8313
+#: cp/class.cc:8353
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr ""
 
-#: cp/class.cc:8403
+#: cp/class.cc:8443
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr ""
 
-#: cp/class.cc:8561
+#: cp/class.cc:8601
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr ""
 
-#: cp/class.cc:8588
+#: cp/class.cc:8628
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr ""
 
-#: cp/class.cc:8615
+#: cp/class.cc:8655
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr ""
 
-#: cp/class.cc:8618
+#: cp/class.cc:8658
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr ""
 
-#: cp/class.cc:8694 cp/class.cc:8736
+#: cp/class.cc:8734 cp/class.cc:8776
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr ""
 
-#: cp/class.cc:8714
+#: cp/class.cc:8754
 #, gcc-internal-format
 msgid "cannot convert %qE from type %qT to type %qT"
 msgstr ""
 
-#: cp/class.cc:9012
+#: cp/class.cc:9062
 #, gcc-internal-format
 msgid "declaration of %q#D changes meaning of %qD"
 msgstr ""
 
-#: cp/class.cc:9015
+#: cp/class.cc:9065
 #, gcc-internal-format
 msgid "used here to mean %q#D"
 msgstr ""
 
-#: cp/constexpr.cc:110
+#: cp/constexpr.cc:111
 #, gcc-internal-format
 msgid "the type %qT of %<constexpr%> variable %qD is not literal"
 msgstr ""
 
-#: cp/constexpr.cc:121
+#: cp/constexpr.cc:122
 #, gcc-internal-format
 msgid ""
 "variable %qD of non-literal type %qT in %<constexpr%> function only "
 "available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/constexpr.cc:134
+#: cp/constexpr.cc:135
 #, gcc-internal-format
 msgid "%<constexpr%> variable %qD has variably-modified type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:198
+#: cp/constexpr.cc:235
 #, gcc-internal-format
 msgid "inherited constructor %qD is not %<constexpr%>"
 msgstr ""
 
-#: cp/constexpr.cc:211
+#. constexpr_fundef_p
+#: cp/constexpr.cc:249
 #, gcc-internal-format
 msgid "invalid type for parameter %d of %<constexpr%> function %q+#D"
 msgstr ""
 
-#: cp/constexpr.cc:223
+#: cp/constexpr.cc:262
 #, gcc-internal-format
 msgid "lambdas are implicitly %<constexpr%> only in C++17 and later"
 msgstr ""
 
-#: cp/constexpr.cc:232 cp/decl.cc:13977
+#: cp/constexpr.cc:271 cp/decl.cc:14212
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> destructors only available with %<-std=c++20%> or %<-std=gnu+"
 "+20%>"
 msgstr ""
 
-#: cp/constexpr.cc:245
+#. constexpr_fundef_p
+#: cp/constexpr.cc:285
 #, gcc-internal-format
 msgid "invalid return type %qT of %<constexpr%> function %q+D"
 msgstr ""
 
-#: cp/constexpr.cc:272
+#: cp/constexpr.cc:312
 #, gcc-internal-format
 msgid "%q#T has virtual base classes"
 msgstr ""
 
-#: cp/constexpr.cc:530
+#: cp/constexpr.cc:570
 #, gcc-internal-format
 msgid "%<constexpr%> constructor does not have empty body"
 msgstr ""
 
-#: cp/constexpr.cc:790
+#: cp/constexpr.cc:830
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> constructor for union %qT must initialize exactly one non-"
 "static data member"
 msgstr ""
 
-#: cp/constexpr.cc:851
+#: cp/constexpr.cc:891
 #, gcc-internal-format
 msgid ""
 "member %qD must be initialized by mem-initializer in %<constexpr%> "
 "constructor"
 msgstr ""
 
-#: cp/constexpr.cc:914
+#: cp/constexpr.cc:954
 #, gcc-internal-format
 msgid "body of %<constexpr%> function %qD not a return-statement"
 msgstr ""
 
-#: cp/constexpr.cc:1029
+#: cp/constexpr.cc:1082
 #, gcc-internal-format
 msgid "%qD is not usable as a %<constexpr%> function because:"
 msgstr ""
 
-#: cp/constexpr.cc:1528 cp/constexpr.cc:2897
+#: cp/constexpr.cc:1534 cp/constexpr.cc:3154
+#: rust/backend/rust-constexpr.cc:3326 rust/backend/rust-constexpr.cc:3588
 #, gcc-internal-format
 msgid "%<constexpr%> call flows off the end of the function"
 msgstr ""
 
-#: cp/constexpr.cc:1533 cp/constexpr.cc:1543 cp/constexpr.cc:3108
+#: cp/constexpr.cc:1536 cp/constexpr.cc:1635 cp/constexpr.cc:1644
+#: cp/constexpr.cc:3375 rust/backend/rust-constexpr.cc:3331
+#: rust/backend/rust-constexpr.cc:3341 rust/backend/rust-constexpr.cc:4332
 #, gcc-internal-format
 msgid "%q+E is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:1852 cp/constexpr.cc:8595
+#: cp/constexpr.cc:1986
+#, gcc-internal-format
+msgid "the comparison reduces to %qE"
+msgstr ""
+
+#: cp/constexpr.cc:1989
+#, gcc-internal-format
+msgid "%qE evaluates to false"
+msgstr ""
+
+#: cp/constexpr.cc:2068
+#, gcc-internal-format
+msgid "failed %<assume%> attribute assumption"
+msgstr ""
+
+#: cp/constexpr.cc:2103 cp/constexpr.cc:9075
+#: rust/backend/rust-constexpr.cc:5766
 #, gcc-internal-format
 msgid "call to internal function %qE"
 msgstr ""
 
-#: cp/constexpr.cc:1906
+#: cp/constexpr.cc:2157 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:1908
+#: cp/constexpr.cc:2159 rust/backend/rust-constexpr.cc:2618
 #, gcc-internal-format
 msgid "originally declared %<const%> here"
 msgstr ""
 
-#: cp/constexpr.cc:2126 cp/constexpr.cc:2181 cp/constexpr.cc:2213
-#: cp/constexpr.cc:2234
+#: cp/constexpr.cc:2384 cp/constexpr.cc:2439 cp/constexpr.cc:2471
+#: cp/constexpr.cc:2492
 #, gcc-internal-format
 msgid "reference %<dynamic_cast%> failed"
 msgstr ""
 
-#: cp/constexpr.cc:2127
+#: cp/constexpr.cc:2385
 #, gcc-internal-format
 msgid "dynamic type %qT of its operand does not have a base class of type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:2151
+#: cp/constexpr.cc:2409
 #, gcc-internal-format
 msgid "virtual table pointer is used uninitialized"
 msgstr ""
 
-#: cp/constexpr.cc:2182 cp/constexpr.cc:2214
+#: cp/constexpr.cc:2440 cp/constexpr.cc:2472
 #, gcc-internal-format
 msgid ""
 "static type %qT of its operand is a non-public base class of dynamic type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:2236
+#: cp/constexpr.cc:2494
 #, gcc-internal-format
 msgid "%qT is an ambiguous base class of dynamic type %qT of its operand"
 msgstr ""
 
-#: cp/constexpr.cc:2239
+#: cp/constexpr.cc:2497
 #, gcc-internal-format
 msgid ""
 "dynamic type %qT of its operand does not have an unambiguous public base "
 "class %qT"
 msgstr ""
 
-#: cp/constexpr.cc:2316 cp/constexpr.cc:2591 cp/constexpr.cc:8627
+#: cp/constexpr.cc:2574 cp/constexpr.cc:2848 cp/constexpr.cc:9107
+#: rust/backend/rust-constexpr.cc:5797
 #, 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:2322
+#: cp/constexpr.cc:2580
 #, gcc-internal-format
 msgid "calling constexpr member function %qD through virtual base subobject"
 msgstr ""
 
-#: cp/constexpr.cc:2439
+#: cp/constexpr.cc:2696 rust/backend/rust-constexpr.cc:3386
 #, gcc-internal-format
 msgid "expression %qE does not designate a %<constexpr%> function"
 msgstr ""
 
-#: cp/constexpr.cc:2512
+#: cp/constexpr.cc:2769
 #, gcc-internal-format
 msgid "array deallocation of object allocated with non-array allocation"
 msgstr ""
 
-#: cp/constexpr.cc:2516 cp/constexpr.cc:2538
+#: cp/constexpr.cc:2773 cp/constexpr.cc:2795
 #, gcc-internal-format
 msgid "allocation performed here"
 msgstr ""
 
-#: cp/constexpr.cc:2534
+#: cp/constexpr.cc:2791
 #, gcc-internal-format
 msgid "non-array deallocation of object allocated with array allocation"
 msgstr ""
 
-#: cp/constexpr.cc:2551
+#: cp/constexpr.cc:2808
 #, gcc-internal-format
 msgid "deallocation of already deallocated storage"
 msgstr ""
 
-#: cp/constexpr.cc:2558
+#: cp/constexpr.cc:2815
 #, gcc-internal-format
 msgid "deallocation of storage that was not previously allocated"
 msgstr ""
 
-#: cp/constexpr.cc:2687
+#: cp/constexpr.cc:2944 rust/backend/rust-constexpr.cc:3441
 #, gcc-internal-format
 msgid "%qD called in a constant expression before its definition is complete"
 msgstr ""
 
-#: cp/constexpr.cc:2694
+#: cp/constexpr.cc:2951
 #, gcc-internal-format
 msgid "%qD called in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:2698
+#: cp/constexpr.cc:2955 rust/backend/rust-constexpr.cc:3455
 #, gcc-internal-format
 msgid "%qD used before its definition"
 msgstr ""
 
-#: cp/constexpr.cc:2770
+#: cp/constexpr.cc:3027 rust/backend/rust-constexpr.cc:3497
 #, gcc-internal-format
 msgid "call has circular dependency"
 msgstr ""
 
-#: cp/constexpr.cc:2781
+#: cp/constexpr.cc:3038 rust/backend/rust-constexpr.cc:3508
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> evaluation depth exceeds maximum of %d (use %<-fconstexpr-"
 "depth=%> to increase the maximum)"
 msgstr ""
 
-#: cp/constexpr.cc:3148
+#: cp/constexpr.cc:3415
 #, gcc-internal-format
 msgid "right operand of shift expression %q+E is negative"
 msgstr ""
 
-#: cp/constexpr.cc:3155
+#: cp/constexpr.cc:3422
 #, 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:3178
+#: cp/constexpr.cc:3445
 #, gcc-internal-format
 msgid "left operand of shift expression %q+E is negative"
 msgstr ""
 
-#: cp/constexpr.cc:3197
+#: cp/constexpr.cc:3464
 #, gcc-internal-format
 msgid "shift expression %q+E overflows"
 msgstr ""
 
-#: cp/constexpr.cc:3396
+#: cp/constexpr.cc:3663
 #, gcc-internal-format
 msgid "arithmetic involving a null pointer in %qE"
 msgstr ""
 
-#: cp/constexpr.cc:3811
+#: cp/constexpr.cc:4085 rust/backend/rust-constexpr.cc:4407
 #, gcc-internal-format
 msgid ""
 "array subscript value %qE is outside the bounds of array %qD of type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:3814
+#: cp/constexpr.cc:4088 rust/backend/rust-constexpr.cc:4412
 #, gcc-internal-format
 msgid ""
 "nonzero array subscript %qE is used with array %qD of type %qT with unknown "
 "bounds"
 msgstr ""
 
-#: cp/constexpr.cc:3819
+#: cp/constexpr.cc:4093 rust/backend/rust-constexpr.cc:4419
 #, gcc-internal-format
 msgid "array subscript value %qE is outside the bounds of array type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:3822
+#: cp/constexpr.cc:4096 rust/backend/rust-constexpr.cc:4424
 #, gcc-internal-format
 msgid ""
 "nonzero array subscript %qE is used with array of type %qT with unknown "
 "bounds"
 msgstr ""
 
-#: cp/constexpr.cc:4005
+#: cp/constexpr.cc:4281 rust/backend/rust-constexpr.cc:1666
 #, gcc-internal-format
 msgid "accessing uninitialized array element"
 msgstr ""
 
-#: cp/constexpr.cc:4062
+#: cp/constexpr.cc:4336 rust/backend/rust-constexpr.cc:1723
 #, gcc-internal-format
 msgid "dereferencing a null pointer in %qE"
 msgstr ""
 
-#: cp/constexpr.cc:4079 cp/constexpr.cc:4178 cp/constexpr.cc:6612
-#: cp/constexpr.cc:6711 cp/constexpr.cc:8547
+#: cp/constexpr.cc:4355 cp/constexpr.cc:4455 cp/constexpr.cc:4467
+#: cp/constexpr.cc:7010 cp/constexpr.cc:7108 cp/constexpr.cc:9025
+#: rust/backend/rust-constexpr.cc:1737 rust/backend/rust-constexpr.cc:1982
+#: rust/backend/rust-constexpr.cc:2224 rust/backend/rust-constexpr.cc:4751
+#: rust/backend/rust-constexpr.cc:5720
 #, gcc-internal-format
 msgid "%qE is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:4085
+#: cp/constexpr.cc:4363 rust/backend/rust-constexpr.cc:1743
 #, gcc-internal-format
 msgid "mutable %qD is not usable in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:4116 cp/constexpr.cc:4138
+#: cp/constexpr.cc:4393 cp/constexpr.cc:4415
+#: rust/backend/rust-constexpr.cc:1773 rust/backend/rust-constexpr.cc:1796
 #, gcc-internal-format
 msgid "accessing uninitialized member %qD"
 msgstr ""
 
-#: cp/constexpr.cc:4118
+#: cp/constexpr.cc:4395 rust/backend/rust-constexpr.cc:1775
 #, gcc-internal-format
 msgid ""
 "accessing %qD member instead of initialized %qD member in constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:4249
+#: cp/constexpr.cc:4533
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is a union type"
 msgstr ""
 
-#: cp/constexpr.cc:4252
+#: cp/constexpr.cc:4536
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT contains a union type"
 msgstr ""
 
-#: cp/constexpr.cc:4263
+#: cp/constexpr.cc:4547
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is a pointer type"
 msgstr ""
 
-#: cp/constexpr.cc:4266
+#: cp/constexpr.cc:4550
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT contains a pointer type"
 msgstr ""
 
-#: cp/constexpr.cc:4277
+#: cp/constexpr.cc:4561
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is a reference type"
 msgstr ""
 
-#: cp/constexpr.cc:4280
+#: cp/constexpr.cc:4564
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT contains a reference type"
 msgstr ""
 
-#: cp/constexpr.cc:4291
+#: cp/constexpr.cc:4575
 #, gcc-internal-format
 msgid ""
 "%qs is not a constant expression because %qT is a pointer to member type"
 msgstr ""
 
-#: cp/constexpr.cc:4295
+#: cp/constexpr.cc:4579
 #, gcc-internal-format
 msgid ""
 "%qs is not a constant expression because %qT contains a pointer to member "
 "type"
 msgstr ""
 
-#: cp/constexpr.cc:4306
+#: cp/constexpr.cc:4590
 #, gcc-internal-format
 msgid "%qs is not a constant expression because %qT is volatile"
 msgstr ""
 
-#: cp/constexpr.cc:4309
+#: cp/constexpr.cc:4593
 #, gcc-internal-format
 msgid ""
 "%qs is not a constant expression because %qT contains a volatile subobject"
 msgstr ""
 
-#: cp/constexpr.cc:4462
+#: cp/constexpr.cc:4746
 #, gcc-internal-format
 msgid "%qs cannot be constant evaluated on the target"
 msgstr ""
 
-#: cp/constexpr.cc:4471 cp/constexpr.cc:4481
+#: cp/constexpr.cc:4755 cp/constexpr.cc:4765
 #, gcc-internal-format
 msgid "%qs cannot be constant evaluated because the type is too large"
 msgstr ""
 
-#: cp/constexpr.cc:4501
+#: cp/constexpr.cc:4785
 #, gcc-internal-format
 msgid "%qs cannot be constant evaluated because the argument cannot be encoded"
 msgstr ""
 
-#: cp/constexpr.cc:4540
+#: cp/constexpr.cc:4824
 #, gcc-internal-format
 msgid "%qs accessing uninitialized byte at offset %d"
 msgstr ""
 
-#: cp/constexpr.cc:4552
+#: cp/constexpr.cc:4836
 #, gcc-internal-format
 msgid ""
 "%qs cannot be constant evaluated because the argument cannot be interpreted"
 msgstr ""
 
-#: cp/constexpr.cc:5343 cp/constexpr.cc:7306
+#: cp/constexpr.cc:5646 cp/constexpr.cc:7700 rust/backend/rust-constexpr.cc:874
+#: rust/backend/rust-constexpr.cc:2494
 #, gcc-internal-format
 msgid "dereferencing a null pointer"
 msgstr ""
 
-#: cp/constexpr.cc:5363
+#: cp/constexpr.cc:5666 rust/backend/rust-constexpr.cc:894
 #, gcc-internal-format
 msgid "accessing value of %qE through a %qT glvalue in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:5408
+#: cp/constexpr.cc:5712
 #, gcc-internal-format
 msgid ""
 "the content of uninitialized storage is not usable in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:5410 cp/constexpr.cc:5417
+#: cp/constexpr.cc:5714 cp/constexpr.cc:5721
 #, gcc-internal-format
 msgid "allocated here"
 msgstr ""
 
-#: cp/constexpr.cc:5415
+#: cp/constexpr.cc:5719
 #, gcc-internal-format
 msgid "use of allocated storage after deallocation in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:5420
+#: cp/constexpr.cc:5724 rust/backend/rust-constexpr.cc:4038
 #, gcc-internal-format
 msgid "the value of %qD is not usable in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:5427
+#: cp/constexpr.cc:5732
 #, gcc-internal-format
 msgid "%qD used in its own initializer"
 msgstr ""
 
-#: cp/constexpr.cc:5432
+#: cp/constexpr.cc:5737
 #, gcc-internal-format
 msgid "%q#D is not const"
 msgstr ""
 
-#: cp/constexpr.cc:5435
+#: cp/constexpr.cc:5740
 #, gcc-internal-format
 msgid "%q#D is volatile"
 msgstr ""
 
-#: cp/constexpr.cc:5440 cp/constexpr.cc:5447
+#: cp/constexpr.cc:5745 cp/constexpr.cc:5752
 #, gcc-internal-format
 msgid "%qD was not initialized with a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:5453
+#: cp/constexpr.cc:5758
 #, gcc-internal-format
 msgid "%qD was not declared %<constexpr%>"
 msgstr ""
 
-#: cp/constexpr.cc:5456
+#: cp/constexpr.cc:5761
 #, gcc-internal-format
 msgid "%qD does not have integral or enumeration type"
 msgstr ""
 
-#: cp/constexpr.cc:5711
+#: cp/constexpr.cc:6030 rust/backend/rust-constexpr.cc:2753
 #, gcc-internal-format
 msgid "modification of %qE is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:5780
+#: cp/constexpr.cc:6128
 #, gcc-internal-format
 msgid "change of the active member of a union from %qD to %qD"
 msgstr ""
 
-#: cp/constexpr.cc:5793
+#: cp/constexpr.cc:6141 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:6191 cp/constexpr.cc:7583
+#: cp/constexpr.cc:6587 cp/constexpr.cc:8041 cp/constexpr.cc:8053
+#: rust/backend/rust-constexpr.cc:4676
 #, gcc-internal-format
 msgid "statement is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:6295
+#: cp/constexpr.cc:6691 rust/backend/rust-constexpr.cc:4941
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> loop iteration count exceeds limit of %d (use %<-fconstexpr-"
 "loop-limit=%> to increase the limit)"
 msgstr ""
 
-#: cp/constexpr.cc:6395
+#: cp/constexpr.cc:6792 rust/backend/rust-constexpr.cc:998
 #, gcc-internal-format
 msgid "inline assembly is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:6396
+#: cp/constexpr.cc:6794 rust/backend/rust-constexpr.cc:999
 #, gcc-internal-format
 msgid ""
 "only unevaluated inline assembly is allowed in a %<constexpr%> function in C+"
 "+20"
 msgstr ""
 
-#: cp/constexpr.cc:6414
+#: cp/constexpr.cc:6812
 #, gcc-internal-format
 msgid "use of %qD"
 msgstr ""
 
-#: cp/constexpr.cc:6418
+#: cp/constexpr.cc:6816
 #, gcc-internal-format
 msgid ""
 "its value can vary between compiler versions or with different %<-mtune%> or "
 "%<-mcpu%> flags"
 msgstr ""
 
-#: cp/constexpr.cc:6420
+#: cp/constexpr.cc:6818
 #, 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:6422
+#: cp/constexpr.cc:6820
 #, gcc-internal-format, gfc-internal-format
 msgid "the default value for the current CPU tuning is %d bytes"
 msgstr ""
 
-#: cp/constexpr.cc:6424
+#: cp/constexpr.cc:6822
 #, gcc-internal-format
 msgid ""
 "you can stabilize this value with %<--param "
@@ -52196,209 +53654,221 @@ msgid ""
 "Wno-interference-size%>"
 msgstr ""
 
-#: cp/constexpr.cc:6574
+#: cp/constexpr.cc:6972
 #, gcc-internal-format
 msgid "value %qE of type %qT is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:6587
+#: cp/constexpr.cc:6985
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> evaluation operation count exceeds limit of %wd (use %<-"
 "fconstexpr-ops-limit=%> to increase the limit)"
 msgstr ""
 
-#: cp/constexpr.cc:6740
+#: cp/constexpr.cc:7138
 #, gcc-internal-format
 msgid "control passes through definition of %qD with thread storage duration"
 msgstr ""
 
-#: cp/constexpr.cc:6743
+#: cp/constexpr.cc:7141
 #, gcc-internal-format
 msgid "control passes through definition of %qD with static storage duration"
 msgstr ""
 
-#: cp/constexpr.cc:6791 cp/constexpr.cc:9227
+#: cp/constexpr.cc:7188 cp/constexpr.cc:9733
+#: rust/backend/rust-constexpr.cc:2055 rust/backend/rust-constexpr.cc:6215
 #, gcc-internal-format
 msgid "temporary of non-literal type %qT in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7225 cp/constexpr.cc:8752
+#: cp/constexpr.cc:7619 cp/constexpr.cc:9236
 #, gcc-internal-format
 msgid "%<reinterpret_cast%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7253
+#: cp/constexpr.cc:7647 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:7281
+#: cp/constexpr.cc:7675 rust/backend/rust-constexpr.cc:2480
 #, gcc-internal-format
 msgid "cast from %qT is not allowed"
 msgstr ""
 
-#: cp/constexpr.cc:7317
+#: cp/constexpr.cc:7711 rust/backend/rust-constexpr.cc:2506
 #, gcc-internal-format
 msgid "%<reinterpret_cast<%T>(%E)%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7435 cp/constexpr.cc:9046 cp/constexpr.cc:9447
+#: cp/constexpr.cc:7842 cp/constexpr.cc:9546 cp/constexpr.cc:9956
+#: rust/backend/rust-constexpr.cc:6108 rust/backend/rust-constexpr.cc:6424
 #, gcc-internal-format
 msgid "expression %qE is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7480 cp/constexpr.cc:9486
+#: cp/constexpr.cc:7887 cp/constexpr.cc:9997
 #, gcc-internal-format
 msgid "%<goto%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7536
+#: cp/constexpr.cc:7945
+#, gcc-internal-format
+msgid "contract predicate is false in constant expression"
+msgstr ""
+
+#: cp/constexpr.cc:7961
 #, gcc-internal-format
 msgid "unexpected template-id %qE"
 msgstr ""
 
-#: cp/constexpr.cc:7542 cp/constraint.cc:178 cp/constraint.cc:714
+#: cp/constexpr.cc:7967 cp/constraint.cc:178 cp/constraint.cc:753
 #, gcc-internal-format
 msgid "function concept must be called"
 msgstr ""
 
-#: cp/constexpr.cc:7567
+#: cp/constexpr.cc:7992
 #, gcc-internal-format
 msgid "address of a call to %qs is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:7586
+#: cp/constexpr.cc:8056
 #, gcc-internal-format
 msgid "unexpected expression %qE of kind %s"
 msgstr ""
 
-#: cp/constexpr.cc:7844
+#: cp/constexpr.cc:8314 rust/backend/rust-constexpr.cc:5166
 #, gcc-internal-format
 msgid ""
 "%qE is not a constant expression because it refers to mutable subobjects of "
 "%qT"
 msgstr ""
 
-#: cp/constexpr.cc:7852
+#: cp/constexpr.cc:8322 rust/backend/rust-constexpr.cc:5175
 #, gcc-internal-format
 msgid ""
 "%qE is not a constant expression because it refers to an incompletely "
 "initialized variable"
 msgstr ""
 
-#: cp/constexpr.cc:7867
+#: cp/constexpr.cc:8337 rust/backend/rust-constexpr.cc:5191
 #, gcc-internal-format
 msgid ""
 "%qE is not a constant expression because it refers to a result of %<operator "
 "new%>"
 msgstr ""
 
-#: cp/constexpr.cc:7878
+#: cp/constexpr.cc:8348 rust/backend/rust-constexpr.cc:5203
 #, gcc-internal-format
 msgid ""
 "%qE is not a constant expression because allocated storage has not been "
 "deallocated"
 msgstr ""
 
-#: cp/constexpr.cc:7896
+#: cp/constexpr.cc:8366 rust/backend/rust-constexpr.cc:5221
 #, gcc-internal-format
 msgid "immediate evaluation returns address of immediate function %qD"
 msgstr ""
 
-#: cp/constexpr.cc:8487
+#: cp/constexpr.cc:8963 rust/backend/rust-constexpr.cc:5675
 #, gcc-internal-format
 msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT"
 msgstr ""
 
-#: cp/constexpr.cc:8717
+#: cp/constexpr.cc:9201
 #, gcc-internal-format
 msgid "lambda capture of %qE is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8720
+#: cp/constexpr.cc:9204
 #, gcc-internal-format
 msgid "because it is used as a glvalue"
 msgstr ""
 
-#: cp/constexpr.cc:8772
+#: cp/constexpr.cc:9260 rust/backend/rust-constexpr.cc:5901
 #, gcc-internal-format
 msgid "%<reinterpret_cast%> from integer to pointer"
 msgstr ""
 
-#: cp/constexpr.cc:8805
+#: cp/constexpr.cc:9294 rust/backend/rust-constexpr.cc:5929
 #, gcc-internal-format
 msgid ""
 "address-of an object %qE with thread local or automatic storage is not a "
 "constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8844
+#: cp/constexpr.cc:9333
 #, gcc-internal-format
 msgid "use of %<this%> in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:8992
+#: cp/constexpr.cc:9482
 #, gcc-internal-format
 msgid "lambda-expression is not a constant expression before C++17"
 msgstr ""
 
-#: cp/constexpr.cc:9060
+#: cp/constexpr.cc:9494
+#, gcc-internal-format
+msgid "new-expression is not a constant expression before C++20"
+msgstr ""
+
+#: cp/constexpr.cc:9560
 #, gcc-internal-format
 msgid "virtual functions cannot be %<constexpr%> before C++20"
 msgstr ""
 
-#: cp/constexpr.cc:9075
+#: cp/constexpr.cc:9576
 #, gcc-internal-format
 msgid ""
 "%<typeid%> is not a constant expression because %qE is of polymorphic type"
 msgstr ""
 
-#: cp/constexpr.cc:9139
+#: cp/constexpr.cc:9639
 #, gcc-internal-format
 msgid "cast to non-integral type %qT in a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:9196
+#: cp/constexpr.cc:9700
 #, gcc-internal-format
 msgid "%qD defined %<thread_local%> in %<constexpr%> context"
 msgstr ""
 
-#: cp/constexpr.cc:9203
+#: cp/constexpr.cc:9708
 #, gcc-internal-format
 msgid "%qD defined %<static%> in %<constexpr%> context"
 msgstr ""
 
-#: cp/constexpr.cc:9276
+#: cp/constexpr.cc:9783 rust/backend/rust-constexpr.cc:6260
 #, gcc-internal-format
 msgid "division by zero is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:9377
+#: cp/constexpr.cc:9884 rust/backend/rust-constexpr.cc:6358
 #, gcc-internal-format
 msgid "%<delete[]%> is not a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:9445
+#: cp/constexpr.cc:9953
 #, gcc-internal-format
 msgid "neither branch of %<if%> is a constant expression"
 msgstr ""
 
-#: cp/constexpr.cc:9456
+#: cp/constexpr.cc:9966
 #, gcc-internal-format
 msgid "non-constant array initialization"
 msgstr ""
 
-#: cp/constexpr.cc:9495
+#: cp/constexpr.cc:10014 rust/backend/rust-constexpr.cc:6436
 #, gcc-internal-format
 msgid ""
-"label definition in %<constexpr%> function only available with %<-std=c++2b"
-"%> or %<-std=gnu++2b%>"
+"label definition in %<constexpr%> function only available with %<-std=c+"
+"+2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/constexpr.cc:9525
+#: cp/constexpr.cc:10045 rust/backend/rust-constexpr.cc:6447
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected AST of kind %s"
 msgstr ""
@@ -52433,323 +53903,496 @@ msgstr ""
 msgid "argument %qE"
 msgstr ""
 
-#: cp/constraint.cc:1150
+#: cp/constraint.cc:1225
 #, gcc-internal-format
 msgid "%qT does not match original declaration"
 msgstr ""
 
-#: cp/constraint.cc:1153
+#: cp/constraint.cc:1228
 #, gcc-internal-format
 msgid "original template declaration here"
 msgstr ""
 
-#: cp/constraint.cc:1352
+#: cp/constraint.cc:1428
 #, gcc-internal-format
 msgid "no matching concepts for %qE"
 msgstr ""
 
-#: cp/constraint.cc:1653
+#: cp/constraint.cc:1731
 #, gcc-internal-format
 msgid "%qE cannot be introduced with an ellipsis %<...%>"
 msgstr ""
 
-#: cp/constraint.cc:1654
+#: cp/constraint.cc:1732
 #, gcc-internal-format
 msgid "prototype declared here"
 msgstr ""
 
-#: cp/constraint.cc:1741
+#: cp/constraint.cc:1819
 #, gcc-internal-format
 msgid "all template parameters of %qD must be introduced"
 msgstr ""
 
-#: cp/constraint.cc:1769
+#: cp/constraint.cc:1847
 #, gcc-internal-format
 msgid "cannot deduce template parameters from introduction list"
 msgstr ""
 
-#: cp/constraint.cc:1933
+#: cp/constraint.cc:2011
 #, gcc-internal-format
 msgid "the required expression %qE is invalid, because"
 msgstr ""
 
-#: cp/constraint.cc:1940
+#: cp/constraint.cc:2018
 #, gcc-internal-format
 msgid "the required expression %qE is invalid"
 msgstr ""
 
 #. Replay the substitution error.
-#: cp/constraint.cc:1979
+#: cp/constraint.cc:2057
 #, gcc-internal-format
 msgid "the required type %qT is invalid, because"
 msgstr ""
 
-#: cp/constraint.cc:1983
+#: cp/constraint.cc:2061
 #, gcc-internal-format
 msgid "the required type %qT is invalid"
 msgstr ""
 
-#: cp/constraint.cc:2036 cp/constraint.cc:2109
+#: cp/constraint.cc:2114 cp/constraint.cc:2187
 #, gcc-internal-format
 msgid "cannot convert %qE to %qT"
 msgstr ""
 
-#: cp/constraint.cc:2062
+#: cp/constraint.cc:2140
 #, gcc-internal-format
 msgid "%qE is not %<noexcept%>"
 msgstr ""
 
-#: cp/constraint.cc:2086
+#: cp/constraint.cc:2164
 #, gcc-internal-format
 msgid "%qE does not satisfy return-type-requirement, because"
 msgstr ""
 
-#: cp/constraint.cc:2093
+#: cp/constraint.cc:2171
 #, gcc-internal-format
 msgid "%qE does not satisfy return-type-requirement"
 msgstr ""
 
-#: cp/constraint.cc:2104
+#: cp/constraint.cc:2182
 #, gcc-internal-format
 msgid "cannot convert %qE to %qT because"
 msgstr ""
 
 #. Replay the substitution error.
-#: cp/constraint.cc:2136
+#: cp/constraint.cc:2214
 #, gcc-internal-format
 msgid "nested requirement %qE is not satisfied, because"
 msgstr ""
 
-#: cp/constraint.cc:2140
+#: cp/constraint.cc:2218
 #, gcc-internal-format
 msgid "nested requirement %qE is not satisfied"
 msgstr ""
 
-#: cp/constraint.cc:2627
+#: cp/constraint.cc:2711
 #, gcc-internal-format
 msgid "satisfaction of atomic constraint %qE depends on itself"
 msgstr ""
 
-#: cp/constraint.cc:2673
+#: cp/constraint.cc:2757
 #, gcc-internal-format
 msgid "satisfaction value of atomic constraint %qE changed from %qE to %qE"
 msgstr ""
 
-#: cp/constraint.cc:2676
+#: cp/constraint.cc:2760
 #, gcc-internal-format
 msgid "satisfaction value first evaluated to %qE from here"
 msgstr ""
 
-#: cp/constraint.cc:2793
+#: cp/constraint.cc:2877
 #, gcc-internal-format
 msgid "no operand of the disjunction is satisfied"
 msgstr ""
 
-#: cp/constraint.cc:2806
+#: cp/constraint.cc:2890
 #, gcc-internal-format
 msgid "the operand %qE is unsatisfied because"
 msgstr ""
 
-#: cp/constraint.cc:3439
+#: cp/constraint.cc:3533
 #, gcc-internal-format
 msgid "definition of concept %qD is empty"
 msgstr ""
 
-#: cp/constraint.cc:3442
+#: cp/constraint.cc:3536
 #, gcc-internal-format
 msgid "definition of concept %qD has multiple statements"
 msgstr ""
 
-#: cp/constraint.cc:3588
+#: cp/constraint.cc:3682
 #, gcc-internal-format
-msgid "  %qT is not %<nothrow%> copy assignable"
+msgid "  %qT is not nothrow copy assignable"
 msgstr ""
 
-#: cp/constraint.cc:3591 cp/constraint.cc:3686
+#: cp/constraint.cc:3685 cp/constraint.cc:3780
 #, gcc-internal-format
-msgid "  %qT is not %<nothrow%> default constructible"
+msgid "  %qT is not nothrow default constructible"
 msgstr ""
 
-#: cp/constraint.cc:3594
+#: cp/constraint.cc:3688
 #, gcc-internal-format
-msgid "  %qT is not %<nothrow%> copy constructible"
+msgid "  %qT is not nothrow copy constructible"
 msgstr ""
 
-#: cp/constraint.cc:3597
+#: cp/constraint.cc:3691
 #, gcc-internal-format
 msgid "  %qT is not trivially copy assignable"
 msgstr ""
 
-#: cp/constraint.cc:3600 cp/constraint.cc:3680
+#: cp/constraint.cc:3694 cp/constraint.cc:3774
 #, gcc-internal-format
 msgid "  %qT is not trivially default constructible"
 msgstr ""
 
-#: cp/constraint.cc:3603
+#: cp/constraint.cc:3697
 #, gcc-internal-format
 msgid "  %qT is not trivially copy constructible"
 msgstr ""
 
-#: cp/constraint.cc:3606
+#: cp/constraint.cc:3700
 #, gcc-internal-format
 msgid "  %qT is not trivially destructible"
 msgstr ""
 
-#: cp/constraint.cc:3609
+#: cp/constraint.cc:3703
 #, gcc-internal-format
 msgid "  %qT does not have a virtual destructor"
 msgstr ""
 
-#: cp/constraint.cc:3612
+#: cp/constraint.cc:3706
 #, gcc-internal-format
 msgid "  %qT is not an abstract class"
 msgstr ""
 
-#: cp/constraint.cc:3615
+#: cp/constraint.cc:3709
 #, gcc-internal-format
 msgid "  %qT is not a base of %qT"
 msgstr ""
 
-#: cp/constraint.cc:3618
+#: cp/constraint.cc:3712
 #, gcc-internal-format
 msgid "  %qT is not a class"
 msgstr ""
 
-#: cp/constraint.cc:3621
+#: cp/constraint.cc:3715
 #, gcc-internal-format
 msgid "  %qT is not an empty class"
 msgstr ""
 
-#: cp/constraint.cc:3624
+#: cp/constraint.cc:3718
 #, gcc-internal-format
 msgid "  %qT is not an enum"
 msgstr ""
 
-#: cp/constraint.cc:3627
+#: cp/constraint.cc:3721
 #, gcc-internal-format
 msgid "  %qT is not a final class"
 msgstr ""
 
-#: cp/constraint.cc:3630
+#: cp/constraint.cc:3724
 #, gcc-internal-format
 msgid "  %qT is not layout compatible with %qT"
 msgstr ""
 
-#: cp/constraint.cc:3633
+#: cp/constraint.cc:3727
 #, gcc-internal-format
 msgid "  %qT is not a literal type"
 msgstr ""
 
-#: cp/constraint.cc:3636
+#: cp/constraint.cc:3730
 #, gcc-internal-format
 msgid "  %qT is not pointer-interconvertible base of %qT"
 msgstr ""
 
-#: cp/constraint.cc:3640
+#: cp/constraint.cc:3734
 #, gcc-internal-format
 msgid "  %qT is not a POD type"
 msgstr ""
 
-#: cp/constraint.cc:3643
+#: cp/constraint.cc:3737
 #, gcc-internal-format
 msgid "  %qT is not a polymorphic type"
 msgstr ""
 
-#: cp/constraint.cc:3646
+#: cp/constraint.cc:3740
 #, gcc-internal-format
 msgid "  %qT is not the same as %qT"
 msgstr ""
 
-#: cp/constraint.cc:3649
+#: cp/constraint.cc:3743
 #, gcc-internal-format
 msgid "  %qT is not an standard layout type"
 msgstr ""
 
-#: cp/constraint.cc:3652
+#: cp/constraint.cc:3746
 #, gcc-internal-format
 msgid "  %qT is not a trivial type"
 msgstr ""
 
-#: cp/constraint.cc:3655
+#: cp/constraint.cc:3749
 #, gcc-internal-format
 msgid "  %qT is not a union"
 msgstr ""
 
-#: cp/constraint.cc:3658
+#: cp/constraint.cc:3752
 #, gcc-internal-format
 msgid "  %qT is not an aggregate"
 msgstr ""
 
-#: cp/constraint.cc:3661
+#: cp/constraint.cc:3755
 #, gcc-internal-format
 msgid "  %qT is not trivially copyable"
 msgstr ""
 
-#: cp/constraint.cc:3664
+#: cp/constraint.cc:3758
 #, gcc-internal-format
 msgid "  %qT is not assignable from %qT"
 msgstr ""
 
-#: cp/constraint.cc:3667
+#: cp/constraint.cc:3761
 #, gcc-internal-format
 msgid "  %qT is not trivially assignable from %qT"
 msgstr ""
 
-#: cp/constraint.cc:3670
+#: cp/constraint.cc:3764
 #, gcc-internal-format
-msgid "  %qT is not %<nothrow%> assignable from %qT"
+msgid "  %qT is not nothrow assignable from %qT"
 msgstr ""
 
-#: cp/constraint.cc:3674
+#: cp/constraint.cc:3768
 #, gcc-internal-format
 msgid "  %qT is not default constructible"
 msgstr ""
 
-#: cp/constraint.cc:3676
+#: cp/constraint.cc:3770
 #, gcc-internal-format
 msgid "  %qT is not constructible from %qE"
 msgstr ""
 
-#: cp/constraint.cc:3682
+#: cp/constraint.cc:3776
 #, gcc-internal-format
 msgid "  %qT is not trivially constructible from %qE"
 msgstr ""
 
-#: cp/constraint.cc:3688
+#: cp/constraint.cc:3782
 #, gcc-internal-format
-msgid "  %qT is not %<nothrow%> constructible from %qE"
+msgid "  %qT is not nothrow constructible from %qE"
 msgstr ""
 
-#: cp/constraint.cc:3691
+#: cp/constraint.cc:3785
 #, gcc-internal-format
 msgid "  %qT does not have unique object representations"
 msgstr ""
 
-#: cp/constraint.cc:3717
+#: cp/constraint.cc:3788
+#, gcc-internal-format
+msgid "  %qT is not convertible from %qE"
+msgstr ""
+
+#: cp/constraint.cc:3791
+#, gcc-internal-format
+msgid "  %qT is not nothrow convertible from %qE"
+msgstr ""
+
+#: cp/constraint.cc:3794
+#, gcc-internal-format
+msgid ""
+"  %qT is not a reference that binds to a temporary object of type %qT "
+"(direct-initialization)"
+msgstr ""
+
+#: cp/constraint.cc:3798
+#, gcc-internal-format
+msgid ""
+"  %qT is not a reference that binds to a temporary object of type %qT (copy-"
+"initialization)"
+msgstr ""
+
+#: cp/constraint.cc:3826
 #, gcc-internal-format
 msgid "invalid constraints"
 msgstr ""
 
-#: cp/constraint.cc:3742
+#: cp/constraint.cc:3851
 #, gcc-internal-format
 msgid "constraint %qE has type %qT, not %<bool%>"
 msgstr ""
 
-#: cp/constraint.cc:3745
+#: cp/constraint.cc:3854
 #, gcc-internal-format
 msgid "the expression %qE evaluated to %<false%>"
 msgstr ""
 
-#: cp/constraint.cc:3796
+#: cp/constraint.cc:3905
 #, gcc-internal-format
 msgid "constraints not satisfied"
 msgstr ""
 
-#: cp/constraint.cc:3811
+#: cp/constraint.cc:3920
 #, gcc-internal-format
 msgid "set %qs to at least %d for more detail"
 msgstr ""
 
+#: cp/contracts.cc:182
+#, gcc-internal-format
+msgid "axiom contract semantic must be %<assume%> or %<ignore%>"
+msgstr ""
+
+#: cp/contracts.cc:185
+#, gcc-internal-format
+msgid ""
+"the %<audit%> semantic should be at least as strong as the %<default%> "
+"semantic"
+msgstr ""
+
+#: cp/contracts.cc:203
+#, gcc-internal-format, gfc-internal-format
+msgid "'%s' is not a valid explicit concrete semantic"
+msgstr ""
+
+#: cp/contracts.cc:343
+#, gcc-internal-format
+msgid "%<-fcontract-build-level=%> cannot be mixed with p1332/p1429"
+msgstr ""
+
+#: cp/contracts.cc:356
+#, gcc-internal-format
+msgid "%<-fcontract-build-level=%> must be off|default|audit"
+msgstr ""
+
+#: cp/contracts.cc:366
+#, gcc-internal-format
+msgid "%<-fcontract-assumption-mode=%> cannot be mixed with p1332/p1429"
+msgstr ""
+
+#: cp/contracts.cc:377
+#, gcc-internal-format
+msgid "%<-fcontract-assumption-mode=%> must be %<on%> or %<off%>"
+msgstr ""
+
+#: cp/contracts.cc:387
+#, gcc-internal-format
+msgid "%<-fcontract-continuation-mode=%> cannot be mixed with p1332/p1429"
+msgstr ""
+
+#: cp/contracts.cc:398
+#, gcc-internal-format
+msgid "%<-fcontract-continuation-mode=%> must be %<on%> or %<off%>"
+msgstr ""
+
+#: cp/contracts.cc:410
+#, gcc-internal-format
+msgid "%<-fcontract-role=%> must be in the form role:semantics"
+msgstr ""
+
+#: cp/contracts.cc:421 cp/contracts.cc:430
+#, gcc-internal-format
+msgid "%<-fcontract-role=%> semantics must include default,audit,axiom values"
+msgstr ""
+
+#: cp/contracts.cc:449
+#, gcc-internal-format
+msgid "%<-fcontract-role=%> cannot be mixed with std/p1429 contract flags"
+msgstr ""
+
+#. TODO: not enough space?
+#: cp/contracts.cc:463
+#, gcc-internal-format
+msgid "%<-fcontract-level=%> too many custom roles"
+msgstr ""
+
+#: cp/contracts.cc:475
+#, gcc-internal-format
+msgid "%<-fcontract-semantic=%> must be in the form level:semantic"
+msgstr ""
+
+#: cp/contracts.cc:481
+#, gcc-internal-format
+msgid "%<-fcontract-semantic=%> cannot be mixed with std/p1332 contract flags"
+msgstr ""
+
+#: cp/contracts.cc:489
+#, gcc-internal-format
+msgid "%<-fcontract-semantic=%> cannot find default role"
+msgstr ""
+
+#: cp/contracts.cc:505
+#, gcc-internal-format
+msgid "%<-fcontract-semantic=%> level must be default, audit, or axiom"
+msgstr ""
+
+#: cp/contracts.cc:647
+#, gcc-internal-format, gfc-internal-format
+msgid "%s does not return a value to test"
+msgstr ""
+
+#: cp/contracts.cc:1145
+#, gcc-internal-format
+msgid "mismatched contract attribute in declaration"
+msgstr ""
+
+#: cp/contracts.cc:1147 cp/contracts.cc:1178
+#, gcc-internal-format
+msgid "previous contract here"
+msgstr ""
+
+#: cp/contracts.cc:1175
+#, gcc-internal-format
+msgid "mismatched contract condition in declaration"
+msgstr ""
+
+#: cp/contracts.cc:1218
+#, gcc-internal-format
+msgid ""
+"declaration has a different number of contracts than previously declared"
+msgstr ""
+
+#: cp/contracts.cc:1224
+#, gcc-internal-format
+msgid "original declaration with fewer contracts here"
+msgstr ""
+
+#: cp/contracts.cc:1961
+#, gcc-internal-format
+msgid "contracts must appertain to a function type"
+msgstr ""
+
+#: cp/contracts.cc:2174
+#, gcc-internal-format
+msgid "cannot add contracts after definition"
+msgstr ""
+
+#: cp/contracts.cc:2175
+#, gcc-internal-format
+msgid "original definition here"
+msgstr ""
+
+#: cp/contracts.cc:2183
+#, gcc-internal-format
+msgid "cannot add contracts to a virtual function"
+msgstr ""
+
+#: cp/contracts.cc:2184
+#, gcc-internal-format
+msgid "original declaration here"
+msgstr ""
+
+#: cp/contracts.cc:2194
+#, gcc-internal-format
+msgid "declaration adds contracts to %q#D"
+msgstr ""
+
 #: cp/coroutines.cc:303
 #, gcc-internal-format
 msgid "coroutines require a traits template; cannot find %<%E::%E%>"
@@ -52792,7 +54435,7 @@ msgstr ""
 msgid "%<return_void%> declared here"
 msgstr ""
 
-#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4290
+#: cp/coroutines.cc:648 cp/coroutines.cc:726 cp/coroutines.cc:4303
 #, gcc-internal-format
 msgid "no member named %qE in %qT"
 msgstr ""
@@ -52842,8 +54485,8 @@ msgstr ""
 #: cp/coroutines.cc:827
 #, gcc-internal-format
 msgid ""
-"a %<return%> statement is not allowed in coroutine; did you mean %<co_return"
-"%>?"
+"a %<return%> statement is not allowed in coroutine; did you mean "
+"%<co_return%>?"
 msgstr ""
 
 #: cp/coroutines.cc:875
@@ -52881,52 +54524,52 @@ msgstr ""
 msgid "the direction argument to %<__builtin_coro_promise%> must be a constant"
 msgstr ""
 
-#: cp/coroutines.cc:1912
+#: cp/coroutines.cc:1915
 #, gcc-internal-format
 msgid "no suspend point info for %qD"
 msgstr ""
 
-#: cp/coroutines.cc:2110 cp/coroutines.cc:4664
+#: cp/coroutines.cc:2113 cp/coroutines.cc:4677
 #, gcc-internal-format
 msgid ""
 "%qE is provided by %qT but is not usable with the function signature %qD"
 msgstr ""
 
-#: cp/coroutines.cc:2560
+#: cp/coroutines.cc:2563
 #, gcc-internal-format
 msgid "duplicate info for %qE"
 msgstr ""
 
-#: cp/coroutines.cc:3711
+#: cp/coroutines.cc:3715
 #, gcc-internal-format
 msgid "await expressions are not permitted in handlers"
 msgstr ""
 
-#: cp/coroutines.cc:3943
+#: cp/coroutines.cc:3947
 #, gcc-internal-format
 msgid "variable length arrays are not yet supported in coroutines"
 msgstr ""
 
-#: cp/coroutines.cc:4669
+#: cp/coroutines.cc:4682
 #, gcc-internal-format
 msgid ""
 "%qE is provided by %qT but %qE is not marked %<throw()%> or %<noexcept%>"
 msgstr ""
 
-#: cp/coroutines.cc:4672
+#: cp/coroutines.cc:4685
 #, 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:4701
+#: cp/coroutines.cc:4714
 #, 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:5099
+#: cp/coroutines.cc:5111
 #, gcc-internal-format
 msgid ""
 "cannot initialize a return object of type %qT with an rvalue of type %<void%>"
@@ -52937,66 +54580,61 @@ msgstr ""
 msgid "both branches of %<if%> statement marked as %qs"
 msgstr ""
 
-#: cp/cp-gimplify.cc:981 cp/cp-gimplify.cc:993
+#: cp/cp-gimplify.cc:1035 cp/cp-gimplify.cc:1047
 #, gcc-internal-format
 msgid "taking address of an immediate function %qD"
 msgstr ""
 
-#: cp/cp-gimplify.cc:1553
+#: cp/cp-gimplify.cc:1633
 #, gcc-internal-format
 msgid "%<throw%> will always call %<terminate%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:1556
+#: cp/cp-gimplify.cc:1636
 #, gcc-internal-format
 msgid "in C++11 destructors default to %<noexcept%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:1568
+#: cp/cp-gimplify.cc:1648
 #, gcc-internal-format
 msgid ""
 "in C++11 this %<throw%> will call %<terminate%> because destructors default "
 "to %<noexcept%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3063
+#: cp/cp-gimplify.cc:3158
 #, gcc-internal-format
 msgid "ignoring attribute %qE after earlier %qE"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3085 cp/cp-gimplify.cc:3097 cp/decl.cc:4134
+#: cp/cp-gimplify.cc:3232 cp/cp-gimplify.cc:3244 cp/decl.cc:4274
 #: cp/method.cc:978
 #, gcc-internal-format
 msgid "%qD is not a type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3103
+#: cp/cp-gimplify.cc:3250
 #, gcc-internal-format
 msgid "%qD is not a class type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3120
+#: cp/cp-gimplify.cc:3267
 #, gcc-internal-format
 msgid "%qD does not have %<const char *%> type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3131
+#: cp/cp-gimplify.cc:3277
 #, gcc-internal-format
 msgid "%qD does not have integral type"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3143
+#: cp/cp-gimplify.cc:3289
 #, gcc-internal-format
 msgid ""
 "%<std::source_location::__impl%> does not contain only non-static data "
 "members %<_M_file_name%>, %<_M_function_name%>, %<_M_line%> and %<_M_column%>"
 msgstr ""
 
-#: cp/cp-gimplify.cc:3247
-#, gcc-internal-format
-msgid "evaluating %qs"
-msgstr ""
-
 #: cp/cvt.cc:92
 msgid "cannot convert from incomplete type %qH to %qI"
 msgstr ""
@@ -53033,7 +54671,7 @@ msgstr ""
 msgid "conversion from %qH to %qI discards qualifiers"
 msgstr ""
 
-#: cp/cvt.cc:498 cp/typeck.cc:8362
+#: cp/cvt.cc:498 cp/typeck.cc:8703
 #, gcc-internal-format
 msgid "casting %qT to %qT does not dereference pointer"
 msgstr ""
@@ -53042,667 +54680,667 @@ msgstr ""
 msgid "cannot convert type %qH to type %qI"
 msgstr ""
 
-#: cp/cvt.cc:814
+#: cp/cvt.cc:818
 #, gcc-internal-format
 msgid "conversion from %q#T to %q#T"
 msgstr ""
 
-#: cp/cvt.cc:832
+#: cp/cvt.cc:836
 #, gcc-internal-format
 msgid ""
 "the result of the conversion is unspecified because %qE is outside the range "
 "of type %qT"
 msgstr ""
 
-#: cp/cvt.cc:843 cp/cvt.cc:898
+#: cp/cvt.cc:847 cp/cvt.cc:902
 #, gcc-internal-format
 msgid "%q#T used where a %qT was expected"
 msgstr ""
 
-#: cp/cvt.cc:852
+#: cp/cvt.cc:856
 #, gcc-internal-format
 msgid "could not convert %qE from %<void%> to %<bool%>"
 msgstr ""
 
-#: cp/cvt.cc:914
+#: cp/cvt.cc:918
 #, gcc-internal-format
 msgid "%q#T used where a floating-point value was expected"
 msgstr ""
 
-#: cp/cvt.cc:972
+#: cp/cvt.cc:976
 msgid "conversion from %qH to non-scalar type %qI requested"
 msgstr ""
 
-#: cp/cvt.cc:1068
+#: cp/cvt.cc:1072
 #, gcc-internal-format
 msgid ""
 "ignoring return value of %qD, declared with attribute %<nodiscard%>: %<%s%>"
 msgstr ""
 
-#: cp/cvt.cc:1070
+#: cp/cvt.cc:1074
 #, gcc-internal-format
 msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>%s"
 msgstr ""
 
-#: cp/cvt.cc:1086
+#: cp/cvt.cc:1090
 #, gcc-internal-format
 msgid ""
 "ignoring returned value of type %qT, declared with attribute %<nodiscard%>: "
 "%<%s%>"
 msgstr ""
 
-#: cp/cvt.cc:1088
+#: cp/cvt.cc:1092
 #, gcc-internal-format
 msgid ""
 "ignoring returned value of type %qT, declared with attribute %<nodiscard%>%s"
 msgstr ""
 
-#: cp/cvt.cc:1110
+#: cp/cvt.cc:1114
 #, gcc-internal-format
 msgid ""
 "ignoring return value of %qD, declared with attribute %<warn_unused_result%>"
 msgstr ""
 
-#: cp/cvt.cc:1164
+#: cp/cvt.cc:1168
 #, gcc-internal-format
 msgid "pseudo-destructor is not called"
 msgstr ""
 
-#: cp/cvt.cc:1260
+#: cp/cvt.cc:1264 rust/backend/rust-tree.cc:340
 #, gcc-internal-format
 msgid "conversion to void will not access object of incomplete type %qT"
 msgstr ""
 
-#: cp/cvt.cc:1264
+#: cp/cvt.cc:1268 rust/backend/rust-tree.cc:346
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of incomplete type %qT in second operand "
 "of conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1269
+#: cp/cvt.cc:1273 rust/backend/rust-tree.cc:353
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of incomplete type %qT in third operand "
 "of conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1274
+#: cp/cvt.cc:1278 rust/backend/rust-tree.cc:360
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of incomplete type %qT in right operand "
 "of comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1279
+#: cp/cvt.cc:1283 rust/backend/rust-tree.cc:367
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of incomplete type %qT in left operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1284
+#: cp/cvt.cc:1288 rust/backend/rust-tree.cc:374
 #, gcc-internal-format
 msgid "indirection will not access object of incomplete type %qT in statement"
 msgstr ""
 
-#: cp/cvt.cc:1288
+#: cp/cvt.cc:1292 rust/backend/rust-tree.cc:380
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of incomplete type %qT in for increment "
 "expression"
 msgstr ""
 
-#: cp/cvt.cc:1304
+#: cp/cvt.cc:1308 rust/backend/rust-tree.cc:397
 #, gcc-internal-format
 msgid "conversion to void will not access object of type %qT"
 msgstr ""
 
-#: cp/cvt.cc:1308
+#: cp/cvt.cc:1312 rust/backend/rust-tree.cc:403
 #, gcc-internal-format
 msgid ""
 "implicit dereference will not access object of type %qT in second operand of "
 "conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1313
+#: cp/cvt.cc:1317 rust/backend/rust-tree.cc:410
 #, gcc-internal-format
 msgid ""
 "implicit dereference will not access object of type %qT in third operand of "
 "conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1318
+#: cp/cvt.cc:1322 rust/backend/rust-tree.cc:417
 #, gcc-internal-format
 msgid ""
 "implicit dereference will not access object of type %qT in right operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1323
+#: cp/cvt.cc:1327 rust/backend/rust-tree.cc:424
 #, gcc-internal-format
 msgid ""
 "implicit dereference will not access object of type %qT in left operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1328
+#: cp/cvt.cc:1332 rust/backend/rust-tree.cc:431
 #, gcc-internal-format
 msgid "implicit dereference will not access object of type %qT in statement"
 msgstr ""
 
-#: cp/cvt.cc:1332
+#: cp/cvt.cc:1336 rust/backend/rust-tree.cc:437
 #, gcc-internal-format
 msgid ""
 "implicit dereference will not access object of type %qT in for increment "
 "expression"
 msgstr ""
 
-#: cp/cvt.cc:1346
+#: cp/cvt.cc:1350 rust/backend/rust-tree.cc:451
 #, gcc-internal-format
 msgid ""
 "conversion to void will not access object of non-trivially-copyable type %qT"
 msgstr ""
 
-#: cp/cvt.cc:1351
+#: cp/cvt.cc:1355 rust/backend/rust-tree.cc:457
 #, 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:1356
+#: cp/cvt.cc:1360 rust/backend/rust-tree.cc:464
 #, 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:1361
+#: cp/cvt.cc:1365 rust/backend/rust-tree.cc:471
 #, 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:1366
+#: cp/cvt.cc:1370 rust/backend/rust-tree.cc:478
 #, 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:1371
+#: cp/cvt.cc:1375 rust/backend/rust-tree.cc:485
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of non-trivially-copyable type %qT in "
 "statement"
 msgstr ""
 
-#: cp/cvt.cc:1376
+#: cp/cvt.cc:1380 rust/backend/rust-tree.cc:491
 #, gcc-internal-format
 msgid ""
 "indirection will not access object of non-trivially-copyable type %qT in for "
 "increment expression"
 msgstr ""
 
-#: cp/cvt.cc:1417
+#: cp/cvt.cc:1421 rust/backend/rust-tree.cc:532
 #, gcc-internal-format
 msgid "conversion to void will not access object %qE of incomplete type %qT"
 msgstr ""
 
-#: cp/cvt.cc:1421
+#: cp/cvt.cc:1425 rust/backend/rust-tree.cc:538
 #, gcc-internal-format
 msgid ""
 "variable %qE of incomplete type %qT will not be accessed in second operand "
 "of conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1426
+#: cp/cvt.cc:1430 rust/backend/rust-tree.cc:545
 #, gcc-internal-format
 msgid ""
 "variable %qE of incomplete type %qT will not be accessed in third operand of "
 "conditional expression"
 msgstr ""
 
-#: cp/cvt.cc:1431
+#: cp/cvt.cc:1435 rust/backend/rust-tree.cc:552
 #, gcc-internal-format
 msgid ""
 "variable %qE of incomplete type %qT will not be accessed in right operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1436
+#: cp/cvt.cc:1440 rust/backend/rust-tree.cc:558
 #, gcc-internal-format
 msgid ""
 "variable %qE of incomplete type %qT will not be accessed in left operand of "
 "comma operator"
 msgstr ""
 
-#: cp/cvt.cc:1441
+#: cp/cvt.cc:1445 rust/backend/rust-tree.cc:564
 #, gcc-internal-format
 msgid "variable %qE of incomplete type %qT will not be accessed in statement"
 msgstr ""
 
-#: cp/cvt.cc:1445
+#: cp/cvt.cc:1449 rust/backend/rust-tree.cc:570
 #, gcc-internal-format
 msgid ""
 "variable %qE of incomplete type %qT will not be accessed in for increment "
 "expression"
 msgstr ""
 
-#: cp/cvt.cc:1501
+#: cp/cvt.cc:1505
 #, gcc-internal-format
 msgid "conversion to void cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1505
+#: cp/cvt.cc:1509
 #, gcc-internal-format
 msgid ""
 "second operand of conditional expression cannot resolve address of "
 "overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1509
+#: cp/cvt.cc:1513
 #, gcc-internal-format
 msgid ""
 "third operand of conditional expression cannot resolve address of overloaded "
 "function"
 msgstr ""
 
-#: cp/cvt.cc:1513
+#: cp/cvt.cc:1517
 #, gcc-internal-format
 msgid ""
 "right operand of comma operator cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1517
+#: cp/cvt.cc:1521
 #, gcc-internal-format
 msgid ""
 "left operand of comma operator cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1521
+#: cp/cvt.cc:1525
 #, gcc-internal-format
 msgid "statement cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1525
+#: cp/cvt.cc:1529
 #, gcc-internal-format
 msgid "for increment expression cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/cvt.cc:1541
+#: cp/cvt.cc:1545
 #, gcc-internal-format
 msgid ""
 "second operand of conditional expression is a reference, not call, to "
 "function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1546
+#: cp/cvt.cc:1550
 #, gcc-internal-format
 msgid ""
 "third operand of conditional expression is a reference, not call, to "
 "function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1551
+#: cp/cvt.cc:1555
 #, gcc-internal-format
 msgid ""
 "right operand of comma operator is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1556
+#: cp/cvt.cc:1560
 #, gcc-internal-format
 msgid ""
 "left operand of comma operator is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1561
+#: cp/cvt.cc:1565
 #, gcc-internal-format
 msgid "statement is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1566
+#: cp/cvt.cc:1570
 #, gcc-internal-format
 msgid "for increment expression is a reference, not call, to function %qE"
 msgstr ""
 
-#: cp/cvt.cc:1595
+#: cp/cvt.cc:1599
 #, gcc-internal-format
 msgid "second operand of conditional expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1600
+#: cp/cvt.cc:1604
 #, gcc-internal-format
 msgid "third operand of conditional expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1605
+#: cp/cvt.cc:1609
 #, gcc-internal-format
 msgid "right operand of comma operator has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1609
+#: cp/cvt.cc:1613
 #, gcc-internal-format
 msgid "left operand of comma operator has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1613
+#: cp/cvt.cc:1617
 #, gcc-internal-format
 msgid "statement has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1617
+#: cp/cvt.cc:1621
 #, gcc-internal-format
 msgid "for increment expression has no effect"
 msgstr ""
 
-#: cp/cvt.cc:1770
+#: cp/cvt.cc:1774
 #, gcc-internal-format
 msgid "converting NULL to non-pointer type"
 msgstr ""
 
-#: cp/cvt.cc:1888
+#: cp/cvt.cc:1892
 #, gcc-internal-format
 msgid "default type conversion cannot deduce template argument for %qD"
 msgstr ""
 
-#: cp/cvt.cc:1903
+#: cp/cvt.cc:1907
 #, gcc-internal-format
 msgid "ambiguous default type conversion from %qT"
 msgstr ""
 
-#: cp/cvt.cc:1906
+#: cp/cvt.cc:1910
 #, gcc-internal-format
 msgid "  candidate conversions include %qD and %qD"
 msgstr ""
 
-#: cp/cxx-pretty-print.cc:2288
+#: cp/cxx-pretty-print.cc:2295
 #, gcc-internal-format
 msgid "template-parameter-"
 msgstr ""
 
-#: cp/cxx-pretty-print.cc:2302
+#: cp/cxx-pretty-print.cc:2309
 #, gcc-internal-format
 msgid "requires"
 msgstr ""
 
-#: cp/cxx-pretty-print.cc:2884 cp/error.cc:394
+#: cp/cxx-pretty-print.cc:2815 cp/error.cc:397
 #, gcc-internal-format
 msgid "with"
 msgstr ""
 
-#: cp/decl.cc:690
+#: cp/decl.cc:692
 #, gcc-internal-format
 msgid "unused structured binding declaration"
 msgstr ""
 
-#: cp/decl.cc:693
+#: cp/decl.cc:695
 #, gcc-internal-format
 msgid "unused variable %qD"
 msgstr ""
 
-#: cp/decl.cc:702
+#: cp/decl.cc:704
 #, gcc-internal-format
 msgid "structured binding declaration set but not used"
 msgstr ""
 
-#: cp/decl.cc:857
+#: cp/decl.cc:859
 #, gcc-internal-format
 msgid "%qF declared %<static%> but never defined"
 msgstr ""
 
-#: cp/decl.cc:864
+#: cp/decl.cc:866
 #, gcc-internal-format
 msgid "odr-used inline variable %qD is not defined"
 msgstr ""
 
-#: cp/decl.cc:1213
+#: cp/decl.cc:1279
 #, gcc-internal-format
 msgid "%qD was declared %<extern%> and later %<static%>"
 msgstr ""
 
-#: cp/decl.cc:1253
+#: cp/decl.cc:1319
 #, gcc-internal-format
 msgid "declaration of %qF has a different exception specifier"
 msgstr ""
 
-#: cp/decl.cc:1267
+#: cp/decl.cc:1333
 #, gcc-internal-format
 msgid "from previous declaration %qF"
 msgstr ""
 
-#: cp/decl.cc:1320
+#: cp/decl.cc:1386
 #, gcc-internal-format
 msgid "redeclaration %qD differs in %qs from previous declaration"
 msgstr ""
 
-#: cp/decl.cc:1324 cp/decl.cc:15845
+#: cp/decl.cc:1390 cp/decl.cc:16111
 #, gcc-internal-format
 msgid "previous declaration %qD"
 msgstr ""
 
-#: cp/decl.cc:1353
+#: cp/decl.cc:1419
 #, gcc-internal-format
 msgid "cannot specialize concept %q#D"
 msgstr ""
 
-#: cp/decl.cc:1375
+#: cp/decl.cc:1441
 #, gcc-internal-format
 msgid "redeclaration of %q#D may not have default arguments"
 msgstr ""
 
-#: cp/decl.cc:1404
+#: cp/decl.cc:1470
 #, gcc-internal-format
 msgid ""
 "friend declaration of %q#D specifies default arguments and isn%'t the only "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:1407
+#: cp/decl.cc:1473
 #, gcc-internal-format
 msgid "previous declaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:1456
+#: cp/decl.cc:1522
 #, gcc-internal-format
 msgid "ambiguating new declaration %q+#D"
 msgstr ""
 
-#: cp/decl.cc:1458 cp/decl.cc:1877
+#: cp/decl.cc:1524 cp/decl.cc:1945
 #, gcc-internal-format
 msgid "old declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1496
+#: cp/decl.cc:1564
 #, gcc-internal-format
 msgid "redefinition of default argument for %q+#D"
 msgstr ""
 
-#: cp/decl.cc:1498
+#: cp/decl.cc:1566
 #, gcc-internal-format
 msgid "original definition appeared here"
 msgstr ""
 
-#: cp/decl.cc:1564
+#: cp/decl.cc:1632
 #, gcc-internal-format
 msgid "built-in function %qD declared as non-function"
 msgstr ""
 
-#: cp/decl.cc:1577 cp/decl.cc:1703
+#: cp/decl.cc:1645 cp/decl.cc:1771
 #, gcc-internal-format
 msgid "shadowing built-in function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1578 cp/decl.cc:1704
+#: cp/decl.cc:1646 cp/decl.cc:1772
 #, gcc-internal-format
 msgid "shadowing library function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1586
+#: cp/decl.cc:1654
 #, gcc-internal-format
 msgid "library function %q#D redeclared as non-function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1590 cp/decl.cc:1651
+#: cp/decl.cc:1658 cp/decl.cc:1719
 #, gcc-internal-format
 msgid "declaration of %q#D conflicts with built-in declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1678
+#: cp/decl.cc:1746
 #, gcc-internal-format
 msgid "definition of %q#D ambiguates built-in declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1684 cp/decl.cc:1698
+#: cp/decl.cc:1752 cp/decl.cc:1766
 #, gcc-internal-format
 msgid "new declaration %q#D ambiguates built-in declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1688
+#: cp/decl.cc:1756
 #, gcc-internal-format
 msgid "ignoring the %q#D declaration"
 msgstr ""
 
-#: cp/decl.cc:1792
+#: cp/decl.cc:1860
 #, gcc-internal-format
 msgid "literal operator %q#D conflicts with raw literal operator"
 msgstr ""
 
-#: cp/decl.cc:1796
+#: cp/decl.cc:1864
 #, gcc-internal-format
 msgid "raw literal operator %q#D conflicts with literal operator template"
 msgstr ""
 
-#: cp/decl.cc:1812
+#: cp/decl.cc:1880
 #, gcc-internal-format
 msgid "%q#D redeclared as different kind of entity"
 msgstr ""
 
-#: cp/decl.cc:1836
+#: cp/decl.cc:1904
 #, gcc-internal-format
 msgid "conflicting declaration of template %q#D"
 msgstr ""
 
-#: cp/decl.cc:1858
+#: cp/decl.cc:1926
 #, gcc-internal-format
 msgid "conflicting declaration of C function %q#D"
 msgstr ""
 
-#: cp/decl.cc:1875
+#: cp/decl.cc:1943
 #, gcc-internal-format
 msgid "ambiguating new declaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:1885
+#: cp/decl.cc:1953
 #, gcc-internal-format
 msgid "conflicting declaration %q#D"
 msgstr ""
 
-#: cp/decl.cc:1887
+#: cp/decl.cc:1955
 #, gcc-internal-format
 msgid "previous declaration as %q#D"
 msgstr ""
 
-#: cp/decl.cc:1897
+#: cp/decl.cc:1965
 #, gcc-internal-format
 msgid "redeclaration of %<pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/decl.cc:1899
+#: cp/decl.cc:1967
 #, gcc-internal-format
 msgid "previous %<pragma omp declare reduction%> declaration"
 msgstr ""
 
-#: cp/decl.cc:1957
+#: cp/decl.cc:2025
 #, gcc-internal-format
 msgid "%q#D previously defined here"
 msgstr ""
 
-#: cp/decl.cc:1958 cp/name-lookup.cc:3160 cp/name-lookup.cc:3189
+#: cp/decl.cc:2026 cp/name-lookup.cc:3160 cp/name-lookup.cc:3189
 #: cp/name-lookup.cc:3213
 #, gcc-internal-format
 msgid "%q#D previously declared here"
 msgstr ""
 
-#: cp/decl.cc:1969
+#: cp/decl.cc:2037
 #, gcc-internal-format
 msgid "prototype specified for %q#D"
 msgstr ""
 
-#: cp/decl.cc:1971
+#: cp/decl.cc:2039
 #, gcc-internal-format
 msgid "previous non-prototype definition here"
 msgstr ""
 
-#: cp/decl.cc:2011
+#: cp/decl.cc:2079
 #, gcc-internal-format
 msgid "conflicting declaration of %q#D with %qL linkage"
 msgstr ""
 
-#: cp/decl.cc:2014
+#: cp/decl.cc:2082
 #, gcc-internal-format
 msgid "previous declaration with %qL linkage"
 msgstr ""
 
-#: cp/decl.cc:2063 cp/decl.cc:2073
+#: cp/decl.cc:2131 cp/decl.cc:2141
 #, gcc-internal-format
 msgid "default argument given for parameter %d of %q#D"
 msgstr ""
 
-#: cp/decl.cc:2066 cp/decl.cc:2076
+#: cp/decl.cc:2134 cp/decl.cc:2144
 #, gcc-internal-format
 msgid "previous specification in %q#D here"
 msgstr ""
 
-#: cp/decl.cc:2116
+#: cp/decl.cc:2184
 #, gcc-internal-format
 msgid "declaration %qD conflicts with builtin"
 msgstr ""
 
-#: cp/decl.cc:2124
+#: cp/decl.cc:2187
 #, gcc-internal-format
 msgid "declaration %qD conflicts with import"
 msgstr ""
 
-#: cp/decl.cc:2125
+#: cp/decl.cc:2188
 #, gcc-internal-format
 msgid "import declared %q#D here"
 msgstr ""
 
-#: cp/decl.cc:2133
+#: cp/decl.cc:2200
 #, gcc-internal-format
 msgid "conflicting exporting declaration %qD"
 msgstr ""
 
-#: cp/decl.cc:2134
+#: cp/decl.cc:2201
 #, gcc-internal-format
 msgid "previous declaration %q#D here"
 msgstr ""
 
-#: cp/decl.cc:2159
+#: cp/decl.cc:2228
 #, gcc-internal-format
 msgid "previous definition of %qD here"
 msgstr ""
 
-#: cp/decl.cc:2160
+#: cp/decl.cc:2229
 #, gcc-internal-format
 msgid "previous declaration of %qD here"
 msgstr ""
 
-#: cp/decl.cc:2173
+#: cp/decl.cc:2242
 #, gcc-internal-format
 msgid ""
 "function %qD declared %<[[noreturn]]%> but its first declaration was not"
 msgstr ""
 
-#: cp/decl.cc:2218
+#: cp/decl.cc:2289
 #, gcc-internal-format
 msgid "redundant redeclaration of %qD in same scope"
 msgstr ""
 
-#: cp/decl.cc:2234
+#: cp/decl.cc:2305
 #, gcc-internal-format
 msgid "deleted definition of %qD is not first declaration"
 msgstr ""
@@ -53715,12 +55353,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:2724
+#: cp/decl.cc:2803
 #, gcc-internal-format
 msgid "explicit specialization of %qD after first use"
 msgstr ""
 
-#: cp/decl.cc:2863
+#: cp/decl.cc:2985
 #, gcc-internal-format
 msgid ""
 "%qD: visibility attribute ignored because it conflicts with previous "
@@ -53728,38 +55366,38 @@ msgid ""
 msgstr ""
 
 #. Reject two definitions.
-#: cp/decl.cc:3127 cp/decl.cc:3156 cp/decl.cc:3198 cp/decl.cc:3215
-#: cp/decl.cc:3318
+#: cp/decl.cc:3249 cp/decl.cc:3278 cp/decl.cc:3320 cp/decl.cc:3337
+#: cp/decl.cc:3440
 #, gcc-internal-format
 msgid "redefinition of %q#D"
 msgstr ""
 
-#: cp/decl.cc:3143
+#: cp/decl.cc:3265
 #, gcc-internal-format
 msgid "%qD conflicts with used function"
 msgstr ""
 
-#: cp/decl.cc:3153
+#: cp/decl.cc:3275
 #, gcc-internal-format
 msgid "%q#D not declared in class"
 msgstr ""
 
-#: cp/decl.cc:3167 cp/decl.cc:3225
+#: cp/decl.cc:3289 cp/decl.cc:3347
 #, gcc-internal-format
 msgid "%q+D redeclared inline with %<gnu_inline%> attribute"
 msgstr ""
 
-#: cp/decl.cc:3170 cp/decl.cc:3228
+#: cp/decl.cc:3292 cp/decl.cc:3350
 #, gcc-internal-format
 msgid "%q+D redeclared inline without %<gnu_inline%> attribute"
 msgstr ""
 
-#: cp/decl.cc:3177 cp/decl.cc:3235
+#: cp/decl.cc:3299 cp/decl.cc:3357
 #, gcc-internal-format
 msgid "deduction guide %q+D redeclared"
 msgstr ""
 
-#: cp/decl.cc:3184
+#: cp/decl.cc:3306
 #, gcc-internal-format
 msgid "comparison operator %q+D defaulted after its first declaration"
 msgstr ""
@@ -53767,2461 +55405,2482 @@ msgstr ""
 #. is_primary=
 #. is_partial=
 #. is_friend_decl=
-#: cp/decl.cc:3249
+#: cp/decl.cc:3371
 #, gcc-internal-format
 msgid "redeclaration of friend %q#D may not have default template arguments"
 msgstr ""
 
-#: cp/decl.cc:3264
+#: cp/decl.cc:3386
 #, gcc-internal-format
 msgid "thread-local declaration of %q#D follows non-thread-local declaration"
 msgstr ""
 
-#: cp/decl.cc:3267
+#: cp/decl.cc:3389
 #, gcc-internal-format
 msgid "non-thread-local declaration of %q#D follows thread-local declaration"
 msgstr ""
 
-#: cp/decl.cc:3282 cp/decl.cc:3326 cp/name-lookup.cc:2715
+#: cp/decl.cc:3404 cp/decl.cc:3448 cp/name-lookup.cc:2715
 #: cp/name-lookup.cc:3187 cp/name-lookup.cc:3211
 #, gcc-internal-format
 msgid "redeclaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:3309
+#: cp/decl.cc:3431
 #, gcc-internal-format
 msgid "redundant redeclaration of %<constexpr%> static data member %qD"
 msgstr ""
 
-#: cp/decl.cc:3377
+#: cp/decl.cc:3499
 #, gcc-internal-format
 msgid "local label %qE conflicts with existing label"
 msgstr ""
 
-#: cp/decl.cc:3378
+#: cp/decl.cc:3500
 #, gcc-internal-format
 msgid "previous label"
 msgstr ""
 
-#: cp/decl.cc:3468
+#: cp/decl.cc:3590
 #, gcc-internal-format
 msgid "  from here"
 msgstr ""
 
-#: cp/decl.cc:3492 cp/decl.cc:3724
+#: cp/decl.cc:3614 cp/decl.cc:3855
 #, gcc-internal-format
 msgid "  exits OpenMP structured block"
 msgstr ""
 
-#: cp/decl.cc:3520
+#: cp/decl.cc:3642
 #, gcc-internal-format
 msgid "  crosses initialization of %q#D"
 msgstr ""
 
-#: cp/decl.cc:3523
+#: cp/decl.cc:3645
 #, gcc-internal-format
 msgid "  enters scope of %q#D, which has non-trivial destructor"
 msgstr ""
 
-#: cp/decl.cc:3537 cp/decl.cc:3693
+#: cp/decl.cc:3659 cp/decl.cc:3822
 #, gcc-internal-format
 msgid "  enters %<try%> block"
 msgstr ""
 
-#: cp/decl.cc:3543 cp/decl.cc:3675 cp/decl.cc:3695
+#: cp/decl.cc:3665 cp/decl.cc:3804 cp/decl.cc:3824
 #, gcc-internal-format
 msgid "  enters %<catch%> block"
 msgstr ""
 
-#: cp/decl.cc:3549 cp/decl.cc:3707
+#: cp/decl.cc:3671 cp/decl.cc:3838
 #, gcc-internal-format
 msgid "  enters OpenMP structured block"
 msgstr ""
 
-#: cp/decl.cc:3555 cp/decl.cc:3697
+#: cp/decl.cc:3677 cp/decl.cc:3826
 #, gcc-internal-format
 msgid "  enters synchronized or atomic statement"
 msgstr ""
 
-#: cp/decl.cc:3562 cp/decl.cc:3699
+#: cp/decl.cc:3683 cp/decl.cc:3832
+#, gcc-internal-format
+msgid "  enters statement expression"
+msgstr ""
+
+#: cp/decl.cc:3690 cp/decl.cc:3828
 #, gcc-internal-format
 msgid "  enters %<constexpr if%> statement"
 msgstr ""
 
-#: cp/decl.cc:3568 cp/decl.cc:3701
+#: cp/decl.cc:3696 cp/decl.cc:3830
 #, gcc-internal-format
 msgid "  enters %<consteval if%> statement"
 msgstr ""
 
-#: cp/decl.cc:3682
+#: cp/decl.cc:3811
 #, gcc-internal-format
 msgid "  skips initialization of %q#D"
 msgstr ""
 
-#: cp/decl.cc:3685
+#: cp/decl.cc:3814
 #, gcc-internal-format
 msgid "  enters scope of %q#D which has non-trivial destructor"
 msgstr ""
 
-#: cp/decl.cc:4141 cp/parser.cc:6921
+#: cp/decl.cc:4281 cp/parser.cc:7044
 #, gcc-internal-format
 msgid "%qD used without template arguments"
 msgstr ""
 
-#: cp/decl.cc:4147
+#: cp/decl.cc:4287
 #, gcc-internal-format
 msgid "%qD is a function, not a type"
 msgstr ""
 
-#: cp/decl.cc:4158
+#: cp/decl.cc:4298
 #, gcc-internal-format
 msgid "%q#T is not a class"
 msgstr ""
 
-#: cp/decl.cc:4186 cp/decl.cc:4287
+#: cp/decl.cc:4326 cp/decl.cc:4427
 #, gcc-internal-format
 msgid "no class template named %q#T in %q#T"
 msgstr ""
 
-#: cp/decl.cc:4187
+#: cp/decl.cc:4327
 #, gcc-internal-format
 msgid "no type named %q#T in %q#T"
 msgstr ""
 
-#: cp/decl.cc:4200
+#: cp/decl.cc:4340
 #, gcc-internal-format
 msgid "lookup of %qT in %qT is ambiguous"
 msgstr ""
 
-#: cp/decl.cc:4209
+#: cp/decl.cc:4349
 #, gcc-internal-format
 msgid "%<typename %T::%D%> names %q#T, which is not a class template"
 msgstr ""
 
-#: cp/decl.cc:4222
+#: cp/decl.cc:4362
 #, gcc-internal-format
 msgid "%<typename %T::%D%> names %q#T, which is not a type"
 msgstr ""
 
-#: cp/decl.cc:4296
+#: cp/decl.cc:4436
 #, gcc-internal-format
 msgid "template parameters do not match template %qD"
 msgstr ""
 
-#: cp/decl.cc:4649
+#: cp/decl.cc:4793
 #, gcc-internal-format
 msgid "%<-faligned-new=%d%> is not a power of two"
 msgstr ""
 
-#: cp/decl.cc:4829
+#: cp/decl.cc:4967
 #, gcc-internal-format
 msgid "%<--param destructive-interference-size=%d%> is less than %d"
 msgstr ""
 
-#: cp/decl.cc:4833
+#: cp/decl.cc:4971
 #, gcc-internal-format
 msgid ""
 "%<--param destructive-interference-size=%d%> is less than %<--param l1-cache-"
 "line-size=%d%>"
 msgstr ""
 
-#: cp/decl.cc:4846
+#: cp/decl.cc:4984
 #, gcc-internal-format
 msgid "%<--param constructive-interference-size=%d%> is less than %d"
 msgstr ""
 
-#: cp/decl.cc:4851
+#: cp/decl.cc:4989
 #, gcc-internal-format
 msgid ""
 "%<--param constructive-interference-size=%d%> is greater than %<--param l1-"
 "cache-line-size=%d%>"
 msgstr ""
 
-#: cp/decl.cc:5177
+#: cp/decl.cc:5315
 #, gcc-internal-format
 msgid ""
 "%q#D invalid; an anonymous union may only have public non-static data members"
 msgstr ""
 
-#: cp/decl.cc:5187 cp/parser.cc:22828
+#: cp/decl.cc:5325 cp/parser.cc:23007
 #, gcc-internal-format
 msgid "this flexibility is deprecated and will be removed"
 msgstr ""
 
-#: cp/decl.cc:5216
+#: cp/decl.cc:5354
 #, gcc-internal-format
 msgid "anonymous struct with base classes"
 msgstr ""
 
-#: cp/decl.cc:5228
+#: cp/decl.cc:5366
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5231
+#: cp/decl.cc:5369
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5234
+#: cp/decl.cc:5372
 #, gcc-internal-format
 msgid ""
 "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
 msgstr ""
 
-#: cp/decl.cc:5253
+#: cp/decl.cc:5391
 #, gcc-internal-format
 msgid "attribute ignored in declaration of %q#T"
 msgstr ""
 
-#: cp/decl.cc:5256
+#: cp/decl.cc:5394
 #, gcc-internal-format
 msgid "attribute for %q#T must follow the %qs keyword"
 msgstr ""
 
-#: cp/decl.cc:5298
+#: cp/decl.cc:5436
 #, gcc-internal-format
 msgid "multiple types in one declaration"
 msgstr ""
 
-#: cp/decl.cc:5303
+#: cp/decl.cc:5441
 #, gcc-internal-format
 msgid "redeclaration of C++ built-in type %qT"
 msgstr ""
 
-#: cp/decl.cc:5320
+#: cp/decl.cc:5458
 #, gcc-internal-format
 msgid "%<auto%> can only be specified for variables or function declarations"
 msgstr ""
 
-#: cp/decl.cc:5353
+#: cp/decl.cc:5491
 #, gcc-internal-format
 msgid "missing type-name in typedef-declaration"
 msgstr ""
 
-#: cp/decl.cc:5361
+#: cp/decl.cc:5499
 #, gcc-internal-format
 msgid "ISO C++ prohibits anonymous structs"
 msgstr ""
 
-#: cp/decl.cc:5368
+#: cp/decl.cc:5506
 #, gcc-internal-format
 msgid "%<inline%> can only be specified for functions"
 msgstr ""
 
-#: cp/decl.cc:5371
+#: cp/decl.cc:5509
 #, gcc-internal-format
 msgid "%<virtual%> can only be specified for functions"
 msgstr ""
 
-#: cp/decl.cc:5376
+#: cp/decl.cc:5514
 #, gcc-internal-format
 msgid "%<friend%> can only be specified inside a class"
 msgstr ""
 
-#: cp/decl.cc:5379
+#: cp/decl.cc:5517
 #, gcc-internal-format
 msgid "%<explicit%> can only be specified for constructors"
 msgstr ""
 
-#: cp/decl.cc:5382
+#: cp/decl.cc:5520
 #, gcc-internal-format
 msgid "a storage class can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5386
+#: cp/decl.cc:5524
 #, gcc-internal-format
 msgid "%<const%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5390
+#: cp/decl.cc:5528
 #, gcc-internal-format
 msgid "%<volatile%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5394
+#: cp/decl.cc:5532
 #, gcc-internal-format
 msgid "%<__restrict%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5398
+#: cp/decl.cc:5536
 #, gcc-internal-format
 msgid "%<__thread%> can only be specified for objects and functions"
 msgstr ""
 
-#: cp/decl.cc:5402
+#: cp/decl.cc:5540
 #, gcc-internal-format
 msgid "%<typedef%> was ignored in this declaration"
 msgstr ""
 
-#: cp/decl.cc:5405 cp/decl.cc:5408 cp/decl.cc:5411
+#: cp/decl.cc:5543 cp/decl.cc:5546 cp/decl.cc:5549
 #, gcc-internal-format
 msgid "%qs cannot be used for type declarations"
 msgstr ""
 
-#: cp/decl.cc:5433
+#: cp/decl.cc:5571
 #, gcc-internal-format
 msgid "attribute ignored in explicit instantiation %q#T"
 msgstr ""
 
-#: cp/decl.cc:5436
+#: cp/decl.cc:5574
 #, gcc-internal-format
 msgid "no attribute can be applied to an explicit instantiation"
 msgstr ""
 
-#: cp/decl.cc:5508
+#: cp/decl.cc:5653
 #, 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:5512
+#: cp/decl.cc:5657
 #, gcc-internal-format
 msgid ""
 "ignoring attributes applied to dependent type %qT without an associated "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:5578 cp/decl2.cc:967
+#: cp/decl.cc:5723 cp/decl2.cc:1000
 #, gcc-internal-format
 msgid "typedef %qD is initialized (use %qs instead)"
 msgstr ""
 
-#: cp/decl.cc:5591
+#: cp/decl.cc:5736
 #, gcc-internal-format
 msgid "declaration of %q#D has %<extern%> and is initialized"
 msgstr ""
 
-#: cp/decl.cc:5629
+#: cp/decl.cc:5774
 #, gcc-internal-format
 msgid "definition of %q#D is marked %<dllimport%>"
 msgstr ""
 
-#: cp/decl.cc:5653
+#: cp/decl.cc:5798
 #, gcc-internal-format
 msgid "%q+#D is not a static data member of %q#T"
 msgstr ""
 
-#: cp/decl.cc:5661
+#: cp/decl.cc:5806
 #, gcc-internal-format
 msgid "non-member-template declaration of %qD"
 msgstr ""
 
-#: cp/decl.cc:5662
+#: cp/decl.cc:5807
 #, gcc-internal-format
 msgid "does not match member template declaration here"
 msgstr ""
 
-#: cp/decl.cc:5674
+#: cp/decl.cc:5819
 #, gcc-internal-format
 msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
 msgstr ""
 
-#: cp/decl.cc:5686
+#: cp/decl.cc:5831
 #, gcc-internal-format
 msgid "duplicate initialization of %qD"
 msgstr ""
 
-#: cp/decl.cc:5734
+#: cp/decl.cc:5881 cp/decl.cc:5885
 #, gcc-internal-format
 msgid "declaration of %q#D outside of class is not definition"
 msgstr ""
 
-#: cp/decl.cc:5751
+#: cp/decl.cc:5903
 #, gcc-internal-format
 msgid "block-scope extern declaration %q#D not permitted in module purview"
 msgstr ""
 
-#: cp/decl.cc:5787
+#: cp/decl.cc:5939
 #, gcc-internal-format
 msgid ""
-"%qD defined %<thread_local%> in %qs function only available with %<-std=c++2b"
-"%> or %<-std=gnu++2b%>"
+"%qD defined %<thread_local%> in %qs function only available with %<-std=c+"
+"+2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/decl.cc:5793
+#: cp/decl.cc:5945
 #, gcc-internal-format
 msgid ""
 "%qD defined %<static%> in %qs function only available with %<-std=c++2b%> or "
 "%<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/decl.cc:5858
+#: cp/decl.cc:6010
 #, gcc-internal-format
 msgid "variable %q#D has initializer but incomplete type"
 msgstr ""
 
-#: cp/decl.cc:5864 cp/decl.cc:7163
+#: cp/decl.cc:6016 cp/decl.cc:7335
 #, gcc-internal-format
 msgid "elements of array %q#D have incomplete type"
 msgstr ""
 
-#: cp/decl.cc:5874
+#: cp/decl.cc:6026
 #, gcc-internal-format
 msgid "aggregate %q#D has incomplete type and cannot be defined"
 msgstr ""
 
-#: cp/decl.cc:5941
+#: cp/decl.cc:6093
 #, gcc-internal-format
 msgid "%qD declared as reference but not initialized"
 msgstr ""
 
-#: cp/decl.cc:6024
+#: cp/decl.cc:6176
 #, gcc-internal-format
 msgid "name used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.cc:6030
+#: cp/decl.cc:6182
 #, gcc-internal-format
 msgid "name %qD used in a GNU-style designated initializer for an array"
 msgstr ""
 
-#: cp/decl.cc:6049
+#: cp/decl.cc:6201
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr ""
 
-#: cp/decl.cc:6053
+#: cp/decl.cc:6205
 #, gcc-internal-format
 msgid "C99 designator %qE is not an integral constant-expression"
 msgstr ""
 
-#: cp/decl.cc:6114
+#: cp/decl.cc:6266
 #, gcc-internal-format
 msgid "initializer fails to determine size of %qD"
 msgstr ""
 
-#: cp/decl.cc:6121
+#: cp/decl.cc:6273
 #, gcc-internal-format
 msgid "array size missing in %qD"
 msgstr ""
 
-#: cp/decl.cc:6133
+#: cp/decl.cc:6285
 #, gcc-internal-format
 msgid "zero-size array %qD"
 msgstr ""
 
-#: cp/decl.cc:6173
+#: cp/decl.cc:6325
 #, gcc-internal-format
 msgid "storage size of %qD isn%'t known"
 msgstr ""
 
-#: cp/decl.cc:6198
+#: cp/decl.cc:6350
 #, gcc-internal-format
 msgid "storage size of %qD isn%'t constant"
 msgstr ""
 
-#: cp/decl.cc:6281
+#: cp/decl.cc:6433
 #, gcc-internal-format
 msgid ""
 "sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with "
 "multiple copies)"
 msgstr ""
 
-#: cp/decl.cc:6285
+#: cp/decl.cc:6437
 #, 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:6291
+#: cp/decl.cc:6443
 #, gcc-internal-format
 msgid "you can work around this by removing the initializer"
 msgstr ""
 
-#: cp/decl.cc:6333
+#: cp/decl.cc:6485 rust/backend/rust-tree.cc:3233
 #, gcc-internal-format
 msgid "uninitialized %<const %D%>"
 msgstr ""
 
-#: cp/decl.cc:6340
+#: cp/decl.cc:6492 rust/backend/rust-tree.cc:3240
 #, gcc-internal-format
 msgid "uninitialized variable %qD in %<constexpr%> function"
 msgstr ""
 
-#: cp/decl.cc:6349
+#: cp/decl.cc:6501 rust/backend/rust-tree.cc:3249
 #, gcc-internal-format
 msgid "uninitialized variable %qD in %<constexpr%> context"
 msgstr ""
 
-#: cp/decl.cc:6357
+#: cp/decl.cc:6509
 #, gcc-internal-format
 msgid "%q#T has no user-provided default constructor"
 msgstr ""
 
-#: cp/decl.cc:6361
+#: cp/decl.cc:6513
 #, gcc-internal-format
 msgid ""
 "constructor is not user-provided because it is explicitly defaulted in the "
 "class body"
 msgstr ""
 
-#: cp/decl.cc:6364
+#: cp/decl.cc:6516
 #, gcc-internal-format
 msgid "and the implicitly-defined constructor does not initialize %q#D"
 msgstr ""
 
-#: cp/decl.cc:6538
+#: cp/decl.cc:6708
 #, gcc-internal-format
 msgid "invalid type %qT as initializer for a vector of type %qT"
 msgstr ""
 
-#: cp/decl.cc:6610
+#: cp/decl.cc:6780
 #, gcc-internal-format
 msgid "initializer for %qT must be brace-enclosed"
 msgstr ""
 
-#: cp/decl.cc:6653
+#: cp/decl.cc:6824
 #, gcc-internal-format
 msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT"
 msgstr ""
 
-#: cp/decl.cc:6666
+#: cp/decl.cc:6837
 #, gcc-internal-format
 msgid "%qT has no non-static data member named %qD"
 msgstr ""
 
-#: cp/decl.cc:6690
+#: cp/decl.cc:6861
 #, gcc-internal-format
 msgid "%qD is not a direct member of %qT"
 msgstr ""
 
-#: cp/decl.cc:6745
+#: cp/decl.cc:6916
 #, gcc-internal-format
 msgid "invalid initializer for %q#D"
 msgstr ""
 
-#: cp/decl.cc:6795
+#: cp/decl.cc:6966
 #, gcc-internal-format
 msgid "C99 designator %qE outside aggregate initializer"
 msgstr ""
 
-#: cp/decl.cc:6834 cp/decl.cc:7122 cp/typeck2.cc:1495 cp/typeck2.cc:1815
-#: cp/typeck2.cc:1863 cp/typeck2.cc:1910
+#: cp/decl.cc:7005 cp/decl.cc:7293 cp/typeck2.cc:1597 cp/typeck2.cc:1927
+#: cp/typeck2.cc:1975 cp/typeck2.cc:2022
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr ""
 
-#: cp/decl.cc:6876
+#: cp/decl.cc:7047
 #, gcc-internal-format
 msgid "braces around scalar initializer for type %qT"
 msgstr ""
 
-#: cp/decl.cc:6886
+#: cp/decl.cc:7057
 #, gcc-internal-format
 msgid "too many braces around scalar initializer for type %qT"
 msgstr ""
 
-#: cp/decl.cc:7019
+#: cp/decl.cc:7190
 #, gcc-internal-format
 msgid "missing braces around initializer for %qT"
 msgstr ""
 
-#: cp/decl.cc:7151
+#: cp/decl.cc:7323
 #, gcc-internal-format
 msgid "structured binding has incomplete type %qT"
 msgstr ""
 
-#: cp/decl.cc:7165
+#: cp/decl.cc:7337
 #, gcc-internal-format
 msgid "elements of array %q#T have incomplete type"
 msgstr ""
 
-#: cp/decl.cc:7178
+#: cp/decl.cc:7350
 #, gcc-internal-format
 msgid "variable-sized compound literal"
 msgstr ""
 
-#: cp/decl.cc:7233
+#: cp/decl.cc:7406
 #, gcc-internal-format
 msgid "%q#D has incomplete type"
 msgstr ""
 
-#: cp/decl.cc:7254
+#: cp/decl.cc:7427
 #, gcc-internal-format
 msgid "scalar object %qD requires one element in initializer"
 msgstr ""
 
-#: cp/decl.cc:7299
+#: cp/decl.cc:7472
 #, gcc-internal-format
 msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>"
 msgstr ""
 
-#: cp/decl.cc:7435
+#: cp/decl.cc:7615
 #, gcc-internal-format
 msgid "array %qD initialized by parenthesized string literal %qE"
 msgstr ""
 
-#: cp/decl.cc:7474
+#: cp/decl.cc:7654
 #, gcc-internal-format
 msgid "initializer invalid for static member with constructor"
 msgstr ""
 
-#: cp/decl.cc:7476
+#: cp/decl.cc:7656
 #, gcc-internal-format
 msgid "non-constant in-class initialization invalid for static member %qD"
 msgstr ""
 
-#: cp/decl.cc:7479
+#: cp/decl.cc:7659
 #, gcc-internal-format
 msgid ""
 "non-constant in-class initialization invalid for non-inline static member %qD"
 msgstr ""
 
-#: cp/decl.cc:7484
+#: cp/decl.cc:7664
 #, gcc-internal-format
 msgid "(an out of class initialization is required)"
 msgstr ""
 
-#: cp/decl.cc:7686
+#: cp/decl.cc:7866
 #, gcc-internal-format
 msgid "reference %qD is initialized with itself"
 msgstr ""
 
-#: cp/decl.cc:7943
+#: cp/decl.cc:8123
 #, gcc-internal-format
 msgid "could not find variant declaration"
 msgstr ""
 
-#: cp/decl.cc:7967
+#: cp/decl.cc:8147
 #, gcc-internal-format
 msgid "%<declare variant%> on constructor %qD"
 msgstr ""
 
-#: cp/decl.cc:7972
+#: cp/decl.cc:8152
 #, gcc-internal-format
 msgid "%<declare variant%> on destructor %qD"
 msgstr ""
 
-#: cp/decl.cc:7977
+#: cp/decl.cc:8157
 #, gcc-internal-format
 msgid "%<declare variant%> on defaulted %qD"
 msgstr ""
 
-#: cp/decl.cc:7982
+#: cp/decl.cc:8162
 #, gcc-internal-format
 msgid "%<declare variant%> on deleted %qD"
 msgstr ""
 
-#: cp/decl.cc:7987
+#: cp/decl.cc:8167
 #, gcc-internal-format
 msgid "%<declare variant%> on virtual %qD"
 msgstr ""
 
-#: cp/decl.cc:8037
+#: cp/decl.cc:8217
 #, gcc-internal-format
 msgid "assignment (not initialization) in declaration"
 msgstr ""
 
-#: cp/decl.cc:8058 cp/decl.cc:14515
+#: cp/decl.cc:8238 cp/decl.cc:14754
 #, gcc-internal-format
 msgid "ISO C++17 does not allow %<register%> storage class specifier"
 msgstr ""
 
-#: cp/decl.cc:8062 cp/decl.cc:14519
+#: cp/decl.cc:8242 cp/decl.cc:14758
 #, gcc-internal-format
 msgid "%<register%> storage class specifier used"
 msgstr ""
 
-#: cp/decl.cc:8127
+#: cp/decl.cc:8310
 #, gcc-internal-format
 msgid ""
 "initializer for %<decltype(auto) %D%> has function type; did you forget the "
 "%<()%>?"
 msgstr ""
 
-#: cp/decl.cc:8138
+#: cp/decl.cc:8321
 #, gcc-internal-format
 msgid "deduced type %qT for %qD is incomplete"
 msgstr ""
 
-#: cp/decl.cc:8254
+#: cp/decl.cc:8451
 #, gcc-internal-format
 msgid "variable concept has no initializer"
 msgstr ""
 
-#: cp/decl.cc:8313
+#: cp/decl.cc:8510
 #, gcc-internal-format
 msgid "shadowing previous type declaration of %q#D"
 msgstr ""
 
-#: cp/decl.cc:8356
+#: cp/decl.cc:8553
 #, gcc-internal-format
 msgid ""
 "%<constinit%> can only be applied to a variable with static or thread "
 "storage duration"
 msgstr ""
 
-#: cp/decl.cc:8534
+#: cp/decl.cc:8731
 #, gcc-internal-format
 msgid "function %q#D is initialized like a variable"
 msgstr ""
 
-#: cp/decl.cc:8643
+#: cp/decl.cc:8842
 #, gcc-internal-format
 msgid ""
 "cannot decompose class type %qT because it has an anonymous struct member"
 msgstr ""
 
-#: cp/decl.cc:8646
+#: cp/decl.cc:8845
 #, gcc-internal-format
 msgid ""
 "cannot decompose class type %qT because it has an anonymous union member"
 msgstr ""
 
-#: cp/decl.cc:8653
+#: cp/decl.cc:8852
 #, gcc-internal-format
 msgid "cannot decompose inaccessible member %qD of %qT"
 msgstr ""
 
-#: cp/decl.cc:8679
+#: cp/decl.cc:8878
 #, 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:8688
+#: cp/decl.cc:8887
 #, gcc-internal-format
 msgid ""
 "cannot decompose class type %qT: its base classes %qT and %qT have non-"
 "static data members"
 msgstr ""
 
-#: cp/decl.cc:8898
+#: cp/decl.cc:9097
 #, gcc-internal-format
 msgid "structured binding refers to incomplete type %qT"
 msgstr ""
 
-#: cp/decl.cc:8914
+#: cp/decl.cc:9113
 #, gcc-internal-format
 msgid "cannot decompose variable length array %qT"
 msgstr ""
 
-#: cp/decl.cc:8923 cp/decl.cc:9008
+#: cp/decl.cc:9122 cp/decl.cc:9201
 #, 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:8927
+#: cp/decl.cc:9126
 #, 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:8930
+#: cp/decl.cc:9129
 #, 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:8975
+#: cp/decl.cc:9170
 #, gcc-internal-format
 msgid "cannot decompose variable length vector %qT"
 msgstr ""
 
-#: cp/decl.cc:9001
+#: cp/decl.cc:9194
 #, gcc-internal-format
 msgid "%<std::tuple_size<%T>::value%> is not an integral constant expression"
 msgstr ""
 
-#: cp/decl.cc:9010
+#: cp/decl.cc:9203
 #, gcc-internal-format
 msgid "while %qT decomposes into %E elements"
 msgstr ""
 
-#: cp/decl.cc:9031
+#: cp/decl.cc:9224
 #, gcc-internal-format
 msgid "%<std::tuple_element<%u, %T>::type%> is %<void%>"
 msgstr ""
 
-#: cp/decl.cc:9037
+#: cp/decl.cc:9230
 #, gcc-internal-format
 msgid "in initialization of structured binding variable %qD"
 msgstr ""
 
-#: cp/decl.cc:9066
+#: cp/decl.cc:9259
 #, gcc-internal-format
 msgid "cannot decompose union type %qT"
 msgstr ""
 
-#: cp/decl.cc:9071
+#: cp/decl.cc:9264
 #, gcc-internal-format
 msgid "cannot decompose non-array non-class type %qT"
 msgstr ""
 
-#: cp/decl.cc:9076
+#: cp/decl.cc:9269
 #, gcc-internal-format
 msgid "cannot decompose lambda closure type %qT"
 msgstr ""
 
-#: cp/decl.cc:9082
+#: cp/decl.cc:9275
 #, gcc-internal-format
 msgid "structured binding refers to incomplete class type %qT"
 msgstr ""
 
-#: cp/decl.cc:9091
+#: cp/decl.cc:9284
 #, gcc-internal-format
 msgid "cannot decompose class type %qT without non-static data members"
 msgstr ""
 
-#: cp/decl.cc:9558
+#: cp/decl.cc:9751
 #, gcc-internal-format
 msgid ""
 "non-local variable %qD declared %<__thread%> needs dynamic initialization"
 msgstr ""
 
-#: cp/decl.cc:9561
+#: cp/decl.cc:9754
 #, gcc-internal-format
 msgid ""
 "non-local variable %qD declared %<__thread%> has a non-trivial destructor"
 msgstr ""
 
-#: cp/decl.cc:9566
+#: cp/decl.cc:9759
 #, gcc-internal-format
 msgid "C++11 %<thread_local%> allows dynamic initialization and destruction"
 msgstr ""
 
-#: cp/decl.cc:9785
+#: cp/decl.cc:9978
 #, gcc-internal-format
 msgid "initializer fails to determine size of %qT"
 msgstr ""
 
-#: cp/decl.cc:9789
+#: cp/decl.cc:9982
 #, gcc-internal-format
 msgid "array size missing in %qT"
 msgstr ""
 
-#: cp/decl.cc:9792
+#: cp/decl.cc:9985
 #, gcc-internal-format
 msgid "zero-size array %qT"
 msgstr ""
 
-#: cp/decl.cc:9808
+#: cp/decl.cc:10001
 #, gcc-internal-format
 msgid "destructor for alien class %qT cannot be a member"
 msgstr ""
 
-#: cp/decl.cc:9810
+#: cp/decl.cc:10003
 #, gcc-internal-format
 msgid "constructor for alien class %qT cannot be a member"
 msgstr ""
 
-#: cp/decl.cc:9836
+#: cp/decl.cc:10029
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> variable"
 msgstr ""
 
-#: cp/decl.cc:9838
+#: cp/decl.cc:10031
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in variable "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:9844
+#: cp/decl.cc:10037
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> parameter"
 msgstr ""
 
-#: cp/decl.cc:9847
+#: cp/decl.cc:10040
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> parameter"
 msgstr ""
 
-#: cp/decl.cc:9849
+#: cp/decl.cc:10042
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in parameter "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:9855
+#: cp/decl.cc:10048
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> type"
 msgstr ""
 
-#: cp/decl.cc:9858
+#: cp/decl.cc:10051
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> type"
 msgstr ""
 
-#: cp/decl.cc:9860
+#: cp/decl.cc:10053
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in type "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:9866
+#: cp/decl.cc:10059
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> field"
 msgstr ""
 
-#: cp/decl.cc:9869
+#: cp/decl.cc:10062
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> field"
 msgstr ""
 
-#: cp/decl.cc:9871
+#: cp/decl.cc:10064
 #, gcc-internal-format
 msgid ""
 "%<const%> and %<volatile%> function specifiers on %qD invalid in field "
 "declaration"
 msgstr ""
 
-#: cp/decl.cc:9878
+#: cp/decl.cc:10071
 #, gcc-internal-format
 msgid "%q+D declared as a friend"
 msgstr ""
 
-#: cp/decl.cc:9885
+#: cp/decl.cc:10078
 #, gcc-internal-format
 msgid "%q+D declared with an exception specification"
 msgstr ""
 
-#: cp/decl.cc:9917
+#: cp/decl.cc:10110
 #, gcc-internal-format
 msgid "definition of %qD is not in namespace enclosing %qT"
 msgstr ""
 
-#: cp/decl.cc:9957
+#: cp/decl.cc:10150
 #, gcc-internal-format
 msgid "static member function %q#D declared with type qualifiers"
 msgstr ""
 
-#: cp/decl.cc:9968
+#: cp/decl.cc:10161
 #, gcc-internal-format
 msgid "concept %q#D declared with function parameters"
 msgstr ""
 
-#: cp/decl.cc:9975
+#: cp/decl.cc:10168
 #, gcc-internal-format
 msgid "concept %q#D declared with a deduced return type"
 msgstr ""
 
-#: cp/decl.cc:9978
+#: cp/decl.cc:10171
 #, gcc-internal-format
 msgid "concept %q#D with non-%<bool%> return type %qT"
 msgstr ""
 
-#: cp/decl.cc:10054
+#: cp/decl.cc:10247
 #, gcc-internal-format
 msgid "concept %qD has no definition"
 msgstr ""
 
-#: cp/decl.cc:10083
+#: cp/decl.cc:10276
 #, gcc-internal-format
 msgid "a function concept cannot be constrained"
 msgstr ""
 
-#: cp/decl.cc:10093
+#: cp/decl.cc:10286
 #, gcc-internal-format
 msgid "constraints on a non-templated function"
 msgstr ""
 
-#: cp/decl.cc:10138
+#: cp/decl.cc:10331
 #, gcc-internal-format
 msgid "defining explicit specialization %qD in friend declaration"
 msgstr ""
 
-#: cp/decl.cc:10149
+#: cp/decl.cc:10342
 #, gcc-internal-format
 msgid "invalid use of template-id %qD in declaration of primary template"
 msgstr ""
 
-#: cp/decl.cc:10168
+#: cp/decl.cc:10360
 #, gcc-internal-format
 msgid ""
 "default arguments are not allowed in declaration of friend template "
 "specialization %qD"
 msgstr ""
 
-#: cp/decl.cc:10177
+#: cp/decl.cc:10369
 #, gcc-internal-format
 msgid ""
 "%<inline%> is not allowed in declaration of friend template specialization "
 "%qD"
 msgstr ""
 
-#: cp/decl.cc:10194
+#: cp/decl.cc:10386
 #, gcc-internal-format
 msgid ""
 "friend declaration of %qD specifies default arguments and isn%'t a definition"
 msgstr ""
 
-#: cp/decl.cc:10239
+#: cp/decl.cc:10431
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be a template"
 msgstr ""
 
-#: cp/decl.cc:10242
+#: cp/decl.cc:10434
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be inline"
 msgstr ""
 
-#: cp/decl.cc:10245 cp/decl.cc:10248
+#: cp/decl.cc:10437 cp/decl.cc:10440
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be %qs"
 msgstr ""
 
-#: cp/decl.cc:10250
+#: cp/decl.cc:10442
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be static"
 msgstr ""
 
-#: cp/decl.cc:10312
+#: cp/decl.cc:10504
 #, gcc-internal-format
 msgid "static member function %qD cannot have cv-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10313
+#: cp/decl.cc:10505
 #, gcc-internal-format
 msgid "non-member function %qD cannot have cv-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10321
+#: cp/decl.cc:10513
 #, gcc-internal-format
 msgid "static member function %qD cannot have ref-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10322
+#: cp/decl.cc:10514
 #, gcc-internal-format
 msgid "non-member function %qD cannot have ref-qualifier"
 msgstr ""
 
-#: cp/decl.cc:10334
+#: cp/decl.cc:10526
 #, gcc-internal-format
 msgid "deduction guide %qD must be declared in the same scope as %qT"
 msgstr ""
 
-#: cp/decl.cc:10342
+#: cp/decl.cc:10534
 #, gcc-internal-format
 msgid "deduction guide %qD must have the same access as %qT"
 msgstr ""
 
-#: cp/decl.cc:10348
+#: cp/decl.cc:10540
 #, gcc-internal-format
 msgid "deduction guide %qD must not have a function body"
 msgstr ""
 
-#: cp/decl.cc:10361
+#: cp/decl.cc:10553
 #, gcc-internal-format
 msgid "literal operator with C linkage"
 msgstr ""
 
-#: cp/decl.cc:10371
+#: cp/decl.cc:10563
 #, gcc-internal-format
 msgid "%qD has invalid argument list"
 msgstr ""
 
-#: cp/decl.cc:10379
+#: cp/decl.cc:10571
 #, gcc-internal-format
 msgid "integer suffix %qs shadowed by implementation"
 msgstr ""
 
-#: cp/decl.cc:10385
+#: cp/decl.cc:10577
 #, gcc-internal-format
 msgid "floating-point suffix %qs shadowed by implementation"
 msgstr ""
 
-#: cp/decl.cc:10392
+#: cp/decl.cc:10584
 #, gcc-internal-format
 msgid ""
 "literal operator suffixes not preceded by %<_%> are reserved for future "
 "standardization"
 msgstr ""
 
-#: cp/decl.cc:10397
+#: cp/decl.cc:10589
 #, gcc-internal-format
 msgid "%qD must be a non-member function"
 msgstr ""
 
-#: cp/decl.cc:10480
+#: cp/decl.cc:10675
 #, gcc-internal-format
 msgid "%<::main%> must return %<int%>"
 msgstr ""
 
-#: cp/decl.cc:10520
+#: cp/decl.cc:10715
 #, gcc-internal-format
 msgid "definition of implicitly-declared %qD"
 msgstr ""
 
-#: cp/decl.cc:10525
+#: cp/decl.cc:10720
 #, gcc-internal-format
 msgid "definition of explicitly-defaulted %q+D"
 msgstr ""
 
-#: cp/decl.cc:10527
+#: cp/decl.cc:10722
 #, gcc-internal-format
 msgid "%q#D explicitly defaulted here"
 msgstr ""
 
-#: cp/decl.cc:10544
+#: cp/decl.cc:10739
 #, gcc-internal-format
 msgid "no %q#D member function declared in class %qT"
 msgstr ""
 
-#: cp/decl.cc:10737
+#: cp/decl.cc:10932
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be a global variable"
 msgstr ""
 
-#: cp/decl.cc:10746
+#: cp/decl.cc:10941
 #, gcc-internal-format
 msgid "a non-template variable cannot be %<concept%>"
 msgstr ""
 
-#: cp/decl.cc:10752
+#: cp/decl.cc:10947
 #, gcc-internal-format
 msgid "concept must be defined at namespace scope"
 msgstr ""
 
-#: cp/decl.cc:10759
+#: cp/decl.cc:10954
 #, gcc-internal-format
 msgid "concept must have type %<bool%>"
 msgstr ""
 
-#: cp/decl.cc:10762
+#: cp/decl.cc:10957
 #, gcc-internal-format
 msgid "a variable concept cannot be constrained"
 msgstr ""
 
-#: cp/decl.cc:10886
+#: cp/decl.cc:11079
 #, gcc-internal-format
 msgid "in-class initialization of static data member %q#D of incomplete type"
 msgstr ""
 
-#: cp/decl.cc:10890
+#: cp/decl.cc:11083
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> needed for in-class initialization of static data member %q#D "
 "of non-integral type"
 msgstr ""
 
-#: cp/decl.cc:10894
+#: cp/decl.cc:11087
 #, gcc-internal-format
 msgid "in-class initialization of static data member %q#D of non-literal type"
 msgstr ""
 
-#: cp/decl.cc:10905
+#: cp/decl.cc:11098
 #, gcc-internal-format
 msgid ""
 "invalid in-class initialization of static data member of non-integral type "
 "%qT"
 msgstr ""
 
-#: cp/decl.cc:10910
+#: cp/decl.cc:11103
 #, gcc-internal-format
 msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
 msgstr ""
 
-#: cp/decl.cc:10915
+#: cp/decl.cc:11108
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids initialization of member constant %qD of non-integral type "
 "%qT"
 msgstr ""
 
-#: cp/decl.cc:11026
+#: cp/decl.cc:11219
 #, gcc-internal-format
 msgid "size of array %qD has non-integral type %qT"
 msgstr ""
 
-#: cp/decl.cc:11029
+#: cp/decl.cc:11222
 #, gcc-internal-format
 msgid "size of array has non-integral type %qT"
 msgstr ""
 
-#: cp/decl.cc:11060 cp/decl.cc:11132
+#: cp/decl.cc:11253 cp/decl.cc:11325
 #, gcc-internal-format
 msgid "size of array %qD is not an integral constant-expression"
 msgstr ""
 
-#: cp/decl.cc:11064 cp/decl.cc:11135
+#: cp/decl.cc:11257 cp/decl.cc:11328
 #, gcc-internal-format
 msgid "size of array is not an integral constant-expression"
 msgstr ""
 
-#: cp/decl.cc:11115
+#: cp/decl.cc:11308
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array %qD"
 msgstr ""
 
-#: cp/decl.cc:11118
+#: cp/decl.cc:11311
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array"
 msgstr ""
 
-#: cp/decl.cc:11142
+#: cp/decl.cc:11335
 #, gcc-internal-format
 msgid "ISO C++ forbids variable length array %qD"
 msgstr ""
 
-#: cp/decl.cc:11145
+#: cp/decl.cc:11338
 #, gcc-internal-format
 msgid "ISO C++ forbids variable length array"
 msgstr ""
 
-#: cp/decl.cc:11151
+#: cp/decl.cc:11344
 #, gcc-internal-format
 msgid "variable length array %qD is used"
 msgstr ""
 
-#: cp/decl.cc:11154
+#: cp/decl.cc:11347
 #, gcc-internal-format
 msgid "variable length array is used"
 msgstr ""
 
-#: cp/decl.cc:11206
+#: cp/decl.cc:11399
 #, gcc-internal-format
 msgid "overflow in array dimension"
 msgstr ""
 
-#: cp/decl.cc:11266
+#: cp/decl.cc:11459
 #, gcc-internal-format
 msgid "%qD declared as array of template placeholder type %qT"
 msgstr ""
 
-#: cp/decl.cc:11269
+#: cp/decl.cc:11462
 #, gcc-internal-format
 msgid "creating array of template placeholder type %qT"
 msgstr ""
 
-#: cp/decl.cc:11279
+#: cp/decl.cc:11472
 #, gcc-internal-format
 msgid "declaration of %qD as array of void"
 msgstr ""
 
-#: cp/decl.cc:11281
+#: cp/decl.cc:11474
 #, gcc-internal-format
 msgid "creating array of void"
 msgstr ""
 
-#: cp/decl.cc:11286
+#: cp/decl.cc:11479
 #, gcc-internal-format
 msgid "declaration of %qD as array of functions"
 msgstr ""
 
-#: cp/decl.cc:11288
+#: cp/decl.cc:11481
 #, gcc-internal-format
 msgid "creating array of functions"
 msgstr ""
 
-#: cp/decl.cc:11293
+#: cp/decl.cc:11486
 #, gcc-internal-format
 msgid "declaration of %qD as array of references"
 msgstr ""
 
-#: cp/decl.cc:11295
+#: cp/decl.cc:11488
 #, gcc-internal-format
 msgid "creating array of references"
 msgstr ""
 
-#: cp/decl.cc:11300
+#: cp/decl.cc:11493
 #, gcc-internal-format
 msgid "declaration of %qD as array of function members"
 msgstr ""
 
-#: cp/decl.cc:11303
+#: cp/decl.cc:11496
 #, gcc-internal-format
 msgid "creating array of function members"
 msgstr ""
 
-#: cp/decl.cc:11321
+#: cp/decl.cc:11514
 #, gcc-internal-format
 msgid ""
 "declaration of %qD as multidimensional array must have bounds for all "
 "dimensions except the first"
 msgstr ""
 
-#: cp/decl.cc:11325
+#: cp/decl.cc:11518
 #, gcc-internal-format
 msgid ""
 "multidimensional array must have bounds for all dimensions except the first"
 msgstr ""
 
-#: cp/decl.cc:11339
+#: cp/decl.cc:11532
 #, gcc-internal-format
 msgid "variable-length array of %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:11415
+#: cp/decl.cc:11608
 #, gcc-internal-format
 msgid "return type specification for constructor invalid"
 msgstr ""
 
-#: cp/decl.cc:11418
+#: cp/decl.cc:11611
 #, gcc-internal-format
 msgid "qualifiers are not allowed on constructor declaration"
 msgstr ""
 
-#: cp/decl.cc:11429
+#: cp/decl.cc:11622
 #, gcc-internal-format
 msgid "return type specification for destructor invalid"
 msgstr ""
 
-#: cp/decl.cc:11432
+#: cp/decl.cc:11625
 #, gcc-internal-format
 msgid "qualifiers are not allowed on destructor declaration"
 msgstr ""
 
-#: cp/decl.cc:11445
+#: cp/decl.cc:11638
 #, gcc-internal-format
 msgid "return type specified for %<operator %T%>"
 msgstr ""
 
-#: cp/decl.cc:11448
+#: cp/decl.cc:11641
 #, gcc-internal-format
 msgid "qualifiers are not allowed on declaration of %<operator %T%>"
 msgstr ""
 
-#: cp/decl.cc:11457
+#: cp/decl.cc:11650
 #, gcc-internal-format
 msgid "return type specified for deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11460
+#: cp/decl.cc:11653
 #, gcc-internal-format
 msgid "qualifiers are not allowed on declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11464
+#: cp/decl.cc:11657
 #, gcc-internal-format
 msgid "template template parameter %qT in declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11473
+#: cp/decl.cc:11666
 #, gcc-internal-format
 msgid "%<decl-specifier%> in declaration of deduction guide"
 msgstr ""
 
-#: cp/decl.cc:11494
+#: cp/decl.cc:11687
 #, gcc-internal-format
 msgid "unnamed variable or field declared void"
 msgstr ""
 
-#: cp/decl.cc:11502
+#: cp/decl.cc:11695
 #, gcc-internal-format
 msgid "variable or field declared void"
 msgstr ""
 
-#: cp/decl.cc:11517
+#: cp/decl.cc:11710
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for variable %qD declared at block scope"
 msgstr ""
 
-#: cp/decl.cc:11522
+#: cp/decl.cc:11715
 #, gcc-internal-format
 msgid ""
 "inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/decl.cc:11578
+#: cp/decl.cc:11771
 #, gcc-internal-format
 msgid "%qT as type rather than plain %<decltype(auto)%>"
 msgstr ""
 
-#: cp/decl.cc:11584
+#: cp/decl.cc:11777
 #, gcc-internal-format
 msgid "%<decltype(auto)%> cannot be cv-qualified"
 msgstr ""
 
-#: cp/decl.cc:11800
+#: cp/decl.cc:11993
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<::%D%>"
 msgstr ""
 
-#: cp/decl.cc:11803 cp/decl.cc:11825
+#: cp/decl.cc:11996 cp/decl.cc:12018
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<%T::%D%>"
 msgstr ""
 
-#: cp/decl.cc:11806
+#: cp/decl.cc:11999
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<%D::%D%>"
 msgstr ""
 
-#: cp/decl.cc:11816
+#: cp/decl.cc:12009
 #, gcc-internal-format
 msgid "%q#T is not a class or namespace"
 msgstr ""
 
-#: cp/decl.cc:11840
+#: cp/decl.cc:12033
 #, gcc-internal-format
 msgid "declaration of %qE as non-function"
 msgstr ""
 
-#: cp/decl.cc:11847
+#: cp/decl.cc:12040
 #, gcc-internal-format
 msgid "declaration of %qE as non-member"
 msgstr ""
 
-#: cp/decl.cc:11875
+#: cp/decl.cc:12068
 #, gcc-internal-format
 msgid "declarator-id missing; using reserved word %qD"
 msgstr ""
 
-#: cp/decl.cc:11926
+#: cp/decl.cc:12119
 #, gcc-internal-format
 msgid "function definition does not declare parameters"
 msgstr ""
 
-#: cp/decl.cc:11934 cp/decl.cc:11943 cp/decl.cc:13757
+#: cp/decl.cc:12127 cp/decl.cc:12136 cp/decl.cc:13989
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr ""
 
-#: cp/decl.cc:11951
+#: cp/decl.cc:12144
 #, gcc-internal-format
 msgid "declaration of %qD as %<typedef%>"
 msgstr ""
 
-#: cp/decl.cc:11956
+#: cp/decl.cc:12149
 #, gcc-internal-format
 msgid "declaration of %qD as parameter"
 msgstr ""
 
-#: cp/decl.cc:11991
+#: cp/decl.cc:12184
 #, gcc-internal-format
 msgid "both %qs and %qs specified"
 msgstr ""
 
-#: cp/decl.cc:11998 cp/decl.cc:12005 cp/decl.cc:12012 cp/decl.cc:12019
+#: cp/decl.cc:12191 cp/decl.cc:12198 cp/decl.cc:12205 cp/decl.cc:12212
 #, gcc-internal-format
 msgid "%qs cannot appear in a typedef declaration"
 msgstr ""
 
-#: cp/decl.cc:12030
+#: cp/decl.cc:12223
 #, gcc-internal-format
 msgid "can use at most one of the %<constinit%> and %<constexpr%> specifiers"
 msgstr ""
 
-#: cp/decl.cc:12040
+#: cp/decl.cc:12233
 #, gcc-internal-format
 msgid "two or more data types in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:12048
-#, gcc-internal-format
-msgid "conflicting specifiers in declaration of %qs"
-msgstr ""
-
-#: cp/decl.cc:12099
+#: cp/decl.cc:12287
 #, gcc-internal-format
 msgid "ISO C++ does not support plain %<complex%> meaning %<double complex%>"
 msgstr ""
 
-#: cp/decl.cc:12148 cp/decl.cc:12152 cp/decl.cc:12155
+#: cp/decl.cc:12336 cp/decl.cc:12340 cp/decl.cc:12343
 #, gcc-internal-format
 msgid "ISO C++ forbids declaration of %qs with no type"
 msgstr ""
 
-#: cp/decl.cc:12172
+#: cp/decl.cc:12360
 #, gcc-internal-format
 msgid "%<__int%d%> is not supported by this target"
 msgstr ""
 
-#: cp/decl.cc:12180
+#: cp/decl.cc:12368
 #, gcc-internal-format
 msgid "ISO C++ does not support %<__int%d%> for %qs"
 msgstr ""
 
-#: cp/decl.cc:12234
+#: cp/decl.cc:12422
 #, gcc-internal-format
 msgid "%<signed%> and %<unsigned%> specified together"
 msgstr ""
 
-#: cp/decl.cc:12240
+#: cp/decl.cc:12428
 #, gcc-internal-format
 msgid "%<long%> and %<short%> specified together"
 msgstr ""
 
-#: cp/decl.cc:12248 cp/decl.cc:12254
+#: cp/decl.cc:12436 cp/decl.cc:12442
 #, gcc-internal-format
 msgid "%qs specified with %qT"
 msgstr ""
 
-#: cp/decl.cc:12261
+#: cp/decl.cc:12449
 #, gcc-internal-format
 msgid "%qs specified with %<decltype%>"
 msgstr ""
 
-#: cp/decl.cc:12263
+#: cp/decl.cc:12451
 #, gcc-internal-format
 msgid "%qs specified with %<typeof%>"
 msgstr ""
 
-#: cp/decl.cc:12330
+#: cp/decl.cc:12518
 #, gcc-internal-format
 msgid "complex invalid for %qs"
 msgstr ""
 
-#: cp/decl.cc:12369
+#: cp/decl.cc:12562
 #, gcc-internal-format
 msgid ""
-"template placeholder type %qT must be followed by a simple declarator-id"
+"missing template argument list after %qE; for deduction, template "
+"placeholder must be followed by a simple declarator-id"
 msgstr ""
 
-#: cp/decl.cc:12394
+#: cp/decl.cc:12588
 #, gcc-internal-format
 msgid "member %qD cannot be declared both %<virtual%> and %<static%>"
 msgstr ""
 
-#: cp/decl.cc:12403
+#: cp/decl.cc:12597
 #, 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:12416
+#: cp/decl.cc:12610
 #, gcc-internal-format
 msgid "typedef declaration invalid in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:12423
+#: cp/decl.cc:12617
 #, gcc-internal-format
 msgid "storage class specified for template parameter %qs"
 msgstr ""
 
-#: cp/decl.cc:12433 cp/decl.cc:12605
+#: cp/decl.cc:12627 cp/decl.cc:12804
 #, gcc-internal-format
 msgid "storage class specified for parameter %qs"
 msgstr ""
 
-#: cp/decl.cc:12441 cp/decl.cc:12450 cp/decl.cc:12456 cp/decl.cc:12462
+#: cp/decl.cc:12635 cp/decl.cc:12644 cp/decl.cc:12650 cp/decl.cc:12656
 #, gcc-internal-format
 msgid "a parameter cannot be declared %qs"
 msgstr ""
 
-#: cp/decl.cc:12472
+#: cp/decl.cc:12666
 #, gcc-internal-format
 msgid "%<virtual%> outside class declaration"
 msgstr ""
 
-#: cp/decl.cc:12482 cp/decl.cc:12485 cp/decl.cc:12487 cp/decl.cc:12490
-#: cp/decl.cc:12500 cp/decl.cc:12510 cp/decl.cc:12520 cp/decl.cc:12524
+#: cp/decl.cc:12676 cp/decl.cc:12679 cp/decl.cc:12681 cp/decl.cc:12684
+#: cp/decl.cc:12694 cp/decl.cc:12704 cp/decl.cc:12714 cp/decl.cc:12718
 #, gcc-internal-format
 msgid "structured binding declaration cannot be %qs"
 msgstr ""
 
-#: cp/decl.cc:12494 cp/decl.cc:12516
+#: cp/decl.cc:12688 cp/decl.cc:12710
 #, gcc-internal-format
 msgid ""
 "structured binding declaration can be %qs only in %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/decl.cc:12504
+#: cp/decl.cc:12698
 #, gcc-internal-format
 msgid "%<volatile%>-qualified structured binding is deprecated"
 msgstr ""
 
-#: cp/decl.cc:12528
+#: cp/decl.cc:12722
 #, gcc-internal-format
 msgid "structured binding declaration cannot be C++98 %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12539
+#: cp/decl.cc:12734
 #, gcc-internal-format
 msgid "structured binding declaration cannot have type %qT"
 msgstr ""
 
-#: cp/decl.cc:12542
+#: cp/decl.cc:12737
 #, gcc-internal-format
 msgid ""
 "type must be cv-qualified %<auto%> or reference to cv-qualified %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12577
+#: cp/decl.cc:12745
+#, gcc-internal-format
+msgid ""
+"structured binding declaration cannot have constrained %<auto%> type %qT"
+msgstr ""
+
+#: cp/decl.cc:12776
 #, gcc-internal-format
 msgid "multiple storage classes in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:12603
+#: cp/decl.cc:12802
 #, gcc-internal-format
 msgid "storage class specified for %qs"
 msgstr ""
 
-#: cp/decl.cc:12617
+#: cp/decl.cc:12816
 #, gcc-internal-format
 msgid "nested function %qs declared %<extern%>"
 msgstr ""
 
-#: cp/decl.cc:12622
+#: cp/decl.cc:12821
 #, gcc-internal-format
 msgid "top-level declaration of %qs specifies %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12630
+#: cp/decl.cc:12829
 #, gcc-internal-format
 msgid "function-scope %qs implicitly auto and declared %<__thread%>"
 msgstr ""
 
-#: cp/decl.cc:12644
+#: cp/decl.cc:12843
 #, gcc-internal-format
 msgid "storage class specifiers invalid in friend function declarations"
 msgstr ""
 
-#: cp/decl.cc:12675 cp/decl.cc:14129 cp/parser.cc:14829 cp/parser.cc:20657
-#: cp/parser.cc:27081
+#: cp/decl.cc:12875 cp/decl.cc:14367 cp/parser.cc:14937 cp/parser.cc:20800
+#: cp/parser.cc:27371
 #, gcc-internal-format
 msgid "attribute ignored"
 msgstr ""
 
-#: cp/decl.cc:12676
+#: cp/decl.cc:12876
 #, gcc-internal-format
 msgid "an attribute that appertains to a type-specifier is ignored"
 msgstr ""
 
-#: cp/decl.cc:12734
+#: cp/decl.cc:12944
 #, gcc-internal-format
 msgid "unnecessary parentheses in declaration of %qs"
 msgstr ""
 
-#: cp/decl.cc:12740
+#: cp/decl.cc:12950
 #, gcc-internal-format
 msgid "remove parentheses"
 msgstr ""
 
-#: cp/decl.cc:12789
+#: cp/decl.cc:12999
 #, gcc-internal-format
 msgid "requires-clause on return type"
 msgstr ""
 
-#: cp/decl.cc:12809
+#: cp/decl.cc:13019
 #, gcc-internal-format
 msgid "%qs function uses %<auto%> type specifier without trailing return type"
 msgstr ""
 
-#: cp/decl.cc:12813
+#: cp/decl.cc:13023
 #, gcc-internal-format
 msgid ""
 "deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/decl.cc:12818
+#: cp/decl.cc:13028
 #, gcc-internal-format
 msgid "virtual function cannot have deduced return type"
 msgstr ""
 
-#: cp/decl.cc:12825
+#: cp/decl.cc:13035
 #, gcc-internal-format
 msgid ""
 "%qs function with trailing return type has %qT as its type rather than plain "
 "%<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12834
+#: cp/decl.cc:13044
 #, gcc-internal-format
 msgid ""
 "%qs function with trailing return type has %<decltype(auto)%> as its type "
 "rather than plain %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:12839
+#: cp/decl.cc:13049
 #, gcc-internal-format
 msgid "invalid use of %<decltype(auto)%>"
 msgstr ""
 
-#: cp/decl.cc:12850
+#: cp/decl.cc:13061
 #, gcc-internal-format
 msgid "deduced class type %qD in function return type"
 msgstr ""
 
-#: cp/decl.cc:12859
+#: cp/decl.cc:13070
 #, gcc-internal-format
 msgid "deduction guide for %qT must have trailing return type"
 msgstr ""
 
-#: cp/decl.cc:12872
+#: cp/decl.cc:13083
 #, gcc-internal-format
 msgid ""
 "trailing return type %qT of deduction guide is not a specialization of %qT"
 msgstr ""
 
-#: cp/decl.cc:12886
+#: cp/decl.cc:13097
 #, gcc-internal-format
 msgid ""
 "trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/decl.cc:12889
+#: cp/decl.cc:13100
 #, gcc-internal-format
 msgid ""
 "%qs function with trailing return type not declared with %<auto%> type "
 "specifier"
 msgstr ""
 
-#: cp/decl.cc:12896
+#: cp/decl.cc:13107
 #, gcc-internal-format
 msgid "a conversion function cannot have a trailing return type"
 msgstr ""
 
-#: cp/decl.cc:12918
+#: cp/decl.cc:13133
 #, gcc-internal-format
 msgid "%<volatile%>-qualified return type is deprecated"
 msgstr ""
 
-#: cp/decl.cc:12930
+#: cp/decl.cc:13145
 #, gcc-internal-format
 msgid "%qs declared as function returning a function"
 msgstr ""
 
-#: cp/decl.cc:12936
+#: cp/decl.cc:13151
 #, gcc-internal-format
 msgid "%qs declared as function returning an array"
 msgstr ""
 
-#: cp/decl.cc:12943
+#: cp/decl.cc:13158
 #, gcc-internal-format
 msgid "%<constinit%> on function return type is not allowed"
 msgstr ""
 
-#: cp/decl.cc:12976
+#: cp/decl.cc:13191
 #, gcc-internal-format
 msgid "destructor cannot be static member function"
 msgstr ""
 
-#: cp/decl.cc:12978
+#: cp/decl.cc:13193
 #, gcc-internal-format
 msgid "constructor cannot be static member function"
 msgstr ""
 
-#: cp/decl.cc:12983
+#: cp/decl.cc:13198
 #, gcc-internal-format
 msgid "destructors may not be cv-qualified"
 msgstr ""
 
-#: cp/decl.cc:12984
+#: cp/decl.cc:13199
 #, gcc-internal-format
 msgid "constructors may not be cv-qualified"
 msgstr ""
 
-#: cp/decl.cc:12992
+#: cp/decl.cc:13207
 #, gcc-internal-format
 msgid "destructors may not be ref-qualified"
 msgstr ""
 
-#: cp/decl.cc:12993
+#: cp/decl.cc:13208
 #, gcc-internal-format
 msgid "constructors may not be ref-qualified"
 msgstr ""
 
-#: cp/decl.cc:13011
+#: cp/decl.cc:13226
 #, gcc-internal-format
 msgid "constructors cannot be declared %<virtual%>"
 msgstr ""
 
-#: cp/decl.cc:13028
+#: cp/decl.cc:13243
 #, gcc-internal-format
 msgid "virtual functions cannot be friends"
 msgstr ""
 
-#: cp/decl.cc:13033
+#: cp/decl.cc:13248
 #, gcc-internal-format
 msgid "friend declaration not in class definition"
 msgstr ""
 
-#: cp/decl.cc:13037
+#: cp/decl.cc:13252
 #, gcc-internal-format
 msgid "cannot define friend function %qs in a local class definition"
 msgstr ""
 
-#: cp/decl.cc:13047
+#: cp/decl.cc:13262
 #, gcc-internal-format
 msgid "friend function definition %qs cannot have a name qualified with %<::%>"
 msgstr ""
 
-#: cp/decl.cc:13051
+#: cp/decl.cc:13266
 #, gcc-internal-format
 msgid ""
 "friend function definition %qs cannot have a name qualified with %<%D::%>"
 msgstr ""
 
-#: cp/decl.cc:13089
+#: cp/decl.cc:13304
 #, gcc-internal-format
 msgid "destructors may not have parameters"
 msgstr ""
 
-#: cp/decl.cc:13129
+#: cp/decl.cc:13361
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T"
 msgstr ""
 
-#: cp/decl.cc:13142 cp/decl.cc:13149
+#: cp/decl.cc:13374 cp/decl.cc:13381
 #, gcc-internal-format
 msgid "cannot declare reference to %q#T"
 msgstr ""
 
-#: cp/decl.cc:13151
+#: cp/decl.cc:13383
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T member"
 msgstr ""
 
-#: cp/decl.cc:13180
+#: cp/decl.cc:13412
 #, gcc-internal-format
 msgid "cannot declare reference to qualified function type %qT"
 msgstr ""
 
-#: cp/decl.cc:13181
+#: cp/decl.cc:13413
 #, gcc-internal-format
 msgid "cannot declare pointer to qualified function type %qT"
 msgstr ""
 
-#: cp/decl.cc:13254
+#: cp/decl.cc:13486
 #, gcc-internal-format
 msgid ""
 "cannot declare reference to %q#T, which is not a typedef or a template type "
 "argument"
 msgstr ""
 
-#: cp/decl.cc:13334
+#: cp/decl.cc:13566
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr ""
 
-#: cp/decl.cc:13360
+#: cp/decl.cc:13592
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr ""
 
-#: cp/decl.cc:13365
+#: cp/decl.cc:13597
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr ""
 
-#: cp/decl.cc:13395
+#: cp/decl.cc:13627
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.cc:13397
+#: cp/decl.cc:13629
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.cc:13405
+#: cp/decl.cc:13637
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr ""
 
-#: cp/decl.cc:13445
+#: cp/decl.cc:13677
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr ""
 
-#: cp/decl.cc:13454
+#: cp/decl.cc:13686
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.cc:13457
+#: cp/decl.cc:13689
 #, gcc-internal-format
 msgid "parameter may not have variably modified type %qT"
 msgstr ""
 
-#: cp/decl.cc:13468
+#: cp/decl.cc:13700
 #, gcc-internal-format
 msgid "%<explicit%> outside class declaration"
 msgstr ""
 
-#: cp/decl.cc:13471
+#: cp/decl.cc:13703
 #, gcc-internal-format
 msgid "%<explicit%> in friend declaration"
 msgstr ""
 
-#: cp/decl.cc:13474
+#: cp/decl.cc:13706
 #, gcc-internal-format
 msgid ""
-"only declarations of constructors and conversion operators can be %<explicit"
-"%>"
+"only declarations of constructors and conversion operators can be "
+"%<explicit%>"
 msgstr ""
 
-#: cp/decl.cc:13484
+#: cp/decl.cc:13716
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13491
+#: cp/decl.cc:13723
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13497
+#: cp/decl.cc:13729
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13503
+#: cp/decl.cc:13735
 #, gcc-internal-format
 msgid "%<static%> %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13509
+#: cp/decl.cc:13741
 #, gcc-internal-format
 msgid "%<const%> %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13515
+#: cp/decl.cc:13747
 #, gcc-internal-format
 msgid "reference %qs cannot be declared %<mutable%>"
 msgstr ""
 
-#: cp/decl.cc:13531
+#: cp/decl.cc:13763
 #, gcc-internal-format
 msgid "typedef may not be a function definition"
 msgstr ""
 
-#: cp/decl.cc:13534
+#: cp/decl.cc:13766
 #, gcc-internal-format
 msgid "typedef may not be a member function definition"
 msgstr ""
 
-#: cp/decl.cc:13560
+#: cp/decl.cc:13792
 #, gcc-internal-format
 msgid "%<auto%> not allowed in alias declaration"
 msgstr ""
 
-#: cp/decl.cc:13563
+#: cp/decl.cc:13795
 #, gcc-internal-format
 msgid "typedef declared %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:13568
+#: cp/decl.cc:13800
 #, gcc-internal-format
 msgid "requires-clause on typedef"
 msgstr ""
 
-#: cp/decl.cc:13572
+#: cp/decl.cc:13804
 #, gcc-internal-format
 msgid "typedef name may not be a nested-name-specifier"
 msgstr ""
 
-#: cp/decl.cc:13598
+#: cp/decl.cc:13830
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr ""
 
-#: cp/decl.cc:13687
+#: cp/decl.cc:13919
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr ""
 
-#: cp/decl.cc:13695
+#: cp/decl.cc:13927
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr ""
 
-#: cp/decl.cc:13697
+#: cp/decl.cc:13929
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr ""
 
-#: cp/decl.cc:13701
+#: cp/decl.cc:13933
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr ""
 
-#: cp/decl.cc:13714
+#: cp/decl.cc:13946
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr ""
 
-#: cp/decl.cc:13734
+#: cp/decl.cc:13966
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr ""
 
-#: cp/decl.cc:13738
+#: cp/decl.cc:13970
 #, gcc-internal-format
 msgid "requires-clause on type-id"
 msgstr ""
 
-#: cp/decl.cc:13748
+#: cp/decl.cc:13980
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr ""
 
-#: cp/decl.cc:13763
+#: cp/decl.cc:13995
 #, gcc-internal-format
 msgid "requires-clause on declaration of non-function type %qT"
 msgstr ""
 
-#: cp/decl.cc:13782
+#: cp/decl.cc:14014
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:13791 cp/parser.cc:20091
+#: cp/decl.cc:14023 cp/parser.cc:20234
 #, gcc-internal-format
 msgid "cannot declare a parameter with %<decltype(auto)%>"
 msgstr ""
 
-#: cp/decl.cc:13796
+#: cp/decl.cc:14030
 #, gcc-internal-format
-msgid "class template placeholder %qE not permitted in this context"
+msgid ""
+"missing template argument list after %qE; template placeholder not permitted "
+"in parameter"
 msgstr ""
 
-#: cp/decl.cc:13799
+#: cp/decl.cc:14033
 #, gcc-internal-format
-msgid "use %<auto%> for an abbreviated function template"
+msgid "or use %<auto%> for an abbreviated function template"
 msgstr ""
 
-#: cp/decl.cc:13804
+#: cp/decl.cc:14039
 #, gcc-internal-format
 msgid "%<auto%> parameter not permitted in this context"
 msgstr ""
 
-#: cp/decl.cc:13807
+#: cp/decl.cc:14042
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr ""
 
-#: cp/decl.cc:13858 cp/parser.cc:3483
+#: cp/decl.cc:14093 cp/parser.cc:3561
 #, gcc-internal-format
 msgid "invalid use of template-name %qE without an argument list"
 msgstr ""
 
-#: cp/decl.cc:13862
+#: cp/decl.cc:14097
 #, gcc-internal-format
 msgid "non-static data member declared with placeholder %qT"
 msgstr ""
 
-#: cp/decl.cc:13883
+#: cp/decl.cc:14118
 #, gcc-internal-format
 msgid "ISO C++ forbids flexible array member %qs"
 msgstr ""
 
-#: cp/decl.cc:13886
+#: cp/decl.cc:14121
 #, gcc-internal-format
 msgid "ISO C++ forbids flexible array members"
 msgstr ""
 
 #. Something like struct S { int N::j; };
-#: cp/decl.cc:13902
+#: cp/decl.cc:14137
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr ""
 
-#: cp/decl.cc:13923
+#: cp/decl.cc:14158
 #, gcc-internal-format
 msgid "declaration of function %qD in invalid context"
 msgstr ""
 
-#: cp/decl.cc:13933
+#: cp/decl.cc:14168
 #, gcc-internal-format
 msgid "function %qD declared %<virtual%> inside a union"
 msgstr ""
 
-#: cp/decl.cc:13943
+#: cp/decl.cc:14178
 #, gcc-internal-format
 msgid "%qD cannot be declared %<virtual%>, since it is always static"
 msgstr ""
 
-#: cp/decl.cc:13957
+#: cp/decl.cc:14192
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr ""
 
-#: cp/decl.cc:13964
+#: cp/decl.cc:14199
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr ""
 
-#: cp/decl.cc:13971 cp/decl.cc:13984
+#: cp/decl.cc:14206 cp/decl.cc:14219
 #, gcc-internal-format
 msgid "a destructor cannot be %qs"
 msgstr ""
 
-#: cp/decl.cc:13990
+#: cp/decl.cc:14225
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr ""
 
-#: cp/decl.cc:13999
+#: cp/decl.cc:14234
 #, gcc-internal-format
 msgid "a constructor cannot be %<concept%>"
 msgstr ""
 
-#: cp/decl.cc:14005
+#: cp/decl.cc:14240
 #, gcc-internal-format
 msgid "a concept cannot be a member function"
 msgstr ""
 
-#: cp/decl.cc:14013 cp/decl.cc:14350
+#: cp/decl.cc:14248 cp/decl.cc:14589
 #, gcc-internal-format
 msgid "%qD cannot be %qs"
 msgstr ""
 
-#: cp/decl.cc:14022
+#: cp/decl.cc:14257
 #, gcc-internal-format
 msgid "specialization of variable template %qD declared as function"
 msgstr ""
 
-#: cp/decl.cc:14025
+#: cp/decl.cc:14260
 #, gcc-internal-format
 msgid "variable template declared here"
 msgstr ""
 
-#: cp/decl.cc:14087
+#: cp/decl.cc:14322
 #, gcc-internal-format
 msgid "field %qD has incomplete type %qT"
 msgstr ""
 
-#: cp/decl.cc:14092
+#: cp/decl.cc:14327
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr ""
 
-#: cp/decl.cc:14112
+#: cp/decl.cc:14347
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr ""
 
-#: cp/decl.cc:14115
+#: cp/decl.cc:14350
 #, gcc-internal-format
 msgid ""
 "unnamed field is neither function nor member function; cannot be declared "
 "friend"
 msgstr ""
 
-#: cp/decl.cc:14130 cp/parser.cc:20658 cp/parser.cc:27082
+#: cp/decl.cc:14368 cp/parser.cc:20801 cp/parser.cc:27372
 #, gcc-internal-format
 msgid ""
 "an attribute that appertains to a friend declaration that is not a "
 "definition is ignored"
 msgstr ""
 
-#: cp/decl.cc:14167 cp/decl.cc:14178
+#: cp/decl.cc:14408 cp/decl.cc:14419
 #, gcc-internal-format
 msgid "static data member %qE declared %qs"
 msgstr ""
 
-#: cp/decl.cc:14172
+#: cp/decl.cc:14413
 #, gcc-internal-format
 msgid "%<constexpr%> static data member %qD must have an initializer"
 msgstr ""
 
-#: cp/decl.cc:14217 cp/decl.cc:14225 cp/decl.cc:14232 cp/decl.cc:14239
+#: cp/decl.cc:14456 cp/decl.cc:14464 cp/decl.cc:14471 cp/decl.cc:14478
 #, gcc-internal-format
 msgid "non-static data member %qE declared %qs"
 msgstr ""
 
-#: cp/decl.cc:14291
+#: cp/decl.cc:14530
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14294
+#: cp/decl.cc:14533
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14300
+#: cp/decl.cc:14539
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14304
+#: cp/decl.cc:14543
 #, gcc-internal-format
 msgid "storage class %<thread_local%> invalid for function %qs"
 msgstr ""
 
-#: cp/decl.cc:14309
+#: cp/decl.cc:14548
 #, gcc-internal-format
 msgid "virt-specifiers in %qs not allowed outside a class definition"
 msgstr ""
 
-#: cp/decl.cc:14321
+#: cp/decl.cc:14560
 #, gcc-internal-format
 msgid ""
 "%<static%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.cc:14325
+#: cp/decl.cc:14564
 #, gcc-internal-format
 msgid ""
 "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr ""
 
-#: cp/decl.cc:14333
+#: cp/decl.cc:14572
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr ""
 
-#: cp/decl.cc:14340
+#: cp/decl.cc:14579
 #, gcc-internal-format
 msgid "%qs defined in a non-class scope"
 msgstr ""
 
-#: cp/decl.cc:14341
+#: cp/decl.cc:14580
 #, gcc-internal-format
 msgid "%qs declared in a non-class scope"
 msgstr ""
 
-#: cp/decl.cc:14384
+#: cp/decl.cc:14623
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr ""
 
-#: cp/decl.cc:14393
+#: cp/decl.cc:14632
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr ""
 
-#: cp/decl.cc:14434
+#: cp/decl.cc:14673
 #, gcc-internal-format
 msgid ""
 "%<static%> may not be used when defining (as opposed to declaring) a static "
 "data member"
 msgstr ""
 
-#: cp/decl.cc:14441
+#: cp/decl.cc:14680
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr ""
 
-#: cp/decl.cc:14447
+#: cp/decl.cc:14686
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr ""
 
-#: cp/decl.cc:14455
+#: cp/decl.cc:14694
 #, gcc-internal-format
 msgid "declaration of %<constexpr%> variable %qD is not a definition"
 msgstr ""
 
-#: cp/decl.cc:14462
+#: cp/decl.cc:14701
 #, gcc-internal-format
 msgid "a variable cannot be declared %<consteval%>"
 msgstr ""
 
-#: cp/decl.cc:14482
+#: cp/decl.cc:14721
 #, gcc-internal-format
 msgid "declaration of %q#D has no initializer"
 msgstr ""
 
-#: cp/decl.cc:14494
+#: cp/decl.cc:14733
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr ""
 
-#: cp/decl.cc:14499
+#: cp/decl.cc:14738
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr ""
 
-#: cp/decl.cc:14679
+#: cp/decl.cc:14935
 #, gcc-internal-format
 msgid "default argument %qE uses %qD"
 msgstr ""
 
-#: cp/decl.cc:14682
+#: cp/decl.cc:14938
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr ""
 
-#: cp/decl.cc:14809
+#: cp/decl.cc:15065
 #, gcc-internal-format
 msgid "invalid use of cv-qualified type %qT in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:14813
+#: cp/decl.cc:15069
 #, gcc-internal-format
 msgid "invalid use of type %<void%> in parameter declaration"
 msgstr ""
 
-#: cp/decl.cc:14842
+#: cp/decl.cc:15098
 #, gcc-internal-format
 msgid "%<volatile%>-qualified parameter is deprecated"
 msgstr ""
 
-#: cp/decl.cc:14850
+#: cp/decl.cc:15106
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr ""
 
-#: cp/decl.cc:14875
+#: cp/decl.cc:15131
 #, gcc-internal-format
 msgid "parameter %qD includes pointer to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.cc:14877
+#: cp/decl.cc:15133
 #, gcc-internal-format
 msgid "parameter %qD includes reference to array of unknown bound %qT"
 msgstr ""
 
-#: cp/decl.cc:15138
+#: cp/decl.cc:15392
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr ""
 
-#: cp/decl.cc:15217
+#: cp/decl.cc:15471
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr ""
 
-#: cp/decl.cc:15224
+#: cp/decl.cc:15478
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr ""
 
-#: cp/decl.cc:15254
+#: cp/decl.cc:15506
 #, gcc-internal-format
 msgid "%qD must be a non-static member function"
 msgstr ""
 
-#: cp/decl.cc:15260
+#: cp/decl.cc:15514
+#, gcc-internal-format
+msgid "%qD must be a member function"
+msgstr ""
+
+#: cp/decl.cc:15522
+#, gcc-internal-format
+msgid ""
+"%qD may be a static member function only with %<-std=c++23%> or %<-std=gnu+"
+"+23%>"
+msgstr ""
+
+#: cp/decl.cc:15532
 #, gcc-internal-format
 msgid ""
 "%qD must be either a non-static member function or a non-member function"
 msgstr ""
 
-#: cp/decl.cc:15270
+#: cp/decl.cc:15542
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr ""
 
 #. 13.4.0.3
-#: cp/decl.cc:15296
+#: cp/decl.cc:15573
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading %<operator ?:%>"
 msgstr ""
 
-#: cp/decl.cc:15310
+#: cp/decl.cc:15583
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr ""
 
-#: cp/decl.cc:15336
+#: cp/decl.cc:15609
 #, gcc-internal-format
 msgid "%qD must have either zero or one argument"
 msgstr ""
 
-#: cp/decl.cc:15337
+#: cp/decl.cc:15610
 #, gcc-internal-format
 msgid "%qD must have either one or two arguments"
 msgstr ""
 
-#: cp/decl.cc:15349
+#: cp/decl.cc:15622
 #, gcc-internal-format
 msgid "postfix %qD must have %<int%> as its argument"
 msgstr ""
 
-#: cp/decl.cc:15350
+#: cp/decl.cc:15623
 #, gcc-internal-format
 msgid "postfix %qD must have %<int%> as its second argument"
 msgstr ""
 
-#: cp/decl.cc:15361
+#: cp/decl.cc:15634
 #, gcc-internal-format
 msgid "%qD must have no arguments"
 msgstr ""
 
-#: cp/decl.cc:15362 cp/decl.cc:15374
+#: cp/decl.cc:15635 cp/decl.cc:15645
 #, gcc-internal-format
 msgid "%qD must have exactly one argument"
 msgstr ""
 
-#: cp/decl.cc:15375
+#: cp/decl.cc:15646
 #, gcc-internal-format
 msgid "%qD must have exactly two arguments"
 msgstr ""
 
-#: cp/decl.cc:15390
+#: cp/decl.cc:15661
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr ""
 
-#: cp/decl.cc:15414
+#: cp/decl.cc:15685
 #, gcc-internal-format
 msgid "converting %qT to %<void%> will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15421
+#: cp/decl.cc:15692
 #, gcc-internal-format
 msgid ""
 "converting %qT to a reference to the same type will never use a type "
 "conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15423
+#: cp/decl.cc:15694
 #, gcc-internal-format
 msgid ""
 "converting %qT to the same type will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15432
+#: cp/decl.cc:15703
 #, 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:15434
+#: cp/decl.cc:15705
 #, gcc-internal-format
 msgid ""
 "converting %qT to a base class %qT will never use a type conversion operator"
 msgstr ""
 
-#: cp/decl.cc:15450
+#: cp/decl.cc:15721
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr ""
 
-#: cp/decl.cc:15469
+#: cp/decl.cc:15740
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.cc:15476
+#: cp/decl.cc:15747
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr ""
 
-#: cp/decl.cc:15488
+#: cp/decl.cc:15759
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr ""
 
-#: cp/decl.cc:15543
+#: cp/decl.cc:15814
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr ""
 
-#: cp/decl.cc:15566
+#: cp/decl.cc:15837
 #, gcc-internal-format
 msgid "using alias template specialization %qT after %qs"
 msgstr ""
 
-#: cp/decl.cc:15569
+#: cp/decl.cc:15840
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr ""
 
-#: cp/decl.cc:15571
+#: cp/decl.cc:15842
 #, gcc-internal-format
 msgid "%qD has a previous declaration here"
 msgstr ""
 
-#: cp/decl.cc:15579
+#: cp/decl.cc:15850
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr ""
 
-#: cp/decl.cc:15580 cp/decl.cc:15587
+#: cp/decl.cc:15851 cp/decl.cc:15858
 #, gcc-internal-format
 msgid "%qT has a previous declaration here"
 msgstr ""
 
-#: cp/decl.cc:15586
+#: cp/decl.cc:15857
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr ""
@@ -56233,110 +57892,110 @@ msgstr ""
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.cc:15601
+#: cp/decl.cc:15872
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr ""
 
-#: cp/decl.cc:15644 cp/name-lookup.cc:5717 cp/name-lookup.cc:5849
-#: cp/parser.cc:6931 cp/parser.cc:30671
+#: cp/decl.cc:15915 cp/name-lookup.cc:5719 cp/name-lookup.cc:5851
+#: cp/parser.cc:7054 cp/parser.cc:31389
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr ""
 
-#: cp/decl.cc:15653
+#: cp/decl.cc:15924
 #, gcc-internal-format
 msgid "class template %qD redeclared as non-template"
 msgstr ""
 
-#: cp/decl.cc:15675 cp/name-lookup.cc:5407
+#: cp/decl.cc:15946 cp/name-lookup.cc:5409
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr ""
 
-#: cp/decl.cc:15703 cp/friend.cc:315 cp/parser.cc:3308 cp/parser.cc:6636
-#: cp/pt.cc:9867
+#: cp/decl.cc:15974 cp/friend.cc:317 cp/parser.cc:3386 cp/parser.cc:6759
+#: cp/pt.cc:9815
 #, gcc-internal-format
 msgid "%qT is not a template"
 msgstr ""
 
-#: cp/decl.cc:15708
+#: cp/decl.cc:15979
 #, gcc-internal-format
 msgid "perhaps you want to explicitly add %<%T::%>"
 msgstr ""
 
-#: cp/decl.cc:15813
+#: cp/decl.cc:16084
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr ""
 
-#: cp/decl.cc:15844
+#: cp/decl.cc:16110
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr ""
 
-#: cp/decl.cc:15855 cp/semantics.cc:3488
+#: cp/decl.cc:16121 cp/semantics.cc:3542
 #, gcc-internal-format
 msgid "cannot declare %qD in a different module"
 msgstr ""
 
-#: cp/decl.cc:15971
+#: cp/decl.cc:16237
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr ""
 
-#: cp/decl.cc:15978
+#: cp/decl.cc:16244
 #, gcc-internal-format
 msgid "%qT defined with multiple direct bases"
 msgstr ""
 
-#: cp/decl.cc:15989
+#: cp/decl.cc:16255
 #, gcc-internal-format
 msgid "%qT defined with direct virtual base"
 msgstr ""
 
-#: cp/decl.cc:16014
+#: cp/decl.cc:16280
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr ""
 
-#: cp/decl.cc:16044
+#: cp/decl.cc:16310
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr ""
 
-#: cp/decl.cc:16046
+#: cp/decl.cc:16312
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr ""
 
-#: cp/decl.cc:16191
+#: cp/decl.cc:16457
 #, gcc-internal-format
 msgid "scoped/unscoped mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:16194 cp/decl.cc:16202 cp/decl.cc:16212 cp/decl.cc:16808
-#: cp/parser.cc:21006
+#: cp/decl.cc:16460 cp/decl.cc:16468 cp/decl.cc:16478 cp/decl.cc:17077
+#: cp/parser.cc:21150
 #, gcc-internal-format
 msgid "previous definition here"
 msgstr ""
 
-#: cp/decl.cc:16199
+#: cp/decl.cc:16465
 #, gcc-internal-format
 msgid "underlying type mismatch in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:16209
+#: cp/decl.cc:16475
 #, gcc-internal-format
 msgid "different underlying type in enum %q#T"
 msgstr ""
 
-#: cp/decl.cc:16220
+#: cp/decl.cc:16486
 #, gcc-internal-format
 msgid "cannot define %qD in different module"
 msgstr ""
 
-#: cp/decl.cc:16294
+#: cp/decl.cc:16561
 #, gcc-internal-format
 msgid "underlying type %qT of %qT must be an integral type"
 msgstr ""
@@ -56345,302 +58004,297 @@ msgstr ""
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.cc:16441
+#: cp/decl.cc:16710
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr ""
 
-#: cp/decl.cc:16616
+#: cp/decl.cc:16885
 #, gcc-internal-format
 msgid ""
 "enumerator value for %qD must have integral or unscoped enumeration type"
 msgstr ""
 
-#: cp/decl.cc:16626
+#: cp/decl.cc:16895
 #, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr ""
 
-#: cp/decl.cc:16675
+#: cp/decl.cc:16944
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<unsigned long%>"
 msgstr ""
 
-#: cp/decl.cc:16676
+#: cp/decl.cc:16945
 #, gcc-internal-format
 msgid "incremented enumerator value is too large for %<long%>"
 msgstr ""
 
-#: cp/decl.cc:16687
+#: cp/decl.cc:16956
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr ""
 
-#: cp/decl.cc:16707
+#: cp/decl.cc:16976
 #, gcc-internal-format
 msgid "enumerator value %qE is outside the range of underlying type %qT"
 msgstr ""
 
-#: cp/decl.cc:16806 cp/parser.cc:21004
+#: cp/decl.cc:17075 cp/parser.cc:21148
 #, gcc-internal-format
 msgid "multiple definition of %q#T"
 msgstr ""
 
-#: cp/decl.cc:16880
+#: cp/decl.cc:17149
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr ""
 
-#: cp/decl.cc:17040 cp/typeck.cc:10625
+#: cp/decl.cc:17309 cp/typeck.cc:11108
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr ""
 
-#: cp/decl.cc:17875
+#: cp/decl.cc:18122
 #, gcc-internal-format
 msgid "no return statements in function returning %qT"
 msgstr ""
 
-#: cp/decl.cc:17877 cp/typeck.cc:10505
+#: cp/decl.cc:18124 cp/typeck.cc:10988
 #, gcc-internal-format
 msgid "only plain %<auto%> return type can be deduced to %<void%>"
 msgstr ""
 
-#: cp/decl.cc:17939
+#: cp/decl.cc:18186
 #, gcc-internal-format
 msgid "no return statement in %<constexpr%> function returning non-void"
 msgstr ""
 
-#: cp/decl.cc:18121
+#: cp/decl.cc:18379
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr ""
 
-#: cp/decl.cc:18512
+#: cp/decl.cc:18767
+#, gcc-internal-format
+msgid "using %qs"
+msgstr ""
+
+#: cp/decl.cc:18779
 #, gcc-internal-format
 msgid "use of %qD before deduction of %<auto%>"
 msgstr ""
 
-#: cp/decl2.cc:351
+#: cp/decl2.cc:384
 #, gcc-internal-format
 msgid "name missing for member function"
 msgstr ""
 
-#: cp/decl2.cc:447 cp/decl2.cc:480
+#: cp/decl2.cc:480 cp/decl2.cc:513
 #, gcc-internal-format
 msgid "top-level comma expression in array subscript changed meaning in C++23"
 msgstr ""
 
-#: cp/decl2.cc:470
+#: cp/decl2.cc:503
 #, gcc-internal-format
 msgid "built-in subscript operator without expression list"
 msgstr ""
 
-#: cp/decl2.cc:484
+#: cp/decl2.cc:517
 #, gcc-internal-format
 msgid ""
 "built-in subscript operator with more than one expression in expression list"
 msgstr ""
 
-#: cp/decl2.cc:502 cp/decl2.cc:516
+#: cp/decl2.cc:535 cp/decl2.cc:549
 #, gcc-internal-format
 msgid "ambiguous conversion for array subscript"
 msgstr ""
 
-#: cp/decl2.cc:510
+#: cp/decl2.cc:543
 #, gcc-internal-format
 msgid "invalid types %<%T[%T]%> for array subscript"
 msgstr ""
 
-#: cp/decl2.cc:592
+#: cp/decl2.cc:625
 #, gcc-internal-format
 msgid "deleting array %q#E"
 msgstr ""
 
-#: cp/decl2.cc:600
+#: cp/decl2.cc:633
 #, gcc-internal-format
 msgid "type %q#T argument given to %<delete%>, expected pointer"
 msgstr ""
 
-#: cp/decl2.cc:614
+#: cp/decl2.cc:647
 #, gcc-internal-format
 msgid ""
 "cannot delete a function.  Only pointer-to-objects are valid arguments to "
 "%<delete%>"
 msgstr ""
 
-#: cp/decl2.cc:624
+#: cp/decl2.cc:657
 #, gcc-internal-format
 msgid "deleting %qT is undefined"
 msgstr ""
 
-#: cp/decl2.cc:672 cp/pt.cc:5885
+#: cp/decl2.cc:705 cp/pt.cc:5913
 #, gcc-internal-format
 msgid "template declaration of %q#D"
 msgstr ""
 
-#: cp/decl2.cc:712
+#: cp/decl2.cc:745
 #, gcc-internal-format
 msgid ""
 "template parameter lists provided don%'t match the template parameters of %qD"
 msgstr ""
 
-#: cp/decl2.cc:727 cp/pt.cc:5853
+#: cp/decl2.cc:760 cp/pt.cc:5881
 #, gcc-internal-format
 msgid "destructor %qD declared as member template"
 msgstr ""
 
-#: cp/decl2.cc:818
+#: cp/decl2.cc:851
 #, gcc-internal-format
 msgid "no declaration matches %q#D"
 msgstr ""
 
-#: cp/decl2.cc:823
+#: cp/decl2.cc:856
 #, gcc-internal-format
 msgid "no conversion operators declared"
 msgstr ""
 
-#: cp/decl2.cc:826
+#: cp/decl2.cc:859
 #, gcc-internal-format
 msgid "no functions named %qD"
 msgstr ""
 
-#: cp/decl2.cc:828
+#: cp/decl2.cc:861
 #, gcc-internal-format
 msgid "%#qT defined here"
 msgstr ""
 
-#: cp/decl2.cc:888
+#: cp/decl2.cc:921
 #, gcc-internal-format
 msgid "local class %q#T shall not have static data member %q#D"
 msgstr ""
 
-#: cp/decl2.cc:897
+#: cp/decl2.cc:930
 #, gcc-internal-format
 msgid "static data member %qD in unnamed class"
 msgstr ""
 
-#: cp/decl2.cc:899
+#: cp/decl2.cc:932
 #, gcc-internal-format
 msgid "unnamed class defined here"
 msgstr ""
 
-#: cp/decl2.cc:980
+#: cp/decl2.cc:1013
 #, gcc-internal-format
 msgid "explicit template argument list not allowed"
 msgstr ""
 
-#: cp/decl2.cc:1022
+#: cp/decl2.cc:1055
 #, gcc-internal-format
 msgid "%qD is already defined in %qT"
 msgstr ""
 
-#: cp/decl2.cc:1051 cp/decl2.cc:1059
+#: cp/decl2.cc:1084 cp/decl2.cc:1092
 #, gcc-internal-format
 msgid "invalid initializer for member function %qD"
 msgstr ""
 
-#: cp/decl2.cc:1068
+#: cp/decl2.cc:1101
 #, gcc-internal-format
 msgid "initializer specified for friend function %qD"
 msgstr ""
 
-#: cp/decl2.cc:1071
+#: cp/decl2.cc:1104
 #, gcc-internal-format
 msgid "initializer specified for static member function %qD"
 msgstr ""
 
-#: cp/decl2.cc:1119
+#: cp/decl2.cc:1152
 #, gcc-internal-format
 msgid "%<asm%> specifiers are not permitted on non-static data members"
 msgstr ""
 
-#: cp/decl2.cc:1176
+#: cp/decl2.cc:1209
 #, gcc-internal-format
 msgid "bit-field %qD with non-integral type %qT"
 msgstr ""
 
-#: cp/decl2.cc:1184
+#: cp/decl2.cc:1217
 #, gcc-internal-format
 msgid "cannot declare %qD to be a bit-field type"
 msgstr ""
 
-#: cp/decl2.cc:1195
+#: cp/decl2.cc:1228
 #, gcc-internal-format
 msgid "cannot declare bit-field %qD with function type"
 msgstr ""
 
-#: cp/decl2.cc:1201
+#: cp/decl2.cc:1234
 #, gcc-internal-format
 msgid "cannot declare bit-field %qD with %<warn_if_not_aligned%> type"
 msgstr ""
 
-#: cp/decl2.cc:1208
+#: cp/decl2.cc:1241
 #, gcc-internal-format
 msgid "%qD is already defined in the class %qT"
 msgstr ""
 
-#: cp/decl2.cc:1216
+#: cp/decl2.cc:1249
 #, gcc-internal-format
 msgid "static member %qD cannot be a bit-field"
 msgstr ""
 
-#: cp/decl2.cc:1230
+#: cp/decl2.cc:1263
 #, gcc-internal-format
 msgid "width of bit-field %qD has non-integral type %qT"
 msgstr ""
 
-#: cp/decl2.cc:1563
-#, gcc-internal-format
-msgid "incomplete type %qT is not mappable"
-msgstr ""
-
-#: cp/decl2.cc:1579
-#, gcc-internal-format
-msgid "static field %qD is not mappable"
-msgstr ""
-
-#: cp/decl2.cc:1676
+#: cp/decl2.cc:1656
 #, gcc-internal-format
 msgid "%q+D static data member inside of declare target directive"
 msgstr ""
 
-#: cp/decl2.cc:1715 cp/name-lookup.cc:8547
+#: cp/decl2.cc:1718 cp/name-lookup.cc:8336
 #, gcc-internal-format
 msgid "%<omp::%E%> not allowed to be specified in this context"
 msgstr ""
 
-#: cp/decl2.cc:1784
+#: cp/decl2.cc:1787
 #, gcc-internal-format
 msgid "anonymous struct not inside named type"
 msgstr ""
 
-#: cp/decl2.cc:1800
+#: cp/decl2.cc:1803
 #, gcc-internal-format
 msgid "%q#D invalid; an anonymous union can only have non-static data members"
 msgstr ""
 
-#: cp/decl2.cc:1807
+#: cp/decl2.cc:1810
 #, gcc-internal-format
 msgid "private member %q#D in anonymous union"
 msgstr ""
 
-#: cp/decl2.cc:1810
+#: cp/decl2.cc:1813
 #, gcc-internal-format
 msgid "protected member %q#D in anonymous union"
 msgstr ""
 
-#: cp/decl2.cc:1875
+#: cp/decl2.cc:1878
 #, gcc-internal-format
 msgid "namespace-scope anonymous aggregates must be static"
 msgstr ""
 
-#: cp/decl2.cc:1884
+#: cp/decl2.cc:1887
 #, gcc-internal-format
 msgid "anonymous union with no members"
 msgstr ""
 
-#: cp/decl2.cc:1921
+#: cp/decl2.cc:1924
 #, gcc-internal-format
 msgid "%<operator new%> must return type %qT"
 msgstr ""
@@ -56649,84 +58303,95 @@ msgstr ""
 #.
 #. The first parameter shall not have an associated default
 #. argument.
-#: cp/decl2.cc:1933
+#: cp/decl2.cc:1936
 #, gcc-internal-format
 msgid "the first parameter of %<operator new%> cannot have a default argument"
 msgstr ""
 
-#: cp/decl2.cc:1949
+#: cp/decl2.cc:1952
 #, gcc-internal-format
 msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
 msgstr ""
 
-#: cp/decl2.cc:1979
+#: cp/decl2.cc:1982
 #, gcc-internal-format
 msgid "%<operator delete%> must return type %qT"
 msgstr ""
 
-#: cp/decl2.cc:1994
+#: cp/decl2.cc:1997
 #, gcc-internal-format
 msgid "destroying %<operator delete%> must be a member function"
 msgstr ""
 
-#: cp/decl2.cc:1997
+#: cp/decl2.cc:2000
 #, gcc-internal-format
 msgid "%<operator delete[]%> cannot be a destroying delete"
 msgstr ""
 
-#: cp/decl2.cc:1999
+#: cp/decl2.cc:2002
 #, gcc-internal-format
 msgid "destroying %<operator delete%> must be a usual deallocation function"
 msgstr ""
 
-#: cp/decl2.cc:2009
+#: cp/decl2.cc:2012
 #, gcc-internal-format
 msgid "%<operator delete%> takes type %qT as first parameter"
 msgstr ""
 
-#: cp/decl2.cc:2990
+#: cp/decl2.cc:3003
 #, gcc-internal-format
-msgid "%qT has a field %qD whose type has no linkage"
+msgid "%qT has a field %q#D whose type has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:2994
+#: cp/decl2.cc:3007
 #, gcc-internal-format
 msgid ""
 "%qT has a field %qD whose type depends on the type %qT which has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:2999
+#: cp/decl2.cc:3013
 #, gcc-internal-format
-msgid "%qT has a field %qD whose type uses the anonymous namespace"
+msgid "%qT has a field %q#D whose type has internal linkage"
 msgstr ""
 
-#: cp/decl2.cc:3007
+#. In C++98 this can only happen with unnamed namespaces.
+#: cp/decl2.cc:3017
 #, gcc-internal-format
-msgid "%qT declared with greater visibility than the type of its field %qD"
+msgid "%qT has a field %q#D whose type uses the anonymous namespace"
 msgstr ""
 
 #: cp/decl2.cc:3025
 #, gcc-internal-format
-msgid "%qT has a base %qT whose type has no linkage"
+msgid "%qT declared with greater visibility than the type of its field %qD"
 msgstr ""
 
-#: cp/decl2.cc:3029
+#: cp/decl2.cc:3044
 #, gcc-internal-format
-msgid ""
-"%qT has a base %qT whose type depends on the type %qT which has no linkage"
+msgid "%qT has a base %qT which has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:3034
+#: cp/decl2.cc:3048
 #, gcc-internal-format
-msgid "%qT has a base %qT whose type uses the anonymous namespace"
+msgid "%qT has a base %qT which depends on the type %qT which has no linkage"
 msgstr ""
 
-#: cp/decl2.cc:3041
+#: cp/decl2.cc:3054
+#, 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:3058
+#, gcc-internal-format
+msgid "%qT has a base %qT which uses the anonymous namespace"
+msgstr ""
+
+#: cp/decl2.cc:3065
 #, gcc-internal-format
 msgid "%qT declared with greater visibility than its base %qT"
 msgstr ""
 
-#: cp/decl2.cc:4710
+#: cp/decl2.cc:4540
 #, gcc-internal-format
 msgid "%q#D, declared using unnamed type, is used but never defined"
 msgstr ""
@@ -56735,245 +58400,245 @@ msgstr ""
 #. no linkage can only be used to declare extern "C"
 #. entities.  Since it's not always an error in the
 #. ISO C++ 90 Standard, we only issue a warning.
-#: cp/decl2.cc:4719
+#: cp/decl2.cc:4549
 #, gcc-internal-format
 msgid "unnamed type with no linkage used to declare variable %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4723
+#: cp/decl2.cc:4553
 #, gcc-internal-format
 msgid "unnamed type with no linkage used to declare function %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4727
+#: cp/decl2.cc:4557
 #, gcc-internal-format
 msgid ""
 "%q#D does not refer to the unqualified type, so it is not used for linkage"
 msgstr ""
 
-#: cp/decl2.cc:4735
+#: cp/decl2.cc:4565
 #, gcc-internal-format
 msgid "%q#D, declared using local type %qT, is used but never defined"
 msgstr ""
 
-#: cp/decl2.cc:4739
+#: cp/decl2.cc:4569
 #, gcc-internal-format
 msgid "type %qT with no linkage used to declare variable %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4742
+#: cp/decl2.cc:4572
 #, gcc-internal-format
 msgid "type %qT with no linkage used to declare function %q#D with linkage"
 msgstr ""
 
-#: cp/decl2.cc:4930
+#: cp/decl2.cc:4760
 #, gcc-internal-format
 msgid "mangling of %q#D as %qE conflicts with a previous mangle"
 msgstr ""
 
-#: cp/decl2.cc:4933
+#: cp/decl2.cc:4763
 #, gcc-internal-format
 msgid "previous mangling %q#D"
 msgstr ""
 
-#: cp/decl2.cc:4935
+#: cp/decl2.cc:4765
 #, gcc-internal-format
 msgid ""
 "a later %<-fabi-version=%> (or =0) avoids this error with a change in "
 "mangling"
 msgstr ""
 
-#: cp/decl2.cc:5007 cp/decl2.cc:5010
+#: cp/decl2.cc:4837 cp/decl2.cc:4840
 #, gcc-internal-format
 msgid "the program should also define %qD"
 msgstr ""
 
-#: cp/decl2.cc:5363
+#: cp/decl2.cc:5174
 #, gcc-internal-format
 msgid "inline function %qD used but never defined"
 msgstr ""
 
-#: cp/decl2.cc:5566
+#: cp/decl2.cc:5401
 #, gcc-internal-format
 msgid "default argument missing for parameter %P of %q#D"
 msgstr ""
 
-#: cp/decl2.cc:5571
+#: cp/decl2.cc:5406
 #, gcc-internal-format
 msgid "...following parameter %P which has a default argument"
 msgstr ""
 
-#: cp/decl2.cc:5704
+#: cp/decl2.cc:5530
 #, gcc-internal-format
 msgid "implicitly-declared %qD is deprecated"
 msgstr ""
 
-#: cp/decl2.cc:5708
+#: cp/decl2.cc:5534
 #, 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:5844
+#: cp/decl2.cc:5675
 #, gcc-internal-format
 msgid "converting lambda that uses %<...%> to function pointer"
 msgstr ""
 
-#: cp/decl2.cc:5847
+#: cp/decl2.cc:5678
 #, gcc-internal-format
 msgid "use of deleted function %qD"
 msgstr ""
 
-#: cp/decl2.cc:5901
+#: cp/decl2.cc:5732
 #, gcc-internal-format
 msgid "use of function %qD with unsatisfied constraints"
 msgstr ""
 
-#: cp/decl2.cc:5933
+#: cp/decl2.cc:5762
 #, gcc-internal-format
 msgid "use of built-in parameter pack %qD outside of a template"
 msgstr ""
 
-#: cp/error.cc:4034
+#: cp/error.cc:4092
 #, gcc-internal-format
 msgid "(no argument)"
 msgstr ""
 
-#: cp/error.cc:4126
+#: cp/error.cc:4184
 #, gcc-internal-format
 msgid "[...]"
 msgstr ""
 
-#: cp/error.cc:4473
+#: cp/error.cc:4531
 #, gcc-internal-format
 msgid ""
 "extended initializer lists only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/error.cc:4478
+#: cp/error.cc:4536
 #, gcc-internal-format
 msgid ""
 "explicit conversion operators only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4483
+#: cp/error.cc:4541
 #, gcc-internal-format
 msgid ""
 "variadic templates only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4488
+#: cp/error.cc:4546
 #, gcc-internal-format
 msgid ""
 "lambda expressions only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4493
+#: cp/error.cc:4551
 #, gcc-internal-format
 msgid "C++11 auto only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4498
+#: cp/error.cc:4556
 #, gcc-internal-format
 msgid "scoped enums only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4503
+#: cp/error.cc:4561
 #, gcc-internal-format
 msgid ""
 "defaulted and deleted functions only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4509
+#: cp/error.cc:4567
 #, gcc-internal-format
 msgid ""
 "inline namespaces only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4514
+#: cp/error.cc:4572
 #, gcc-internal-format
 msgid ""
 "override controls (override/final) only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4519
+#: cp/error.cc:4577
 #, gcc-internal-format
 msgid ""
 "non-static data member initializers only available with %<-std=c++11%> or %<-"
 "std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4524
+#: cp/error.cc:4582
 #, gcc-internal-format
 msgid ""
 "user-defined literals only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4529
+#: cp/error.cc:4587
 #, gcc-internal-format
 msgid ""
 "delegating constructors only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/error.cc:4534
+#: cp/error.cc:4592
 #, gcc-internal-format
 msgid ""
 "inheriting constructors only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/error.cc:4539
+#: cp/error.cc:4597
 #, gcc-internal-format
 msgid "C++11 attributes only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4544
+#: cp/error.cc:4602
 #, gcc-internal-format
 msgid "ref-qualifiers only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/error.cc:4594
+#: cp/error.cc:4652
 #, gcc-internal-format
 msgid "incomplete type %qT used in nested name specifier"
 msgstr ""
 
-#: cp/error.cc:4598
+#: cp/error.cc:4656
 #, gcc-internal-format
 msgid "reference to %<%T::%D%> is ambiguous"
 msgstr ""
 
-#: cp/error.cc:4612
+#: cp/error.cc:4670
 #, gcc-internal-format
 msgid "%qD is not a member of %qT; did you mean %qs?"
 msgstr ""
 
-#: cp/error.cc:4616 cp/typeck.cc:2730
+#: cp/error.cc:4674 cp/typeck.cc:2883
 #, gcc-internal-format
 msgid "%qD is not a member of %qT"
 msgstr ""
 
-#: cp/error.cc:4638
+#: cp/error.cc:4696
 #, gcc-internal-format
 msgid "%qD is not a member of %qD; did you mean %qs?"
 msgstr ""
 
-#: cp/error.cc:4642 cp/typeck.cc:3323
+#: cp/error.cc:4700 cp/typeck.cc:3476
 #, gcc-internal-format
 msgid "%qD is not a member of %qD"
 msgstr ""
 
-#: cp/error.cc:4653
+#: cp/error.cc:4711
 #, gcc-internal-format
 msgid "%<::%D%> has not been declared; did you mean %qs?"
 msgstr ""
 
-#: cp/error.cc:4657
+#: cp/error.cc:4715
 #, gcc-internal-format
 msgid "%<::%D%> has not been declared"
 msgstr ""
@@ -56988,49 +58653,49 @@ msgstr ""
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr ""
 
-#: cp/except.cc:749
+#: cp/except.cc:734
 #, gcc-internal-format
 msgid "  in thrown expression"
 msgstr ""
 
-#: cp/except.cc:890
+#: cp/except.cc:875
 #, gcc-internal-format
 msgid "cannot declare %<catch%> parameter to be of rvalue reference type %qT"
 msgstr ""
 
-#: cp/except.cc:898
+#: cp/except.cc:883
 #, gcc-internal-format
 msgid ""
 "cannot throw expression of type %qT because it involves types of variable "
 "size"
 msgstr ""
 
-#: cp/except.cc:901
+#: cp/except.cc:886
 #, gcc-internal-format
 msgid "cannot catch type %qT because it involves types of variable size"
 msgstr ""
 
-#: cp/except.cc:1001
+#: cp/except.cc:986
 #, gcc-internal-format
 msgid "exception of type %qT will be caught by earlier handler"
 msgstr ""
 
-#: cp/except.cc:1003
+#: cp/except.cc:988
 #, gcc-internal-format
 msgid "for type %qT"
 msgstr ""
 
-#: cp/except.cc:1032
+#: cp/except.cc:1017
 #, gcc-internal-format
 msgid "%<...%> handler must be the last handler for its try block"
 msgstr ""
 
-#: cp/except.cc:1128
+#: cp/except.cc:1113
 #, gcc-internal-format
 msgid "noexcept-expression evaluates to %<false%> because of a call to %qD"
 msgstr ""
 
-#: cp/except.cc:1131
+#: cp/except.cc:1116
 #, gcc-internal-format
 msgid "but %qD does not throw; perhaps it should be declared %<noexcept%>"
 msgstr ""
@@ -57038,16 +58703,16 @@ msgstr ""
 #: cp/expr.cc:233
 #, gcc-internal-format
 msgid ""
-"using value of simple assignment with %<volatile%>-qualified left operand is "
+"using value of assignment with %<volatile%>-qualified left operand is "
 "deprecated"
 msgstr ""
 
-#: cp/friend.cc:192
+#: cp/friend.cc:194
 #, gcc-internal-format
 msgid "%qD is already a friend of class %qT"
 msgstr ""
 
-#: cp/friend.cc:289
+#: cp/friend.cc:291
 #, gcc-internal-format
 msgid "invalid type %qT declared %<friend%>"
 msgstr ""
@@ -57056,587 +58721,587 @@ msgstr ""
 #. [temp.friend]
 #. Friend declarations shall not declare partial
 #. specializations.
-#: cp/friend.cc:306 cp/friend.cc:354
+#: cp/friend.cc:308 cp/friend.cc:356
 #, gcc-internal-format
 msgid "partial specialization %qT declared %<friend%>"
 msgstr ""
 
-#: cp/friend.cc:320
+#: cp/friend.cc:322
 #, gcc-internal-format
 msgid ""
 "perhaps you need explicit template arguments in your nested-name-specifier"
 msgstr ""
 
-#: cp/friend.cc:332
+#: cp/friend.cc:334
 #, gcc-internal-format
 msgid "class %qT is implicitly friends with itself"
 msgstr ""
 
-#: cp/friend.cc:395
+#: cp/friend.cc:397
 #, gcc-internal-format
 msgid "%qT is not a member of %qT"
 msgstr ""
 
-#: cp/friend.cc:401
+#: cp/friend.cc:403
 #, gcc-internal-format
 msgid "%qT is not a member class template of %qT"
 msgstr ""
 
-#: cp/friend.cc:411
+#: cp/friend.cc:413
 #, gcc-internal-format
 msgid "%qT is not a nested class of %qT"
 msgstr ""
 
 #. template <class T> friend class T;
-#: cp/friend.cc:425
+#: cp/friend.cc:427
 #, 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:433
+#: cp/friend.cc:435
 #, gcc-internal-format
 msgid "%q#T is not a template"
 msgstr ""
 
-#: cp/friend.cc:456
+#: cp/friend.cc:458
 #, gcc-internal-format
 msgid "%qD is already a friend of %qT"
 msgstr ""
 
-#: cp/friend.cc:466
+#: cp/friend.cc:468
 #, gcc-internal-format
 msgid "%qT is already a friend of %qT"
 msgstr ""
 
-#: cp/friend.cc:506
+#: cp/friend.cc:508
 #, gcc-internal-format
 msgid "friend declaration %qD may not have virt-specifiers"
 msgstr ""
 
-#: cp/friend.cc:584
+#: cp/friend.cc:586
 #, gcc-internal-format
 msgid "member %qD declared as friend before type %qT defined"
 msgstr ""
 
-#: cp/friend.cc:632
+#: cp/friend.cc:634
 #, gcc-internal-format
 msgid "friend declaration %q#D declares a non-template function"
 msgstr ""
 
-#: cp/friend.cc:636
+#: cp/friend.cc:638
 #, 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:392
+#: cp/init.cc:391
 #, gcc-internal-format
 msgid "value-initialization of incomplete type %qT"
 msgstr ""
 
-#: cp/init.cc:475
+#: cp/init.cc:474
 #, gcc-internal-format
 msgid "cannot value-initialize array of unknown bound %qT"
 msgstr ""
 
-#: cp/init.cc:514
+#: cp/init.cc:513
 #, gcc-internal-format
 msgid "value-initialization of function type %qT"
 msgstr ""
 
-#: cp/init.cc:520
+#: cp/init.cc:519
 #, gcc-internal-format
 msgid "value-initialization of reference type %qT"
 msgstr ""
 
-#: cp/init.cc:589
+#: cp/init.cc:588
 #, gcc-internal-format
 msgid "recursive instantiation of default member initializer for %qD"
 msgstr ""
 
-#: cp/init.cc:655
+#: cp/init.cc:652
 #, gcc-internal-format
 msgid ""
 "default member initializer for %qD required before the end of its enclosing "
 "class"
 msgstr ""
 
-#: cp/init.cc:719
+#: cp/init.cc:722
 #, gcc-internal-format
 msgid "initializer for flexible array member %q#D"
 msgstr ""
 
-#: cp/init.cc:784
+#: cp/init.cc:787
 #, gcc-internal-format
 msgid ""
 "initializing %qD from %qE does not extend the lifetime of the underlying "
 "array"
 msgstr ""
 
-#: cp/init.cc:888 cp/init.cc:969
+#: cp/init.cc:891 cp/init.cc:972
 #, gcc-internal-format
 msgid "%qD is initialized with itself"
 msgstr ""
 
-#: cp/init.cc:894
+#: cp/init.cc:897
 #, gcc-internal-format
 msgid "reference %qD is not yet bound to a value when used here"
 msgstr ""
 
-#: cp/init.cc:898
+#: cp/init.cc:901
 #, gcc-internal-format
 msgid "member %qD is used uninitialized"
 msgstr ""
 
-#: cp/init.cc:946
+#: cp/init.cc:949
 #, gcc-internal-format
 msgid "%qD should be initialized in the member initialization list"
 msgstr ""
 
-#: cp/init.cc:1090
+#: cp/init.cc:1093
 #, gcc-internal-format
 msgid "invalid initializer for array member %q#D"
 msgstr ""
 
-#: cp/init.cc:1105 cp/init.cc:1131 cp/init.cc:2727 cp/method.cc:2366
+#: cp/init.cc:1108 cp/init.cc:1134 cp/init.cc:2729 cp/method.cc:2450
 #, gcc-internal-format
 msgid "uninitialized const member in %q#T"
 msgstr ""
 
-#: cp/init.cc:1107 cp/init.cc:1125 cp/init.cc:1133 cp/init.cc:2712
-#: cp/init.cc:2740 cp/method.cc:2369 cp/method.cc:2380
+#: cp/init.cc:1110 cp/init.cc:1128 cp/init.cc:1136 cp/init.cc:2714
+#: cp/init.cc:2742 cp/method.cc:2453 cp/method.cc:2464
 #, gcc-internal-format
 msgid "%q#D should be initialized"
 msgstr ""
 
-#: cp/init.cc:1123 cp/init.cc:2699 cp/method.cc:2377
+#: cp/init.cc:1126 cp/init.cc:2701 cp/method.cc:2461
 #, gcc-internal-format
 msgid "uninitialized reference member in %q#T"
 msgstr ""
 
-#: cp/init.cc:1308
+#: cp/init.cc:1311
 #, gcc-internal-format
 msgid "%qD will be initialized after"
 msgstr ""
 
-#: cp/init.cc:1311
+#: cp/init.cc:1314
 #, gcc-internal-format
 msgid "base %qT will be initialized after"
 msgstr ""
 
-#: cp/init.cc:1315
+#: cp/init.cc:1318
 #, gcc-internal-format
 msgid "  %q#D"
 msgstr ""
 
-#: cp/init.cc:1317
+#: cp/init.cc:1320
 #, gcc-internal-format
 msgid "  base %qT"
 msgstr ""
 
-#: cp/init.cc:1319
+#: cp/init.cc:1322
 #, gcc-internal-format
 msgid "  when initialized here"
 msgstr ""
 
-#: cp/init.cc:1336
+#: cp/init.cc:1339
 #, gcc-internal-format
 msgid "multiple initializations given for %qD"
 msgstr ""
 
-#: cp/init.cc:1340
+#: cp/init.cc:1343
 #, gcc-internal-format
 msgid "multiple initializations given for base %qT"
 msgstr ""
 
-#: cp/init.cc:1427
+#: cp/init.cc:1430
 #, gcc-internal-format
 msgid "initializations for multiple members of %qT"
 msgstr ""
 
-#: cp/init.cc:1537
+#: cp/init.cc:1539
 #, gcc-internal-format
 msgid ""
 "base class %q#T should be explicitly initialized in the copy constructor"
 msgstr ""
 
-#: cp/init.cc:1773 cp/init.cc:1792
+#: cp/init.cc:1775 cp/init.cc:1794
 #, gcc-internal-format
 msgid "class %qT does not have any field named %qD"
 msgstr ""
 
-#: cp/init.cc:1779
+#: cp/init.cc:1781
 #, gcc-internal-format
 msgid ""
 "%q#D is a static data member; it can only be initialized at its definition"
 msgstr ""
 
-#: cp/init.cc:1786
+#: cp/init.cc:1788
 #, gcc-internal-format
 msgid "%q#D is not a non-static data member of %qT"
 msgstr ""
 
-#: cp/init.cc:1825
+#: cp/init.cc:1827
 #, gcc-internal-format
 msgid "unnamed initializer for %qT, which has no base classes"
 msgstr ""
 
-#: cp/init.cc:1833
+#: cp/init.cc:1835
 #, gcc-internal-format
 msgid "unnamed initializer for %qT, which uses multiple inheritance"
 msgstr ""
 
-#: cp/init.cc:1880
+#: cp/init.cc:1882
 #, gcc-internal-format
 msgid "%qD is both a direct base and an indirect virtual base"
 msgstr ""
 
-#: cp/init.cc:1888
+#: cp/init.cc:1890
 #, gcc-internal-format
 msgid "type %qT is not a direct or virtual base of %qT"
 msgstr ""
 
-#: cp/init.cc:1891
+#: cp/init.cc:1893
 #, gcc-internal-format
 msgid "type %qT is not a direct base of %qT"
 msgstr ""
 
-#: cp/init.cc:2003 cp/init.cc:4791 cp/typeck2.cc:1350
+#: cp/init.cc:2005 cp/init.cc:4857 cp/typeck2.cc:1359
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr ""
 
-#: cp/init.cc:2324 cp/semantics.cc:3765
+#: cp/init.cc:2326 cp/semantics.cc:3819 rust/backend/rust-tree.cc:4143
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr ""
 
-#: cp/init.cc:2382
+#: cp/init.cc:2384
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr ""
 
-#: cp/init.cc:2396
+#: cp/init.cc:2398
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr ""
 
-#: cp/init.cc:2482 cp/typeck.cc:2208
+#: cp/init.cc:2484 cp/typeck.cc:2361 rust/backend/rust-tree.cc:3778
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr ""
 
-#: cp/init.cc:2489 cp/semantics.cc:2171
+#: cp/init.cc:2491 cp/semantics.cc:2191
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr ""
 
-#: cp/init.cc:2696
+#: cp/init.cc:2698
 #, gcc-internal-format
 msgid ""
 "uninitialized reference member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.cc:2704
+#: cp/init.cc:2706
 #, gcc-internal-format
 msgid ""
 "uninitialized reference member in base %q#T of %q#T using %<new%> without "
 "new-initializer"
 msgstr ""
 
-#: cp/init.cc:2708
+#: cp/init.cc:2710
 #, gcc-internal-format
 msgid "uninitialized reference member in base %q#T of %q#T"
 msgstr ""
 
-#: cp/init.cc:2724
+#: cp/init.cc:2726
 #, gcc-internal-format
 msgid ""
 "uninitialized const member in %q#T using %<new%> without new-initializer"
 msgstr ""
 
-#: cp/init.cc:2732
+#: cp/init.cc:2734
 #, gcc-internal-format
 msgid ""
 "uninitialized const member in base %q#T of %q#T using %<new%> without new-"
 "initializer"
 msgstr ""
 
-#: cp/init.cc:2736
+#: cp/init.cc:2738
 #, gcc-internal-format
 msgid "uninitialized const member in base %q#T of %q#T"
 msgstr ""
 
-#: cp/init.cc:2851
+#: cp/init.cc:2853
 #, 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:2854
+#: cp/init.cc:2856
 #, 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:2864
+#: cp/init.cc:2866
 #, 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:2867
+#: cp/init.cc:2869
 #, 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:2876
+#: cp/init.cc:2878
 #, 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:2879
+#: cp/init.cc:2881
 #, 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:2896
+#: cp/init.cc:2898
 #, gcc-internal-format
 msgid "at offset %wi from %qD declared here"
 msgstr ""
 
-#: cp/init.cc:2900
+#: cp/init.cc:2902
 #, gcc-internal-format
 msgid "at offset [%wi, %wi] from %qD declared here"
 msgstr ""
 
-#: cp/init.cc:3098
+#: cp/init.cc:3100
 #, gcc-internal-format
 msgid "integer overflow in array size"
 msgstr ""
 
-#: cp/init.cc:3108
+#: cp/init.cc:3110
 #, gcc-internal-format
 msgid "array size in new-expression must be constant"
 msgstr ""
 
-#: cp/init.cc:3126
+#: cp/init.cc:3128
 #, gcc-internal-format
 msgid "variably modified type not allowed in new-expression"
 msgstr ""
 
-#: cp/init.cc:3142
+#: cp/init.cc:3144
 #, gcc-internal-format
 msgid ""
 "non-constant array new length must be specified directly, not by %<typedef%>"
 msgstr ""
 
-#: cp/init.cc:3144
+#: cp/init.cc:3146
 #, gcc-internal-format
 msgid ""
 "non-constant array new length must be specified without parentheses around "
 "the type-id"
 msgstr ""
 
-#: cp/init.cc:3154
+#: cp/init.cc:3156
 #, gcc-internal-format
 msgid "invalid type %<void%> for %<new%>"
 msgstr ""
 
-#: cp/init.cc:3160
+#: cp/init.cc:3162
 #, gcc-internal-format
 msgid ""
 "%<new%> of %<initializer_list%> does not extend the lifetime of the "
 "underlying array"
 msgstr ""
 
-#: cp/init.cc:3202
+#: cp/init.cc:3204
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr ""
 
-#: cp/init.cc:3358
+#: cp/init.cc:3360
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr ""
 
-#: cp/init.cc:3365 cp/search.cc:1179
+#: cp/init.cc:3367 cp/search.cc:1177
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr ""
 
-#: cp/init.cc:3446
+#: cp/init.cc:3448
 #, gcc-internal-format
 msgid "%<new%> of type %qT with extended alignment %d"
 msgstr ""
 
-#: cp/init.cc:3449
+#: cp/init.cc:3451
 #, gcc-internal-format
 msgid "uses %qD, which does not have an alignment parameter"
 msgstr ""
 
-#: cp/init.cc:3452
+#: cp/init.cc:3454
 #, gcc-internal-format
 msgid "use %<-faligned-new%> to enable C++17 over-aligned new support"
 msgstr ""
 
-#: cp/init.cc:3648
+#: cp/init.cc:3650
 #, gcc-internal-format
 msgid "parenthesized initializer in array new"
 msgstr ""
 
-#: cp/init.cc:3922
+#: cp/init.cc:3926
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr ""
 
-#: cp/init.cc:3951
+#: cp/init.cc:3955
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr ""
 
-#: cp/init.cc:3960
+#: cp/init.cc:3964
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr ""
 
-#: cp/init.cc:4080
+#: cp/init.cc:4084
 #, gcc-internal-format
 msgid "possible problem detected in invocation of operator %<delete []%>"
 msgstr ""
 
-#: cp/init.cc:4084
+#: cp/init.cc:4088
 #, 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:4695
+#: cp/init.cc:4761
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr ""
 
-#: cp/init.cc:4991
+#: cp/init.cc:5057
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr ""
 
-#: cp/init.cc:5025
+#: cp/init.cc:5091
 #, gcc-internal-format
 msgid "possible problem detected in invocation of %<operator delete%>"
 msgstr ""
 
-#: cp/init.cc:5030
+#: cp/init.cc:5096
 #, 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:5045
+#: cp/init.cc:5111
 #, gcc-internal-format
 msgid ""
 "deleting object of abstract class type %qT which has non-virtual destructor "
 "will cause undefined behavior"
 msgstr ""
 
-#: cp/init.cc:5050
+#: cp/init.cc:5116
 #, gcc-internal-format
 msgid ""
 "deleting object of polymorphic class type %qT which has non-virtual "
 "destructor might cause undefined behavior"
 msgstr ""
 
-#: cp/init.cc:5357
+#: cp/init.cc:5423
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr ""
 
-#: cp/lambda.cc:545
+#: cp/lambda.cc:546
 #, gcc-internal-format
 msgid "array of runtime bound cannot be captured by copy, only by reference"
 msgstr ""
 
-#: cp/lambda.cc:560
+#: cp/lambda.cc:561
 #, gcc-internal-format
 msgid ""
 "capture of variably-modified type %qT that is not an N3639 array of runtime "
 "bound"
 msgstr ""
 
-#: cp/lambda.cc:564
+#: cp/lambda.cc:565
 #, gcc-internal-format
 msgid "because the array element type %qT has variable size"
 msgstr ""
 
-#: cp/lambda.cc:588
+#: cp/lambda.cc:589
 #, gcc-internal-format
 msgid "cannot capture %qE by reference"
 msgstr ""
 
-#: cp/lambda.cc:598
+#: cp/lambda.cc:599
 #, gcc-internal-format
 msgid "capture by copy of incomplete type %qT"
 msgstr ""
 
-#: cp/lambda.cc:653
+#: cp/lambda.cc:654
 #, gcc-internal-format
 msgid "trying to capture %qD in instantiation of generic lambda"
 msgstr ""
 
-#: cp/lambda.cc:729
+#: cp/lambda.cc:730
 #, gcc-internal-format
 msgid "implicit capture of %qE via %<[=]%> is deprecated in C++20"
 msgstr ""
 
-#: cp/lambda.cc:731
+#: cp/lambda.cc:732
 #, gcc-internal-format
 msgid "add explicit %<this%> or %<*this%> capture"
 msgstr ""
 
-#: cp/lambda.cc:851
+#: cp/lambda.cc:852
 #, gcc-internal-format
 msgid "%<this%> was not captured for this lambda function"
 msgstr ""
 
-#: cp/lex.cc:602
+#: cp/lex.cc:610
 #, gcc-internal-format
 msgid "invalid %<#pragma %s%>"
 msgstr ""
 
-#: cp/lex.cc:610
+#: cp/lex.cc:618
 #, gcc-internal-format
 msgid "%<#pragma vtable%> no longer supported"
 msgstr ""
 
-#: cp/lex.cc:682
+#: cp/lex.cc:690
 #, gcc-internal-format
 msgid "%<#pragma implementation%> for %qs appears after file is included"
 msgstr ""
 
-#: cp/lex.cc:710
+#: cp/lex.cc:718
 #, gcc-internal-format
 msgid "%qD not defined"
 msgstr ""
 
-#: cp/lex.cc:722
+#: cp/lex.cc:730
 #, gcc-internal-format
 msgid "%qD was not declared in this scope; did you mean %qs?"
 msgstr ""
 
-#: cp/lex.cc:726
+#: cp/lex.cc:734
 #, gcc-internal-format
 msgid "%qD was not declared in this scope"
 msgstr ""
@@ -57651,14 +59316,14 @@ msgstr ""
 #. Note that we have the exact wording of the following message in
 #. the manual (trouble.texi, node "Name lookup"), so they need to
 #. be kept in synch.
-#: cp/lex.cc:768
+#: cp/lex.cc:776
 #, gcc-internal-format
 msgid ""
 "there are no arguments to %qD that depend on a template parameter, so a "
 "declaration of %qD must be available"
 msgstr ""
 
-#: cp/lex.cc:777
+#: cp/lex.cc:785
 #, gcc-internal-format
 msgid ""
 "(if you use %<-fpermissive%>, G++ will accept your code, but allowing the "
@@ -57670,108 +59335,104 @@ msgstr ""
 msgid "  # %E"
 msgstr ""
 
-#: cp/mangle.cc:2386
+#: cp/mangle.cc:2478
 #, gcc-internal-format
 msgid "mangling %<typeof%>, use %<decltype%> instead"
 msgstr ""
 
-#: cp/mangle.cc:2390
-#, gcc-internal-format
-msgid "mangling %<__underlying_type%>"
-msgstr ""
-
-#: cp/mangle.cc:2697
+#: cp/mangle.cc:2482
 #, gcc-internal-format
-msgid "mangling unknown fixed point type"
+msgid ""
+"use of built-in trait %qT in function signature; use library traits instead"
 msgstr ""
 
-#: cp/mangle.cc:3475
+#: cp/mangle.cc:3533
 #, gcc-internal-format
 msgid ""
 "use of built-in trait %qE in function signature; use library traits instead"
 msgstr ""
 
-#: cp/mangle.cc:3480
+#: cp/mangle.cc:3538
 #, gcc-internal-format, gfc-internal-format
 msgid "mangling %C"
 msgstr ""
 
-#: cp/mangle.cc:3556
+#: cp/mangle.cc:3614
 #, gcc-internal-format
 msgid "omitted middle operand to %<?:%> operand cannot be mangled"
 msgstr ""
 
-#: cp/mangle.cc:4120
+#: cp/mangle.cc:4182
 #, 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:4166
+#: cp/mangle.cc:4228
 #, gcc-internal-format
 msgid ""
 "the mangled name of %qD changed between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
 msgstr ""
 
-#: cp/mangle.cc:4172
+#: cp/mangle.cc:4234
 #, gcc-internal-format
 msgid ""
 "the mangled name of %qD changes between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
 msgstr ""
 
-#: cp/mangle.cc:4444
+#: cp/mangle.cc:4506
 #, 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:4449
+#: cp/mangle.cc:4511
 #, gcc-internal-format
 msgid ""
 "the mangled name of %qD changes between %<-fabi-version=%d%> and %<-fabi-"
 "version=%d%>"
 msgstr ""
 
-#: cp/mangle.cc:4454
+#: cp/mangle.cc:4516
 #, 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:307
+#: cp/mapper-client.cc:312
 #, gcc-internal-format
 msgid "failed %s mapper %qs line %u"
 msgstr ""
 
-#: cp/mapper-client.cc:308
+#: cp/mapper-client.cc:313
 #, gcc-internal-format
 msgid "failed %s mapper %qs"
 msgstr ""
 
-#: cp/mapper-client.cc:320
+#: cp/mapper-client.cc:325
 #, gcc-internal-format, gfc-internal-format
 msgid "failed mapper handshake %s"
 msgstr ""
 
-#: cp/mapper-client.cc:354
+#: cp/mapper-client.cc:359
 #, gcc-internal-format, gfc-internal-format
 msgid "mapper died by signal %s"
 msgstr ""
 
-#: cp/mapper-client.cc:357
+#: cp/mapper-client.cc:362
 #, gcc-internal-format, gfc-internal-format
 msgid "mapper exit status %d"
 msgstr ""
 
-#: cp/method.cc:855 cp/method.cc:2319
+#: cp/method.cc:855 cp/method.cc:2403
 #, gcc-internal-format
 msgid "non-static const member %q#D, cannot use default assignment operator"
 msgstr ""
 
-#: cp/method.cc:861 cp/method.cc:2325
+#: cp/method.cc:861 cp/method.cc:2409
 #, gcc-internal-format
 msgid ""
 "non-static reference member %q#D, cannot use default assignment operator"
@@ -57878,361 +59539,361 @@ msgstr ""
 msgid "synthesized method %qD first required here"
 msgstr ""
 
-#: cp/method.cc:2262
+#: cp/method.cc:2326
 #, gcc-internal-format
 msgid "union member %q+D with non-trivial %qD"
 msgstr ""
 
-#: cp/method.cc:2273
+#: cp/method.cc:2337
 #, gcc-internal-format
 msgid "defaulted destructor calls non-%<constexpr%> %qD"
 msgstr ""
 
-#: cp/method.cc:2274
+#: cp/method.cc:2338
 #, gcc-internal-format
 msgid "defaulted constructor calls non-%<constexpr%> %qD"
 msgstr ""
 
-#: cp/method.cc:2342
+#: cp/method.cc:2426
 #, gcc-internal-format
 msgid "initializer for %q#D is invalid"
 msgstr ""
 
-#: cp/method.cc:2399
+#: cp/method.cc:2483
 #, gcc-internal-format
 msgid "defaulted default constructor does not initialize %q#D"
 msgstr ""
 
-#: cp/method.cc:2410
+#: cp/method.cc:2494
 #, 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:2617
+#: cp/method.cc:2712
 #, gcc-internal-format
 msgid ""
 "defaulted default constructor does not initialize any non-static data member"
 msgstr ""
 
-#: cp/method.cc:2660
+#: cp/method.cc:2755
 #, gcc-internal-format
 msgid ""
 "defaulted move assignment for %qT calls a non-trivial move assignment "
 "operator for virtual base %qT"
 msgstr ""
 
-#: cp/method.cc:2791
+#: cp/method.cc:2886
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted default constructor"
 msgstr ""
 
-#: cp/method.cc:2794
+#: cp/method.cc:2889
 #, gcc-internal-format
 msgid "a lambda closure type has a deleted copy assignment operator"
 msgstr ""
 
-#: cp/method.cc:2803
+#: cp/method.cc:2898
 #, 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:2814
+#: cp/method.cc:2909
 #, gcc-internal-format
 msgid "%q#D inherits from multiple base subobjects"
 msgstr ""
 
-#: cp/method.cc:2822 cp/method.cc:2846
+#: cp/method.cc:2917 cp/method.cc:2941
 #, gcc-internal-format
 msgid ""
 "%q#D is implicitly deleted because the default definition would be ill-"
 "formed:"
 msgstr ""
 
-#: cp/method.cc:2855
+#: cp/method.cc:2950
 msgid ""
 "%q#F is implicitly deleted because its exception-specification does not "
 "match the implicit exception-specification %qX"
 msgstr ""
 
-#: cp/method.cc:3258
+#: cp/method.cc:3353
 #, gcc-internal-format
 msgid "defaulted declaration %q+D does not match the expected signature"
 msgstr ""
 
-#: cp/method.cc:3261
+#: cp/method.cc:3356
 #, gcc-internal-format
 msgid "expected signature: %qD"
 msgstr ""
 
-#: cp/method.cc:3293
+#: cp/method.cc:3388
 #, gcc-internal-format
 msgid ""
 "explicitly defaulted function %q+D cannot be declared %qs because the "
 "implicit declaration is not %qs:"
 msgstr ""
 
-#: cp/method.cc:3313
+#: cp/method.cc:3408
 #, gcc-internal-format
 msgid "a template cannot be defaulted"
 msgstr ""
 
-#: cp/method.cc:3348
+#: cp/method.cc:3443
 #, gcc-internal-format
 msgid "%qD cannot be defaulted"
 msgstr ""
 
-#: cp/method.cc:3357
+#: cp/method.cc:3452
 #, gcc-internal-format
 msgid "defaulted function %q+D with default argument"
 msgstr ""
 
-#: cp/module.cc:1546
+#: cp/module.cc:1551
 #, gcc-internal-format
 msgid "section %qs is missing or corrupted"
 msgstr ""
 
-#: cp/module.cc:1548
+#: cp/module.cc:1553
 #, gcc-internal-format, gfc-internal-format
 msgid "section #%u is missing or corrupted"
 msgstr ""
 
-#: cp/module.cc:1770
+#: cp/module.cc:1775
 #, gcc-internal-format
 msgid "not Encapsulated Lazy Records of Named Declarations"
 msgstr ""
 
-#: cp/module.cc:1785
+#: cp/module.cc:1790
 #, gcc-internal-format
 msgid "unexpected encapsulation format or type"
 msgstr ""
 
-#: cp/module.cc:1794
+#: cp/module.cc:1799
 #, gcc-internal-format
 msgid "encapsulation is malformed"
 msgstr ""
 
-#: cp/module.cc:11081
+#: cp/module.cc:11308
 #, gcc-internal-format
 msgid "conflicting global module declaration %#qD"
 msgstr ""
 
-#: cp/module.cc:11083
+#: cp/module.cc:11310
 #, gcc-internal-format
 msgid "existing declaration %#qD"
 msgstr ""
 
-#: cp/module.cc:12147
+#: cp/module.cc:12327
 #, gcc-internal-format
 msgid "definition of %qD does not match"
 msgstr ""
 
-#: cp/module.cc:12149
+#: cp/module.cc:12329
 #, gcc-internal-format
 msgid "existing definition %qD"
 msgstr ""
 
-#: cp/module.cc:12161
+#: cp/module.cc:12341
 #, gcc-internal-format
 msgid "... this enumerator %qD"
 msgstr ""
 
-#: cp/module.cc:12163
+#: cp/module.cc:12343
 #, gcc-internal-format
 msgid "enumerator %qD does not match ..."
 msgstr ""
 
-#: cp/module.cc:12169
+#: cp/module.cc:12349
 #, gcc-internal-format
 msgid "additional enumerators beginning with %qD"
 msgstr ""
 
-#: cp/module.cc:12173
+#: cp/module.cc:12353
 #, gcc-internal-format
 msgid "enumeration range differs"
 msgstr ""
 
-#: cp/module.cc:13292
+#: cp/module.cc:13482
 #, gcc-internal-format
 msgid "%q#D references internal linkage entity %q#D"
 msgstr ""
 
-#: cp/module.cc:13861
+#: cp/module.cc:14059
 #, gcc-internal-format
 msgid "recursive lazy load"
 msgstr ""
 
 #. Cannot import the current module.
-#: cp/module.cc:13880
+#: cp/module.cc:14078
 #, gcc-internal-format
 msgid "cannot import module in its own purview"
 msgstr ""
 
-#: cp/module.cc:13881 cp/module.cc:18964
+#: cp/module.cc:14079 cp/module.cc:19271
 #, gcc-internal-format
 msgid "module %qs declared here"
 msgstr ""
 
-#: cp/module.cc:14226
+#: cp/module.cc:14423
 #, gcc-internal-format
 msgid "indirect import %qs is not already loaded"
 msgstr ""
 
-#: cp/module.cc:14232
+#: cp/module.cc:14429
 #, gcc-internal-format
 msgid "import %qs has CRC mismatch"
 msgstr ""
 
-#: cp/module.cc:15931
+#: cp/module.cc:16226
 #, gcc-internal-format
 msgid "unable to represent further imported source locations"
 msgstr ""
 
-#: cp/module.cc:16844
+#: cp/module.cc:17099
 #, gcc-internal-format
 msgid "not exporting %<#define %E%> as it is a keyword"
 msgstr ""
 
-#: cp/module.cc:17081
+#: cp/module.cc:17339
 #, gcc-internal-format
 msgid "macro definitions of %qE corrupted"
 msgstr ""
 
-#: cp/module.cc:17105 cp/module.cc:17108
+#: cp/module.cc:17363 cp/module.cc:17366
 #, gcc-internal-format
 msgid "inconsistent imported macro definition %qE"
 msgstr ""
 
-#: cp/module.cc:17114
+#: cp/module.cc:17372
 #, gcc-internal-format
 msgid "%<#undef %E%>"
 msgstr ""
 
-#: cp/module.cc:17116
+#: cp/module.cc:17374
 #, gcc-internal-format
 msgid "%<#define %s%>"
 msgstr ""
 
-#: cp/module.cc:17346
+#: cp/module.cc:17606
 #, gcc-internal-format
 msgid "compiled module file is %qs"
 msgstr ""
 
-#: cp/module.cc:17383 cp/module.cc:17388
+#: cp/module.cc:17643 cp/module.cc:17648
 #, gcc-internal-format, gfc-internal-format
 msgid "compiled module is %sversion %s"
 msgstr ""
 
-#: cp/module.cc:17394
+#: cp/module.cc:17654
 #, gcc-internal-format, gfc-internal-format
 msgid "compiler is %sversion %s%s%s"
 msgstr ""
 
-#: cp/module.cc:17424
+#: cp/module.cc:17684
 #, gcc-internal-format
 msgid "module %qs found"
 msgstr ""
 
-#: cp/module.cc:17426
+#: cp/module.cc:17686
 #, gcc-internal-format
 msgid "header module expected, module %qs found"
 msgstr ""
 
-#: cp/module.cc:17427
+#: cp/module.cc:17687
 #, gcc-internal-format
 msgid "module %qs expected, header module found"
 msgstr ""
 
-#: cp/module.cc:17442
+#: cp/module.cc:17702
 #, gcc-internal-format
 msgid "module %qs CRC mismatch"
 msgstr ""
 
-#: cp/module.cc:17456
+#: cp/module.cc:17716
 #, gcc-internal-format
 msgid "target & host is %qs:%qs, expected %qs:%qs"
 msgstr ""
 
-#: cp/module.cc:17468
+#: cp/module.cc:17728
 #, gcc-internal-format
 msgid "language dialect differs %qs, expected %qs"
 msgstr ""
 
-#: cp/module.cc:17484
+#: cp/module.cc:17744
 #, gcc-internal-format
 msgid "module contains OpenMP, use %<-fopenmp%> to enable"
 msgstr ""
 
-#: cp/module.cc:17501
+#: cp/module.cc:17761
 #, gcc-internal-format
 msgid "fixed tree mismatch"
 msgstr ""
 
-#: cp/module.cc:17588
+#: cp/module.cc:17852
 #, gcc-internal-format
 msgid "interface partition is not exported"
 msgstr ""
 
-#: cp/module.cc:18122
+#: cp/module.cc:18409
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to read compiled module cluster %u: %s"
 msgstr ""
 
-#: cp/module.cc:18160
+#: cp/module.cc:18447
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to read compiled module: %s"
 msgstr ""
 
-#: cp/module.cc:18170
+#: cp/module.cc:18457
 #, 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:18175
+#: cp/module.cc:18462
 #, gcc-internal-format
 msgid "imports must be built before being imported"
 msgstr ""
 
-#: cp/module.cc:18178
+#: cp/module.cc:18465
 #, gcc-internal-format
 msgid "returning to the gate for a mechanical issue"
 msgstr ""
 
-#: cp/module.cc:18669
+#: cp/module.cc:18968
 #, gcc-internal-format
 msgid "reading CMI %qs"
 msgstr ""
 
-#: cp/module.cc:18813
+#: cp/module.cc:19116
 #, gcc-internal-format
 msgid "failed to load binding %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:18814
+#: cp/module.cc:19117
 #, gcc-internal-format
 msgid "failed to load binding %<%E%s%E@%s%>"
 msgstr ""
 
-#: cp/module.cc:18821
+#: cp/module.cc:19124
 #, gcc-internal-format
 msgid "during load of binding %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:18822
+#: cp/module.cc:19125
 #, gcc-internal-format
 msgid "during load of binding %<%E%s%E@%s%>"
 msgstr ""
 
-#: cp/module.cc:18880
+#: cp/module.cc:19187
 #, gcc-internal-format
 msgid "failed to load pendings for %<%E%s%E%>"
 msgstr ""
 
-#: cp/module.cc:18884
+#: cp/module.cc:19191
 #, gcc-internal-format
 msgid "during load of pendings for %<%E%s%E%>"
 msgstr ""
@@ -58244,102 +59905,102 @@ 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:18929
+#: cp/module.cc:19236
 #, gcc-internal-format
 msgid "import of named module %qs inside language-linkage block"
 msgstr ""
 
-#: cp/module.cc:18959
+#: cp/module.cc:19266
 #, gcc-internal-format
 msgid "module already declared"
 msgstr ""
 
-#: cp/module.cc:18960
+#: cp/module.cc:19267
 #, gcc-internal-format
 msgid "module already imported"
 msgstr ""
 
-#: cp/module.cc:18965
+#: cp/module.cc:19272
 #, gcc-internal-format
 msgid "module %qs imported here"
 msgstr ""
 
-#: cp/module.cc:19152
+#: cp/module.cc:19479
 #, gcc-internal-format, gfc-internal-format
 msgid "unknown Compiled Module Interface: %s"
 msgstr ""
 
-#: cp/module.cc:19195
+#: cp/module.cc:19522
 #, gcc-internal-format
 msgid "cannot determine %<#include%> translation of %s: %s"
 msgstr ""
 
-#: cp/module.cc:19213
+#: cp/module.cc:19540
 #, gcc-internal-format
 msgid "include %qs translated to import"
 msgstr ""
 
-#: cp/module.cc:19214
+#: cp/module.cc:19541
 #, gcc-internal-format
 msgid "include %qs processed textually"
 msgstr ""
 
-#: cp/module.cc:19571
+#: cp/module.cc:19899
 #, gcc-internal-format
 msgid "C++ modules are incompatible with precompiled headers"
 msgstr ""
 
-#: cp/module.cc:19575
+#: cp/module.cc:19903
 #, gcc-internal-format
 msgid "C++ modules are incompatible with traditional preprocessing"
 msgstr ""
 
-#: cp/module.cc:19585
+#: cp/module.cc:19913
 #, gcc-internal-format
 msgid "macro debug output may be incomplete with modules"
 msgstr ""
 
-#: cp/module.cc:19586
+#: cp/module.cc:19914
 #, gcc-internal-format
 msgid "module dependencies require preprocessing"
 msgstr ""
 
-#: cp/module.cc:19588
+#: cp/module.cc:19916
 #, gcc-internal-format
 msgid "you should use the %<-%s%> option"
 msgstr ""
 
-#: cp/module.cc:19623 cp/module.cc:19652
+#: cp/module.cc:19951 cp/module.cc:19980
 #, gcc-internal-format
 msgid "invalid header name %qs"
 msgstr ""
 
-#: cp/module.cc:19662
+#: cp/module.cc:19990
 #, gcc-internal-format
 msgid "invalid module name %qs"
 msgstr ""
 
-#: cp/module.cc:19828
+#: cp/module.cc:20180
 #, gcc-internal-format
 msgid "%<-fmodule-only%> used for non-interface"
 msgstr ""
 
-#: cp/module.cc:19868
+#: cp/module.cc:20220
 #, gcc-internal-format
 msgid "writing CMI %qs"
 msgstr ""
 
-#: cp/module.cc:19873
+#: cp/module.cc:20227
 #, gcc-internal-format
 msgid "not writing module %qs due to errors"
 msgstr ""
 
-#: cp/module.cc:19901
+#: cp/module.cc:20292
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to write compiled module: %s"
 msgstr ""
 
-#: cp/module.cc:20038
+#: cp/module.cc:20389
 #, gcc-internal-format
 msgid "unknown header kind %qs"
 msgstr ""
@@ -58384,1117 +60045,1117 @@ msgstr ""
 msgid "declaration of %qD shadows a member of %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:3758
+#: cp/name-lookup.cc:3760
 #, gcc-internal-format
 msgid "friend declaration %qD in local class without prior local declaration"
 msgstr ""
 
-#: cp/name-lookup.cc:4225
+#: cp/name-lookup.cc:4228
 #, gcc-internal-format
 msgid "%s %<%s(%E)%> %p %d"
 msgstr ""
 
-#: cp/name-lookup.cc:4228
+#: cp/name-lookup.cc:4231
 #, gcc-internal-format
 msgid "%s %s %p %d"
 msgstr ""
 
-#: cp/name-lookup.cc:4840
+#: cp/name-lookup.cc:4842
 #, gcc-internal-format
 msgid "%q#D does not have external linkage"
 msgstr ""
 
-#: cp/name-lookup.cc:4842 cp/parser.cc:11376 cp/parser.cc:11386
-#: cp/semantics.cc:3951 cp/semantics.cc:3963
+#: cp/name-lookup.cc:4844 cp/parser.cc:11411 cp/parser.cc:11421
+#: cp/semantics.cc:4005 cp/semantics.cc:4020
 #, gcc-internal-format
 msgid "%q#D declared here"
 msgstr ""
 
-#: cp/name-lookup.cc:5554
+#: cp/name-lookup.cc:5556
 #, gcc-internal-format
 msgid "%<%T%s%D%> names destructor"
 msgstr ""
 
-#: cp/name-lookup.cc:5570
+#: cp/name-lookup.cc:5572
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr ""
 
-#: cp/name-lookup.cc:5578
+#: cp/name-lookup.cc:5580
 #, 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:5594 cp/pt.cc:18546
+#: cp/name-lookup.cc:5596 cp/pt.cc:18800
 #, gcc-internal-format
 msgid "%qT is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/name-lookup.cc:5604
+#: cp/name-lookup.cc:5606
 #, gcc-internal-format
 msgid "non-member using-declaration names constructor of %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:5615 cp/name-lookup.cc:5688
+#: cp/name-lookup.cc:5617 cp/name-lookup.cc:5690
 #, gcc-internal-format
 msgid "using-declaration for member at non-class scope"
 msgstr ""
 
-#: cp/name-lookup.cc:5638
+#: cp/name-lookup.cc:5640
 #, gcc-internal-format
 msgid "%qT is not a direct base of %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:5698
+#: cp/name-lookup.cc:5700
 #, gcc-internal-format
 msgid "did you mean %<using enum %T::%D%>?"
 msgstr ""
 
-#: cp/name-lookup.cc:5710
+#: cp/name-lookup.cc:5712
 #, gcc-internal-format
 msgid "%qD has not been declared in %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5724
+#: cp/name-lookup.cc:5726
 #, gcc-internal-format
 msgid "using-declaration may not name namespace %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5735
+#: cp/name-lookup.cc:5737
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr ""
 
-#: cp/name-lookup.cc:5828
+#: cp/name-lookup.cc:5830
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5869
+#: cp/name-lookup.cc:5871
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5879
+#: cp/name-lookup.cc:5881
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5947
+#: cp/name-lookup.cc:5949
 #, gcc-internal-format
 msgid "%qD has not been declared within %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:5949
+#: cp/name-lookup.cc:5951
 #, gcc-internal-format
 msgid "only here as a %<friend%>"
 msgstr ""
 
-#: cp/name-lookup.cc:6003
+#: cp/name-lookup.cc:6005
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr ""
 
-#: cp/name-lookup.cc:6010
+#: cp/name-lookup.cc:6012
 #, gcc-internal-format
 msgid ""
 "%qD attribute is meaningless since members of the anonymous namespace get "
 "local symbols"
 msgstr ""
 
-#: cp/name-lookup.cc:6020 cp/name-lookup.cc:6047
+#: cp/name-lookup.cc:6022 cp/name-lookup.cc:6049
 #, gcc-internal-format
 msgid "ignoring %qD attribute on anonymous namespace"
 msgstr ""
 
-#: cp/name-lookup.cc:6026
+#: cp/name-lookup.cc:6028
 #, gcc-internal-format
 msgid "ignoring %qD attribute on non-inline namespace"
 msgstr ""
 
-#: cp/name-lookup.cc:6063 cp/name-lookup.cc:8552
+#: cp/name-lookup.cc:6065 cp/name-lookup.cc:8341
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr ""
 
-#: cp/name-lookup.cc:6389
+#: cp/name-lookup.cc:6391
 #, gcc-internal-format
 msgid "maximum limit of %d namespaces searched for %qE"
 msgstr ""
 
-#: cp/name-lookup.cc:6441
+#: cp/name-lookup.cc:6443
 #, gcc-internal-format
 msgid "suggested alternative:"
 msgid_plural "suggested alternatives:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: cp/name-lookup.cc:6447
+#: cp/name-lookup.cc:6449
 #, gcc-internal-format
 msgid "  %qE"
 msgstr ""
 
-#: cp/name-lookup.cc:6976
+#: cp/name-lookup.cc:6761
 #, gcc-internal-format
 msgid ""
 "%<std::%s%> is defined in header %qs; did you forget to %<#include %s%>?"
 msgstr ""
 
-#: cp/name-lookup.cc:6982
+#: cp/name-lookup.cc:6767
 #, gcc-internal-format
 msgid "%<std::%s%> is only available from %s onwards"
 msgstr ""
 
-#: cp/name-lookup.cc:7418
+#: cp/name-lookup.cc:7203
 #, gcc-internal-format
 msgid "the macro %qs had not yet been defined"
 msgstr ""
 
-#: cp/name-lookup.cc:7421
+#: cp/name-lookup.cc:7206
 #, gcc-internal-format
 msgid "it was later defined here"
 msgstr ""
 
-#: cp/name-lookup.cc:8180
+#: cp/name-lookup.cc:7969
 #, gcc-internal-format
 msgid ""
 "declaration of %<std::initializer_list%> does not match %<#include "
 "<initializer_list>%>, isn%'t a template"
 msgstr ""
 
-#: cp/name-lookup.cc:8536
+#: cp/name-lookup.cc:8325
 #, gcc-internal-format
 msgid "%<strong%> using directive no longer supported"
 msgstr ""
 
-#: cp/name-lookup.cc:8539
+#: cp/name-lookup.cc:8328
 #, gcc-internal-format
 msgid "you can use an inline namespace instead"
 msgstr ""
 
 #. We only allow depth 255.
-#: cp/name-lookup.cc:8638
+#: cp/name-lookup.cc:8427
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot nest more than %d namespaces"
 msgstr ""
 
-#: cp/name-lookup.cc:8735
+#: cp/name-lookup.cc:8524
 #, gcc-internal-format
 msgid "%<namespace %E%> is ambiguous"
 msgstr ""
 
-#: cp/name-lookup.cc:8751
+#: cp/name-lookup.cc:8540
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr ""
 
-#: cp/name-lookup.cc:8831
+#: cp/name-lookup.cc:8627
 #, gcc-internal-format
 msgid "inline namespace must be specified at initial definition"
 msgstr ""
 
-#: cp/name-lookup.cc:8832
+#: cp/name-lookup.cc:8628
 #, gcc-internal-format
 msgid "%qD defined here"
 msgstr ""
 
-#: cp/name-lookup.cc:8881
+#: cp/name-lookup.cc:8677
 #, gcc-internal-format
 msgid "%s namespace %qD conflicts with reachable definition"
 msgstr ""
 
-#: cp/name-lookup.cc:8883
+#: cp/name-lookup.cc:8679
 #, gcc-internal-format, gfc-internal-format
 msgid "reachable %s definition here"
 msgstr ""
 
-#: cp/name-lookup.cc:8926
+#: cp/name-lookup.cc:8722
 #, gcc-internal-format
 msgid "XXX entering %<pop_everything ()%>"
 msgstr ""
 
-#: cp/name-lookup.cc:8935
+#: cp/name-lookup.cc:8731
 #, gcc-internal-format
 msgid "XXX leaving %<pop_everything ()%>"
 msgstr ""
 
-#: cp/optimize.cc:612
+#: cp/optimize.cc:605
 #, gcc-internal-format
 msgid "making multiple clones of %qD"
 msgstr ""
 
-#: cp/parser.cc:899
+#: cp/parser.cc:980
 #, gcc-internal-format
 msgid "identifier %qE is a keyword in C++11"
 msgstr ""
 
-#: cp/parser.cc:913
+#: cp/parser.cc:994
 #, gcc-internal-format
 msgid "identifier %qE is a keyword in C++20"
 msgstr ""
 
-#: cp/parser.cc:1406 cp/parser.cc:1419
+#: cp/parser.cc:1493 cp/parser.cc:1506
 #, gcc-internal-format
 msgid "%<LEXER_DEBUGGING_ENABLED_P%> is not set to true"
 msgstr ""
 
-#: cp/parser.cc:1444 cp/parser.cc:45161
+#: cp/parser.cc:1531 cp/parser.cc:46255
 #, gcc-internal-format
 msgid ""
 "%<#pragma omp declare %s%> not immediately followed by function declaration "
 "or definition"
 msgstr ""
 
-#: cp/parser.cc:1484
+#: cp/parser.cc:1571
 #, gcc-internal-format
 msgid ""
 "%<declare %s%> directive not immediately followed by function declaration or "
 "definition"
 msgstr ""
 
-#: cp/parser.cc:3022
+#: cp/parser.cc:3100
 #, gcc-internal-format
 msgid "%<#pragma%> is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:3151
+#: cp/parser.cc:3229
 #, gcc-internal-format
 msgid "%<%E::%E%> has not been declared"
 msgstr ""
 
-#: cp/parser.cc:3154
+#: cp/parser.cc:3232
 #, gcc-internal-format
 msgid "%<::%E%> has not been declared"
 msgstr ""
 
-#: cp/parser.cc:3157
+#: cp/parser.cc:3235
 #, gcc-internal-format
 msgid "request for member %qE in non-class type %qT"
 msgstr ""
 
-#: cp/parser.cc:3160 cp/parser.cc:20943
+#: cp/parser.cc:3238 cp/parser.cc:21087
 #, gcc-internal-format
 msgid "%<%T::%E%> has not been declared"
 msgstr ""
 
-#: cp/parser.cc:3170
+#: cp/parser.cc:3248
 #, gcc-internal-format
 msgid "%<%E::%E%> is not a type"
 msgstr ""
 
-#: cp/parser.cc:3174
+#: cp/parser.cc:3252
 #, gcc-internal-format
 msgid "%<%E::%E%> is not a class or namespace"
 msgstr ""
 
-#: cp/parser.cc:3179
+#: cp/parser.cc:3257
 #, gcc-internal-format
 msgid "%<%E::%E%> is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/parser.cc:3192
+#: cp/parser.cc:3270
 #, gcc-internal-format
 msgid "%<::%E%> is not a type"
 msgstr ""
 
-#: cp/parser.cc:3195
+#: cp/parser.cc:3273
 #, gcc-internal-format
 msgid "%<::%E%> is not a class or namespace"
 msgstr ""
 
-#: cp/parser.cc:3199
+#: cp/parser.cc:3277
 #, gcc-internal-format
 msgid "%<::%E%> is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/parser.cc:3211
+#: cp/parser.cc:3289
 #, gcc-internal-format
 msgid "%qE is not a type"
 msgstr ""
 
-#: cp/parser.cc:3214
+#: cp/parser.cc:3292
 #, gcc-internal-format
 msgid "%qE is not a class or namespace"
 msgstr ""
 
-#: cp/parser.cc:3218
+#: cp/parser.cc:3296
 #, gcc-internal-format
 msgid "%qE is not a class, namespace, or enumeration"
 msgstr ""
 
-#: cp/parser.cc:3282
+#: cp/parser.cc:3360
 #, gcc-internal-format
 msgid "new types may not be defined in a return type"
 msgstr ""
 
-#: cp/parser.cc:3284
+#: cp/parser.cc:3362
 #, gcc-internal-format
 msgid "(perhaps a semicolon is missing after the definition of %qT)"
 msgstr ""
 
-#: cp/parser.cc:3312
+#: cp/parser.cc:3390
 #, gcc-internal-format
 msgid "%qE is not a class template"
 msgstr ""
 
-#: cp/parser.cc:3314
+#: cp/parser.cc:3392
 #, gcc-internal-format
 msgid "%qE is not a template"
 msgstr ""
 
-#: cp/parser.cc:3317
+#: cp/parser.cc:3395
 #, gcc-internal-format
 msgid "invalid template-id"
 msgstr ""
 
-#: cp/parser.cc:3351
+#: cp/parser.cc:3429
 #, gcc-internal-format
 msgid "ISO C++ forbids using a floating-point literal in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3355 cp/pt.cc:20208
+#: cp/parser.cc:3433
 #, 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:3360
+#: cp/parser.cc:3438
 #, gcc-internal-format
 msgid "%<typeid%> operator cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3364
+#: cp/parser.cc:3442
 #, gcc-internal-format
 msgid "non-constant compound literals cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3368
+#: cp/parser.cc:3446
 #, gcc-internal-format
 msgid "a function call cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3372
+#: cp/parser.cc:3450
 #, gcc-internal-format
 msgid "an increment cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3376
+#: cp/parser.cc:3454
 #, gcc-internal-format
 msgid "an decrement cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3380
+#: cp/parser.cc:3458
 #, gcc-internal-format
 msgid "an array reference cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3384
+#: cp/parser.cc:3462
 #, gcc-internal-format
 msgid "the address of a label cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3388
+#: cp/parser.cc:3466
 #, gcc-internal-format
 msgid "calls to overloaded operators cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3392
+#: cp/parser.cc:3470
 #, gcc-internal-format
 msgid "an assignment cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3395
+#: cp/parser.cc:3473
 #, gcc-internal-format
 msgid "a comma operator cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3399
+#: cp/parser.cc:3477
 #, gcc-internal-format
 msgid "a call to a constructor cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3403
+#: cp/parser.cc:3481
 #, gcc-internal-format
 msgid "a transaction expression cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3449
+#: cp/parser.cc:3527
 #, gcc-internal-format
 msgid "%qs cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/parser.cc:3486
+#: cp/parser.cc:3564
 #, gcc-internal-format
 msgid ""
 "class template argument deduction is only available with %<-std=c++17%> or "
 "%<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:3491
+#: cp/parser.cc:3569
 #, gcc-internal-format
 msgid "invalid use of destructor %qD as a type"
 msgstr ""
 
 #. Something like 'unsigned A a;'
-#: cp/parser.cc:3494
+#: cp/parser.cc:3572
 #, gcc-internal-format
 msgid "invalid combination of multiple type-specifiers"
 msgstr ""
 
-#: cp/parser.cc:3507
+#: cp/parser.cc:3585
 #, gcc-internal-format
 msgid "%qE does not name a type; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:3511
+#: cp/parser.cc:3589
 #, gcc-internal-format
 msgid "%qE does not name a type"
 msgstr ""
 
-#: cp/parser.cc:3520
+#: cp/parser.cc:3598
 #, gcc-internal-format
 msgid ""
 "C++11 %<constexpr%> only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/parser.cc:3523
+#: cp/parser.cc:3601
 #, gcc-internal-format
 msgid ""
 "C++11 %<noexcept%> only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/parser.cc:3529
+#: cp/parser.cc:3607
 #, gcc-internal-format
 msgid "%qE is not recognized as a module control-line"
 msgstr ""
 
-#: cp/parser.cc:3532
+#: cp/parser.cc:3610
 #, gcc-internal-format
 msgid "C++20 %qE only available with %<-fmodules-ts%>"
 msgstr ""
 
-#: cp/parser.cc:3535
+#: cp/parser.cc:3613
 #, 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:3541
+#: cp/parser.cc:3619
 #, gcc-internal-format
 msgid ""
 "C++11 %<thread_local%> only available with %<-std=c++11%> or %<-std=gnu++11%>"
 msgstr ""
 
-#: cp/parser.cc:3544
+#: cp/parser.cc:3622
 #, gcc-internal-format
 msgid ""
 "C++20 %<constinit%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:3547
+#: cp/parser.cc:3625
 #, gcc-internal-format
 msgid "%<concept%> only available with %<-std=c++20%> or %<-fconcepts%>"
 msgstr ""
 
-#: cp/parser.cc:3550 cp/parser.cc:29944
+#: cp/parser.cc:3628 cp/parser.cc:30632
 #, gcc-internal-format
 msgid "%<requires%> only available with %<-std=c++20%> or %<-fconcepts%>"
 msgstr ""
 
-#: cp/parser.cc:3572
+#: cp/parser.cc:3650
 #, gcc-internal-format
 msgid "(perhaps %<typename %T::%E%> was intended)"
 msgstr ""
 
-#: cp/parser.cc:3600 cp/parser.cc:3612
+#: cp/parser.cc:3678 cp/parser.cc:3690
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a template type; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:3605 cp/parser.cc:3617
+#: cp/parser.cc:3683 cp/parser.cc:3695
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a template type"
 msgstr ""
 
-#: cp/parser.cc:3625
+#: cp/parser.cc:3703
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a type; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:3630
+#: cp/parser.cc:3708
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a type"
 msgstr ""
 
-#: cp/parser.cc:3641
+#: cp/parser.cc:3719
 #, gcc-internal-format
 msgid "%<%T::%E%> names the constructor, not the type"
 msgstr ""
 
-#: cp/parser.cc:3644
+#: cp/parser.cc:3722
 #, gcc-internal-format
 msgid "and %qT has no template constructors"
 msgstr ""
 
-#: cp/parser.cc:3654
+#: cp/parser.cc:3732
 #, gcc-internal-format
 msgid ""
 "need %<typename%> before %<%T::%D::%E%> because %<%T::%D%> is a dependent "
 "scope"
 msgstr ""
 
-#: cp/parser.cc:3662
+#: cp/parser.cc:3740
 #, gcc-internal-format
 msgid "need %<typename%> before %<%T::%E%> because %qT is a dependent scope"
 msgstr ""
 
-#: cp/parser.cc:3674 cp/parser.cc:3678
+#: cp/parser.cc:3752 cp/parser.cc:3756
 #, gcc-internal-format
 msgid "%qE in %q#T does not name a template type"
 msgstr ""
 
-#: cp/parser.cc:3682
+#: cp/parser.cc:3760
 #, gcc-internal-format
 msgid "%qE in %q#T does not name a type"
 msgstr ""
 
-#: cp/parser.cc:4364
+#: cp/parser.cc:4442
 #, gcc-internal-format
 msgid "expected string-literal"
 msgstr ""
 
-#: cp/parser.cc:4430
+#: cp/parser.cc:4514
 #, gcc-internal-format
 msgid ""
 "inconsistent user-defined literal suffixes %qD and %qD in string literal"
 msgstr ""
 
-#: cp/parser.cc:4449
+#: cp/parser.cc:4533
 #, gcc-internal-format
 msgid "concatenation of string literals with conflicting encoding prefixes"
 msgstr ""
 
-#: cp/parser.cc:4616
+#: cp/parser.cc:4737
 #, gcc-internal-format
 msgid "unable to find character literal operator %qD with %qT argument"
 msgstr ""
 
-#: cp/parser.cc:4722
+#: cp/parser.cc:4843
 #, gcc-internal-format
 msgid "integer literal exceeds range of %qT type"
 msgstr ""
 
-#: cp/parser.cc:4729
+#: cp/parser.cc:4850
 #, gcc-internal-format
 msgid "floating literal exceeds range of %qT type"
 msgstr ""
 
-#: cp/parser.cc:4733
+#: cp/parser.cc:4854
 #, gcc-internal-format
 msgid "floating literal truncated to zero"
 msgstr ""
 
-#: cp/parser.cc:4762
+#: cp/parser.cc:4883
 #, gcc-internal-format
 msgid "failed to translate literal to execution character set %qT"
 msgstr ""
 
-#: cp/parser.cc:4796
+#: cp/parser.cc:4917
 #, gcc-internal-format
 msgid "unable to find numeric literal operator %qD"
 msgstr ""
 
-#: cp/parser.cc:4802
+#: cp/parser.cc:4923
 #, 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:4806
+#: cp/parser.cc:4927
 #, gcc-internal-format
 msgid "or use %<j%> instead of %<i%> for the GNU built-in suffix"
 msgstr ""
 
-#: cp/parser.cc:4810
+#: cp/parser.cc:4931
 #, gcc-internal-format
 msgid "use %<-fext-numeric-literals%> to enable more built-in suffixes"
 msgstr ""
 
-#: cp/parser.cc:4894
+#: cp/parser.cc:5015
 #, gcc-internal-format
 msgid "unable to find string literal operator %qD with %qT, %qT arguments"
 msgstr ""
 
-#: cp/parser.cc:4988
+#: cp/parser.cc:5109
 #, gcc-internal-format
 msgid "global module fragment contents must be from preprocessor inclusion"
 msgstr ""
 
-#: cp/parser.cc:5003 cp/parser.cc:15172
+#: cp/parser.cc:5124 cp/parser.cc:15282
 #, gcc-internal-format
 msgid "expected declaration"
 msgstr ""
 
-#: cp/parser.cc:5364 cp/parser.cc:5379
+#: cp/parser.cc:5485 cp/parser.cc:5500
 #, gcc-internal-format
 msgid "expected binary operator"
 msgstr ""
 
-#: cp/parser.cc:5385
+#: cp/parser.cc:5506
 #, gcc-internal-format
 msgid "expected ..."
 msgstr ""
 
-#: cp/parser.cc:5397
+#: cp/parser.cc:5518
 #, gcc-internal-format
 msgid "binary expression in operand of fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5402
+#: cp/parser.cc:5523
 #, gcc-internal-format
 msgid "conditional expression in operand of fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5410
+#: cp/parser.cc:5531
 #, gcc-internal-format
 msgid "mismatched operator in fold-expression"
 msgstr ""
 
-#: cp/parser.cc:5514
+#: cp/parser.cc:5635
 #, gcc-internal-format
 msgid "fixed-point types not supported in C++"
 msgstr ""
 
-#: cp/parser.cc:5597
+#: cp/parser.cc:5725
 #, gcc-internal-format
 msgid "ISO C++ forbids braced-groups within expressions"
 msgstr ""
 
-#: cp/parser.cc:5609
+#: cp/parser.cc:5737
 #, gcc-internal-format
 msgid ""
 "statement-expressions are not allowed outside functions nor in template-"
 "argument lists"
 msgstr ""
 
-#: cp/parser.cc:5649
+#: cp/parser.cc:5777
 #, gcc-internal-format
 msgid "fold-expressions only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:5710 cp/parser.cc:5891 cp/parser.cc:6072 cp/semantics.cc:4105
+#: cp/parser.cc:5838 cp/parser.cc:5999 cp/parser.cc:6180 cp/semantics.cc:4163
 #, gcc-internal-format
 msgid "expected primary-expression"
 msgstr ""
 
-#: cp/parser.cc:5740
+#: cp/parser.cc:5868
 #, gcc-internal-format
 msgid "%<this%> may not be used in this context"
 msgstr ""
 
-#: cp/parser.cc:5885
+#: cp/parser.cc:5993
 #, gcc-internal-format
 msgid "a template declaration cannot appear at block scope"
 msgstr ""
 
-#: cp/parser.cc:6226
+#: cp/parser.cc:6208
 #, gcc-internal-format
-msgid "expected id-expression"
+msgid "expected %qs keyword before dependent template name"
 msgstr ""
 
-#: cp/parser.cc:6264
+#: cp/parser.cc:6351
 #, gcc-internal-format
-msgid "expected %qs keyword before dependent template name"
+msgid "expected id-expression"
 msgstr ""
 
-#: cp/parser.cc:6391
+#: cp/parser.cc:6514
 #, gcc-internal-format
 msgid "scope %qT before %<~%> is not a class-name"
 msgstr ""
 
-#: cp/parser.cc:6401
+#: cp/parser.cc:6524
 #, gcc-internal-format
 msgid "%<template%> keyword not permitted in destructor name"
 msgstr ""
 
-#: cp/parser.cc:6438 cp/parser.cc:8553
+#: cp/parser.cc:6561 cp/parser.cc:8665
 #, gcc-internal-format
 msgid "%<~auto%> only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/parser.cc:6450
+#: cp/parser.cc:6573
 #, gcc-internal-format
 msgid "template-id not allowed for destructor"
 msgstr ""
 
-#: cp/parser.cc:6559
+#: cp/parser.cc:6682
 #, gcc-internal-format
 msgid "declaration of %<~%T%> as member of %qT"
 msgstr ""
 
-#: cp/parser.cc:6574
+#: cp/parser.cc:6697
 #, gcc-internal-format
 msgid "typedef-name %qD used as destructor declarator"
 msgstr ""
 
-#: cp/parser.cc:6610 cp/parser.cc:23418
+#: cp/parser.cc:6733 cp/parser.cc:23593
 #, gcc-internal-format
 msgid "expected unqualified-id"
 msgstr ""
 
-#: cp/parser.cc:6637 cp/typeck.cc:3020 cp/typeck.cc:3023 cp/typeck.cc:3040
+#: cp/parser.cc:6760 cp/typeck.cc:3173 cp/typeck.cc:3176 cp/typeck.cc:3193
 #, gcc-internal-format
 msgid "%qD is not a template"
 msgstr ""
 
-#: cp/parser.cc:6751
+#: cp/parser.cc:6874
 #, gcc-internal-format
 msgid "found %<:%> in nested-name-specifier, expected %<::%>"
 msgstr ""
 
-#: cp/parser.cc:6832
+#: cp/parser.cc:6955
 #, gcc-internal-format
 msgid "%<decltype%> evaluates to %qT, which is not a class or enumeration type"
 msgstr ""
 
-#: cp/parser.cc:6859 cp/parser.cc:6870
+#: cp/parser.cc:6982 cp/parser.cc:6993
 #, gcc-internal-format
 msgid "concept-id %qD in nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:6862
+#: cp/parser.cc:6985
 #, gcc-internal-format
 msgid "function template-id %qD in nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:6876
+#: cp/parser.cc:6999
 #, gcc-internal-format
 msgid "variable template-id %qD in nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:7050
+#: cp/parser.cc:7173
 #, gcc-internal-format
 msgid "expected nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:7257 cp/parser.cc:9798
+#: cp/parser.cc:7380 cp/parser.cc:9910
 #, gcc-internal-format
 msgid "types may not be defined in casts"
 msgstr ""
 
-#: cp/parser.cc:7346
+#: cp/parser.cc:7469
 #, gcc-internal-format
 msgid "types may not be defined in a %<typeid%> expression"
 msgstr ""
 
-#: cp/parser.cc:7438
+#: cp/parser.cc:7561
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_addressof%>"
 msgstr ""
 
-#: cp/parser.cc:7450 cp/pt.cc:20888
+#: cp/parser.cc:7573 cp/pt.cc:21116
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_launder%>"
 msgstr ""
 
-#: cp/parser.cc:7463
+#: cp/parser.cc:7586
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_assoc_barrier%>"
 msgstr ""
 
-#: cp/parser.cc:7489
+#: cp/parser.cc:7612
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_shufflevector%>"
 msgstr ""
 
-#: cp/parser.cc:7627
+#: cp/parser.cc:7750
 #, gcc-internal-format
 msgid "ISO C++ forbids compound-literals"
 msgstr ""
 
-#: cp/parser.cc:7686
+#: cp/parser.cc:7809
 #, gcc-internal-format
 msgid "two consecutive %<[%> shall only introduce an attribute"
 msgstr ""
 
-#: cp/parser.cc:8326 cp/typeck.cc:2908
+#: cp/parser.cc:8449 cp/typeck.cc:3061
 #, gcc-internal-format
 msgid "invalid use of %qD"
 msgstr ""
 
-#: cp/parser.cc:8335
+#: cp/parser.cc:8458
 #, gcc-internal-format
 msgid "%<%D::%D%> is not a class member"
 msgstr ""
 
-#: cp/parser.cc:8605
+#: cp/parser.cc:8717
 #, gcc-internal-format
 msgid "non-scalar type"
 msgstr ""
 
-#: cp/parser.cc:8715
+#: cp/parser.cc:8827
 #, gcc-internal-format
 msgid "ISO C++ does not allow %<alignof%> with a non-type"
 msgstr ""
 
-#: cp/parser.cc:8810
+#: cp/parser.cc:8922
 #, gcc-internal-format
 msgid "types may not be defined in %<noexcept%> expressions"
 msgstr ""
 
-#: cp/parser.cc:9084 cp/parser.cc:32526
+#: cp/parser.cc:9196 cp/parser.cc:33253
 #, gcc-internal-format
 msgid "types may not be defined in %qs expressions"
 msgstr ""
 
-#: cp/parser.cc:9149
+#: cp/parser.cc:9261
 #, gcc-internal-format
 msgid "%<__builtin_has_attribute%> with dependent argument not supported yet"
 msgstr ""
 
-#: cp/parser.cc:9235
+#: cp/parser.cc:9347
 #, gcc-internal-format
 msgid "types may not be defined in a new-expression"
 msgstr ""
 
-#: cp/parser.cc:9251
+#: cp/parser.cc:9363
 #, gcc-internal-format
 msgid "array bound forbidden after parenthesized type-id"
 msgstr ""
 
-#: cp/parser.cc:9253
+#: cp/parser.cc:9365
 #, gcc-internal-format
 msgid "try removing the parentheses around the type-id"
 msgstr ""
 
-#: cp/parser.cc:9285
+#: cp/parser.cc:9397
 #, gcc-internal-format
 msgid ""
 "initialization of new-expression for type %<auto%> requires exactly one "
 "element"
 msgstr ""
 
-#: cp/parser.cc:9330
+#: cp/parser.cc:9442
 #, gcc-internal-format
 msgid "expected expression-list or type-id"
 msgstr ""
 
-#: cp/parser.cc:9359
+#: cp/parser.cc:9471
 #, gcc-internal-format
 msgid "types may not be defined in a new-type-id"
 msgstr ""
 
-#: cp/parser.cc:9494
+#: cp/parser.cc:9606
 #, gcc-internal-format
 msgid "expression in new-declarator must have integral or enumeration type"
 msgstr ""
 
-#: cp/parser.cc:9903
+#: cp/parser.cc:10015
 #, gcc-internal-format
 msgid "use of old-style cast to %q#T"
 msgstr ""
 
-#: cp/parser.cc:10052
+#: cp/parser.cc:10164
 #, gcc-internal-format
 msgid "%<>>%> operator is treated as two right angle brackets in C++11"
 msgstr ""
 
-#: cp/parser.cc:10055
+#: cp/parser.cc:10167
 #, gcc-internal-format
 msgid "suggest parentheses around %<>>%> expression"
 msgstr ""
 
-#: cp/parser.cc:10263
+#: cp/parser.cc:10392
 #, gcc-internal-format
 msgid "ISO C++ does not allow %<?:%> with omitted middle operand"
 msgstr ""
 
-#: cp/parser.cc:10552
+#: cp/parser.cc:10703
 #, gcc-internal-format
 msgid "top-level comma expression in array subscript is deprecated"
 msgstr ""
 
-#: cp/parser.cc:10709
+#: cp/parser.cc:10852
 #, gcc-internal-format
 msgid "types may not be defined within %<__builtin_offsetof%>"
 msgstr ""
 
-#: cp/parser.cc:11021
+#: cp/parser.cc:11057
 #, gcc-internal-format
 msgid "lambda-expression in template parameter type"
 msgstr ""
 
-#: cp/parser.cc:11031
+#: cp/parser.cc:11067
 #, gcc-internal-format
 msgid ""
 "lambda-expression in unevaluated context only available with %<-std=c++20%> "
 "or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11041
+#: cp/parser.cc:11077
 #, gcc-internal-format
 msgid ""
 "lambda-expression in template-argument only available with %<-std=c++20%> or "
 "%<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11199
+#: cp/parser.cc:11234
 #, gcc-internal-format
 msgid "non-local lambda expression cannot have a capture-default"
 msgstr ""
 
-#: cp/parser.cc:11221
+#: cp/parser.cc:11256
 #, gcc-internal-format
 msgid "expected end of capture-list"
 msgstr ""
 
-#: cp/parser.cc:11237
+#: cp/parser.cc:11272
 #, 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:11243 cp/parser.cc:11265 cp/parser.cc:11458
+#: cp/parser.cc:11278 cp/parser.cc:11300 cp/parser.cc:11493
 #, gcc-internal-format
 msgid "already captured %qD in lambda expression"
 msgstr ""
 
-#: cp/parser.cc:11259
+#: cp/parser.cc:11294
 #, gcc-internal-format
 msgid ""
 "%<*this%> capture only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:11279
+#: cp/parser.cc:11314
 #, gcc-internal-format
 msgid "%<this%> cannot be captured by reference"
 msgstr ""
 
-#: cp/parser.cc:11299
+#: cp/parser.cc:11334
 #, gcc-internal-format
 msgid ""
 "pack init-capture only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11310
+#: cp/parser.cc:11345
 #, gcc-internal-format
 msgid "%<&%> should come before %<...%>"
 msgstr ""
 
-#: cp/parser.cc:11341
+#: cp/parser.cc:11376
 #, gcc-internal-format
 msgid ""
 "lambda capture initializers only available with %<-std=c++14%> or %<-std=gnu+"
 "+14%>"
 msgstr ""
 
-#: cp/parser.cc:11348
+#: cp/parser.cc:11383
 #, gcc-internal-format
 msgid "empty initializer for lambda init-capture"
 msgstr ""
 
-#: cp/parser.cc:11372
+#: cp/parser.cc:11407
 #, gcc-internal-format
 msgid "capture of non-variable %qE"
 msgstr ""
 
-#: cp/parser.cc:11382
+#: cp/parser.cc:11417
 #, gcc-internal-format
 msgid "capture of variable %qD with non-automatic storage duration"
 msgstr ""
 
-#: cp/parser.cc:11420
+#: cp/parser.cc:11455
 #, gcc-internal-format
 msgid "too many %<...%> in lambda capture"
 msgstr ""
 
-#: cp/parser.cc:11431
+#: cp/parser.cc:11466
 #, gcc-internal-format
 msgid "explicit by-copy capture of %qD redundant with by-copy capture default"
 msgstr ""
 
-#: cp/parser.cc:11436
+#: cp/parser.cc:11471
 #, gcc-internal-format
 msgid ""
 "explicit by-reference capture of %qD redundant with by-reference capture "
 "default"
 msgstr ""
 
-#: cp/parser.cc:11515
+#: cp/parser.cc:11550
 #, gcc-internal-format
 msgid ""
 "lambda templates are only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/parser.cc:11519
+#: cp/parser.cc:11554
 #, gcc-internal-format
 msgid ""
 "lambda templates are only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:11588
+#: cp/parser.cc:11603
 #, gcc-internal-format
 msgid "default argument specified for lambda parameter"
 msgstr ""
 
-#: cp/parser.cc:11607
+#: cp/parser.cc:11622
 #, gcc-internal-format
 msgid ""
 "parameter declaration before lambda declaration specifiers only optional "
 "with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:11619
+#: cp/parser.cc:11638
 #, gcc-internal-format
-msgid "duplicate %<mutable%>"
+msgid "%<static%> lambda specifier with lambda capture"
 msgstr ""
 
-#: cp/parser.cc:11626
+#: cp/parser.cc:11650
 #, gcc-internal-format
 msgid ""
 "parameter declaration before lambda transaction qualifier only optional with "
 "%<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:11639
+#: cp/parser.cc:11663
 #, gcc-internal-format
 msgid ""
 "parameter declaration before lambda exception specification only optional "
 "with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:11657
+#: cp/parser.cc:11681
 #, gcc-internal-format
 msgid ""
 "parameter declaration before lambda trailing return type only optional with "
 "%<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:11699
+#: cp/parser.cc:11723
 #, gcc-internal-format
 msgid ""
 "%<constexpr%> lambda only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:11859 cp/parser.cc:11998 cp/parser.cc:45767
+#: cp/parser.cc:11891 cp/parser.cc:12034 cp/parser.cc:47061
 #, gcc-internal-format
 msgid ""
 "mixing OpenMP directives with attribute and pragma syntax on the same "
 "statement"
 msgstr ""
 
-#: cp/parser.cc:11885 cp/parser.cc:45749
+#: cp/parser.cc:11917 cp/parser.cc:47043
 #, gcc-internal-format
 msgid "unknown OpenMP directive name in %<omp::directive%> attribute argument"
 msgstr ""
 
-#: cp/parser.cc:11967
+#: cp/parser.cc:12003
 #, gcc-internal-format
 msgid ""
 "OpenMP construct among %<omp::directive%> attributes requires all %<omp::"
@@ -59502,167 +61163,189 @@ msgid ""
 "sequence%>"
 msgstr ""
 
-#: cp/parser.cc:11975
+#: cp/parser.cc:12011
 #, gcc-internal-format
 msgid ""
 "multiple OpenMP standalone directives among %<omp::directive%> attributes "
 "must be all within the same %<omp::sequence%>"
 msgstr ""
 
-#: cp/parser.cc:11987
+#: cp/parser.cc:12023
 #, gcc-internal-format
 msgid ""
 "standalone OpenMP directives in %<omp::directive%> attribute can only appear "
 "on an empty statement"
 msgstr ""
 
-#: cp/parser.cc:12107
+#: cp/parser.cc:12153
 #, gcc-internal-format
 msgid ""
 "mixing OpenMP directives with attribute and pragma syntax on the same "
 "declaration"
 msgstr ""
 
-#: cp/parser.cc:12530 cp/parser.cc:12731
+#: cp/parser.cc:12280
+#, gcc-internal-format
+msgid "preconditions cannot be statements"
+msgstr ""
+
+#: cp/parser.cc:12283
+#, gcc-internal-format
+msgid "postconditions cannot be statements"
+msgstr ""
+
+#: cp/parser.cc:12288
+#, gcc-internal-format
+msgid "assertions must be followed by %<;%>"
+msgstr ""
+
+#: cp/parser.cc:12452
+#, gcc-internal-format
+msgid ""
+"label at end of compound statement only available with %<-std=c++2b%> or %<-"
+"std=gnu++2b%>"
+msgstr ""
+
+#: cp/parser.cc:12625 cp/parser.cc:12832
 #, gcc-internal-format
 msgid "attributes at the beginning of statement are ignored"
 msgstr ""
 
-#: cp/parser.cc:12570
+#: cp/parser.cc:12669
 #, gcc-internal-format
 msgid "expected labeled-statement"
 msgstr ""
 
-#: cp/parser.cc:12619
+#: cp/parser.cc:12718
 #, gcc-internal-format
 msgid "case label %qE not within a switch statement"
 msgstr ""
 
-#: cp/parser.cc:12738
+#: cp/parser.cc:12839
 #, gcc-internal-format
 msgid "need %<typename%> before %qE because %qT is a dependent scope"
 msgstr ""
 
-#: cp/parser.cc:12747
+#: cp/parser.cc:12848
 #, gcc-internal-format
 msgid "%<%T::%D%> names the constructor, not the type"
 msgstr ""
 
-#: cp/parser.cc:12795
+#: cp/parser.cc:12900
 #, gcc-internal-format
 msgid "compound-statement in %<constexpr%> function"
 msgstr ""
 
-#: cp/parser.cc:12959
+#: cp/parser.cc:13064
 #, gcc-internal-format
 msgid "%<if constexpr%> only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:12981
+#: cp/parser.cc:13086
 #, gcc-internal-format
 msgid "%<if consteval%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/parser.cc:13006 cp/parser.cc:13041
+#: cp/parser.cc:13111 cp/parser.cc:13146
 #, gcc-internal-format
 msgid "%<if consteval%> requires compound statement"
 msgstr ""
 
-#: cp/parser.cc:13083
+#: cp/parser.cc:13188
 #, gcc-internal-format
 msgid ""
 "init-statement in selection statements only available with %<-std=c++17%> or "
 "%<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:13251 cp/parser.cc:33013
+#: cp/parser.cc:13356 cp/parser.cc:33760
 #, gcc-internal-format
 msgid "expected selection-statement"
 msgstr ""
 
-#: cp/parser.cc:13292
+#: cp/parser.cc:13397
 #, gcc-internal-format
 msgid "condition declares an array"
 msgstr ""
 
-#: cp/parser.cc:13294
+#: cp/parser.cc:13399
 #, gcc-internal-format
 msgid "condition declares a function"
 msgstr ""
 
-#: cp/parser.cc:13334
+#: cp/parser.cc:13439
 #, gcc-internal-format
 msgid "types may not be defined in conditions"
 msgstr ""
 
 #. Anything else is an error.
-#: cp/parser.cc:13416 cp/parser.cc:22698 cp/parser.cc:25217
+#: cp/parser.cc:13521 cp/parser.cc:22877 cp/parser.cc:25441
 #, gcc-internal-format
 msgid "expected initializer"
 msgstr ""
 
-#: cp/parser.cc:13466
+#: cp/parser.cc:13571
 #, gcc-internal-format
 msgid ""
 "range-based %<for%> loops with initializer only available with %<-std=c+"
 "+20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:13717
+#: cp/parser.cc:13827
 #, gcc-internal-format
 msgid ""
 "loop variable %qD of type %qT binds to a temporary constructed from type %qT"
 msgstr ""
 
 #. rval
-#: cp/parser.cc:13724
+#: cp/parser.cc:13834
 #, gcc-internal-format
 msgid ""
 "use non-reference type %qT to make the copy explicit or %qT to prevent "
 "copying"
 msgstr ""
 
-#: cp/parser.cc:13749
+#: cp/parser.cc:13858
 #, gcc-internal-format
 msgid "loop variable %qD creates a copy from type %qT"
 msgstr ""
 
-#: cp/parser.cc:13754
+#: cp/parser.cc:13863
 #, gcc-internal-format
 msgid "use reference type to prevent copying"
 msgstr ""
 
-#: cp/parser.cc:13897
+#: cp/parser.cc:14007
 #, gcc-internal-format
 msgid "range-based %<for%> expression of type %qT has incomplete type"
 msgstr ""
 
-#: cp/parser.cc:13981
+#: cp/parser.cc:14091
 #, gcc-internal-format
 msgid ""
 "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
 msgstr ""
 
-#: cp/parser.cc:14124 cp/parser.cc:33016
+#: cp/parser.cc:14234 cp/parser.cc:33763
 #, gcc-internal-format
 msgid "expected iteration-statement"
 msgstr ""
 
-#: cp/parser.cc:14169
+#: cp/parser.cc:14279
 #, gcc-internal-format
 msgid ""
 "alias-declaration in init-statement only available with %<-std=c++23%> or %<-"
 "std=gnu++23%>"
 msgstr ""
 
-#: cp/parser.cc:14186
+#: cp/parser.cc:14296
 #, gcc-internal-format
 msgid ""
 "range-based %<for%> loops only available with %<-std=c++11%> or %<-std=gnu+"
 "+11%>"
 msgstr ""
 
-#: cp/parser.cc:14318
+#: cp/parser.cc:14428
 #, gcc-internal-format
 msgid ""
 "%<goto%> in %<constexpr%> function only available with %<-std=c++2b%> or %<-"
@@ -59670,833 +61353,843 @@ msgid ""
 msgstr ""
 
 #. Issue a warning about this use of a GNU extension.
-#: cp/parser.cc:14327
+#: cp/parser.cc:14437
 #, gcc-internal-format
 msgid "ISO C++ forbids computed gotos"
 msgstr ""
 
-#: cp/parser.cc:14340 cp/parser.cc:33019
+#: cp/parser.cc:14450 cp/parser.cc:33766
 #, gcc-internal-format
 msgid "expected jump-statement"
 msgstr ""
 
-#: cp/parser.cc:14517
+#: cp/parser.cc:14627
 #, gcc-internal-format
 msgid "expected module-name"
 msgstr ""
 
-#: cp/parser.cc:14552
+#: cp/parser.cc:14662
 #, gcc-internal-format
 msgid "module-declaration not permitted in header-unit"
 msgstr ""
 
-#: cp/parser.cc:14577
+#: cp/parser.cc:14688
 #, gcc-internal-format
-msgid ""
-"private module fragment only permitted in purview of module interface or "
-"partition"
+msgid "private module fragment"
 msgstr ""
 
-#: cp/parser.cc:14582
+#: cp/parser.cc:14692
 #, gcc-internal-format
-msgid "private module fragment"
+msgid ""
+"private module fragment only permitted in purview of module interface or "
+"partition"
 msgstr ""
 
 #. Neither the first declaration, nor in a GMF.
-#: cp/parser.cc:14588
+#: cp/parser.cc:14698
 #, gcc-internal-format
 msgid ""
 "module-declaration only permitted as first declaration, or ending a global "
 "module fragment"
 msgstr ""
 
-#: cp/parser.cc:14625
+#: cp/parser.cc:14732
 #, gcc-internal-format
 msgid "post-module-declaration imports must be contiguous"
 msgstr ""
 
-#: cp/parser.cc:14628
+#: cp/parser.cc:14735
 #, gcc-internal-format
 msgid ""
 "perhaps insert a line break, or other disambiguation, to prevent this being "
 "considered a module control-line"
 msgstr ""
 
-#: cp/parser.cc:14636
+#: cp/parser.cc:14743
 #, gcc-internal-format
 msgid "import-declaration must be at global scope"
 msgstr ""
 
-#: cp/parser.cc:14649
+#: cp/parser.cc:14756
 #, gcc-internal-format
 msgid "import cannot appear directly in a linkage-specification"
 msgstr ""
 
-#: cp/parser.cc:14657
+#: cp/parser.cc:14766
 #, gcc-internal-format
 msgid "post-module-declaration imports must not be include-translated"
 msgstr ""
 
-#: cp/parser.cc:14662
+#: cp/parser.cc:14769
 #, gcc-internal-format
 msgid "post-module-declaration imports must not be from header inclusion"
 msgstr ""
 
-#: cp/parser.cc:14682
+#: cp/parser.cc:14790
 #, gcc-internal-format
 msgid "%qE may only occur after a module interface declaration"
 msgstr ""
 
-#: cp/parser.cc:14690
+#: cp/parser.cc:14798
 #, gcc-internal-format
 msgid "%qE may only occur once in an export declaration"
 msgstr ""
 
-#: cp/parser.cc:14711
+#: cp/parser.cc:14819
 #, gcc-internal-format
 msgid "%<export%> not part of following module-directive"
 msgstr ""
 
-#: cp/parser.cc:14798 cp/parser.cc:27038
+#: cp/parser.cc:14906 cp/parser.cc:27328
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr ""
 
-#: cp/parser.cc:14856
+#: cp/parser.cc:14964
 #, gcc-internal-format
 msgid "attributes are not permitted in this position"
 msgstr ""
 
-#: cp/parser.cc:14860
+#: cp/parser.cc:14968
 #, gcc-internal-format
 msgid "attributes may be inserted here"
 msgstr ""
 
-#: cp/parser.cc:15077
+#: cp/parser.cc:15187
 #, gcc-internal-format
 msgid "%<__label__%> not at the beginning of a block"
 msgstr ""
 
-#: cp/parser.cc:15310
+#: cp/parser.cc:15420
 #, gcc-internal-format
 msgid ""
 "non-variable %qD in declaration with more than one declarator with "
 "placeholder type"
 msgstr ""
 
-#: cp/parser.cc:15330
+#: cp/parser.cc:15440
 #, gcc-internal-format
 msgid "inconsistent deduction for %qT: %qT and then %qT"
 msgstr ""
 
-#: cp/parser.cc:15351
+#: cp/parser.cc:15461
 #, gcc-internal-format
 msgid "mixing declarations and function-definitions is forbidden"
 msgstr ""
 
-#: cp/parser.cc:15376
+#: cp/parser.cc:15486
 #, gcc-internal-format
 msgid "types may not be defined in a for-range-declaration"
 msgstr ""
 
-#: cp/parser.cc:15431
+#: cp/parser.cc:15541
 #, gcc-internal-format
 msgid "initializer in range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:15434
+#: cp/parser.cc:15544
 #, gcc-internal-format
 msgid "multiple declarations in range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:15487
+#: cp/parser.cc:15597
 #, gcc-internal-format
 msgid ""
 "structured bindings only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:15539
+#: cp/parser.cc:15649
 #, gcc-internal-format
 msgid "empty structured binding declaration"
 msgstr ""
 
-#: cp/parser.cc:15557
+#: cp/parser.cc:15667
 #, gcc-internal-format
 msgid "invalid initializer for structured binding declaration"
 msgstr ""
 
-#: cp/parser.cc:15726
+#: cp/parser.cc:15848
 #, gcc-internal-format
 msgid "%<friend%> used outside of class"
 msgstr ""
 
-#: cp/parser.cc:15765
+#: cp/parser.cc:15887
 #, gcc-internal-format
 msgid "the %<bool%> keyword is not allowed in a C++20 concept definition"
 msgstr ""
 
-#: cp/parser.cc:15768
+#: cp/parser.cc:15890
 #, gcc-internal-format
 msgid "C++20 concept definition syntax is %<concept <name> = <expr>%>"
 msgstr ""
 
-#: cp/parser.cc:15835
+#: cp/parser.cc:15941
+#, gcc-internal-format
+msgid "%<typedef%> specifier conflicts with %qs"
+msgstr ""
+
+#: cp/parser.cc:15967
 #, gcc-internal-format
 msgid "%<auto%> changes meaning in C++11; please remove it"
 msgstr ""
 
-#: cp/parser.cc:15871
+#: cp/parser.cc:16003
 #, gcc-internal-format
 msgid "%qD invalid in condition"
 msgstr ""
 
-#: cp/parser.cc:15878
+#: cp/parser.cc:16012
 #, gcc-internal-format
 msgid "%qD invalid in lambda"
 msgstr ""
 
-#: cp/parser.cc:15959
+#: cp/parser.cc:16016
+#, gcc-internal-format
+msgid "%qD only valid in lambda with %<-std=c++23%> or %<-std=gnu++23%>"
+msgstr ""
+
+#: cp/parser.cc:16098
 #, gcc-internal-format
 msgid "type-specifier invalid in lambda"
 msgstr ""
 
-#: cp/parser.cc:15971
+#: cp/parser.cc:16110
 #, gcc-internal-format
 msgid "standard attributes in middle of decl-specifiers"
 msgstr ""
 
-#: cp/parser.cc:15973
+#: cp/parser.cc:16112
 #, 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:15988
+#: cp/parser.cc:16127
 #, gcc-internal-format
 msgid "class definition may not be declared a friend"
 msgstr ""
 
-#: cp/parser.cc:16061 cp/parser.cc:27580
+#: cp/parser.cc:16200 cp/parser.cc:27873
 #, gcc-internal-format
 msgid "templates may not be %<virtual%>"
 msgstr ""
 
-#: cp/parser.cc:16080
+#: cp/parser.cc:16219
 #, gcc-internal-format
 msgid "types may not be defined in explicit-specifier"
 msgstr ""
 
-#: cp/parser.cc:16084
+#: cp/parser.cc:16223
 #, gcc-internal-format
 msgid ""
 "%<explicit(bool)%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:16149
+#: cp/parser.cc:16287
 #, gcc-internal-format
 msgid "invalid linkage-specification"
 msgstr ""
 
-#: cp/parser.cc:16253
+#: cp/parser.cc:16394
 #, gcc-internal-format
 msgid ""
 "%<static_assert%> without a message only available with %<-std=c++17%> or %<-"
 "std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:16455
+#: cp/parser.cc:16595
 #, gcc-internal-format
 msgid ""
 "%<decltype(auto)%> type specifier only available with %<-std=c++14%> or %<-"
 "std=gnu++14%>"
 msgstr ""
 
-#: cp/parser.cc:16468
+#: cp/parser.cc:16608
 #, gcc-internal-format
 msgid "types may not be defined in %<decltype%> expressions"
 msgstr ""
 
-#: cp/parser.cc:16641
+#: cp/parser.cc:16781
 #, gcc-internal-format
 msgid "types may not be defined in a conversion-type-id"
 msgstr ""
 
-#: cp/parser.cc:16670
+#: cp/parser.cc:16810
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in conversion operator"
 msgstr ""
 
-#: cp/parser.cc:16674
+#: cp/parser.cc:16814
 #, gcc-internal-format
 msgid ""
 "use of %<auto%> in member template conversion operator can never be deduced"
 msgstr ""
 
-#: cp/parser.cc:16758
+#: cp/parser.cc:16898
 #, gcc-internal-format
 msgid "only constructors take member initializers"
 msgstr ""
 
-#: cp/parser.cc:16785
+#: cp/parser.cc:16925
 #, gcc-internal-format
 msgid "cannot expand initializer for member %qD"
 msgstr ""
 
-#: cp/parser.cc:16797 cp/pt.cc:26974
+#: cp/parser.cc:16937 cp/pt.cc:27250
 #, gcc-internal-format
 msgid "mem-initializer for %qD follows constructor delegation"
 msgstr ""
 
-#: cp/parser.cc:16809 cp/pt.cc:26986
+#: cp/parser.cc:16949 cp/pt.cc:27262
 #, gcc-internal-format
 msgid "constructor delegation follows mem-initializer for %qD"
 msgstr ""
 
-#: cp/parser.cc:16861
+#: cp/parser.cc:17001
 #, gcc-internal-format
 msgid "anachronistic old-style base class initializer"
 msgstr ""
 
-#: cp/parser.cc:16946
+#: cp/parser.cc:17086
 #, gcc-internal-format
 msgid ""
 "keyword %<typename%> not allowed in this context (a qualified member "
 "initializer is implicitly a type)"
 msgstr ""
 
-#: cp/parser.cc:17347
+#: cp/parser.cc:17486
 #, gcc-internal-format
 msgid "unexpected keyword; remove space between quotes and suffix identifier"
 msgstr ""
 
-#: cp/parser.cc:17353
+#: cp/parser.cc:17492
 #, gcc-internal-format
 msgid "expected suffix identifier"
 msgstr ""
 
-#: cp/parser.cc:17362
+#: cp/parser.cc:17501
 #, gcc-internal-format
 msgid "expected empty string after %<operator%> keyword"
 msgstr ""
 
-#: cp/parser.cc:17368
+#: cp/parser.cc:17507
 #, gcc-internal-format
 msgid "invalid encoding prefix in literal operator"
 msgstr ""
 
-#: cp/parser.cc:17402
+#: cp/parser.cc:17541
 #, gcc-internal-format
 msgid "expected operator"
 msgstr ""
 
-#: cp/parser.cc:17449
+#: cp/parser.cc:17588
 #, gcc-internal-format
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr ""
 
-#: cp/parser.cc:17451
+#: cp/parser.cc:17590
 #, gcc-internal-format
 msgid "keyword %<export%> is deprecated, and is ignored"
 msgstr ""
 
-#: cp/parser.cc:17453
+#: cp/parser.cc:17592
 #, gcc-internal-format
 msgid "keyword %<export%> is enabled with %<-fmodules-ts%>"
 msgstr ""
 
-#: cp/parser.cc:17632
+#: cp/parser.cc:17771
 #, gcc-internal-format
 msgid "invalid constrained type parameter"
 msgstr ""
 
-#: cp/parser.cc:17640
+#: cp/parser.cc:17779
 #, gcc-internal-format
 msgid "cv-qualified type parameter"
 msgstr ""
 
-#: cp/parser.cc:17787
+#: cp/parser.cc:17926
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in default template argument"
 msgstr ""
 
-#: cp/parser.cc:18023 cp/parser.cc:18109 cp/parser.cc:24984
+#: cp/parser.cc:18162 cp/parser.cc:18248 cp/parser.cc:25208
 #, gcc-internal-format
 msgid "template parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:18027 cp/parser.cc:18113
+#: cp/parser.cc:18166 cp/parser.cc:18252
 #, gcc-internal-format
 msgid "template parameter packs cannot have default arguments"
 msgstr ""
 
-#: cp/parser.cc:18180
+#: cp/parser.cc:18319
 #, gcc-internal-format
 msgid "expected template-id"
 msgstr ""
 
-#: cp/parser.cc:18242
+#: cp/parser.cc:18381
 #, gcc-internal-format
 msgid "%<<::%> cannot begin a template-argument list"
 msgstr ""
 
-#: cp/parser.cc:18246
+#: cp/parser.cc:18385
 #, gcc-internal-format
 msgid ""
 "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> "
 "and %<::%>"
 msgstr ""
 
-#: cp/parser.cc:18250
+#: cp/parser.cc:18389
 #, 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:18280
+#: cp/parser.cc:18419
 #, gcc-internal-format
 msgid "invalid template-argument-list"
 msgstr ""
 
-#: cp/parser.cc:18281
+#: cp/parser.cc:18420
 #, 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:18288
+#: cp/parser.cc:18427
 #, gcc-internal-format
 msgid "expected %<(%> after template-argument-list"
 msgstr ""
 
-#: cp/parser.cc:18402
+#: cp/parser.cc:18541
 #, gcc-internal-format
 msgid "parse error in template argument list"
 msgstr ""
 
 #. The name does not name a template.
-#: cp/parser.cc:18487 cp/parser.cc:18675 cp/parser.cc:18873
+#: cp/parser.cc:18626 cp/parser.cc:18817 cp/parser.cc:19015
 #, gcc-internal-format
 msgid "expected template-name"
 msgstr ""
 
 #. Explain what went wrong.
-#: cp/parser.cc:18533
+#: cp/parser.cc:18672
 #, gcc-internal-format
 msgid "non-template %qD used as template"
 msgstr ""
 
-#: cp/parser.cc:18535
+#: cp/parser.cc:18674
 #, gcc-internal-format
 msgid "use %<%T::template %D%> to indicate that it is a template"
 msgstr ""
 
-#: cp/parser.cc:18737
+#: cp/parser.cc:18879
 #, gcc-internal-format
 msgid "expected parameter pack before %<...%>"
 msgstr ""
 
-#: cp/parser.cc:18838 cp/parser.cc:18856 cp/parser.cc:19029
+#: cp/parser.cc:18980 cp/parser.cc:18998 cp/parser.cc:19171
 #, gcc-internal-format
 msgid "expected template-argument"
 msgstr ""
 
-#: cp/parser.cc:18996
+#: cp/parser.cc:19138
 #, gcc-internal-format
 msgid "invalid non-type template argument"
 msgstr ""
 
-#: cp/parser.cc:19138
+#: cp/parser.cc:19280
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<inline%> specifier"
 msgstr ""
 
-#: cp/parser.cc:19142
+#: cp/parser.cc:19284
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<constexpr%> specifier"
 msgstr ""
 
-#: cp/parser.cc:19146
+#: cp/parser.cc:19288
 #, gcc-internal-format
 msgid "explicit instantiation shall not use %<consteval%> specifier"
 msgstr ""
 
-#: cp/parser.cc:19208
+#: cp/parser.cc:19348
 #, gcc-internal-format
 msgid "template specialization with C linkage"
 msgstr ""
 
-#: cp/parser.cc:19437
+#: cp/parser.cc:19577
 #, gcc-internal-format
 msgid "expected type specifier"
 msgstr ""
 
-#: cp/parser.cc:19629
+#: cp/parser.cc:19777
 #, 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:19635
+#: cp/parser.cc:19783
 #, gcc-internal-format
 msgid ""
 "use of %<auto%> in parameter declaration only available with %<-std=c++14%> "
 "or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/parser.cc:19640
+#: cp/parser.cc:19788
 #, gcc-internal-format
 msgid ""
 "use of %<auto%> in parameter declaration only available with %<-std=c++20%> "
 "or %<-fconcepts%>"
 msgstr ""
 
-#: cp/parser.cc:19797
+#: cp/parser.cc:19940
 #, gcc-internal-format
 msgid "expected template-id for type"
 msgstr ""
 
-#: cp/parser.cc:19927
+#: cp/parser.cc:20070
 #, gcc-internal-format
 msgid "expected type-name"
 msgstr ""
 
-#: cp/parser.cc:20039
+#: cp/parser.cc:20182
 #, gcc-internal-format
 msgid "%qE does not constrain a type"
 msgstr ""
 
-#: cp/parser.cc:20040
+#: cp/parser.cc:20183
 #, gcc-internal-format
 msgid "concept defined here"
 msgstr ""
 
-#: cp/parser.cc:20072
+#: cp/parser.cc:20215
 #, gcc-internal-format
 msgid "expected %<auto%> or %<decltype(auto)%> after %qE"
 msgstr ""
 
-#: cp/parser.cc:20079
+#: cp/parser.cc:20222
 #, gcc-internal-format
 msgid "unexpected placeholder in constrained result type"
 msgstr ""
 
-#: cp/parser.cc:20322
+#: cp/parser.cc:20465
 #, gcc-internal-format
 msgid ""
 "elaborated-type-specifier for a scoped enum must not use the %qD keyword"
 msgstr ""
 
-#: cp/parser.cc:20398
+#: cp/parser.cc:20541
 #, gcc-internal-format
 msgid "%<template%> must follow a nested-name-specifier"
 msgstr ""
 
-#: cp/parser.cc:20560
+#: cp/parser.cc:20703
 #, gcc-internal-format
 msgid "declaration %qD does not declare anything"
 msgstr ""
 
-#: cp/parser.cc:20648
+#: cp/parser.cc:20791
 #, gcc-internal-format
 msgid "attributes ignored on uninstantiated type"
 msgstr ""
 
-#: cp/parser.cc:20654
+#: cp/parser.cc:20797
 #, gcc-internal-format
 msgid "attributes ignored on template instantiation"
 msgstr ""
 
-#: cp/parser.cc:20665
+#: cp/parser.cc:20808
 #, gcc-internal-format
 msgid ""
 "attributes ignored on elaborated-type-specifier that is not a forward "
 "declaration"
 msgstr ""
 
-#: cp/parser.cc:20806
+#: cp/parser.cc:20949
 #, gcc-internal-format
 msgid "%qD is an enumeration template"
 msgstr ""
 
-#: cp/parser.cc:20817
+#: cp/parser.cc:20960
 #, gcc-internal-format
 msgid "%qD does not name an enumeration in %qT"
 msgstr ""
 
-#: cp/parser.cc:20832
+#: cp/parser.cc:20975
 #, gcc-internal-format
 msgid "unnamed scoped enum is not allowed"
 msgstr ""
 
-#: cp/parser.cc:20848
+#: cp/parser.cc:20991
 #, gcc-internal-format
 msgid "types may not be defined in enum-base"
 msgstr ""
 
-#: cp/parser.cc:20893
+#: cp/parser.cc:21036
 #, gcc-internal-format
 msgid "expected %<;%> or %<{%>"
 msgstr ""
 
-#: cp/parser.cc:20937
+#: cp/parser.cc:21081
 #, gcc-internal-format
 msgid "cannot add an enumerator list to a template instantiation"
 msgstr ""
 
-#: cp/parser.cc:20951
+#: cp/parser.cc:21095
 #, gcc-internal-format
 msgid ""
 "nested name specifier %qT for enum declaration does not name a class or "
 "namespace"
 msgstr ""
 
-#: cp/parser.cc:20963 cp/parser.cc:26495
+#: cp/parser.cc:21107 cp/parser.cc:26785
 #, gcc-internal-format
 msgid "declaration of %qD in namespace %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.cc:20968 cp/parser.cc:26500
+#: cp/parser.cc:21112 cp/parser.cc:26790
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr ""
 
-#: cp/parser.cc:20980 cp/parser.cc:26513
+#: cp/parser.cc:21124 cp/parser.cc:26803
 #, gcc-internal-format
 msgid "extra qualification not allowed"
 msgstr ""
 
-#: cp/parser.cc:21019
+#: cp/parser.cc:21163
 #, gcc-internal-format
 msgid "ISO C++ forbids empty unnamed enum"
 msgstr ""
 
-#: cp/parser.cc:21044
+#: cp/parser.cc:21187
 #, gcc-internal-format
 msgid "opaque-enum-specifier without name"
 msgstr ""
 
-#: cp/parser.cc:21047
+#: cp/parser.cc:21190
 #, gcc-internal-format
 msgid "opaque-enum-specifier must use a simple identifier"
 msgstr ""
 
-#: cp/parser.cc:21168
+#: cp/parser.cc:21311
 #, gcc-internal-format
 msgid "unexpanded parameter pack in enumerator in lambda"
 msgstr ""
 
-#: cp/parser.cc:21243
+#: cp/parser.cc:21386
 #, gcc-internal-format
 msgid "%qD is not a namespace-name; did you mean %qs?"
 msgstr ""
 
-#: cp/parser.cc:21247
+#: cp/parser.cc:21390
 #, gcc-internal-format
 msgid "%qD is not a namespace-name"
 msgstr ""
 
-#: cp/parser.cc:21251
+#: cp/parser.cc:21394
 #, gcc-internal-format
 msgid "expected namespace-name"
 msgstr ""
 
-#: cp/parser.cc:21312
+#: cp/parser.cc:21455
 #, gcc-internal-format
 msgid ""
 "nested inline namespace definitions only available with %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:21324
+#: cp/parser.cc:21467
 #, gcc-internal-format
 msgid "standard attributes on namespaces must precede the namespace name"
 msgstr ""
 
-#: cp/parser.cc:21343
+#: cp/parser.cc:21486
 #, gcc-internal-format
 msgid ""
-"nested namespace definitions only available with %<-std=c++17%> or %<-std=gnu"
-"++17%>"
+"nested namespace definitions only available with %<-std=c++17%> or %<-"
+"std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:21353
+#: cp/parser.cc:21496
 #, gcc-internal-format
 msgid "nested namespace name required"
 msgstr ""
 
-#: cp/parser.cc:21358
+#: cp/parser.cc:21501
 #, gcc-internal-format
 msgid "namespace name required"
 msgstr ""
 
-#: cp/parser.cc:21362
+#: cp/parser.cc:21505
 #, gcc-internal-format
 msgid "a nested namespace definition cannot have attributes"
 msgstr ""
 
-#: cp/parser.cc:21365
+#: cp/parser.cc:21508
 #, gcc-internal-format
 msgid "a nested namespace definition cannot be inline"
 msgstr ""
 
-#: cp/parser.cc:21372
+#: cp/parser.cc:21515
 #, gcc-internal-format
 msgid "namespace %qD entered"
 msgstr ""
 
-#: cp/parser.cc:21427
+#: cp/parser.cc:21570
 #, gcc-internal-format
 msgid "%<namespace%> definition is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:21602
+#: cp/parser.cc:21752
 #, gcc-internal-format
 msgid ""
 "pack expansion in using-declaration only available with %<-std=c++17%> or %<-"
 "std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:21617
+#: cp/parser.cc:21796
 #, gcc-internal-format
 msgid "a template-id may not appear in a using-declaration"
 msgstr ""
 
-#: cp/parser.cc:21635
+#: cp/parser.cc:21814
 #, gcc-internal-format
 msgid ""
 "comma-separated list in using-declaration only available with %<-std=c++17%> "
 "or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:21645
+#: cp/parser.cc:21824
 #, gcc-internal-format
 msgid ""
 "access declarations are deprecated in favour of using-declarations; "
 "suggestion: add the %<using%> keyword"
 msgstr ""
 
-#: cp/parser.cc:21710
+#: cp/parser.cc:21889
 #, gcc-internal-format
 msgid "opaque-enum-declaration here"
 msgstr ""
 
-#: cp/parser.cc:21780
+#: cp/parser.cc:21959
 #, gcc-internal-format
 msgid "types may not be defined in alias template declarations"
 msgstr ""
 
-#: cp/parser.cc:21959
+#: cp/parser.cc:22137
 #, gcc-internal-format
 msgid ""
 "%<asm%> in %<constexpr%> function only available with %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:21979 cp/parser.cc:21996 cp/parser.cc:22010
+#: cp/parser.cc:22157 cp/parser.cc:22174 cp/parser.cc:22188
 #, gcc-internal-format
 msgid "duplicate %<asm%> qualifier %qT"
 msgstr ""
 
-#: cp/parser.cc:21986
+#: cp/parser.cc:22164
 #, gcc-internal-format
 msgid "%<asm%> qualifier %qT ignored outside of function body"
 msgstr ""
 
-#: cp/parser.cc:22023
+#: cp/parser.cc:22201
 #, gcc-internal-format
 msgid "%qT is not an %<asm%> qualifier"
 msgstr ""
 
-#: cp/parser.cc:22039
+#: cp/parser.cc:22217
 #, gcc-internal-format
 msgid "%<asm%> qualifier outside of function body"
 msgstr ""
 
-#: cp/parser.cc:22267
+#: cp/parser.cc:22446
 #, gcc-internal-format
 msgid "empty parentheses were disambiguated as a function declaration"
 msgstr ""
 
-#: cp/parser.cc:22278
+#: cp/parser.cc:22457
 #, gcc-internal-format
 msgid "remove parentheses to default-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:22283
+#: cp/parser.cc:22462
 #, gcc-internal-format
 msgid "or replace parentheses with braces to aggregate-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:22286
+#: cp/parser.cc:22465
 #, gcc-internal-format
 msgid "or replace parentheses with braces to value-initialize a variable"
 msgstr ""
 
-#: cp/parser.cc:22303 cp/parser.cc:22328
+#: cp/parser.cc:22482 cp/parser.cc:22507
 #, gcc-internal-format
 msgid "parentheses were disambiguated as a function declaration"
 msgstr ""
 
-#: cp/parser.cc:22315 cp/parser.cc:22336
+#: cp/parser.cc:22494 cp/parser.cc:22515
 #, gcc-internal-format
 msgid "replace parentheses with braces to declare a variable"
 msgstr ""
 
-#: cp/parser.cc:22322
+#: cp/parser.cc:22501
 #, gcc-internal-format
 msgid "add parentheses to declare a variable"
 msgstr ""
 
-#: cp/parser.cc:22569
+#: cp/parser.cc:22748
 #, gcc-internal-format
 msgid "a function-definition is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:22580
+#: cp/parser.cc:22759
 #, gcc-internal-format
 msgid "an %<asm%> specification is not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.cc:22584
+#: cp/parser.cc:22763
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr ""
 
-#: cp/parser.cc:22635
+#: cp/parser.cc:22814
 #, gcc-internal-format
 msgid "expected constructor, destructor, or type conversion"
 msgstr ""
 
-#: cp/parser.cc:22779
+#: cp/parser.cc:22958
 #, gcc-internal-format
 msgid "initializer provided for function"
 msgstr ""
 
-#: cp/parser.cc:22821
+#: cp/parser.cc:23000
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr ""
 
-#: cp/parser.cc:22835
+#: cp/parser.cc:23014
 #, gcc-internal-format
 msgid "non-function %qD declared as implicit template"
 msgstr ""
 
-#: cp/parser.cc:23338
+#: cp/parser.cc:23513
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr ""
 
-#: cp/parser.cc:23464
+#: cp/parser.cc:23639
 #, gcc-internal-format
 msgid "cannot define member of dependent typedef %qT"
 msgstr ""
 
-#: cp/parser.cc:23468
+#: cp/parser.cc:23643
 #, gcc-internal-format
 msgid "%<%T::%E%> is not a type"
 msgstr ""
@@ -60505,17 +62198,17 @@ msgstr ""
 #. here because we do not have enough
 #. information about its original syntactic
 #. form.
-#: cp/parser.cc:23497
+#: cp/parser.cc:23672
 #, gcc-internal-format
 msgid "invalid declarator"
 msgstr ""
 
-#: cp/parser.cc:23505
+#: cp/parser.cc:23680
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr ""
 
-#: cp/parser.cc:23507
+#: cp/parser.cc:23682
 #, gcc-internal-format
 msgid ""
 "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified "
@@ -60524,224 +62217,225 @@ msgstr ""
 
 #. But declarations with qualified-ids can't appear in a
 #. function.
-#: cp/parser.cc:23622
+#: cp/parser.cc:23797
 #, gcc-internal-format
 msgid "qualified-id in declaration"
 msgstr ""
 
-#: cp/parser.cc:23647
+#: cp/parser.cc:23822
 #, gcc-internal-format
 msgid "expected declarator"
 msgstr ""
 
-#: cp/parser.cc:23768
+#: cp/parser.cc:23943
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr ""
 
-#: cp/parser.cc:23770
+#: cp/parser.cc:23945
 #, gcc-internal-format
 msgid "cannot form pointer to member of non-class %q#T"
 msgstr ""
 
-#: cp/parser.cc:23791
+#: cp/parser.cc:23966
 #, gcc-internal-format
 msgid "expected ptr-operator"
 msgstr ""
 
-#: cp/parser.cc:23852
+#: cp/parser.cc:24027
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr ""
 
-#: cp/parser.cc:23906
+#: cp/parser.cc:24081
 #, gcc-internal-format
 msgid "multiple ref-qualifiers"
 msgstr ""
 
-#: cp/parser.cc:23943
+#: cp/parser.cc:24118
 #, gcc-internal-format
 msgid "%qE requires %<-fgnu-tm%>"
 msgstr ""
 
-#: cp/parser.cc:24001
+#: cp/parser.cc:24176
 #, gcc-internal-format
 msgid "duplicate virt-specifier"
 msgstr ""
 
-#: cp/parser.cc:24263
+#: cp/parser.cc:24441
 #, gcc-internal-format
-msgid "missing template arguments after %qT"
+msgid "missing template arguments after %qE"
 msgstr ""
 
-#: cp/parser.cc:24269
+#: cp/parser.cc:24447
 #, gcc-internal-format
 msgid "%qT not permitted in template argument"
 msgstr ""
 
-#: cp/parser.cc:24272 cp/typeck2.cc:353 cp/typeck2.cc:400 cp/typeck2.cc:2362
+#: cp/parser.cc:24450 cp/typeck2.cc:340 cp/typeck2.cc:387 cp/typeck2.cc:2474
+#: rust/backend/rust-tree.cc:3876
 #, gcc-internal-format
 msgid "invalid use of %qT"
 msgstr ""
 
-#: cp/parser.cc:24299
+#: cp/parser.cc:24477
 #, gcc-internal-format
 msgid "types may not be defined in template arguments"
 msgstr ""
 
-#: cp/parser.cc:24304
+#: cp/parser.cc:24482
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in template argument"
 msgstr ""
 
-#: cp/parser.cc:24410
+#: cp/parser.cc:24588
 #, gcc-internal-format
 msgid "expected type-specifier"
 msgstr ""
 
-#: cp/parser.cc:24691
+#: cp/parser.cc:24915
 #, gcc-internal-format
 msgid "expected %<,%> or %<...%>"
 msgstr ""
 
-#: cp/parser.cc:24769
+#: cp/parser.cc:24993
 #, gcc-internal-format
 msgid "types may not be defined in parameter types"
 msgstr ""
 
-#: cp/parser.cc:24968
+#: cp/parser.cc:25192
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr ""
 
-#: cp/parser.cc:24986
+#: cp/parser.cc:25210
 #, gcc-internal-format
 msgid "parameter pack %qD cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:24992
+#: cp/parser.cc:25216
 #, gcc-internal-format
 msgid "template parameter pack cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:24994
+#: cp/parser.cc:25218
 #, gcc-internal-format
 msgid "parameter pack cannot have a default argument"
 msgstr ""
 
-#: cp/parser.cc:25124
+#: cp/parser.cc:25348
 #, 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:25128
+#: cp/parser.cc:25352
 #, 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:25452
+#: cp/parser.cc:25687
 #, gcc-internal-format
 msgid ""
 "C++ designated initializers only available with %<-std=c++20%> or %<-std=gnu+"
 "+20%>"
 msgstr ""
 
-#: cp/parser.cc:25472
+#: cp/parser.cc:25707
 #, gcc-internal-format
 msgid "ISO C++ does not allow GNU designated initializers"
 msgstr ""
 
-#: cp/parser.cc:25510
+#: cp/parser.cc:25745
 #, gcc-internal-format
 msgid "ISO C++ does not allow C99 designated initializers"
 msgstr ""
 
-#: cp/parser.cc:25524
+#: cp/parser.cc:25759
 #, gcc-internal-format
 msgid ""
 "either all initializer clauses should be designated or none of them should be"
 msgstr ""
 
-#: cp/parser.cc:25549
+#: cp/parser.cc:25784
 #, gcc-internal-format
 msgid "%<...%> not allowed in designated initializer list"
 msgstr ""
 
-#: cp/parser.cc:25600
+#: cp/parser.cc:25835
 #, gcc-internal-format
 msgid "%<.%s%> designator used multiple times in the same initializer list"
 msgstr ""
 
-#: cp/parser.cc:25656 cp/parser.cc:25793
+#: cp/parser.cc:25891 cp/parser.cc:26028
 #, gcc-internal-format
 msgid "expected class-name"
 msgstr ""
 
-#: cp/parser.cc:26033
+#: cp/parser.cc:26270
 #, gcc-internal-format
 msgid "expected %<;%> after class definition"
 msgstr ""
 
-#: cp/parser.cc:26036
+#: cp/parser.cc:26273
 #, gcc-internal-format
 msgid "expected %<;%> after struct definition"
 msgstr ""
 
-#: cp/parser.cc:26039
+#: cp/parser.cc:26276
 #, gcc-internal-format
 msgid "expected %<;%> after union definition"
 msgstr ""
 
-#: cp/parser.cc:26437
+#: cp/parser.cc:26727
 #, gcc-internal-format
 msgid "expected %<{%> or %<:%>"
 msgstr ""
 
-#: cp/parser.cc:26448
+#: cp/parser.cc:26738
 #, gcc-internal-format
 msgid "cannot specify %<override%> for a class"
 msgstr ""
 
-#: cp/parser.cc:26456
+#: cp/parser.cc:26746
 #, gcc-internal-format
 msgid "global qualification of class name is invalid"
 msgstr ""
 
-#: cp/parser.cc:26463
+#: cp/parser.cc:26753
 #, gcc-internal-format
 msgid "qualified name does not name a class"
 msgstr ""
 
-#: cp/parser.cc:26475
+#: cp/parser.cc:26765
 #, gcc-internal-format
 msgid "keyword %<template%> not allowed in class-head-name"
 msgstr ""
 
-#: cp/parser.cc:26481
+#: cp/parser.cc:26771
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr ""
 
-#: cp/parser.cc:26535
+#: cp/parser.cc:26825
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr ""
 
-#: cp/parser.cc:26567
+#: cp/parser.cc:26857
 #, gcc-internal-format
 msgid "function template %qD redeclared as a class template"
 msgstr ""
 
-#: cp/parser.cc:26600
+#: cp/parser.cc:26890
 #, gcc-internal-format
 msgid "could not resolve typename type"
 msgstr ""
 
-#: cp/parser.cc:26664
+#: cp/parser.cc:26954
 #, gcc-internal-format
 msgid "previous definition of %q#T"
 msgstr ""
@@ -60749,239 +62443,265 @@ 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:26678 cp/pt.cc:4336
+#: cp/parser.cc:26968 cp/pt.cc:4299
 #, gcc-internal-format
 msgid "unexpanded parameter pack in local class in lambda"
 msgstr ""
 
-#: cp/parser.cc:26778 cp/parser.cc:33022
+#: cp/parser.cc:27068 cp/parser.cc:33769
 #, gcc-internal-format
 msgid "expected class-key"
 msgstr ""
 
-#: cp/parser.cc:26803
+#: cp/parser.cc:27093
 #, 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:26807
+#: cp/parser.cc:27097
 #, gcc-internal-format
 msgid "expected %<class%> or %<typename%>"
 msgstr ""
 
-#: cp/parser.cc:27057
+#: cp/parser.cc:27347
 #, gcc-internal-format
 msgid "in C++03 a class-key must be used when declaring a friend"
 msgstr ""
 
-#: cp/parser.cc:27088
+#: cp/parser.cc:27378
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr ""
 
-#: cp/parser.cc:27106
+#: cp/parser.cc:27396
 #, gcc-internal-format
 msgid "a storage class on an anonymous aggregate in class scope is not allowed"
 msgstr ""
 
-#: cp/parser.cc:27208
+#: cp/parser.cc:27498
 #, gcc-internal-format
 msgid ""
 "default member initializers for bit-fields only available with %<-std=c+"
 "+20%> or %<-std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:27215
+#: cp/parser.cc:27505
 #, gcc-internal-format
 msgid "default member initializer for unnamed bit-field"
 msgstr ""
 
-#: cp/parser.cc:27228
+#: cp/parser.cc:27518
 #, gcc-internal-format
 msgid "ISO C++ allows bit-field attributes only before the %<:%> token"
 msgstr ""
 
-#: cp/parser.cc:27390
+#: cp/parser.cc:27680
 #, gcc-internal-format
 msgid "bit-field %qD has non-integral type %qT"
 msgstr ""
 
-#: cp/parser.cc:27418
+#: cp/parser.cc:27708
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr ""
 
-#: cp/parser.cc:27438
+#: cp/parser.cc:27729
 #, gcc-internal-format
 msgid "extra %<;%> after in-class function definition"
 msgstr ""
 
-#: cp/parser.cc:27485
+#: cp/parser.cc:27778
 #, gcc-internal-format
 msgid "stray %<,%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.cc:27499
+#: cp/parser.cc:27792
 #, gcc-internal-format
 msgid "expected %<;%> at end of member declaration"
 msgstr ""
 
-#: cp/parser.cc:27574
+#: cp/parser.cc:27867
 #, gcc-internal-format
 msgid "invalid pure specifier (only %<= 0%> is allowed)"
 msgstr ""
 
-#: cp/parser.cc:27609
+#: cp/parser.cc:27902
 #, gcc-internal-format
 msgid "a brace-enclosed initializer is not allowed here"
 msgstr ""
 
-#: cp/parser.cc:27739
+#: cp/parser.cc:28032
 #, gcc-internal-format
 msgid "%<virtual%> specified more than once in base-specifier"
 msgstr ""
 
-#: cp/parser.cc:27759
+#: cp/parser.cc:28052
 #, gcc-internal-format
 msgid "more than one access specifier in base-specifier"
 msgstr ""
 
-#: cp/parser.cc:27783
+#: cp/parser.cc:28076
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr ""
 
-#: cp/parser.cc:27786
+#: cp/parser.cc:28079
 #, gcc-internal-format
 msgid ""
 "keyword %<typename%> not allowed in this context (the base class is "
 "implicitly a type)"
 msgstr ""
 
-#: cp/parser.cc:27986 cp/parser.cc:28080
+#: cp/parser.cc:28279 cp/parser.cc:28373
 #, gcc-internal-format
 msgid "types may not be defined in an exception-specification"
 msgstr ""
 
-#: cp/parser.cc:28088
+#: cp/parser.cc:28381
 #, gcc-internal-format
 msgid "ISO C++17 does not allow dynamic exception specifications"
 msgstr ""
 
-#: cp/parser.cc:28094
+#: cp/parser.cc:28387
 #, gcc-internal-format
 msgid "dynamic exception specifications are deprecated in C++11"
 msgstr ""
 
-#: cp/parser.cc:28138
+#: cp/parser.cc:28431
 #, gcc-internal-format
 msgid "invalid use of %<auto%> in exception-specification"
 msgstr ""
 
-#: cp/parser.cc:28179
+#: cp/parser.cc:28472
 #, gcc-internal-format
 msgid ""
 "%<try%> in %<constexpr%> function only available with %<-std=c++20%> or %<-"
 "std=gnu++20%>"
 msgstr ""
 
-#: cp/parser.cc:28291
+#: cp/parser.cc:28584
 #, gcc-internal-format
 msgid "types may not be defined in exception-declarations"
 msgstr ""
 
-#: cp/parser.cc:28840
+#: cp/parser.cc:29142
 #, gcc-internal-format
 msgid "expected OpenMP directive name"
 msgstr ""
 
-#: cp/parser.cc:28849
+#: cp/parser.cc:29151
 #, gcc-internal-format
 msgid "expected attribute argument as balanced token sequence"
 msgstr ""
 
-#: cp/parser.cc:28894
+#: cp/parser.cc:29196
 #, gcc-internal-format
 msgid "expected %<directive%> or %<sequence%>"
 msgstr ""
 
-#: cp/parser.cc:28993
+#: cp/parser.cc:29295
 #, gcc-internal-format
 msgid "attribute using prefix used together with scoped attribute token"
 msgstr ""
 
-#: cp/parser.cc:29007
+#: cp/parser.cc:29309
 #, gcc-internal-format
 msgid "expected an identifier for the attribute name"
 msgstr ""
 
-#: cp/parser.cc:29058
+#: cp/parser.cc:29364
 #, gcc-internal-format
 msgid "%<omp::%E%> attribute requires argument"
 msgstr ""
 
 #. e.g. [[attr()]].
-#: cp/parser.cc:29126
+#: cp/parser.cc:29436
 #, gcc-internal-format
 msgid "parentheses must be omitted if %qE attribute argument list is empty"
 msgstr ""
 
-#: cp/parser.cc:29161
+#: cp/parser.cc:29471
 #, gcc-internal-format
 msgid "attribute %qs specified multiple times"
 msgstr ""
 
-#: cp/parser.cc:29203
+#: cp/parser.cc:29513
 #, gcc-internal-format
 msgid "expected attribute before %<...%>"
 msgstr ""
 
-#: cp/parser.cc:29263
+#: cp/parser.cc:29556
+#, gcc-internal-format
+msgid "expected contract-role"
+msgstr ""
+
+#. We got some other token other than a ':'.
+#: cp/parser.cc:29637
+#, gcc-internal-format
+msgid "expected contract semantic or level"
+msgstr ""
+
+#: cp/parser.cc:29647
+#, gcc-internal-format
+msgid "expected contract level: %<default%>, %<audit%>, or %<axiom%>"
+msgstr ""
+
+#: cp/parser.cc:29657
+#, gcc-internal-format
+msgid "invalid use of contract role for explicit semantic"
+msgstr ""
+
+#: cp/parser.cc:29794
+#, gcc-internal-format
+msgid "contracts are only available with %<-fcontracts%>"
+msgstr ""
+
+#: cp/parser.cc:29949
 #, gcc-internal-format
 msgid ""
 "attribute using prefix only available with %<-std=c++17%> or %<-std=gnu++17%>"
 msgstr ""
 
-#: cp/parser.cc:29606 cp/parser.cc:29615
+#: cp/parser.cc:30294 cp/parser.cc:30303
 #, gcc-internal-format
 msgid "expression must be enclosed in parentheses"
 msgstr ""
 
-#: cp/parser.cc:29961
+#: cp/parser.cc:30649
 #, gcc-internal-format
 msgid "missing additional %<requires%> to start a requires-expression"
 msgstr ""
 
-#: cp/parser.cc:30191
+#: cp/parser.cc:30892
 #, gcc-internal-format
 msgid ""
 "testing if a concept-id is a valid expression; add %<requires%> to check "
 "satisfaction"
 msgstr ""
 
-#: cp/parser.cc:30329
+#: cp/parser.cc:31030
 #, gcc-internal-format
 msgid "result type is not a plain type-constraint"
 msgstr ""
 
-#: cp/parser.cc:30337
+#: cp/parser.cc:31038
 #, gcc-internal-format
 msgid "return-type-requirement is not a type-constraint"
 msgstr ""
 
-#: cp/parser.cc:30832
+#: cp/parser.cc:31550
 #, gcc-internal-format
 msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
 msgstr ""
 
-#: cp/parser.cc:30837
+#: cp/parser.cc:31555
 #, gcc-internal-format
 msgid "invalid declaration of %<%T::%E%>"
 msgstr ""
 
-#: cp/parser.cc:30841
+#: cp/parser.cc:31559
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr ""
@@ -60990,24 +62710,24 @@ msgstr ""
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.cc:30848
+#: cp/parser.cc:31566
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr ""
 
-#: cp/parser.cc:31246
+#: cp/parser.cc:31959
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr ""
 
-#: cp/parser.cc:31417
+#: cp/parser.cc:32132
 #, gcc-internal-format
 msgid ""
 "ISO C++ did not adopt string literal operator templates taking an argument "
 "pack of characters"
 msgstr ""
 
-#: cp/parser.cc:31426
+#: cp/parser.cc:32141
 #, gcc-internal-format
 msgid ""
 "literal operator template %qD has invalid parameter list; expected non-type "
@@ -61015,580 +62735,596 @@ msgid ""
 "type"
 msgstr ""
 
-#: cp/parser.cc:31432
+#: cp/parser.cc:32147
 #, gcc-internal-format
 msgid ""
 "literal operator template %qD has invalid parameter list; expected non-type "
 "template parameter pack %<<char...>%>"
 msgstr ""
 
-#: cp/parser.cc:31539
+#: cp/parser.cc:32254
 #, gcc-internal-format
 msgid ""
 "template-introductions are not part of C++20 concepts; use %qs to enable"
 msgstr ""
 
-#: cp/parser.cc:31549
+#: cp/parser.cc:32264
 #, gcc-internal-format
 msgid "no matching concept for template-introduction"
 msgstr ""
 
-#: cp/parser.cc:31572
+#: cp/parser.cc:32287
 #, gcc-internal-format
 msgid "invalid declaration of member template in local class"
 msgstr ""
 
-#: cp/parser.cc:31581
+#: cp/parser.cc:32296
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr ""
 
-#: cp/parser.cc:31601
+#: cp/parser.cc:32316
 #, gcc-internal-format
 msgid "invalid explicit specialization"
 msgstr ""
 
-#: cp/parser.cc:31713
+#: cp/parser.cc:32428
 #, gcc-internal-format
 msgid "template declaration of %<typedef%>"
 msgstr ""
 
-#: cp/parser.cc:31764
+#: cp/parser.cc:32479
 #, gcc-internal-format
 msgid "a class template declaration must not declare anything else"
 msgstr ""
 
-#: cp/parser.cc:31816
+#: cp/parser.cc:32531
 #, gcc-internal-format
 msgid "explicit template specialization cannot have a storage class"
 msgstr ""
 
-#: cp/parser.cc:32120
+#: cp/parser.cc:32838
 #, gcc-internal-format
 msgid "%<>>%> should be %<> >%> within a nested template argument list"
 msgstr ""
 
-#: cp/parser.cc:32133
+#: cp/parser.cc:32851
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.cc:32164
+#: cp/parser.cc:32882
 #, gcc-internal-format
 msgid "%qs should be %qs to terminate a template argument list"
 msgstr ""
 
-#: cp/parser.cc:32474
+#: cp/parser.cc:33200
 #, gcc-internal-format
 msgid "%<sizeof...%> argument must be surrounded by parentheses"
 msgstr ""
 
-#: cp/parser.cc:32629
+#: cp/parser.cc:33377
 #, gcc-internal-format
 msgid "invalid use of %qD in linkage specification"
 msgstr ""
 
-#: cp/parser.cc:32644
+#: cp/parser.cc:33388
+#, gcc-internal-format
+msgid "duplicate %qD specifier"
+msgstr ""
+
+#: cp/parser.cc:33391
+#, gcc-internal-format
+msgid "%qD specifier conflicts with %qs"
+msgstr ""
+
+#: cp/parser.cc:33403
 #, gcc-internal-format
 msgid "%<__thread%> before %qD"
 msgstr ""
 
-#: cp/parser.cc:32779
+#: cp/parser.cc:33419
+#, gcc-internal-format
+msgid "%qD specifier conflicts with %<typedef%>"
+msgstr ""
+
+#: cp/parser.cc:33526
 #, gcc-internal-format
 msgid "ISO C++ 1998 does not support %<long long%>"
 msgstr ""
 
-#: cp/parser.cc:32790
+#: cp/parser.cc:33537
 #, gcc-internal-format
 msgid "both %<__thread%> and %<thread_local%> specified"
 msgstr ""
 
-#: cp/parser.cc:32795
+#: cp/parser.cc:33542
 #, gcc-internal-format
 msgid "duplicate %qD"
 msgstr ""
 
-#: cp/parser.cc:32821
+#: cp/parser.cc:33568
 #, gcc-internal-format
 msgid "duplicate %qs"
 msgstr ""
 
-#: cp/parser.cc:32873
+#: cp/parser.cc:33620
 #, gcc-internal-format
 msgid "expected %<new%>"
 msgstr ""
 
-#: cp/parser.cc:32876
+#: cp/parser.cc:33623
 #, gcc-internal-format
 msgid "expected %<delete%>"
 msgstr ""
 
-#: cp/parser.cc:32879
+#: cp/parser.cc:33626
 #, gcc-internal-format
 msgid "expected %<return%>"
 msgstr ""
 
-#: cp/parser.cc:32885
+#: cp/parser.cc:33632
 #, gcc-internal-format
 msgid "expected %<extern%>"
 msgstr ""
 
-#: cp/parser.cc:32888
+#: cp/parser.cc:33635
 #, gcc-internal-format
 msgid "expected %<static_assert%>"
 msgstr ""
 
-#: cp/parser.cc:32891
+#: cp/parser.cc:33638
 #, gcc-internal-format
 msgid "expected %<decltype%>"
 msgstr ""
 
-#: cp/parser.cc:32894
+#: cp/parser.cc:33641
 #, gcc-internal-format
 msgid "expected %<operator%>"
 msgstr ""
 
-#: cp/parser.cc:32897
+#: cp/parser.cc:33644
 #, gcc-internal-format
 msgid "expected %<class%>"
 msgstr ""
 
-#: cp/parser.cc:32900
+#: cp/parser.cc:33647
 #, gcc-internal-format
 msgid "expected %<template%>"
 msgstr ""
 
-#: cp/parser.cc:32903
+#: cp/parser.cc:33650
 #, gcc-internal-format
 msgid "expected %<namespace%>"
 msgstr ""
 
-#: cp/parser.cc:32906
+#: cp/parser.cc:33653
 #, gcc-internal-format
 msgid "expected %<using%>"
 msgstr ""
 
-#: cp/parser.cc:32909
+#: cp/parser.cc:33656
 #, gcc-internal-format
 msgid "expected %<asm%>"
 msgstr ""
 
-#: cp/parser.cc:32912
+#: cp/parser.cc:33659
 #, gcc-internal-format
 msgid "expected %<try%>"
 msgstr ""
 
-#: cp/parser.cc:32915
+#: cp/parser.cc:33662
 #, gcc-internal-format
 msgid "expected %<catch%>"
 msgstr ""
 
-#: cp/parser.cc:32918
+#: cp/parser.cc:33665
 #, gcc-internal-format
 msgid "expected %<throw%>"
 msgstr ""
 
-#: cp/parser.cc:32921
+#: cp/parser.cc:33668
 #, gcc-internal-format
 msgid "expected %<auto%>"
 msgstr ""
 
-#: cp/parser.cc:32924
+#: cp/parser.cc:33671
 #, gcc-internal-format
 msgid "expected %<__label__%>"
 msgstr ""
 
-#: cp/parser.cc:32927
+#: cp/parser.cc:33674
 #, gcc-internal-format
 msgid "expected %<@try%>"
 msgstr ""
 
-#: cp/parser.cc:32930
+#: cp/parser.cc:33677
 #, gcc-internal-format
 msgid "expected %<@synchronized%>"
 msgstr ""
 
-#: cp/parser.cc:32933
+#: cp/parser.cc:33680
 #, gcc-internal-format
 msgid "expected %<@throw%>"
 msgstr ""
 
-#: cp/parser.cc:32936
+#: cp/parser.cc:33683
 #, gcc-internal-format
 msgid "expected %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.cc:32939
+#: cp/parser.cc:33686
 #, gcc-internal-format
 msgid "expected %<__transaction_relaxed%>"
 msgstr ""
 
-#: cp/parser.cc:32942
+#: cp/parser.cc:33689
 #, gcc-internal-format
 msgid "expected %<co_yield%>"
 msgstr ""
 
-#: cp/parser.cc:32974
+#: cp/parser.cc:33721
 #, gcc-internal-format
 msgid "expected %<::%>"
 msgstr ""
 
-#: cp/parser.cc:32986
+#: cp/parser.cc:33733
 #, gcc-internal-format
 msgid "expected %<...%>"
 msgstr ""
 
-#: cp/parser.cc:32989
+#: cp/parser.cc:33736
 #, gcc-internal-format
 msgid "expected %<*%>"
 msgstr ""
 
-#: cp/parser.cc:32992
+#: cp/parser.cc:33739
 #, gcc-internal-format
 msgid "expected %<~%>"
 msgstr ""
 
-#: cp/parser.cc:32998
+#: cp/parser.cc:33745
 #, gcc-internal-format
 msgid "expected %<:%> or %<::%>"
 msgstr ""
 
-#: cp/parser.cc:33025
+#: cp/parser.cc:33772
 #, gcc-internal-format
 msgid "expected %<class%>, %<typename%>, or %<template%>"
 msgstr ""
 
-#: cp/parser.cc:33360
+#: cp/parser.cc:34107
 #, gcc-internal-format
 msgid "redundant enum-key %<enum%s%> in reference to %q#T"
 msgstr ""
 
-#: cp/parser.cc:33511
+#: cp/parser.cc:34258
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr ""
 
-#: cp/parser.cc:33516
+#: cp/parser.cc:34263
 #, gcc-internal-format
 msgid "%q#T was previously declared here"
 msgstr ""
 
-#: cp/parser.cc:33636
+#: cp/parser.cc:34384
 #, gcc-internal-format
 msgid "redundant class-key %qs in reference to %q#T"
 msgstr ""
 
-#: cp/parser.cc:33776 cp/parser.cc:33810
+#: cp/parser.cc:34524 cp/parser.cc:34558
 #, gcc-internal-format
 msgid "%qT declared with a mismatched class-key %qs"
 msgstr ""
 
-#: cp/parser.cc:33783 cp/parser.cc:33816
+#: cp/parser.cc:34531 cp/parser.cc:34564
 #, gcc-internal-format
 msgid "remove the class-key or replace it with %qs"
 msgstr ""
 
-#: cp/parser.cc:33784 cp/parser.cc:33817
+#: cp/parser.cc:34532 cp/parser.cc:34565
 #, gcc-internal-format
 msgid "replace the class-key with %qs"
 msgstr ""
 
-#: cp/parser.cc:33791
+#: cp/parser.cc:34539
 #, gcc-internal-format
 msgid "%qT defined as %qs here"
 msgstr ""
 
-#: cp/parser.cc:33792
+#: cp/parser.cc:34540
 #, gcc-internal-format
 msgid "%qT first declared as %qs here"
 msgstr ""
 
-#: cp/parser.cc:33874
+#: cp/parser.cc:34622
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr ""
 
-#: cp/parser.cc:33895
+#: cp/parser.cc:34643
 #, gcc-internal-format
 msgid ""
 "in C++98 %<template%> (as a disambiguator) is only allowed within templates"
 msgstr ""
 
-#: cp/parser.cc:34144
+#: cp/parser.cc:34893
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr ""
 
-#: cp/parser.cc:34385 cp/parser.cc:35693 cp/parser.cc:35882
+#: cp/parser.cc:35134 cp/parser.cc:36442 cp/parser.cc:36631
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr ""
 
-#: cp/parser.cc:34456
+#: cp/parser.cc:35205
 #, gcc-internal-format
 msgid "objective-c++ message receiver expected"
 msgstr ""
 
-#: cp/parser.cc:34526
+#: cp/parser.cc:35275
 #, gcc-internal-format
 msgid "objective-c++ message argument(s) are expected"
 msgstr ""
 
-#: cp/parser.cc:34557
+#: cp/parser.cc:35306
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr ""
 
-#: cp/parser.cc:34961
+#: cp/parser.cc:35710
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr ""
 
-#: cp/parser.cc:35036 cp/parser.cc:35054
+#: cp/parser.cc:35785 cp/parser.cc:35803
 #, gcc-internal-format
 msgid "objective-c++ method declaration is expected"
 msgstr ""
 
-#: cp/parser.cc:35048 cp/parser.cc:35114
+#: cp/parser.cc:35797 cp/parser.cc:35863
 #, gcc-internal-format
 msgid "method attributes must be specified at the end"
 msgstr ""
 
-#: cp/parser.cc:35157
+#: cp/parser.cc:35906
 #, gcc-internal-format
 msgid "stray %qs between Objective-C++ methods"
 msgstr ""
 
-#: cp/parser.cc:35354 cp/parser.cc:35361 cp/parser.cc:35368
+#: cp/parser.cc:36103 cp/parser.cc:36110 cp/parser.cc:36117
 #, gcc-internal-format
 msgid "invalid type for instance variable"
 msgstr ""
 
-#: cp/parser.cc:35485
+#: cp/parser.cc:36234
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr ""
 
-#: cp/parser.cc:35658
+#: cp/parser.cc:36407
 #, gcc-internal-format
 msgid ""
 "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
 msgstr ""
 
-#: cp/parser.cc:35665
+#: cp/parser.cc:36414
 #, gcc-internal-format
 msgid "prefix attributes are ignored before %<@%D%>"
 msgstr ""
 
-#: cp/parser.cc:35945 cp/parser.cc:35952 cp/parser.cc:35959
+#: cp/parser.cc:36694 cp/parser.cc:36701 cp/parser.cc:36708
 #, gcc-internal-format
 msgid "invalid type for property"
 msgstr ""
 
-#: cp/parser.cc:36121
+#: cp/parser.cc:36870
 #, gcc-internal-format
 msgid "unknown property attribute %qE"
 msgstr ""
 
-#: cp/parser.cc:37236
+#: cp/parser.cc:37999
 #, gcc-internal-format
 msgid "expected integer expression list"
 msgstr ""
 
-#: cp/parser.cc:37253
+#: cp/parser.cc:38016
 #, gcc-internal-format
 msgid "%<wait%> expression must be integral"
 msgstr ""
 
-#: cp/parser.cc:38342
+#: cp/parser.cc:39105
 #, gcc-internal-format
 msgid "invalid reduction-identifier"
 msgstr ""
 
-#: cp/parser.cc:39170
+#: cp/parser.cc:40074
 #, gcc-internal-format
 msgid "types may not be defined in iterator type"
 msgstr ""
 
-#: cp/parser.cc:41938
+#: cp/parser.cc:42980
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:42342
+#: cp/parser.cc:43425
 #, gcc-internal-format
 msgid ""
 "%<[[omp::directive(%s)]]%> must be the only specified attribute on a "
 "statement"
 msgstr ""
 
-#: cp/parser.cc:42601
+#: cp/parser.cc:43670
 #, gcc-internal-format
 msgid "%<ordered%> clause with parameter on range-based %<for%> loop"
 msgstr ""
 
-#: cp/parser.cc:42688 cp/pt.cc:18228
+#: cp/parser.cc:43757 cp/pt.cc:18448
 #, gcc-internal-format
 msgid "iteration variable %qD should not be reduction"
 msgstr ""
 
-#: cp/parser.cc:42781
+#: cp/parser.cc:43850
 #, gcc-internal-format
 msgid "not enough for loops to collapse"
 msgstr ""
 
-#: cp/parser.cc:45123
+#: cp/parser.cc:46217
 #, gcc-internal-format
 msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>"
 msgstr ""
 
-#: cp/parser.cc:45758
+#: cp/parser.cc:47052
 #, gcc-internal-format
 msgid ""
 "OpenMP directive other than %<declare simd%> or %<declare variant%> "
 "appertains to a declaration"
 msgstr ""
 
-#: cp/parser.cc:46037
+#: cp/parser.cc:47398 cp/parser.cc:47429
 #, gcc-internal-format
-msgid ""
-"%<declare target%> in attribute syntax terminated with %<end declare target"
-"%> in pragma syntax"
+msgid "%qs in attribute syntax terminated with %qs in pragma syntax"
 msgstr ""
 
-#: cp/parser.cc:46041
+#: cp/parser.cc:47405 cp/parser.cc:47434
 #, gcc-internal-format
-msgid ""
-"%<declare target%> in pragma syntax terminated with %<end declare target%> "
-"in attribute syntax"
+msgid "%qs in pragma syntax terminated with %qs in attribute syntax"
 msgstr ""
 
-#: cp/parser.cc:46147
+#: cp/parser.cc:47546
 #, gcc-internal-format
 msgid "invalid initializer clause"
 msgstr ""
 
-#: cp/parser.cc:46177
+#: cp/parser.cc:47576
 #, gcc-internal-format
 msgid "expected id-expression (arguments)"
 msgstr ""
 
-#: cp/parser.cc:46189
+#: cp/parser.cc:47588
 #, gcc-internal-format
 msgid ""
 "one of the initializer call arguments should be %<omp_priv%> or %<&omp_priv%>"
 msgstr ""
 
-#: cp/parser.cc:46292
+#: cp/parser.cc:47691
 #, gcc-internal-format
 msgid "types may not be defined in declare reduction type list"
 msgstr ""
 
-#: cp/parser.cc:46312 cp/semantics.cc:6064
+#: cp/parser.cc:47711 cp/semantics.cc:6120
 #, gcc-internal-format
 msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:46316 cp/semantics.cc:6072
+#: cp/parser.cc:47715 cp/semantics.cc:6128
 #, gcc-internal-format
 msgid "function or array type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:46319 cp/pt.cc:14155 cp/semantics.cc:6078
+#: cp/parser.cc:47718 cp/pt.cc:14373 cp/semantics.cc:6134
 #, gcc-internal-format
 msgid "reference type %qT in %<#pragma omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:46322 cp/semantics.cc:6084
+#: cp/parser.cc:47721 cp/semantics.cc:6140
 #, gcc-internal-format
 msgid ""
 "%<const%>, %<volatile%> or %<__restrict%>-qualified type %qT in %<#pragma "
 "omp declare reduction%>"
 msgstr ""
 
-#: cp/parser.cc:47049
+#: cp/parser.cc:48435
 #, gcc-internal-format
 msgid "%<#pragma acc routine%> names a set of overloads"
 msgstr ""
 
-#: cp/parser.cc:47059
+#: cp/parser.cc:48445
 #, gcc-internal-format
 msgid "%qD does not refer to a namespace scope function"
 msgstr ""
 
 #. cancel-and-throw is unimplemented.
-#: cp/parser.cc:47417
+#: cp/parser.cc:48806
 #, gcc-internal-format
 msgid "%<atomic_cancel%>"
 msgstr ""
 
-#: cp/parser.cc:47464 cp/semantics.cc:11015
+#: cp/parser.cc:48853 cp/semantics.cc:11147
 #, gcc-internal-format
 msgid "%<__transaction_relaxed%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.cc:47466 cp/semantics.cc:11017
+#: cp/parser.cc:48855 cp/semantics.cc:11149
 #, gcc-internal-format
 msgid "%<__transaction_atomic%> without transactional memory support enabled"
 msgstr ""
 
-#: cp/parser.cc:47612
+#: cp/parser.cc:49001
 #, gcc-internal-format
 msgid ""
 "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
 msgstr ""
 
-#: cp/parser.cc:47615
+#: cp/parser.cc:49004
 #, gcc-internal-format
 msgid "  or a %<transaction_may_cancel_outer%> function"
 msgstr ""
 
-#: cp/parser.cc:47666
+#: cp/parser.cc:49051
 #, gcc-internal-format
 msgid "malformed %<#pragma GCC pch_preprocess%>"
 msgstr ""
 
-#: cp/parser.cc:47963
+#: cp/parser.cc:49349
 #, gcc-internal-format
 msgid "%<#pragma omp requires%> may only be used at file or namespace scope"
 msgstr ""
 
-#: cp/parser.cc:48014
+#: cp/parser.cc:49360
+#, gcc-internal-format
+msgid "%<#pragma omp assumes%> may only be used at file or namespace scope"
+msgstr ""
+
+#: cp/parser.cc:49415
 #, gcc-internal-format
 msgid "%<#pragma GCC ivdep%> must be inside a function"
 msgstr ""
 
-#: cp/parser.cc:48046
+#: cp/parser.cc:49447
 #, gcc-internal-format
 msgid "%<#pragma GCC unroll%> must be inside a function"
 msgstr ""
 
-#: cp/parser.cc:48126
+#: cp/parser.cc:49528
 #, gcc-internal-format
 msgid "multi-source compilation not implemented for C++"
 msgstr ""
 
-#: cp/parser.cc:48165
+#: cp/parser.cc:49565
 #, gcc-internal-format
 msgid "placeholder type not allowed in this context"
 msgstr ""
 
-#: cp/parser.cc:48370
+#: cp/parser.cc:49774
 #, gcc-internal-format
 msgid "implicit templates may not be %<virtual%>"
 msgstr ""
 
-#: cp/parser.cc:48426
+#: cp/parser.cc:49830
 #, gcc-internal-format
 msgid "%<extern \"C\"%> linkage started here"
 msgstr ""
 
-#: cp/pt.cc:308
+#: cp/pt.cc:306
 #, gcc-internal-format
 msgid "data member %qD cannot be a member template"
 msgstr ""
 
-#: cp/pt.cc:321
+#: cp/pt.cc:319
 #, gcc-internal-format
 msgid "invalid member template declaration %qD"
 msgstr ""
@@ -61608,7 +63344,7 @@ msgstr ""
 msgid "specialization of %qD must appear at namespace scope"
 msgstr ""
 
-#: cp/pt.cc:854 cp/pt.cc:1091
+#: cp/pt.cc:854 cp/pt.cc:1095
 #, gcc-internal-format
 msgid "specialization of %qD in different namespace"
 msgstr ""
@@ -61625,98 +63361,98 @@ msgid ""
 "namespace %qD)"
 msgstr ""
 
-#: cp/pt.cc:1003
+#: cp/pt.cc:1007
 #, gcc-internal-format
 msgid "name of class shadows template template parameter %qD"
 msgstr ""
 
-#: cp/pt.cc:1015
+#: cp/pt.cc:1019
 #, gcc-internal-format
 msgid "specialization of alias template %qD"
 msgstr ""
 
-#: cp/pt.cc:1018 cp/pt.cc:1157
+#: cp/pt.cc:1022 cp/pt.cc:1161
 #, gcc-internal-format
 msgid "explicit specialization of non-template %qT"
 msgstr ""
 
-#: cp/pt.cc:1050
+#: cp/pt.cc:1054
 #, gcc-internal-format
 msgid "specialization of %qT after instantiation"
 msgstr ""
 
-#: cp/pt.cc:1094
+#: cp/pt.cc:1098
 #, 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:1135
+#: cp/pt.cc:1139
 #, gcc-internal-format
 msgid "specialization %qT after instantiation %qT"
 msgstr ""
 
-#: cp/pt.cc:1153
+#: cp/pt.cc:1157
 #, gcc-internal-format
 msgid "template specialization of %qD not allowed by ISO C++"
 msgstr ""
 
-#: cp/pt.cc:1618
+#: cp/pt.cc:1548
 #, gcc-internal-format
 msgid "specialization of %qD after instantiation"
 msgstr ""
 
-#: cp/pt.cc:2059 cp/semantics.cc:5934
+#: cp/pt.cc:2021 cp/semantics.cc:5990
 #, gcc-internal-format
 msgid "%s %#qD"
 msgstr ""
 
-#: cp/pt.cc:2195
+#: cp/pt.cc:2157
 #, gcc-internal-format
 msgid "%qD is not a function template"
 msgstr ""
 
-#: cp/pt.cc:2200
+#: cp/pt.cc:2162
 #, gcc-internal-format
 msgid "%qD is not a variable template"
 msgstr ""
 
-#: cp/pt.cc:2484
+#: cp/pt.cc:2445
 #, gcc-internal-format
 msgid "template-id %qD for %q+D does not match any template declaration"
 msgstr ""
 
-#: cp/pt.cc:2488
+#: cp/pt.cc:2449
 #, gcc-internal-format
 msgid ""
 "saw %d %<template<>%>, need %d for specializing a member function template"
 msgstr ""
 
-#: cp/pt.cc:2498
+#: cp/pt.cc:2459
 #, gcc-internal-format
 msgid "ambiguous template specialization %qD for %q+D"
 msgstr ""
 
-#: cp/pt.cc:2705
+#: cp/pt.cc:2663
 #, gcc-internal-format
 msgid ""
 "variable templates only available with %<-std=c++14%> or %<-std=gnu++14%>"
 msgstr ""
 
-#: cp/pt.cc:2715
+#: cp/pt.cc:2673
 #, gcc-internal-format
 msgid "too many template headers for %qD (should be %d)"
 msgstr ""
 
-#: cp/pt.cc:2721
+#: cp/pt.cc:2679
 #, gcc-internal-format
 msgid ""
 "members of an explicitly specialized class are defined without a template "
 "header"
 msgstr ""
 
-#: cp/pt.cc:2745
+#: cp/pt.cc:2703
 #, gcc-internal-format
 msgid ""
 "explicit specialization of %qD outside its namespace must use a nested-name-"
@@ -61724,79 +63460,79 @@ msgid ""
 msgstr ""
 
 #. This was allowed in C++98, so only pedwarn.
-#: cp/pt.cc:2750
+#: cp/pt.cc:2708
 #, gcc-internal-format
 msgid ""
 "explicit instantiation of %qD outside its namespace must use a nested-name-"
 "specifier"
 msgstr ""
 
-#: cp/pt.cc:2786
+#: cp/pt.cc:2744
 #, gcc-internal-format
 msgid "explicit specialization %q#D may be missing attributes"
 msgstr ""
 
-#: cp/pt.cc:2790
+#: cp/pt.cc:2748
 #, gcc-internal-format, gfc-internal-format
 msgid "missing primary template attributes %s"
 msgstr ""
 
-#: cp/pt.cc:2791
+#: cp/pt.cc:2749
 #, gcc-internal-format, gfc-internal-format
 msgid "missing primary template attribute %s"
 msgstr ""
 
-#: cp/pt.cc:2883 cp/pt.cc:2943
+#: cp/pt.cc:2841 cp/pt.cc:2901
 #, gcc-internal-format
 msgid "template-id %qE in declaration of primary template"
 msgstr ""
 
-#: cp/pt.cc:2896
+#: cp/pt.cc:2854
 #, gcc-internal-format
 msgid "template parameter list used in explicit instantiation"
 msgstr ""
 
-#: cp/pt.cc:2902
+#: cp/pt.cc:2860
 #, gcc-internal-format
 msgid "definition provided for explicit instantiation"
 msgstr ""
 
-#: cp/pt.cc:2910
+#: cp/pt.cc:2868
 #, gcc-internal-format
 msgid "too many template parameter lists in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:2913
+#: cp/pt.cc:2871
 #, gcc-internal-format
 msgid "too few template parameter lists in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:2915
+#: cp/pt.cc:2873
 #, gcc-internal-format
 msgid "explicit specialization of %qD must be introduced by %<template <>%>"
 msgstr ""
 
-#: cp/pt.cc:2921
+#: cp/pt.cc:2879
 #, gcc-internal-format
 msgid "explicit specialization declared %<concept%>"
 msgstr ""
 
-#: cp/pt.cc:2954
+#: cp/pt.cc:2912
 #, gcc-internal-format
 msgid "non-type partial specialization %qE is not allowed"
 msgstr ""
 
-#: cp/pt.cc:2958
+#: cp/pt.cc:2916
 #, gcc-internal-format
 msgid "non-class, non-variable partial specialization %qE is not allowed"
 msgstr ""
 
-#: cp/pt.cc:2990
+#: cp/pt.cc:2948
 #, gcc-internal-format
 msgid "default argument specified in explicit specialization"
 msgstr ""
 
-#: cp/pt.cc:3033
+#: cp/pt.cc:2991
 #, gcc-internal-format
 msgid "%qD is not a template function"
 msgstr ""
@@ -61809,99 +63545,99 @@ msgstr ""
 #. program is ill-formed.
 #.
 #. Similar language is found in [temp.explicit].
-#: cp/pt.cc:3095
+#: cp/pt.cc:3053
 #, gcc-internal-format
 msgid "specialization of implicitly-declared special member function"
 msgstr ""
 
-#: cp/pt.cc:3111
+#: cp/pt.cc:3069
 #, gcc-internal-format
 msgid "no member function %qD declared in %qT"
 msgstr ""
 
-#: cp/pt.cc:3142
+#: cp/pt.cc:3100
 #, gcc-internal-format
 msgid "friend declaration %qD is not visible to explicit specialization"
 msgstr ""
 
-#: cp/pt.cc:3145
+#: cp/pt.cc:3103
 #, gcc-internal-format
 msgid "friend declaration here"
 msgstr ""
 
-#: cp/pt.cc:3254
+#: cp/pt.cc:3214
 #, gcc-internal-format
 msgid "explicit specialization of function concept %qD"
 msgstr ""
 
-#: cp/pt.cc:3852
+#: cp/pt.cc:3815
 #, gcc-internal-format
 msgid "argument to %<__integer_pack%> must be between 0 and %d"
 msgstr ""
 
-#: cp/pt.cc:4199
+#: cp/pt.cc:4162
 #, gcc-internal-format
 msgid "base initializer expansion %qT contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4267
+#: cp/pt.cc:4230
 #, gcc-internal-format
 msgid "expansion pattern %qT contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4269
+#: cp/pt.cc:4232
 #, gcc-internal-format
 msgid "expansion pattern %qE contains no parameter packs"
 msgstr ""
 
-#: cp/pt.cc:4353
+#: cp/pt.cc:4316
 #, gcc-internal-format
 msgid "parameter packs not expanded with %<...%>:"
 msgstr ""
 
-#: cp/pt.cc:4370 cp/pt.cc:5175
+#: cp/pt.cc:4333 cp/pt.cc:5203
 #, gcc-internal-format
 msgid "        %qD"
 msgstr ""
 
-#: cp/pt.cc:4372
+#: cp/pt.cc:4335
 #, gcc-internal-format, gfc-internal-format
 msgid "        %s"
 msgstr ""
 
-#: cp/pt.cc:4498
+#: cp/pt.cc:4461
 #, gcc-internal-format
 msgid "declaration of template parameter %q+D shadows template parameter"
 msgstr ""
 
-#: cp/pt.cc:4501
+#: cp/pt.cc:4464
 #, gcc-internal-format
 msgid "declaration of %q+#D shadows template parameter"
 msgstr ""
 
-#: cp/pt.cc:4503
+#: cp/pt.cc:4466
 #, gcc-internal-format
 msgid "template parameter %qD declared here"
 msgstr ""
 
-#: cp/pt.cc:5111
+#: cp/pt.cc:5139
 #, gcc-internal-format
 msgid "specialization of variable concept %q#D"
 msgstr ""
 
-#: cp/pt.cc:5170
+#: cp/pt.cc:5198
 #, gcc-internal-format
 msgid "template parameters not deducible in partial specialization:"
 msgstr ""
 
-#: cp/pt.cc:5193
+#: cp/pt.cc:5221
 #, 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:5197
+#: cp/pt.cc:5225
 #, gcc-internal-format
 msgid ""
 "partial specialization %q+D does not specialize any template arguments and "
@@ -61909,63 +63645,63 @@ msgid ""
 "template, remove the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5201 cp/pt.cc:5212 cp/pt.cc:5220
+#: cp/pt.cc:5229 cp/pt.cc:5240 cp/pt.cc:5248
 #, gcc-internal-format
 msgid "primary template here"
 msgstr ""
 
-#: cp/pt.cc:5209
+#: cp/pt.cc:5237
 #, 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:5219
+#: cp/pt.cc:5247
 #, gcc-internal-format
 msgid "too many arguments for partial specialization %qT"
 msgstr ""
 
-#: cp/pt.cc:5234
+#: cp/pt.cc:5262
 #, gcc-internal-format
 msgid "partial specialization %qD is not more specialized than"
 msgstr ""
 
-#: cp/pt.cc:5236
+#: cp/pt.cc:5264
 #, gcc-internal-format
 msgid "primary template %qD"
 msgstr ""
 
-#: cp/pt.cc:5278
+#: cp/pt.cc:5306
 #, gcc-internal-format
 msgid ""
 "parameter pack argument %qE must be at the end of the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5281
+#: cp/pt.cc:5309
 #, gcc-internal-format
 msgid ""
 "parameter pack argument %qT must be at the end of the template argument list"
 msgstr ""
 
-#: cp/pt.cc:5343
+#: cp/pt.cc:5371
 #, 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:5402
+#: cp/pt.cc:5430
 #, gcc-internal-format
 msgid "declaration of %qD ambiguates earlier template instantiation for %qD"
 msgstr ""
 
-#: cp/pt.cc:5406
+#: cp/pt.cc:5434
 #, gcc-internal-format
 msgid "partial specialization of %qD after instantiation of %qD"
 msgstr ""
 
-#: cp/pt.cc:5589
+#: cp/pt.cc:5617
 #, gcc-internal-format
 msgid "no default argument for %qD"
 msgstr ""
@@ -61974,52 +63710,52 @@ msgstr ""
 #. (DR 2032), or alias template can only have one
 #. parameter pack, at the end of the template
 #. parameter list.
-#: cp/pt.cc:5612
+#: cp/pt.cc:5640
 #, gcc-internal-format
 msgid "parameter pack %q+D must be at the end of the template parameter list"
 msgstr ""
 
-#: cp/pt.cc:5648
+#: cp/pt.cc:5676
 #, gcc-internal-format
 msgid ""
 "default template arguments may not be used in function template friend re-"
 "declaration"
 msgstr ""
 
-#: cp/pt.cc:5651
+#: cp/pt.cc:5679
 #, gcc-internal-format
 msgid ""
 "default template arguments may not be used in template friend declarations"
 msgstr ""
 
-#: cp/pt.cc:5654
+#: cp/pt.cc:5682
 #, 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:5657
+#: cp/pt.cc:5685
 #, gcc-internal-format
 msgid "default template arguments may not be used in partial specializations"
 msgstr ""
 
-#: cp/pt.cc:5660 cp/pt.cc:5718
+#: cp/pt.cc:5688 cp/pt.cc:5746
 #, gcc-internal-format
 msgid "default argument for template parameter for class enclosing %qD"
 msgstr ""
 
-#: cp/pt.cc:5829
+#: cp/pt.cc:5857
 #, gcc-internal-format
 msgid "template %qD declared"
 msgstr ""
 
-#: cp/pt.cc:5837
+#: cp/pt.cc:5865
 #, gcc-internal-format
 msgid "template class without a name"
 msgstr ""
 
-#: cp/pt.cc:5845
+#: cp/pt.cc:5873
 #, gcc-internal-format
 msgid "member template %qD may not have virt-specifiers"
 msgstr ""
@@ -62029,512 +63765,522 @@ msgstr ""
 #. An allocation function can be a function
 #. template. ... Template allocation functions shall
 #. have two or more parameters.
-#: cp/pt.cc:5868
+#: cp/pt.cc:5896
 #, gcc-internal-format
 msgid "invalid template declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:6020
+#: cp/pt.cc:6048
 #, gcc-internal-format
 msgid "template definition of non-template %q#D"
 msgstr ""
 
-#: cp/pt.cc:6059
+#: cp/pt.cc:6087
 #, gcc-internal-format
 msgid "expected %d levels of template parms for %q#D, got %d"
 msgstr ""
 
-#: cp/pt.cc:6073
+#: cp/pt.cc:6101
 #, gcc-internal-format
 msgid "got %d template parameters for %q#D"
 msgstr ""
 
-#: cp/pt.cc:6076
+#: cp/pt.cc:6104
 #, gcc-internal-format
 msgid "got %d template parameters for %q#T"
 msgstr ""
 
-#: cp/pt.cc:6078
+#: cp/pt.cc:6106
 #, gcc-internal-format, gfc-internal-format
 msgid "  but %d required"
 msgstr ""
 
-#: cp/pt.cc:6099
+#: cp/pt.cc:6127
 #, gcc-internal-format
 msgid "template arguments to %qD do not match original template %qD"
 msgstr ""
 
-#: cp/pt.cc:6102
+#: cp/pt.cc:6130
 #, gcc-internal-format
 msgid "use %<template<>%> for an explicit specialization"
 msgstr ""
 
-#: cp/pt.cc:6247
+#: cp/pt.cc:6275
 #, gcc-internal-format
 msgid "%qT is not a template type"
 msgstr ""
 
-#: cp/pt.cc:6260
+#: cp/pt.cc:6288
 #, gcc-internal-format
 msgid "template specifiers not specified in declaration of %qD"
 msgstr ""
 
-#: cp/pt.cc:6271
+#: cp/pt.cc:6299
 #, 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:6275
+#: cp/pt.cc:6303
 #, 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:6309
+#: cp/pt.cc:6337
 #, gcc-internal-format
 msgid "template parameter %q+#D"
 msgstr ""
 
-#: cp/pt.cc:6310
+#: cp/pt.cc:6339
 #, gcc-internal-format
 msgid "redeclared here as %q#D"
 msgstr ""
 
-#: cp/pt.cc:6321
+#: cp/pt.cc:6341
+#, gcc-internal-format
+msgid "redeclared here"
+msgstr ""
+
+#: cp/pt.cc:6352
 #, gcc-internal-format
 msgid "declaration of template parameter %q+#D with different constraints"
 msgstr ""
 
-#: cp/pt.cc:6324 cp/pt.cc:6351
+#: cp/pt.cc:6355 cp/pt.cc:6382
 #, gcc-internal-format
 msgid "original declaration appeared here"
 msgstr ""
 
-#: cp/pt.cc:6348
+#: cp/pt.cc:6379
 #, gcc-internal-format
 msgid "redeclaration %q#D with different constraints"
 msgstr ""
 
-#: cp/pt.cc:6714 cp/pt.cc:6783
+#: cp/pt.cc:6738 cp/pt.cc:6807
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT"
 msgstr ""
 
-#: cp/pt.cc:6717
+#: cp/pt.cc:6741
 #, gcc-internal-format
 msgid "it must be the address of a function with external linkage"
 msgstr ""
 
-#: cp/pt.cc:6720
+#: cp/pt.cc:6744
 #, gcc-internal-format
 msgid "it must be the name of a function with external linkage"
 msgstr ""
 
-#: cp/pt.cc:6733
+#: cp/pt.cc:6757
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because %qD has no linkage"
 msgstr ""
 
-#: cp/pt.cc:6737
+#: cp/pt.cc:6761
 #, 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:6786
+#: cp/pt.cc:6810
 #, gcc-internal-format
 msgid "it must be a pointer-to-member of the form %<&X::Y%>"
 msgstr ""
 
-#: cp/pt.cc:6788
+#: cp/pt.cc:6812
 #, gcc-internal-format
 msgid "because it is a member of %qT"
 msgstr ""
 
-#: cp/pt.cc:6857
+#: cp/pt.cc:6881
 #, gcc-internal-format
 msgid "  couldn%'t deduce template parameter %qD"
 msgstr ""
 
-#: cp/pt.cc:6866
+#: cp/pt.cc:6890
 #, gcc-internal-format
 msgid "  types %qT and %qT have incompatible cv-qualifiers"
 msgstr ""
 
-#: cp/pt.cc:6875
+#: cp/pt.cc:6899
 #, gcc-internal-format
 msgid "  mismatched types %qT and %qT"
 msgstr ""
 
-#: cp/pt.cc:6884
+#: cp/pt.cc:6908
 #, gcc-internal-format
 msgid "  template parameter %qD is not a parameter pack, but argument %qD is"
 msgstr ""
 
-#: cp/pt.cc:6895
+#: cp/pt.cc:6919
 #, gcc-internal-format
 msgid "  template argument %qE does not match pointer-to-member constant %qE"
 msgstr ""
 
-#: cp/pt.cc:6905
+#: cp/pt.cc:6929
 #, gcc-internal-format
 msgid "  %qE is not equivalent to %qE"
 msgstr ""
 
-#: cp/pt.cc:6914
+#: cp/pt.cc:6938
 #, gcc-internal-format
 msgid "  inconsistent parameter pack deduction with %qT and %qT"
 msgstr ""
 
-#: cp/pt.cc:6926
+#: cp/pt.cc:6950
 #, gcc-internal-format
 msgid "  deduced conflicting types for parameter %qT (%qT and %qT)"
 msgstr ""
 
-#: cp/pt.cc:6930
+#: cp/pt.cc:6954
 #, gcc-internal-format
 msgid "  deduced conflicting values for non-type parameter %qE (%qE and %qE)"
 msgstr ""
 
-#: cp/pt.cc:6941
+#: cp/pt.cc:6965
 #, gcc-internal-format
 msgid "  variable-sized array type %qT is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:6952
+#: cp/pt.cc:6976
 #, gcc-internal-format
 msgid "  member function type %qT is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:6995
+#: cp/pt.cc:7019
 #, gcc-internal-format
 msgid "  cannot convert %qE (type %qT) to type %qT"
 msgstr ""
 
-#: cp/pt.cc:7008
+#: cp/pt.cc:7032
 #, gcc-internal-format
 msgid "  %qT is an ambiguous base class of %qT"
 msgstr ""
 
-#: cp/pt.cc:7012
+#: cp/pt.cc:7036
 #, gcc-internal-format
 msgid "  %qT is not derived from %qT"
 msgstr ""
 
-#: cp/pt.cc:7023
+#: cp/pt.cc:7047
 #, gcc-internal-format
 msgid ""
 "  template parameters of a template template argument are inconsistent with "
 "other deduced template arguments"
 msgstr ""
 
-#: cp/pt.cc:7033
+#: cp/pt.cc:7057
 #, gcc-internal-format
 msgid "  cannot deduce a template for %qT from non-template type %qT"
 msgstr ""
 
-#: cp/pt.cc:7043
+#: cp/pt.cc:7067
 #, gcc-internal-format
 msgid "  template argument %qE does not match %qE"
 msgstr ""
 
-#: cp/pt.cc:7104
+#: cp/pt.cc:7118
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument of type %qT because %qE is not a "
 "variable"
 msgstr ""
 
-#: cp/pt.cc:7112
+#: cp/pt.cc:7126
 #, 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:7122
+#: cp/pt.cc:7136
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument of type %qT because %qD has no linkage"
 msgstr ""
 
-#: cp/pt.cc:7137
+#: cp/pt.cc:7151
 #, gcc-internal-format
 msgid "the address of %qD is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:7147
+#: cp/pt.cc:7161
 #, gcc-internal-format
 msgid ""
 "the address of the %qT subobject of %qD is not a valid template argument"
 msgstr ""
 
-#: cp/pt.cc:7154
+#: cp/pt.cc:7168
 #, 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:7172
+#: cp/pt.cc:7186
 #, 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:7180
+#: cp/pt.cc:7194
 #, 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:7292
+#: cp/pt.cc:7315
 #, 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:7459
+#: cp/pt.cc:7482
 #, gcc-internal-format
 msgid "in template argument for type %qT"
 msgstr ""
 
-#: cp/pt.cc:7473
+#: cp/pt.cc:7496
 #, gcc-internal-format
 msgid "template argument %qE for type %qT not a compile-time constant"
 msgstr ""
 
-#: cp/pt.cc:7559
+#: cp/pt.cc:7582
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because of conflicts in cv-"
 "qualification"
 msgstr ""
 
-#: cp/pt.cc:7567
+#: cp/pt.cc:7590
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because it is not an lvalue"
 msgstr ""
 
-#: cp/pt.cc:7585
+#: cp/pt.cc:7608
 #, 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:7644
+#: cp/pt.cc:7667
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because it is a pointer"
 msgstr ""
 
-#: cp/pt.cc:7646
+#: cp/pt.cc:7669
 #, gcc-internal-format
 msgid "try using %qE instead"
 msgstr ""
 
-#: cp/pt.cc:7700
+#: cp/pt.cc:7723
 #, gcc-internal-format
 msgid ""
 "%qE is not a valid template argument for type %qT because it is of type %qT"
 msgstr ""
 
-#: cp/pt.cc:8270
+#: cp/pt.cc:8287
 #, gcc-internal-format
 msgid "ignoring attributes on template argument %qT"
 msgstr ""
 
-#: cp/pt.cc:8286
+#: cp/pt.cc:8303
 #, gcc-internal-format
 msgid "ignoring attributes in template argument %qE"
 msgstr ""
 
-#: cp/pt.cc:8422
+#: cp/pt.cc:8439
 #, gcc-internal-format
 msgid "injected-class-name %qD used as template template argument"
 msgstr ""
 
-#: cp/pt.cc:8451
+#: cp/pt.cc:8468
 #, gcc-internal-format
 msgid "invalid use of destructor %qE as a type"
 msgstr ""
 
-#: cp/pt.cc:8456
+#: cp/pt.cc:8473
 #, gcc-internal-format
 msgid "to refer to a type member of a template parameter, use %<typename %E%>"
 msgstr ""
 
-#: cp/pt.cc:8472 cp/pt.cc:8506 cp/pt.cc:8560
+#: cp/pt.cc:8489 cp/pt.cc:8523 cp/pt.cc:8577
 #, gcc-internal-format
 msgid "type/value mismatch at argument %d in template parameter list for %qD"
 msgstr ""
 
-#: cp/pt.cc:8480
+#: cp/pt.cc:8497
 #, gcc-internal-format
 msgid "  expected a constant of type %qT, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8488
+#: cp/pt.cc:8505
 #, gcc-internal-format
 msgid ""
 "  ambiguous template argument for non-type template parameter is treated as "
 "function type"
 msgstr ""
 
-#: cp/pt.cc:8494
+#: cp/pt.cc:8511
 #, gcc-internal-format
 msgid "  expected a class template, got %qE"
 msgstr ""
 
-#: cp/pt.cc:8497
+#: cp/pt.cc:8514
 #, gcc-internal-format
 msgid "  expected a type, got %qE"
 msgstr ""
 
-#: cp/pt.cc:8511
+#: cp/pt.cc:8528
 #, gcc-internal-format
 msgid "  expected a type, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8514
+#: cp/pt.cc:8531
 #, gcc-internal-format
 msgid "  expected a class template, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8564
+#: cp/pt.cc:8581
 #, gcc-internal-format
 msgid "  expected a template of type %qD, got %qT"
 msgstr ""
 
-#: cp/pt.cc:8578
+#: cp/pt.cc:8595
 #, gcc-internal-format
 msgid "constraint mismatch at argument %d in template parameter list for %qD"
 msgstr ""
 
-#: cp/pt.cc:8581
+#: cp/pt.cc:8598
 #, gcc-internal-format
 msgid "  expected %qD but got %qD"
 msgstr ""
 
-#: cp/pt.cc:8654
+#: cp/pt.cc:8671
 #, gcc-internal-format
 msgid "could not convert template argument %qE from %qT to %qT"
 msgstr ""
 
-#: cp/pt.cc:8792 cp/pt.cc:9105
+#: cp/pt.cc:8809 cp/pt.cc:9135
 #, gcc-internal-format, gfc-internal-format
 msgid "template argument %d is invalid"
 msgstr ""
 
-#: cp/pt.cc:8807 cp/pt.cc:8939
+#: cp/pt.cc:8824 cp/pt.cc:8969
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of template arguments (%d, should be %d)"
 msgstr ""
 
-#: cp/pt.cc:8935
+#: cp/pt.cc:8965
 #, gcc-internal-format, gfc-internal-format
 msgid "wrong number of template arguments (%d, should be at least %d)"
 msgstr ""
 
-#: cp/pt.cc:8944
+#: cp/pt.cc:8974
 #, gcc-internal-format
 msgid "provided for %qD"
 msgstr ""
 
-#: cp/pt.cc:8969
+#: cp/pt.cc:8999
 #, gcc-internal-format
 msgid ""
 "pack expansion argument for non-pack parameter %qD of alias template %qD"
 msgstr ""
 
-#: cp/pt.cc:8973
+#: cp/pt.cc:9003
 #, gcc-internal-format
 msgid "pack expansion argument for non-pack parameter %qD of concept %qD"
 msgstr ""
 
-#: cp/pt.cc:9071
+#: cp/pt.cc:9101
 #, gcc-internal-format
 msgid ""
 "so any instantiation with a non-empty parameter pack would be ill-formed"
 msgstr ""
 
-#: cp/pt.cc:9715
+#: cp/pt.cc:9664
 #, gcc-internal-format
 msgid "%q#D is not a function template"
 msgstr ""
 
-#: cp/pt.cc:9879
+#: cp/pt.cc:9827
 #, gcc-internal-format
 msgid "non-template type %qT used as a template"
 msgstr ""
 
-#: cp/pt.cc:9881
+#: cp/pt.cc:9829
 #, gcc-internal-format
 msgid "for template declaration %q+D"
 msgstr ""
 
-#: cp/pt.cc:10017 cp/pt.cc:21747
+#: cp/pt.cc:9962 cp/pt.cc:22022
 #, gcc-internal-format
 msgid "template constraint failure for %qD"
 msgstr ""
 
-#: cp/pt.cc:10393
+#: cp/pt.cc:10340
 #, gcc-internal-format
 msgid "use of invalid variable template %qE"
 msgstr ""
 
-#: cp/pt.cc:11053
+#: cp/pt.cc:11013
 #, gcc-internal-format
 msgid ""
-"template instantiation depth exceeds maximum of %d (use %<-ftemplate-depth="
-"%> to increase the maximum)"
+"template instantiation depth exceeds maximum of %d (use %<-ftemplate-"
+"depth=%> to increase the maximum)"
 msgstr ""
 
-#: cp/pt.cc:12221
+#: cp/pt.cc:12339
 #, gcc-internal-format
 msgid "flexible array member %qD in union"
 msgstr ""
 
-#: cp/pt.cc:12725
+#: cp/pt.cc:12829
 #, gcc-internal-format
 msgid "fold of empty expansion over %O"
 msgstr ""
 
-#: cp/pt.cc:13154
+#: cp/pt.cc:13275
 #, gcc-internal-format
 msgid "%qE is not the entire pattern of the pack expansion"
 msgstr ""
 
-#: cp/pt.cc:13242
+#: cp/pt.cc:13363
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %qT"
 msgstr ""
 
-#: cp/pt.cc:13245
+#: cp/pt.cc:13366
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %qE"
 msgstr ""
 
-#: cp/pt.cc:13845
+#: cp/pt.cc:14050
 #, gcc-internal-format
 msgid "  when instantiating default argument for call to %qD"
 msgstr ""
 
-#: cp/pt.cc:13940
+#: cp/pt.cc:14146
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr ""
 
+#: cp/pt.cc:15038
+#, gcc-internal-format, gfc-internal-format
+msgid "mismatched argument pack lengths (%d vs %d)"
+msgstr ""
+
 #. It may seem that this case cannot occur, since:
 #.
 #. typedef void f();
@@ -62548,300 +64294,305 @@ msgstr ""
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.cc:14968
+#: cp/pt.cc:15231
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr ""
 
-#: cp/pt.cc:15168
+#: cp/pt.cc:15430
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr ""
 
-#: cp/pt.cc:15170
+#: cp/pt.cc:15432
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr ""
 
-#: cp/pt.cc:15298
+#: cp/pt.cc:15559
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr ""
 
-#: cp/pt.cc:15300
+#: cp/pt.cc:15561
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr ""
 
-#: cp/pt.cc:16005
+#: cp/pt.cc:16257
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr ""
 
-#: cp/pt.cc:16007
+#: cp/pt.cc:16259
 #, gcc-internal-format
 msgid "forming pointer to reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:16009
+#: cp/pt.cc:16261
 #, gcc-internal-format
 msgid "forming reference to reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:16022
+#: cp/pt.cc:16274
 #, gcc-internal-format
 msgid "forming pointer to qualified function type %qT"
 msgstr ""
 
-#: cp/pt.cc:16025
+#: cp/pt.cc:16277
 #, gcc-internal-format
 msgid "forming reference to qualified function type %qT"
 msgstr ""
 
-#: cp/pt.cc:16073
+#: cp/pt.cc:16325
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr ""
 
-#: cp/pt.cc:16079
+#: cp/pt.cc:16331
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr ""
 
-#: cp/pt.cc:16085
+#: cp/pt.cc:16337
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr ""
 
-#: cp/pt.cc:16151
+#: cp/pt.cc:16403
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr ""
 
-#: cp/pt.cc:16186
+#: cp/pt.cc:16438
 #, gcc-internal-format
 msgid "%qD is instantiated for an empty pack"
 msgstr ""
 
-#: cp/pt.cc:16206
+#: cp/pt.cc:16458
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr ""
 
-#: cp/pt.cc:16240
+#: cp/pt.cc:16492
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr ""
 
-#: cp/pt.cc:16248
+#: cp/pt.cc:16500
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not a class type"
 msgstr ""
 
-#: cp/pt.cc:16362
+#: cp/pt.cc:16613
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr ""
 
-#: cp/pt.cc:16662
+#: cp/pt.cc:16913
 #, gcc-internal-format
 msgid "qualifying type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/pt.cc:16677
+#: cp/pt.cc:16928
 #, gcc-internal-format
 msgid ""
 "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr ""
 
-#: cp/pt.cc:16679
+#: cp/pt.cc:16930
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr ""
 
-#: cp/pt.cc:16772
+#: cp/pt.cc:17023
 #, gcc-internal-format
 msgid "initializer for %q#D expands to an empty list of expressions"
 msgstr ""
 
-#: cp/pt.cc:16965
+#: cp/pt.cc:17211
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr ""
 
-#: cp/pt.cc:17526 cp/pt.cc:19474
+#: cp/pt.cc:17761 cp/pt.cc:19739
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr ""
 
-#: cp/pt.cc:17530 cp/pt.cc:19478
+#: cp/pt.cc:17765 cp/pt.cc:19743
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr ""
 
-#: cp/pt.cc:19618
+#: cp/pt.cc:19879
 #, gcc-internal-format
 msgid "empty initializer in lambda init-capture"
 msgstr ""
 
-#: cp/pt.cc:20804
+#: cp/pt.cc:21019
 #, 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:20838
+#: cp/pt.cc:21054
 #, gcc-internal-format
 msgid "declarations in dependent base %qT are not found by unqualified lookup"
 msgstr ""
 
-#: cp/pt.cc:20843
+#: cp/pt.cc:21059
 #, gcc-internal-format
 msgid "use %<this->%D%> instead"
 msgstr ""
 
-#: cp/pt.cc:20846
+#: cp/pt.cc:21062
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead"
 msgstr ""
 
-#: cp/pt.cc:20851
+#: cp/pt.cc:21067
 #, gcc-internal-format
 msgid "%qD declared here, later in the translation unit"
 msgstr ""
 
-#: cp/pt.cc:20902
+#: cp/pt.cc:21130
 #, gcc-internal-format
 msgid "wrong number of arguments to %<__builtin_convertvector%>"
 msgstr ""
 
-#: cp/pt.cc:21138
+#: cp/pt.cc:21157
+#, gcc-internal-format
+msgid "wrong number of arguments to %<assume%> attribute"
+msgstr ""
+
+#: cp/pt.cc:21393
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr ""
 
-#: cp/pt.cc:21141
+#: cp/pt.cc:21396
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr ""
 
-#: cp/pt.cc:21465
+#: cp/pt.cc:21746
 #, gcc-internal-format
 msgid "%qT is/uses unnamed type"
 msgstr ""
 
-#: cp/pt.cc:21467
+#: cp/pt.cc:21748
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr ""
 
-#: cp/pt.cc:21477
+#: cp/pt.cc:21758
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr ""
 
-#: cp/pt.cc:21492
+#: cp/pt.cc:21773
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr ""
 
-#: cp/pt.cc:21510
+#: cp/pt.cc:21791
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr ""
 
-#: cp/pt.cc:25661
+#: cp/pt.cc:25931
 #, gcc-internal-format
 msgid "ambiguous template instantiation for %q#T"
 msgstr ""
 
-#: cp/pt.cc:25663
+#: cp/pt.cc:25933
 #, gcc-internal-format
 msgid "ambiguous template instantiation for %q#D"
 msgstr ""
 
-#: cp/pt.cc:25669
+#: cp/pt.cc:25939
 msgid "%s %#qS"
 msgstr ""
 
-#: cp/pt.cc:25693 cp/pt.cc:25788
+#: cp/pt.cc:25963 cp/pt.cc:26058
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr ""
 
-#: cp/pt.cc:25699
+#: cp/pt.cc:25969
 #, gcc-internal-format
 msgid "explicit instantiation of variable concept %q#D"
 msgstr ""
 
-#: cp/pt.cc:25701
+#: cp/pt.cc:25971
 #, gcc-internal-format
 msgid "explicit instantiation of function concept %q#D"
 msgstr ""
 
-#: cp/pt.cc:25720
+#: cp/pt.cc:25990
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr ""
 
-#: cp/pt.cc:25726 cp/pt.cc:25783
+#: cp/pt.cc:25996 cp/pt.cc:26053
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr ""
 
-#: cp/pt.cc:25731
+#: cp/pt.cc:26001
 #, gcc-internal-format
 msgid ""
 "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr ""
 
-#: cp/pt.cc:25739
+#: cp/pt.cc:26009
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.cc:25775
+#: cp/pt.cc:26045
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr ""
 
-#: cp/pt.cc:25798 cp/pt.cc:25865
+#: cp/pt.cc:26068 cp/pt.cc:26135
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr ""
 
-#: cp/pt.cc:25803 cp/pt.cc:25880
+#: cp/pt.cc:26073 cp/pt.cc:26150
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr ""
 
-#: cp/pt.cc:25837
+#: cp/pt.cc:26107
 #, gcc-internal-format
 msgid "explicit instantiation of non-class template %qD"
 msgstr ""
 
-#: cp/pt.cc:25840
+#: cp/pt.cc:26110
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr ""
 
-#: cp/pt.cc:25849
+#: cp/pt.cc:26119
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr ""
 
-#: cp/pt.cc:25870
+#: cp/pt.cc:26140
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr ""
 
-#: cp/pt.cc:25910
+#: cp/pt.cc:26180
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr ""
 
-#: cp/pt.cc:26208
+#: cp/pt.cc:26490
 #, gcc-internal-format
 msgid "exception specification of %qD depends on itself"
 msgstr ""
@@ -62853,12 +64604,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:26702
+#: cp/pt.cc:26980
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr ""
 
-#: cp/pt.cc:26750
+#: cp/pt.cc:27027
 #, gcc-internal-format
 msgid ""
 "template instantiation depth exceeds maximum of %d instantiating %q+D, "
@@ -62866,170 +64617,170 @@ msgid ""
 "increase the maximum)"
 msgstr ""
 
-#: cp/pt.cc:27122
+#: cp/pt.cc:27397
 #, 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:27152
+#: cp/pt.cc:27427
 #, 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:27161
+#: cp/pt.cc:27436
 #, 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:27169
+#: cp/pt.cc:27444
 #, gcc-internal-format
 msgid "invalid template non-type parameter"
 msgstr ""
 
-#: cp/pt.cc:27171
+#: cp/pt.cc:27446
 #, gcc-internal-format
 msgid "%q#T is not a valid type for a template non-type parameter"
 msgstr ""
 
-#: cp/pt.cc:28569
+#: cp/pt.cc:28874
 #, gcc-internal-format
 msgid "keyword %<template%> not allowed in declarator-id"
 msgstr ""
 
-#: cp/pt.cc:28859
+#: cp/pt.cc:29164
 #, gcc-internal-format
 msgid "a concept cannot be constrained"
 msgstr ""
 
-#: cp/pt.cc:28868
+#: cp/pt.cc:29173
 #, gcc-internal-format
 msgid "concept %qE not in namespace scope"
 msgstr ""
 
-#: cp/pt.cc:28874
+#: cp/pt.cc:29179
 #, gcc-internal-format
 msgid "concept %qE has multiple template parameter lists"
 msgstr ""
 
-#: cp/pt.cc:28901
+#: cp/pt.cc:29210
 #, gcc-internal-format
 msgid ""
 "deducing from brace-enclosed initializer list requires %<#include "
 "<initializer_list>%>"
 msgstr ""
 
-#: cp/pt.cc:29957
+#: cp/pt.cc:30265
 #, gcc-internal-format
 msgid "non-deducible template %qT used without template arguments"
 msgstr ""
 
-#: cp/pt.cc:29969
+#: cp/pt.cc:30277
 #, gcc-internal-format
 msgid ""
 "alias template deduction only available with %<-std=c++20%> or %<-std=gnu+"
 "+20%>"
 msgstr ""
 
-#: cp/pt.cc:29975
+#: cp/pt.cc:30283
 #, gcc-internal-format
 msgid "use %qD directly instead"
 msgstr ""
 
-#: cp/pt.cc:30087
+#: cp/pt.cc:30394
 #, 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:30094
+#: cp/pt.cc:30401
 #, gcc-internal-format
 msgid ""
 "cannot deduce template arguments of %qT, as it has no viable deduction guides"
 msgstr ""
 
-#: cp/pt.cc:30106
+#: cp/pt.cc:30413
 #, gcc-internal-format
 msgid "class template argument deduction failed:"
 msgstr ""
 
-#: cp/pt.cc:30109
+#: cp/pt.cc:30416
 #, gcc-internal-format
 msgid "explicit deduction guides not considered for copy-initialization"
 msgstr ""
 
 #. TODO: Pass down location from cp_finish_decl.
-#: cp/pt.cc:30123
+#: cp/pt.cc:30430
 #, gcc-internal-format
 msgid ""
 "class template argument deduction for %qT failed: explicit deduction guide "
 "selected in copy-list-initialization"
 msgstr ""
 
-#: cp/pt.cc:30127
+#: cp/pt.cc:30434
 #, gcc-internal-format
 msgid "explicit deduction guide declared here"
 msgstr ""
 
-#: cp/pt.cc:30141
+#: cp/pt.cc:30448
 #, gcc-internal-format
 msgid "%qT may not intend to support class template argument deduction"
 msgstr ""
 
-#: cp/pt.cc:30143
+#: cp/pt.cc:30450
 #, gcc-internal-format
 msgid "add a deduction guide to suppress this warning"
 msgstr ""
 
-#: cp/pt.cc:30210
+#: cp/pt.cc:30554
 #, gcc-internal-format
 msgid "direct-list-initialization of %<auto%> requires exactly one element"
 msgstr ""
 
-#: cp/pt.cc:30213
+#: cp/pt.cc:30557
 #, gcc-internal-format
 msgid ""
 "for deduction to %<std::initializer_list%>, use copy-list-initialization (i."
 "e. add %<=%> before the %<{%>)"
 msgstr ""
 
-#: cp/pt.cc:30303
+#: cp/pt.cc:30636
 #, gcc-internal-format
 msgid "unable to deduce lambda return type from %qE"
 msgstr ""
 
-#: cp/pt.cc:30306
+#: cp/pt.cc:30639
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr ""
 
-#: cp/pt.cc:30378
+#: cp/pt.cc:30711
 #, gcc-internal-format
 msgid "placeholder constraints not satisfied"
 msgstr ""
 
-#: cp/pt.cc:30382
+#: cp/pt.cc:30715
 #, gcc-internal-format
 msgid "deduced initializer does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:30386
+#: cp/pt.cc:30719
 #, gcc-internal-format
 msgid "deduced return type does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:30390
+#: cp/pt.cc:30723
 #, gcc-internal-format
 msgid "deduced expression type does not satisfy placeholder constraints"
 msgstr ""
 
-#: cp/pt.cc:30530
+#: cp/pt.cc:30863
 #, gcc-internal-format
 msgid "invalid use of %qT in template argument"
 msgstr ""
@@ -63066,102 +64817,108 @@ msgstr ""
 msgid "%<dynamic_cast%> not permitted with %<-fno-rtti%>"
 msgstr ""
 
-#: cp/rtti.cc:818
+#: cp/rtti.cc:822
 #, gcc-internal-format
 msgid "cannot %<dynamic_cast%> %qE (of type %q#T) to type %q#T (%s)"
 msgstr ""
 
-#: cp/search.cc:278
+#: cp/search.cc:279
 #, gcc-internal-format
 msgid "%qT is an ambiguous base of %qT"
 msgstr ""
 
-#: cp/search.cc:294
+#: cp/search.cc:295
 #, gcc-internal-format
 msgid "%qT is an inaccessible base of %qT"
 msgstr ""
 
-#: cp/search.cc:1913
+#: cp/search.cc:1911
 #, gcc-internal-format
 msgid "looser exception specification on overriding virtual function %q+#F"
 msgstr ""
 
-#: cp/search.cc:1916
+#: cp/search.cc:1914
 #, gcc-internal-format
 msgid "overridden function is %q#F"
 msgstr ""
 
-#: cp/search.cc:1991
+#: cp/search.cc:1989
 #, gcc-internal-format
 msgid "invalid covariant return type for %q#D"
 msgstr ""
 
-#: cp/search.cc:1993 cp/search.cc:2010 cp/search.cc:2027
+#: cp/search.cc:1991 cp/search.cc:2008 cp/search.cc:2025
 #, gcc-internal-format
 msgid "overridden function is %q#D"
 msgstr ""
 
-#: cp/search.cc:2006
+#: cp/search.cc:2004
 #, gcc-internal-format
 msgid "invalid covariant return type for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2008
+#: cp/search.cc:2006
 #, gcc-internal-format
 msgid "conflicting return type specified for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2025
+#: cp/search.cc:2023
 #, gcc-internal-format
 msgid "conflicting type attributes specified for %q+#D"
 msgstr ""
 
-#: cp/search.cc:2040
+#: cp/search.cc:2038
 #, gcc-internal-format
 msgid "%<consteval%> function %q+D overriding non-%<consteval%> function"
 msgstr ""
 
-#: cp/search.cc:2043
+#: cp/search.cc:2041
 #, gcc-internal-format
 msgid "non-%<consteval%> function %q+D overriding %<consteval%> function"
 msgstr ""
 
-#: cp/search.cc:2046 cp/search.cc:2075 cp/search.cc:2084 cp/search.cc:2093
+#: cp/search.cc:2044 cp/search.cc:2073 cp/search.cc:2082 cp/search.cc:2093
+#: cp/search.cc:2118
 #, gcc-internal-format
 msgid "overridden function is %qD"
 msgstr ""
 
-#: cp/search.cc:2062
+#: cp/search.cc:2060
 #, gcc-internal-format
 msgid "%qD declared %<transaction_safe_dynamic%>"
 msgstr ""
 
-#: cp/search.cc:2064
+#: cp/search.cc:2062
 #, gcc-internal-format
 msgid "overriding %qD declared %<transaction_safe%>"
 msgstr ""
 
-#: cp/search.cc:2072
+#: cp/search.cc:2070
 #, gcc-internal-format
 msgid "deleted function %q+D overriding non-deleted function"
 msgstr ""
 
-#: cp/search.cc:2081
+#: cp/search.cc:2079
 #, gcc-internal-format
 msgid "non-deleted function %q+D overriding deleted function"
 msgstr ""
 
-#: cp/search.cc:2091
+#: cp/search.cc:2090
+#, gcc-internal-format
+msgid "function with contracts %q+D overriding contractless function"
+msgstr ""
+
+#: cp/search.cc:2116
 #, gcc-internal-format
 msgid "virtual function %q+D overriding final function"
 msgstr ""
 
-#: cp/search.cc:2176
+#: cp/search.cc:2201
 #, gcc-internal-format
 msgid "%q+#D cannot be declared"
 msgstr ""
 
-#: cp/search.cc:2177
+#: cp/search.cc:2202
 #, gcc-internal-format
 msgid "  since %q+#D declared in base class"
 msgstr ""
@@ -63175,8 +64932,8 @@ msgstr ""
 #: cp/semantics.cc:1019
 #, gcc-internal-format
 msgid ""
-"%<std::is_constant_evaluated%> always evaluates to false in a non-%<constexpr"
-"%> function"
+"%<std::is_constant_evaluated%> always evaluates to false in a non-"
+"%<constexpr%> function"
 msgstr ""
 
 #: cp/semantics.cc:1023
@@ -63186,590 +64943,607 @@ msgid ""
 "function"
 msgstr ""
 
-#: cp/semantics.cc:1190
+#: cp/semantics.cc:1194
 #, gcc-internal-format
 msgid "suggest explicit braces around empty body in %<do%> statement"
 msgstr ""
 
-#: cp/semantics.cc:1698
+#: cp/semantics.cc:1707
 #, gcc-internal-format
 msgid "catching polymorphic type %q#T by value"
 msgstr ""
 
-#: cp/semantics.cc:1703
+#: cp/semantics.cc:1712
 #, gcc-internal-format
 msgid "catching type %q#T by value"
 msgstr ""
 
-#: cp/semantics.cc:1708
+#: cp/semantics.cc:1717
 #, gcc-internal-format
 msgid "catching non-reference type %q#T"
 msgstr ""
 
-#: cp/semantics.cc:1918
+#: cp/semantics.cc:1929
 #, gcc-internal-format
 msgid "type of %<asm%> operand %qE could not be determined"
 msgstr ""
 
-#: cp/semantics.cc:2000
+#: cp/semantics.cc:2011
 #, gcc-internal-format
 msgid "%<__label__%> declarations are only allowed in function scopes"
 msgstr ""
 
-#: cp/semantics.cc:2169
+#: cp/semantics.cc:2181
 #, gcc-internal-format
 msgid "invalid use of member %qD in static member function"
 msgstr ""
 
-#: cp/semantics.cc:2421
+#: cp/semantics.cc:2185
+#, gcc-internal-format
+msgid "invalid use of member %qD in constructor %<pre%> contract"
+msgstr ""
+
+#: cp/semantics.cc:2189
+#, gcc-internal-format
+msgid "invalid use of member %qD in destructor %<post%> contract"
+msgstr ""
+
+#: cp/semantics.cc:2441
 #, gcc-internal-format
 msgid "%qE missing template arguments"
 msgstr ""
 
-#: cp/semantics.cc:2481
+#: cp/semantics.cc:2501
 #, gcc-internal-format
 msgid ""
 "a statement expression is an insufficient context for overload resolution"
 msgstr ""
 
-#: cp/semantics.cc:2833
+#: cp/semantics.cc:2861
 #, gcc-internal-format
 msgid "cannot call a concept as a function"
 msgstr ""
 
-#: cp/semantics.cc:2901
+#: cp/semantics.cc:2929
 #, gcc-internal-format
 msgid "arguments to destructor are not allowed"
 msgstr ""
 
-#: cp/semantics.cc:2998
+#: cp/semantics.cc:3031
 #, gcc-internal-format
 msgid "%<this%> is unavailable for static member functions"
 msgstr ""
 
-#: cp/semantics.cc:3000
+#: cp/semantics.cc:3033
+#, gcc-internal-format
+msgid "invalid use of %<this%> before it is valid"
+msgstr ""
+
+#: cp/semantics.cc:3035
+#, gcc-internal-format
+msgid "invalid use of %<this%> after it is valid"
+msgstr ""
+
+#: cp/semantics.cc:3037
 #, gcc-internal-format
 msgid "invalid use of %<this%> in non-member function"
 msgstr ""
 
-#: cp/semantics.cc:3002
+#: cp/semantics.cc:3039
 #, gcc-internal-format
 msgid "invalid use of %<this%> at top level"
 msgstr ""
 
-#: cp/semantics.cc:3024
+#: cp/semantics.cc:3061
 #, gcc-internal-format
 msgid "invalid qualifying scope in pseudo-destructor name"
 msgstr ""
 
-#: cp/semantics.cc:3032 cp/typeck.cc:2940
+#: cp/semantics.cc:3069 cp/typeck.cc:3093
 #, gcc-internal-format
 msgid "qualified type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/semantics.cc:3054
+#: cp/semantics.cc:3091
 #, gcc-internal-format
 msgid "%qE is not of type %qT"
 msgstr ""
 
-#: cp/semantics.cc:3161
+#: cp/semantics.cc:3205
 #, gcc-internal-format
 msgid "compound literal of non-object type %qT"
 msgstr ""
 
-#: cp/semantics.cc:3181
+#: cp/semantics.cc:3225
 #, gcc-internal-format
 msgid "%<auto{x}%> cannot be constrained"
 msgstr ""
 
-#: cp/semantics.cc:3186
+#: cp/semantics.cc:3230
 #, gcc-internal-format
 msgid "%<auto{x}%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/semantics.cc:3367
+#: cp/semantics.cc:3422
 #, gcc-internal-format
 msgid "template type parameters must use the keyword %<class%> or %<typename%>"
 msgstr ""
 
-#: cp/semantics.cc:3417
+#: cp/semantics.cc:3471
 #, gcc-internal-format
 msgid ""
 "invalid use of type %qT as a default value for a template template-parameter"
 msgstr ""
 
-#: cp/semantics.cc:3420
+#: cp/semantics.cc:3474
 #, gcc-internal-format
 msgid "invalid default argument for a template template parameter"
 msgstr ""
 
-#: cp/semantics.cc:3437
+#: cp/semantics.cc:3491
 #, gcc-internal-format
 msgid "definition of %q#T inside template parameter list"
 msgstr ""
 
-#: cp/semantics.cc:3468
+#: cp/semantics.cc:3522
 #, gcc-internal-format
 msgid "invalid definition of qualified type %qT"
 msgstr ""
 
-#: cp/semantics.cc:3760
+#: cp/semantics.cc:3814
 #, gcc-internal-format
 msgid "invalid base-class specification"
 msgstr ""
 
-#: cp/semantics.cc:3925
+#: cp/semantics.cc:3979
 #, gcc-internal-format
 msgid "cannot capture member %qD of anonymous union"
 msgstr ""
 
-#: cp/semantics.cc:3942 cp/semantics.cc:12178
+#: cp/semantics.cc:3996 cp/semantics.cc:12372
 #, gcc-internal-format
 msgid "%qD is not captured"
 msgstr ""
 
-#: cp/semantics.cc:3946
+#: cp/semantics.cc:4000
 #, gcc-internal-format
 msgid "the lambda has no capture-default"
 msgstr ""
 
-#: cp/semantics.cc:3948
+#: cp/semantics.cc:4002
 #, gcc-internal-format
 msgid ""
 "lambda in local class %q+T cannot capture variables from the enclosing "
 "context"
 msgstr ""
 
-#: cp/semantics.cc:3960
+#: cp/semantics.cc:4017
 #, gcc-internal-format
 msgid "use of local variable with automatic storage from containing function"
 msgstr ""
 
-#: cp/semantics.cc:3962
+#: cp/semantics.cc:4019
 #, gcc-internal-format
 msgid "use of parameter from containing function"
 msgstr ""
 
-#: cp/semantics.cc:4089
+#: cp/semantics.cc:4147
 #, gcc-internal-format
 msgid "use of parameter outside function body"
 msgstr ""
 
-#: cp/semantics.cc:4099
+#: cp/semantics.cc:4157
 #, gcc-internal-format
 msgid "missing template arguments"
 msgstr ""
 
-#: cp/semantics.cc:4135
+#: cp/semantics.cc:4193
 #, 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:4166
+#: cp/semantics.cc:4233
 #, gcc-internal-format
 msgid "use of class template %qT as expression"
 msgstr ""
 
 #. Ambiguous reference to base members.
-#: cp/semantics.cc:4173
+#: cp/semantics.cc:4240
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous in multiple inheritance lattice"
 msgstr ""
 
-#: cp/semantics.cc:4201
+#: cp/semantics.cc:4268
 #, gcc-internal-format
 msgid "%qD cannot appear in a constant-expression"
 msgstr ""
 
-#: cp/semantics.cc:4363
+#: cp/semantics.cc:4430
 #, gcc-internal-format
 msgid "type of %qE is unknown"
 msgstr ""
 
-#: cp/semantics.cc:4392
+#: cp/semantics.cc:4448 rust/backend/rust-tree.cc:5482
 #, gcc-internal-format
 msgid "%qT is not an enumeration type"
 msgstr ""
 
 #. Parameter packs can only be used in templates
-#: cp/semantics.cc:4526
+#: cp/semantics.cc:4582
 #, gcc-internal-format
 msgid "parameter pack %<__bases%> only valid in template declaration"
 msgstr ""
 
-#: cp/semantics.cc:4558
+#: cp/semantics.cc:4614
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
 msgstr ""
 
-#: cp/semantics.cc:4571
+#: cp/semantics.cc:4627
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to member function %qD"
 msgstr ""
 
-#: cp/semantics.cc:4575
+#: cp/semantics.cc:4631
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to member function"
 msgstr ""
 
-#: cp/semantics.cc:4580
+#: cp/semantics.cc:4636
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to an enumerator %qD"
 msgstr ""
 
-#: cp/semantics.cc:4591
+#: cp/semantics.cc:4647
 #, gcc-internal-format
 msgid ""
 "%<offsetof%> within non-standard-layout type %qT is conditionally-supported"
 msgstr ""
 
-#: cp/semantics.cc:5931
+#: cp/semantics.cc:5987
 #, gcc-internal-format
 msgid "user defined reduction lookup is ambiguous"
 msgstr ""
 
-#: cp/semantics.cc:6204
+#: cp/semantics.cc:6260
 #, gcc-internal-format
 msgid "%qE in %<reduction%> clause is a zero size array"
 msgstr ""
 
-#: cp/semantics.cc:6250
+#: cp/semantics.cc:6306
 #, gcc-internal-format
 msgid "%qE has const type for %<reduction%>"
 msgstr ""
 
-#: cp/semantics.cc:6369
+#: cp/semantics.cc:6425
 #, gcc-internal-format
 msgid "user defined reduction with constructor initializer for base class %qT"
 msgstr ""
 
-#: cp/semantics.cc:6836
+#: cp/semantics.cc:6896
+#, 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:6911
 #, gcc-internal-format
 msgid ""
 "linear clause with %qs modifier applied to non-reference variable with %qT "
 "type"
 msgstr ""
 
-#: cp/semantics.cc:6851
+#: cp/semantics.cc:6926
 #, gcc-internal-format
 msgid ""
 "linear clause applied to non-integral non-pointer variable with %qT type"
 msgstr ""
 
-#: cp/semantics.cc:6875
+#: cp/semantics.cc:6950
 #, gcc-internal-format
 msgid "linear step expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:6968 cp/semantics.cc:7100 cp/semantics.cc:7159
-#: cp/semantics.cc:7557 cp/semantics.cc:8674
+#: cp/semantics.cc:7043 cp/semantics.cc:7175 cp/semantics.cc:7234
+#: cp/semantics.cc:7632 cp/semantics.cc:8794
 #, gcc-internal-format
 msgid "%<this%> allowed in OpenMP only in %<declare simd%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:6980 cp/semantics.cc:8687
+#: cp/semantics.cc:7055 cp/semantics.cc:8807
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %qs"
 msgstr ""
 
-#: cp/semantics.cc:7113
+#: cp/semantics.cc:7188
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %<firstprivate%>"
 msgstr ""
 
-#: cp/semantics.cc:7172
+#: cp/semantics.cc:7247
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %<lastprivate%>"
 msgstr ""
 
-#: cp/semantics.cc:7222
+#: cp/semantics.cc:7297
 #, gcc-internal-format
 msgid "%<gang%> static expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7236
+#: cp/semantics.cc:7311
 #, gcc-internal-format
 msgid "%<gang%> static value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7270
+#: cp/semantics.cc:7345
 #, gcc-internal-format
 msgid "%<gang%> num expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7273
+#: cp/semantics.cc:7348
 #, gcc-internal-format
 msgid "%<vector%> length expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7277
+#: cp/semantics.cc:7352
 #, gcc-internal-format
 msgid "%<worker%> num expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7299
+#: cp/semantics.cc:7374
 #, gcc-internal-format
 msgid "%<gang%> num value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7303
+#: cp/semantics.cc:7378
 #, gcc-internal-format
 msgid "%<vector%> length value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7308
+#: cp/semantics.cc:7383
 #, gcc-internal-format
 msgid "%<worker%> num value must be positive"
 msgstr ""
 
-#: cp/semantics.cc:7382
+#: cp/semantics.cc:7457
 #, gcc-internal-format
 msgid "schedule chunk size expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7415
+#: cp/semantics.cc:7490
 #, gcc-internal-format
 msgid "%qs length expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7429
+#: cp/semantics.cc:7504
 #, gcc-internal-format
 msgid "%qs length expression must be positive constant integer expression"
 msgstr ""
 
-#: cp/semantics.cc:7449
+#: cp/semantics.cc:7524
 #, gcc-internal-format
 msgid "%<async%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7478
+#: cp/semantics.cc:7553
 #, gcc-internal-format
 msgid "%<thread_limit%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7508
+#: cp/semantics.cc:7583
 #, gcc-internal-format
 msgid "%<device%> id must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7539
+#: cp/semantics.cc:7614
 #, gcc-internal-format
 msgid "%<dist_schedule%> chunk size expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7568
+#: cp/semantics.cc:7643
 #, gcc-internal-format
 msgid "%qD is not a variable in %<aligned%> clause"
 msgstr ""
 
-#: cp/semantics.cc:7583
+#: cp/semantics.cc:7658
 #, 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:7590
+#: cp/semantics.cc:7665
 #, gcc-internal-format
 msgid "%qD appears more than once in %<aligned%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:7605
+#: cp/semantics.cc:7680
 #, gcc-internal-format
 msgid "%<aligned%> clause alignment expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:7638
+#: cp/semantics.cc:7713
 #, gcc-internal-format
 msgid "%qD is not a variable in %<nontemporal%> clause"
 msgstr ""
 
-#: cp/semantics.cc:7649
+#: cp/semantics.cc:7724
 #, gcc-internal-format
 msgid "%qD appears more than once in %<nontemporal%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:7666
+#: cp/semantics.cc:7741
 #, gcc-internal-format
 msgid "%<this%> not allowed in %<allocate%> clause"
 msgstr ""
 
-#: cp/semantics.cc:7678
+#: cp/semantics.cc:7753
 #, gcc-internal-format
 msgid "%qD is not a variable in %<allocate%> clause"
 msgstr ""
 
-#: cp/semantics.cc:7687
+#: cp/semantics.cc:7762
 #, gcc-internal-format
 msgid "%qD appears more than once in %<allocate%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:7824
+#: cp/semantics.cc:7910
 #, gcc-internal-format
 msgid "%qD is not lvalue expression nor array section in %qs clause"
 msgstr ""
 
-#: cp/semantics.cc:8334
+#: cp/semantics.cc:8449
 #, gcc-internal-format
 msgid "template %qE in clause %qs"
 msgstr ""
 
-#: cp/semantics.cc:8338
+#: cp/semantics.cc:8452
 #, gcc-internal-format
 msgid "overloaded function name %qE in clause %qs"
 msgstr ""
 
-#: cp/semantics.cc:8407
+#: cp/semantics.cc:8521
 #, gcc-internal-format
 msgid "%<grainsize%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8437
+#: cp/semantics.cc:8551
 #, gcc-internal-format
 msgid "%<priority%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8467
+#: cp/semantics.cc:8581
 #, gcc-internal-format
 msgid "%<hint%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8480
+#: cp/semantics.cc:8594
 #, gcc-internal-format
 msgid "%<hint%> expression must be constant integer expression"
 msgstr ""
 
-#: cp/semantics.cc:8497
+#: cp/semantics.cc:8611
 #, gcc-internal-format
 msgid "%<filter%> expression must be integral"
 msgstr ""
 
-#: cp/semantics.cc:8528
+#: cp/semantics.cc:8642
 #, gcc-internal-format
 msgid "%qs variable is neither a pointer nor reference to pointer"
 msgstr ""
 
-#: cp/semantics.cc:8538
+#: cp/semantics.cc:8652
 #, gcc-internal-format
 msgid ""
 "%qs variable is neither a pointer, nor an array nor reference to pointer or "
 "array"
 msgstr ""
 
-#: cp/semantics.cc:8615
+#: cp/semantics.cc:8735
 #, gcc-internal-format
 msgid "%<tile%> argument needs integral type"
 msgstr ""
 
-#: cp/semantics.cc:9020
+#: cp/semantics.cc:9151
 #, gcc-internal-format
 msgid ""
 "%<const%> qualified %qE without %<mutable%> member may appear only in "
 "%<shared%> or %<firstprivate%> clauses"
 msgstr ""
 
-#: cp/semantics.cc:9247
+#: cp/semantics.cc:9378
 #, gcc-internal-format
 msgid "%<threadprivate%> %qD is not file, namespace or block scope variable"
 msgstr ""
 
-#: cp/semantics.cc:9261
+#: cp/semantics.cc:9392
 #, gcc-internal-format
 msgid "%<threadprivate%> %qE directive not in %qT definition"
 msgstr ""
 
-#: cp/semantics.cc:9989
+#: cp/semantics.cc:10121
 #, gcc-internal-format
 msgid "difference between %qE and %qD does not have integer type"
 msgstr ""
 
-#: cp/semantics.cc:10457
+#: cp/semantics.cc:10589
 #, gcc-internal-format
 msgid "%<#pragma omp simd%> used with class iteration variable %qE"
 msgstr ""
 
-#: cp/semantics.cc:10767 cp/semantics.cc:10777
+#: cp/semantics.cc:10899 cp/semantics.cc:10909
 #, gcc-internal-format
 msgid "%<#pragma omp atomic update%> uses two different expressions for memory"
 msgstr ""
 
-#: cp/semantics.cc:11195
+#: cp/semantics.cc:11289
 #, gcc-internal-format, gfc-internal-format
 msgid "static assertion failed: %s"
 msgstr ""
 
-#: cp/semantics.cc:11209
-#, gcc-internal-format
-msgid "the comparison reduces to %qE"
-msgstr ""
-
-#: cp/semantics.cc:11212
-#, gcc-internal-format
-msgid "%qE evaluates to false"
-msgstr ""
-
-#: cp/semantics.cc:11216
+#: cp/semantics.cc:11296
 #, gcc-internal-format
 msgid "non-constant condition for static assertion"
 msgstr ""
 
-#: cp/semantics.cc:11245
+#: cp/semantics.cc:11325
 #, gcc-internal-format
 msgid "argument to %<decltype%> must be an expression"
 msgstr ""
 
-#: cp/semantics.cc:11290
+#: cp/semantics.cc:11370
 #, gcc-internal-format
 msgid "%<decltype%> cannot resolve address of overloaded function"
 msgstr ""
 
-#: cp/semantics.cc:11525
+#: cp/semantics.cc:11605 rust/backend/rust-tree.cc:5196
 #, gcc-internal-format
 msgid ""
 "%<__builtin_is_pointer_interconvertible_with_class%> needs a single argument"
 msgstr ""
 
-#: cp/semantics.cc:11534
+#: cp/semantics.cc:11614 rust/backend/rust-tree.cc:5205
 #, gcc-internal-format
 msgid ""
 "%<__builtin_is_pointer_interconvertible_with_class%> argument is not pointer "
 "to member"
 msgstr ""
 
-#: cp/semantics.cc:11705
+#: cp/semantics.cc:11785 rust/backend/rust-tree.cc:5809
 #, gcc-internal-format
 msgid ""
 "%<__builtin_is_corresponding_member%> not well defined for anonymous unions"
 msgstr ""
 
-#: cp/semantics.cc:11729
+#: cp/semantics.cc:11809 rust/backend/rust-tree.cc:5853
 #, gcc-internal-format
 msgid "%<__builtin_is_corresponding_member%> needs two arguments"
 msgstr ""
 
-#: cp/semantics.cc:11740
+#: cp/semantics.cc:11820 rust/backend/rust-tree.cc:5863
 #, gcc-internal-format
 msgid "%<__builtin_is_corresponding_member%> argument is not pointer to member"
 msgstr ""
 
-#: cp/semantics.cc:12217
+#: cp/semantics.cc:12411
 #, gcc-internal-format
 msgid "operand of fold expression has no unexpanded parameter packs"
 msgstr ""
 
-#: cp/semantics.cc:12276
+#: cp/semantics.cc:12470
 #, gcc-internal-format
 msgid "both arguments in binary fold have unexpanded parameter packs"
 msgstr ""
 
-#: cp/semantics.cc:12278
+#: cp/semantics.cc:12472
 #, gcc-internal-format
 msgid "no unexpanded parameter packs in binary fold"
 msgstr ""
 
-#: cp/semantics.cc:12296
+#: cp/semantics.cc:12490
 #, gcc-internal-format
 msgid "non-pointer argument to %<__builtin_launder%>"
 msgstr ""
@@ -63777,704 +65551,709 @@ 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:12345
+#: cp/semantics.cc:12539
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> destination type %qT is an array type"
 msgstr ""
 
-#: cp/semantics.cc:12351
+#: cp/semantics.cc:12545
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable"
 msgstr ""
 
-#: cp/semantics.cc:12378
+#: cp/semantics.cc:12572
 #, gcc-internal-format
 msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable"
 msgstr ""
 
-#: cp/semantics.cc:12386
+#: cp/semantics.cc:12580
 #, gcc-internal-format
 msgid ""
 "%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE"
 msgstr ""
 
-#: cp/tree.cc:1480
+#: cp/tree.cc:1485 rust/backend/rust-tree.cc:2564
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr ""
 
-#: cp/tree.cc:2016
+#: cp/tree.cc:2028
 #, gcc-internal-format
 msgid "statement-expression in a constant expression"
 msgstr ""
 
-#: cp/tree.cc:4421
+#: cp/tree.cc:4543
 #, 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:4425
+#: cp/tree.cc:4547
 #, gcc-internal-format
 msgid ""
 "%<-fabi-version=12%> (GCC 8.1) accidentally changes the calling convention "
 "for %qT"
 msgstr ""
 
-#: cp/tree.cc:4429
+#: cp/tree.cc:4551
 #, gcc-internal-format
 msgid " declared here"
 msgstr ""
 
-#: cp/tree.cc:4434
+#: cp/tree.cc:4556
 #, gcc-internal-format
 msgid ""
 "the calling convention for %qT changes in %<-fabi-version=13%> (GCC 8.2)"
 msgstr ""
 
-#: cp/tree.cc:4436
+#: cp/tree.cc:4558
 #, gcc-internal-format
 msgid " because all of its copy and move constructors are deleted"
 msgstr ""
 
-#: cp/tree.cc:4863
+#: cp/tree.cc:4985
 #, gcc-internal-format
 msgid "base class %qT is not public"
 msgstr ""
 
-#: cp/tree.cc:4866
+#: cp/tree.cc:4988
 #, gcc-internal-format
 msgid "%qD is not public"
 msgstr ""
 
-#: cp/tree.cc:4873
+#: cp/tree.cc:4995
 #, gcc-internal-format
 msgid "%qD is mutable"
 msgstr ""
 
-#: cp/tree.cc:4881
+#: cp/tree.cc:5003
 #, gcc-internal-format
 msgid "%qD has a non-structural type"
 msgstr ""
 
-#: cp/tree.cc:4899
+#: cp/tree.cc:5026
+#, gcc-internal-format
+msgid "%qE attribute can only be applied to functions or parameters"
+msgstr ""
+
+#: cp/tree.cc:5047
 #, gcc-internal-format
 msgid "%qE attribute argument must be a string constant"
 msgstr ""
 
-#: cp/tree.cc:4914
+#: cp/tree.cc:5062
 #, gcc-internal-format
 msgid ""
 "%qE attribute can only be applied to functions or to class or enumeration "
 "types"
 msgstr ""
 
-#: cp/tree.cc:4932
+#: cp/tree.cc:5080
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to non-static data members"
 msgstr ""
 
-#: cp/tree.cc:4938
+#: cp/tree.cc:5086
 #, gcc-internal-format
 msgid "%qE attribute cannot be applied to a bit-field"
 msgstr ""
 
-#: cp/tree.cc:4958
+#: cp/tree.cc:5106
 #, gcc-internal-format
 msgid "%qE attribute takes no arguments"
 msgstr ""
 
-#: cp/tree.cc:4962
+#: cp/tree.cc:5110
 #, gcc-internal-format
 msgid ""
 "ISO C++ %qE attribute does not apply to functions; treating as %<[[gnu::"
 "%E]]%>"
 msgstr ""
 
-#: cp/tree.cc:5025
+#: cp/tree.cc:5184
 #, gcc-internal-format
 msgid "requested %<init_priority%> is not an integer constant"
 msgstr ""
 
-#: cp/tree.cc:5047
+#: cp/tree.cc:5206
 #, gcc-internal-format
 msgid ""
 "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr ""
 
-#: cp/tree.cc:5055
+#: cp/tree.cc:5214
 #, gcc-internal-format
 msgid "requested %<init_priority%> %i is out of range [0, %i]"
 msgstr ""
 
-#: cp/tree.cc:5066
+#: cp/tree.cc:5225
 #, gcc-internal-format
 msgid "requested %<init_priority%> %i is reserved for internal use"
 msgstr ""
 
-#: cp/tree.cc:5078
-#, gcc-internal-format
-msgid "%qE attribute is not supported on this platform"
-msgstr ""
-
-#: cp/tree.cc:5105
+#: cp/tree.cc:5255
 #, gcc-internal-format
 msgid "redeclaration of %qD adds abi tag %qE"
 msgstr ""
 
-#: cp/tree.cc:5125
+#: cp/tree.cc:5275
 #, gcc-internal-format
 msgid "the %qE attribute requires arguments"
 msgstr ""
 
-#: cp/tree.cc:5136
+#: cp/tree.cc:5286
 #, gcc-internal-format
 msgid "arguments to the %qE attribute must be narrow string literals"
 msgstr ""
 
-#: cp/tree.cc:5149 cp/tree.cc:5162
+#: cp/tree.cc:5299 cp/tree.cc:5312
 #, gcc-internal-format
 msgid "arguments to the %qE attribute must contain valid identifiers"
 msgstr ""
 
-#: cp/tree.cc:5151
+#: cp/tree.cc:5301
 #, gcc-internal-format
 msgid "%<%c%> is not a valid first character for an identifier"
 msgstr ""
 
-#: cp/tree.cc:5164
+#: cp/tree.cc:5314
 #, gcc-internal-format
 msgid "%<%c%> is not a valid character in an identifier"
 msgstr ""
 
-#: cp/tree.cc:5188
+#: cp/tree.cc:5338
 #, gcc-internal-format
 msgid "%qE attribute applied to non-class, non-enum type %qT"
 msgstr ""
 
-#: cp/tree.cc:5194
+#: cp/tree.cc:5344
 #, gcc-internal-format
 msgid "%qE attribute applied to %qT after its definition"
 msgstr ""
 
-#: cp/tree.cc:5201
+#: cp/tree.cc:5351
 #, gcc-internal-format
 msgid "ignoring %qE attribute applied to template instantiation %qT"
 msgstr ""
 
-#: cp/tree.cc:5208
+#: cp/tree.cc:5358
 #, gcc-internal-format
 msgid "ignoring %qE attribute applied to template specialization %qT"
 msgstr ""
 
-#: cp/tree.cc:5230
+#: cp/tree.cc:5380
 #, gcc-internal-format
 msgid "%qE attribute applied to non-function, non-variable %qD"
 msgstr ""
 
-#: cp/tree.cc:5236
+#: cp/tree.cc:5386
 #, gcc-internal-format
 msgid "%qE attribute applied to extern \"C\" declaration %qD"
 msgstr ""
 
-#: cp/tree.cc:6117
+#: cp/tree.cc:6285
 #, gcc-internal-format
 msgid "zero as null pointer constant"
 msgstr ""
 
-#: cp/tree.cc:6139
+#: cp/tree.cc:6326 rust/backend/rust-tree.cc:3144
 #, gcc-internal-format
 msgid "%<lang_*%> check: failed in %s, at %s:%d"
 msgstr ""
 
-#: cp/typeck.cc:478
+#: cp/typeck.cc:625
 #, gcc-internal-format
 msgid "comparison between distinct pointer types %qT and %qT lacks a cast"
 msgstr ""
 
-#: cp/typeck.cc:484
+#: cp/typeck.cc:631
 #, gcc-internal-format
 msgid "conversion between distinct pointer types %qT and %qT lacks a cast"
 msgstr ""
 
-#: cp/typeck.cc:490
+#: cp/typeck.cc:637
 #, gcc-internal-format
 msgid ""
 "conditional expression between distinct pointer types %qT and %qT lacks a "
 "cast"
 msgstr ""
 
-#: cp/typeck.cc:638
+#: cp/typeck.cc:785
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids comparison between pointer of type %<void *%> and pointer-to-"
 "function"
 msgstr ""
 
-#: cp/typeck.cc:643
+#: cp/typeck.cc:790
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids conversion between pointer of type %<void *%> and pointer-to-"
 "function"
 msgstr ""
 
-#: cp/typeck.cc:648
+#: cp/typeck.cc:795
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids conditional expression between pointer of type %<void *%> "
 "and pointer-to-function"
 msgstr ""
 
-#: cp/typeck.cc:727
+#: cp/typeck.cc:874
 #, gcc-internal-format
 msgid ""
 "comparison between distinct pointer-to-member types %qT and %qT lacks a cast"
 msgstr ""
 
-#: cp/typeck.cc:732
+#: cp/typeck.cc:879
 #, gcc-internal-format
 msgid ""
 "conversion between distinct pointer-to-member types %qT and %qT lacks a cast"
 msgstr ""
 
-#: cp/typeck.cc:737
+#: cp/typeck.cc:884
 #, gcc-internal-format
 msgid ""
 "conditional expression between distinct pointer-to-member types %qT and %qT "
 "lacks a cast"
 msgstr ""
 
-#: cp/typeck.cc:1558
+#: cp/typeck.cc:1710
 #, gcc-internal-format
 msgid "canonical types differ for identical types %qT and %qT"
 msgstr ""
 
-#: cp/typeck.cc:1565
+#: cp/typeck.cc:1717
 #, gcc-internal-format
 msgid "same canonical type node for different types %qT and %qT"
 msgstr ""
 
-#: cp/typeck.cc:1895
+#: cp/typeck.cc:2047
 #, gcc-internal-format
 msgid "invalid application of %qs to a member function"
 msgstr ""
 
-#: cp/typeck.cc:2000
+#: cp/typeck.cc:2152
 #, gcc-internal-format
 msgid "invalid application of %<sizeof%> to a bit-field"
 msgstr ""
 
-#: cp/typeck.cc:2008
+#: cp/typeck.cc:2160
 #, gcc-internal-format
 msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
 msgstr ""
 
-#: cp/typeck.cc:2073
+#: cp/typeck.cc:2225
 #, gcc-internal-format
 msgid "invalid application of %<__alignof%> to a bit-field"
 msgstr ""
 
-#: cp/typeck.cc:2084
+#: cp/typeck.cc:2236
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids applying %<__alignof%> to an expression of function type"
 msgstr ""
 
-#: cp/typeck.cc:2168
+#: cp/typeck.cc:2320
 #, gcc-internal-format
 msgid "%<alignas%> argument has non-integral type %qT"
 msgstr ""
 
-#: cp/typeck.cc:2213
+#: cp/typeck.cc:2366 rust/backend/rust-tree.cc:3784
 #, gcc-internal-format
 msgid "invalid use of non-static member function of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:2389
+#: cp/typeck.cc:2542
 #, gcc-internal-format
 msgid "taking address of temporary array"
 msgstr ""
 
-#: cp/typeck.cc:2571
+#: cp/typeck.cc:2724
 #, gcc-internal-format
 msgid "ISO C++ forbids converting a string constant to %qT"
 msgstr ""
 
-#: cp/typeck.cc:2575
+#: cp/typeck.cc:2728
 #, gcc-internal-format
 msgid "deprecated conversion from string constant to %qT"
 msgstr ""
 
-#: cp/typeck.cc:2690 cp/typeck.cc:3255
+#: cp/typeck.cc:2843 cp/typeck.cc:3408
 #, 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:2694 cp/typeck.cc:3259
+#: cp/typeck.cc:2847 cp/typeck.cc:3412
 #, gcc-internal-format
 msgid "request for member %qD in %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck.cc:2728
+#: cp/typeck.cc:2881
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qE"
 msgstr ""
 
-#: cp/typeck.cc:2805
+#: cp/typeck.cc:2958
 #, gcc-internal-format
 msgid ""
 "invalid access to non-static data member %qD in virtual base of NULL object"
 msgstr ""
 
-#: cp/typeck.cc:2955
+#: cp/typeck.cc:3108
 #, gcc-internal-format
 msgid "object type %qT does not match destructor name ~%qT"
 msgstr ""
 
-#: cp/typeck.cc:2964
+#: cp/typeck.cc:3117
 #, gcc-internal-format
 msgid "the type being destroyed is %qT, but the destructor refers to %qT"
 msgstr ""
 
-#: cp/typeck.cc:3106
+#: cp/typeck.cc:3259
 #, gcc-internal-format
 msgid "field %q#D can be accessed via %q#D"
 msgstr ""
 
 #. No hint.
-#: cp/typeck.cc:3125
+#: cp/typeck.cc:3278
 #, gcc-internal-format
 msgid "%q#T has no member named %qE"
 msgstr ""
 
-#: cp/typeck.cc:3148
+#: cp/typeck.cc:3301
 #, gcc-internal-format
 msgid "%q#T has no member named %qE; did you mean %q#D? (accessible via %q#D)"
 msgstr ""
 
-#: cp/typeck.cc:3159
+#: cp/typeck.cc:3312
 #, 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:3174
+#: cp/typeck.cc:3327
 #, gcc-internal-format
 msgid "%q#T has no member named %qE; did you mean %qE?"
 msgstr ""
 
-#: cp/typeck.cc:3289 cp/typeck.cc:3315
+#: cp/typeck.cc:3442 cp/typeck.cc:3468
 #, gcc-internal-format
 msgid "%<%D::%D%> is not a member of %qT"
 msgstr ""
 
-#: cp/typeck.cc:3354
+#: cp/typeck.cc:3507
 #, gcc-internal-format
 msgid "%qT is not a base of %qT"
 msgstr ""
 
-#: cp/typeck.cc:3417
+#: cp/typeck.cc:3570
 #, gcc-internal-format
 msgid "%qD is not a member template function"
 msgstr ""
 
-#: cp/typeck.cc:3683
+#: cp/typeck.cc:3836
 #, gcc-internal-format
 msgid "%qT is not a pointer-to-object type"
 msgstr ""
 
-#: cp/typeck.cc:3715
+#: cp/typeck.cc:3868
 #, gcc-internal-format
 msgid "invalid use of array indexing on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3718
+#: cp/typeck.cc:3871
 #, gcc-internal-format
 msgid "invalid use of unary %<*%> on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3721
+#: cp/typeck.cc:3874
 #, gcc-internal-format
 msgid "invalid use of implicit conversion on pointer to member"
 msgstr ""
 
-#: cp/typeck.cc:3725
+#: cp/typeck.cc:3878
 #, 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:3790
+#: cp/typeck.cc:3943
 #, gcc-internal-format
 msgid "subscript missing in array reference"
 msgstr ""
 
-#: cp/typeck.cc:3887
+#: cp/typeck.cc:4040
 #, gcc-internal-format
 msgid "subscripting array declared %<register%>"
 msgstr ""
 
-#: cp/typeck.cc:3925
+#: cp/typeck.cc:4078
 #, gcc-internal-format
 msgid "subscripted value is neither array nor pointer"
 msgstr ""
 
-#: cp/typeck.cc:3997
+#: cp/typeck.cc:4150
 #, gcc-internal-format
 msgid "object missing in use of %qE"
 msgstr ""
 
-#: cp/typeck.cc:4222
+#: cp/typeck.cc:4375
 #, gcc-internal-format
 msgid "ISO C++ forbids calling %<::main%> from within program"
 msgstr ""
 
-#: cp/typeck.cc:4243
+#: cp/typeck.cc:4396
 #, gcc-internal-format
 msgid ""
 "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E "
 "(...)%>, e.g. %<(... ->* %E) (...)%>"
 msgstr ""
 
-#: cp/typeck.cc:4260
+#: cp/typeck.cc:4413
 #, gcc-internal-format
 msgid "%qE cannot be used as a function"
 msgstr ""
 
-#: cp/typeck.cc:4263
+#: cp/typeck.cc:4416
 #, gcc-internal-format
 msgid "%qD cannot be used as a function"
 msgstr ""
 
-#: cp/typeck.cc:4266
+#: cp/typeck.cc:4419
 #, gcc-internal-format
 msgid "expression cannot be used as a function"
 msgstr ""
 
-#: cp/typeck.cc:4324
+#: cp/typeck.cc:4477
 #, gcc-internal-format
 msgid "too many arguments to constructor %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4325
+#: cp/typeck.cc:4478
 #, gcc-internal-format
 msgid "too few arguments to constructor %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4330
+#: cp/typeck.cc:4483
 #, gcc-internal-format
 msgid "too many arguments to member function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4331
+#: cp/typeck.cc:4484
 #, gcc-internal-format
 msgid "too few arguments to member function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4337
+#: cp/typeck.cc:4490
 #, gcc-internal-format
 msgid "too many arguments to function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4338
+#: cp/typeck.cc:4491
 #, gcc-internal-format
 msgid "too few arguments to function %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4348
+#: cp/typeck.cc:4501
 #, gcc-internal-format
 msgid "too many arguments to method %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4349
+#: cp/typeck.cc:4502
 #, gcc-internal-format
 msgid "too few arguments to method %q#D"
 msgstr ""
 
-#: cp/typeck.cc:4352
+#: cp/typeck.cc:4505
 #, gcc-internal-format
 msgid "too many arguments to function"
 msgstr ""
 
-#: cp/typeck.cc:4353
+#: cp/typeck.cc:4506
 #, gcc-internal-format
 msgid "too few arguments to function"
 msgstr ""
 
-#: cp/typeck.cc:4435
+#: cp/typeck.cc:4588
 #, gcc-internal-format
 msgid "parameter %P of %qD has incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:4441
+#: cp/typeck.cc:4594
 #, gcc-internal-format
 msgid "parameter %P has incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:4701
+#: cp/typeck.cc:4860
 #, gcc-internal-format
 msgid "the address %qE will never be NULL"
 msgstr ""
 
-#: cp/typeck.cc:4747
+#: cp/typeck.cc:4906
 #, gcc-internal-format
 msgid "the address of %qD will never be NULL"
 msgstr ""
 
-#: cp/typeck.cc:4758
+#: cp/typeck.cc:4921
+#, gcc-internal-format
+msgid "the compiler can assume that the address of %qE will never be NULL"
+msgstr ""
+
+#: cp/typeck.cc:4924
 #, gcc-internal-format
 msgid "comparing the result of pointer addition %qE and NULL"
 msgstr ""
 
-#: cp/typeck.cc:4772
+#: cp/typeck.cc:4939
 #, gcc-internal-format
 msgid "the compiler can assume that the address of %qD will never be NULL"
 msgstr ""
 
-#: cp/typeck.cc:4821
+#: cp/typeck.cc:4988
 #, gcc-internal-format
 msgid ""
 "bitwise operation between different enumeration types %qT and %qT is "
 "deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4826
+#: cp/typeck.cc:4993
 #, gcc-internal-format
 msgid ""
 "arithmetic between different enumeration types %qT and %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4856
+#: cp/typeck.cc:5023
 #, gcc-internal-format
 msgid ""
 "comparison of enumeration type %qT with floating-point type %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4860
+#: cp/typeck.cc:5027
 #, gcc-internal-format
 msgid ""
 "comparison of floating-point type %qT with enumeration type %qT is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4869
+#: cp/typeck.cc:5036
 #, gcc-internal-format
 msgid ""
 "arithmetic between enumeration type %qT and floating-point type %qT is "
 "deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4873
+#: cp/typeck.cc:5040
 #, gcc-internal-format
 msgid ""
 "arithmetic between floating-point type %qT and enumeration type %qT is "
 "deprecated"
 msgstr ""
 
-#: cp/typeck.cc:4999 cp/typeck.cc:5011
+#: cp/typeck.cc:5174 cp/typeck.cc:5186
 #, gcc-internal-format
 msgid "assuming cast to type %qT from overloaded function"
 msgstr ""
 
-#: cp/typeck.cc:5057
+#: cp/typeck.cc:5300
 #, gcc-internal-format
 msgid "NULL used in arithmetic"
 msgstr ""
 
-#: cp/typeck.cc:5519 cp/typeck.cc:5528 cp/typeck.cc:5822 cp/typeck.cc:5831
+#: cp/typeck.cc:5757 cp/typeck.cc:5766 cp/typeck.cc:6060 cp/typeck.cc:6069
 #, gcc-internal-format
 msgid "ISO C++ forbids comparison between pointer and integer"
 msgstr ""
 
-#: cp/typeck.cc:5744 cp/typeck.cc:5757
+#: cp/typeck.cc:5982 cp/typeck.cc:5995
 #, gcc-internal-format
 msgid "operand types are %qT and %qT"
 msgstr ""
 
-#: cp/typeck.cc:5780
+#: cp/typeck.cc:6018
 #, gcc-internal-format
 msgid "three-way comparison of vectors"
 msgstr ""
 
-#: cp/typeck.cc:5814
+#: cp/typeck.cc:6052
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero (%qT and %qT)"
 msgstr ""
 
-#: cp/typeck.cc:5861
+#: cp/typeck.cc:6099
 #, gcc-internal-format
 msgid "unordered comparison on non-floating-point argument"
 msgstr ""
 
-#: cp/typeck.cc:5907
+#: cp/typeck.cc:6166
 msgid ""
 "implicit conversion from %qH to %qI to match other operand of binary "
 "expression"
 msgstr ""
 
-#: cp/typeck.cc:5987
+#: cp/typeck.cc:6276
 #, gcc-internal-format
 msgid "invalid operands of types %qT and %qT to binary %qO"
 msgstr ""
 
-#: cp/typeck.cc:6383
+#: cp/typeck.cc:6684
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6391
+#: cp/typeck.cc:6692
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer to a function in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6399
+#: cp/typeck.cc:6700
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer to a method in subtraction"
 msgstr ""
 
-#: cp/typeck.cc:6452
+#: cp/typeck.cc:6753
 #, gcc-internal-format
 msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
 msgstr ""
 
-#: cp/typeck.cc:6531
+#: cp/typeck.cc:6832
 #, gcc-internal-format
 msgid "taking address of constructor %qD"
 msgstr ""
 
-#: cp/typeck.cc:6532
+#: cp/typeck.cc:6833
 #, gcc-internal-format
 msgid "taking address of destructor %qD"
 msgstr ""
 
-#: cp/typeck.cc:6548
+#: cp/typeck.cc:6849
 #, gcc-internal-format
 msgid "invalid use of %qE to form a pointer-to-member-function"
 msgstr ""
 
-#: cp/typeck.cc:6551
+#: cp/typeck.cc:6852
 #, gcc-internal-format
 msgid "  a qualified-id is required"
 msgstr ""
 
-#: cp/typeck.cc:6558
+#: cp/typeck.cc:6859
 #, gcc-internal-format
 msgid ""
 "parentheses around %qE cannot be used to form a pointer-to-member-function"
 msgstr ""
 
-#: cp/typeck.cc:6749
+#: cp/typeck.cc:7050
 #, 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:6755
+#: cp/typeck.cc:7056
 #, gcc-internal-format
 msgid ""
 "ISO C++ forbids taking the address of a bound member function to form a "
@@ -64482,440 +66261,450 @@ msgid ""
 msgstr ""
 
 #. Make this a permerror because we used to accept it.
-#: cp/typeck.cc:6790
+#: cp/typeck.cc:7091
 #, gcc-internal-format
 msgid "taking address of rvalue"
 msgstr ""
 
-#: cp/typeck.cc:6807
+#: cp/typeck.cc:7108
 #, gcc-internal-format
 msgid "ISO C++ forbids taking address of function %<::main%>"
 msgstr ""
 
-#: cp/typeck.cc:6865
+#: cp/typeck.cc:7166
 #, gcc-internal-format
 msgid "cannot create pointer to reference member %qD"
 msgstr ""
 
-#: cp/typeck.cc:6891 cp/typeck.cc:7448
+#: cp/typeck.cc:7192 cp/typeck.cc:7767 rust/backend/rust-tree.cc:4685
 #, gcc-internal-format
 msgid "attempt to take address of bit-field"
 msgstr ""
 
-#: cp/typeck.cc:7048
+#: cp/typeck.cc:7356
 #, gcc-internal-format
 msgid "%<~%> on an expression of type %<bool%>"
 msgstr ""
 
-#: cp/typeck.cc:7049
+#: cp/typeck.cc:7357
 #, gcc-internal-format
 msgid "did you mean to use logical not (%<!%>)?"
 msgstr ""
 
-#: cp/typeck.cc:7172
+#: cp/typeck.cc:7487
 #, gcc-internal-format
 msgid "ISO C++ forbids incrementing an enum"
 msgstr ""
 
-#: cp/typeck.cc:7173
+#: cp/typeck.cc:7488
 #, gcc-internal-format
 msgid "ISO C++ forbids decrementing an enum"
 msgstr ""
 
-#: cp/typeck.cc:7189
+#: cp/typeck.cc:7504
 #, gcc-internal-format
 msgid "cannot increment a pointer to incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7191
+#: cp/typeck.cc:7506
 #, gcc-internal-format
 msgid "cannot decrement a pointer to incomplete type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7203
+#: cp/typeck.cc:7518
 #, gcc-internal-format
 msgid "ISO C++ forbids incrementing a pointer of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7205
+#: cp/typeck.cc:7520
 #, gcc-internal-format
 msgid "ISO C++ forbids decrementing a pointer of type %qT"
 msgstr ""
 
-#: cp/typeck.cc:7244
+#: cp/typeck.cc:7559
 #, gcc-internal-format
 msgid "%qs expression of %<volatile%>-qualified type is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:7257
+#: cp/typeck.cc:7572
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator--%> is forbidden"
 msgstr ""
 
-#: cp/typeck.cc:7267
+#: cp/typeck.cc:7582
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator++%> is forbidden in C++17"
 msgstr ""
 
-#: cp/typeck.cc:7275
+#: cp/typeck.cc:7590
 #, gcc-internal-format
 msgid "use of an operand of type %qT in %<operator++%> is deprecated"
 msgstr ""
 
-#: cp/typeck.cc:7460
+#: cp/typeck.cc:7779 rust/backend/rust-tree.cc:4697
 #, gcc-internal-format
 msgid "cannot take the address of %<this%>, which is an rvalue expression"
 msgstr ""
 
-#: cp/typeck.cc:7482
+#: cp/typeck.cc:7801 d/d-codegen.cc:719 rust/backend/rust-tree.cc:4716
 #, gcc-internal-format
 msgid "address of explicit register variable %qD requested"
 msgstr ""
 
-#: cp/typeck.cc:7487
+#: cp/typeck.cc:7806 rust/backend/rust-tree.cc:4723
 #, gcc-internal-format
 msgid "address requested for %qD, which is declared %<register%>"
 msgstr ""
 
-#: cp/typeck.cc:7562
+#: cp/typeck.cc:7881
 #, gcc-internal-format
 msgid "list-initializer for non-class type must not be parenthesized"
 msgstr ""
 
-#: cp/typeck.cc:7574
+#: cp/typeck.cc:7893
 #, gcc-internal-format
 msgid "expression list treated as compound expression in initializer"
 msgstr ""
 
-#: cp/typeck.cc:7578
+#: cp/typeck.cc:7897
 #, gcc-internal-format
 msgid "expression list treated as compound expression in mem-initializer"
 msgstr ""
 
-#: cp/typeck.cc:7582
+#: cp/typeck.cc:7901
 #, gcc-internal-format
 msgid "expression list treated as compound expression in functional cast"
 msgstr ""
 
-#: cp/typeck.cc:7620
+#: cp/typeck.cc:7939
 #, gcc-internal-format, gfc-internal-format
 msgid "%s expression list treated as compound expression"
 msgstr ""
 
-#: cp/typeck.cc:7712
+#: cp/typeck.cc:8042
 #, gcc-internal-format
 msgid "no context to resolve type of %qE"
 msgstr ""
 
-#: cp/typeck.cc:7746
+#: cp/typeck.cc:8079
 #, gcc-internal-format
 msgid "cast from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:7752
+#: cp/typeck.cc:8085
 #, gcc-internal-format
 msgid "%<static_cast%> from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:7759
+#: cp/typeck.cc:8092
 #, gcc-internal-format
 msgid "%<reinterpret_cast%> from type %qT to type %qT casts away qualifiers"
 msgstr ""
 
-#: cp/typeck.cc:7783
+#: cp/typeck.cc:8118
 #, gcc-internal-format
 msgid "useless cast to type %q#T"
 msgstr ""
 
-#: cp/typeck.cc:7797
+#: cp/typeck.cc:8132
 #, gcc-internal-format
 msgid "type qualifiers ignored on cast result type"
 msgstr ""
 
-#: cp/typeck.cc:8234
+#: cp/typeck.cc:8575
 #, gcc-internal-format
 msgid "invalid %<static_cast%> from type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8240 cp/typeck.cc:8246 cp/typeck.cc:9914
+#: cp/typeck.cc:8581 cp/typeck.cc:8587 cp/typeck.cc:10299
 #, gcc-internal-format
 msgid "class type %qT is incomplete"
 msgstr ""
 
-#: cp/typeck.cc:8274
+#: cp/typeck.cc:8615
 msgid "converting from %qH to %qI"
 msgstr ""
 
-#: cp/typeck.cc:8349
+#: cp/typeck.cc:8690
 #, gcc-internal-format
 msgid "invalid cast of a prvalue expression of type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8419
+#: cp/typeck.cc:8760
 msgid "cast from %qH to %qI loses precision"
 msgstr ""
 
-#: cp/typeck.cc:8444
+#: cp/typeck.cc:8785
 msgid "cast between incompatible function types from %qH to %qI"
 msgstr ""
 
-#: cp/typeck.cc:8455
+#: cp/typeck.cc:8796
 msgid "cast between incompatible pointer to member types from %qH to %qI"
 msgstr ""
 
-#: cp/typeck.cc:8476 cp/typeck.cc:8666
+#: cp/typeck.cc:8817 cp/typeck.cc:9007
 msgid "cast from %qH to %qI increases required alignment of target type"
 msgstr ""
 
-#: cp/typeck.cc:8493
+#: cp/typeck.cc:8834
 #, gcc-internal-format
 msgid ""
 "casting between pointer-to-function and pointer-to-object is conditionally-"
 "supported"
 msgstr ""
 
-#: cp/typeck.cc:8507
+#: cp/typeck.cc:8848
 #, gcc-internal-format
 msgid "invalid cast from type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8580
+#: cp/typeck.cc:8921
 #, 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:8589
+#: cp/typeck.cc:8930
 #, 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:8631
+#: cp/typeck.cc:8972
 #, gcc-internal-format
 msgid "invalid %<const_cast%> of an rvalue of type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8701
+#: cp/typeck.cc:9042
 #, gcc-internal-format
 msgid "invalid %<const_cast%> from type %qT to type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8802 cp/typeck.cc:8811
+#: cp/typeck.cc:9143 cp/typeck.cc:9152
 #, gcc-internal-format
 msgid "ISO C++ forbids casting to an array type %qT"
 msgstr ""
 
-#: cp/typeck.cc:8820
+#: cp/typeck.cc:9161
 #, gcc-internal-format
 msgid "invalid cast to function type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9130
+#: cp/typeck.cc:9272
 #, gcc-internal-format
-msgid ""
-"compound assignment with %<volatile%>-qualified left operand is deprecated"
+msgid "moving %qE of type %qT to itself"
+msgstr ""
+
+#: cp/typeck.cc:9273 cp/typeck.cc:10819 cp/typeck.cc:10835 cp/typeck.cc:10860
+#: cp/typeck.cc:10897
+#, gcc-internal-format
+msgid "remove %<std::move%> call"
 msgstr ""
 
-#: cp/typeck.cc:9150
+#: cp/typeck.cc:9533
 #, gcc-internal-format
 msgid "  in evaluation of %<%Q(%#T, %#T)%>"
 msgstr ""
 
-#: cp/typeck.cc:9210
+#: cp/typeck.cc:9593
 #, gcc-internal-format
 msgid "assigning to an array from an initializer list"
 msgstr ""
 
-#: cp/typeck.cc:9237
+#: cp/typeck.cc:9620
 #, gcc-internal-format
 msgid "incompatible types in assignment of %qT to %qT"
 msgstr ""
 
-#: cp/typeck.cc:9251
+#: cp/typeck.cc:9634
 #, gcc-internal-format
 msgid "array used as initializer"
 msgstr ""
 
-#: cp/typeck.cc:9253
+#: cp/typeck.cc:9636
 #, gcc-internal-format
 msgid "invalid array assignment"
 msgstr ""
 
-#: cp/typeck.cc:9395
+#: cp/typeck.cc:9780
 #, gcc-internal-format
 msgid "   in pointer to member function conversion"
 msgstr ""
 
-#: cp/typeck.cc:9409
+#: cp/typeck.cc:9794
 #, gcc-internal-format
 msgid "pointer to member conversion via virtual base %qT"
 msgstr ""
 
-#: cp/typeck.cc:9456 cp/typeck.cc:9475
+#: cp/typeck.cc:9841 cp/typeck.cc:9860
 #, gcc-internal-format
 msgid "   in pointer to member conversion"
 msgstr ""
 
-#: cp/typeck.cc:9556
+#: cp/typeck.cc:9941
 #, gcc-internal-format
 msgid "invalid conversion to type %qT from type %qT"
 msgstr ""
 
-#: cp/typeck.cc:9877
+#: cp/typeck.cc:10262
 msgid "cannot convert %qH to %qI in default argument"
 msgstr ""
 
-#: cp/typeck.cc:9882
+#: cp/typeck.cc:10267
 msgid "cannot convert %qH to %qI in argument passing"
 msgstr ""
 
-#: cp/typeck.cc:9891
+#: cp/typeck.cc:10276
 msgid "cannot convert %qH to %qI in initialization"
 msgstr ""
 
-#: cp/typeck.cc:9895
+#: cp/typeck.cc:10280
 msgid "cannot convert %qH to %qI in return"
 msgstr ""
 
-#: cp/typeck.cc:9900
+#: cp/typeck.cc:10285
 msgid "cannot convert %qH to %qI in assignment"
 msgstr ""
 
-#: cp/typeck.cc:9932
+#: cp/typeck.cc:10317
 #, gcc-internal-format
 msgid "parameter %qP of %qD might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:9936
+#: cp/typeck.cc:10321
 #, gcc-internal-format
 msgid "parameter might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:9941
+#: cp/typeck.cc:10326
 #, gcc-internal-format
 msgid "target of conversion might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:9946
+#: cp/typeck.cc:10331
 #, gcc-internal-format
 msgid "target of initialization might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:9956
+#: cp/typeck.cc:10341
 #, gcc-internal-format
 msgid ""
 "left-hand side of assignment might be a candidate for a format attribute"
 msgstr ""
 
-#: cp/typeck.cc:10052
+#: cp/typeck.cc:10437
 #, gcc-internal-format
 msgid "in passing argument %P of %qD"
 msgstr ""
 
-#: cp/typeck.cc:10134
+#: cp/typeck.cc:10519
 #, gcc-internal-format
 msgid "returning reference to temporary"
 msgstr ""
 
-#: cp/typeck.cc:10137
+#: cp/typeck.cc:10522
 #, gcc-internal-format
 msgid ""
 "returning temporary %<initializer_list%> does not extend the lifetime of the "
 "underlying array"
 msgstr ""
 
-#: cp/typeck.cc:10173
+#: cp/typeck.cc:10558
 #, gcc-internal-format
 msgid "reference to local variable %qD returned"
 msgstr ""
 
-#: cp/typeck.cc:10177
+#: cp/typeck.cc:10562
 #, gcc-internal-format
 msgid ""
 "returning local %<initializer_list%> variable %qD does not extend the "
 "lifetime of the underlying array"
 msgstr ""
 
-#: cp/typeck.cc:10183
+#: cp/typeck.cc:10568
 #, gcc-internal-format
 msgid "address of label %qD returned"
 msgstr ""
 
-#: cp/typeck.cc:10187
+#: cp/typeck.cc:10572
 #, gcc-internal-format
 msgid "address of local variable %qD returned"
 msgstr ""
 
-#: cp/typeck.cc:10386
+#: cp/typeck.cc:10818
 #, gcc-internal-format
-msgid "moving a local object in a return statement prevents copy elision"
+msgid "moving a temporary object prevents copy elision"
 msgstr ""
 
-#: cp/typeck.cc:10388 cp/typeck.cc:10411
+#: cp/typeck.cc:10833
 #, gcc-internal-format
-msgid "remove %<std::move%> call"
+msgid "moving a local object in a return statement prevents copy elision"
 msgstr ""
 
-#: cp/typeck.cc:10410
+#: cp/typeck.cc:10859 cp/typeck.cc:10894
 #, gcc-internal-format
 msgid "redundant move in return statement"
 msgstr ""
 
-#: cp/typeck.cc:10449
+#: cp/typeck.cc:10896
+#, gcc-internal-format
+msgid "redundant move in initialization"
+msgstr ""
+
+#: cp/typeck.cc:10932
 #, 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:10461
+#: cp/typeck.cc:10944
 #, 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:10464
+#: cp/typeck.cc:10947
 #, gcc-internal-format
 msgid "returning a value from a constructor"
 msgstr ""
 
 #. Give a helpful error message.
-#: cp/typeck.cc:10503 cp/typeck.cc:10549
+#: cp/typeck.cc:10986 cp/typeck.cc:11032
 #, gcc-internal-format
 msgid "return-statement with no value, in function returning %qT"
 msgstr ""
 
-#: cp/typeck.cc:10511
+#: cp/typeck.cc:10994
 #, gcc-internal-format
 msgid "returning initializer list"
 msgstr ""
 
-#: cp/typeck.cc:10530
+#: cp/typeck.cc:11013
 #, gcc-internal-format
 msgid "inconsistent types %qT and %qT deduced for lambda return type"
 msgstr ""
 
-#: cp/typeck.cc:10533
+#: cp/typeck.cc:11016
 #, gcc-internal-format
 msgid "inconsistent deduction for auto return type: %qT and then %qT"
 msgstr ""
 
-#: cp/typeck.cc:10568
+#: cp/typeck.cc:11051
 #, gcc-internal-format
 msgid "return-statement with a value, in function returning %qT"
 msgstr ""
 
-#: cp/typeck.cc:10597
+#: cp/typeck.cc:11080
 #, 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:11243
+#: cp/typeck.cc:11739
 #, gcc-internal-format
 msgid "using rvalue as lvalue"
 msgstr ""
@@ -65057,92 +66846,92 @@ msgstr ""
 msgid "    %#qD"
 msgstr ""
 
-#: cp/typeck2.cc:295
+#: cp/typeck2.cc:282
 #, gcc-internal-format
 msgid "definition of %q#T is not complete until the closing brace"
 msgstr ""
 
-#: cp/typeck2.cc:298
+#: cp/typeck2.cc:285
 #, gcc-internal-format
 msgid "forward declaration of %q#T"
 msgstr ""
 
-#: cp/typeck2.cc:300
+#: cp/typeck2.cc:287
 #, gcc-internal-format
 msgid "declaration of %q#T"
 msgstr ""
 
-#: cp/typeck2.cc:331
+#: cp/typeck2.cc:318
 #, gcc-internal-format
 msgid "%qD has incomplete type"
 msgstr ""
 
-#: cp/typeck2.cc:345
+#: cp/typeck2.cc:332
 #, gcc-internal-format
 msgid "invalid use of incomplete type %q#T"
 msgstr ""
 
-#: cp/typeck2.cc:382
+#: cp/typeck2.cc:369 rust/backend/rust-tree.cc:3903
 #, gcc-internal-format
 msgid "invalid use of member function %qD (did you forget the %<()%> ?)"
 msgstr ""
 
-#: cp/typeck2.cc:387
+#: cp/typeck2.cc:374 rust/backend/rust-tree.cc:3909
 #, gcc-internal-format
 msgid "invalid use of member %qD (did you forget the %<&%> ?)"
 msgstr ""
 
-#: cp/typeck2.cc:397
+#: cp/typeck2.cc:384
 #, gcc-internal-format
 msgid "invalid use of placeholder %qT"
 msgstr ""
 
-#: cp/typeck2.cc:404
+#: cp/typeck2.cc:391
 #, gcc-internal-format
 msgid "invalid use of template type parameter %qT"
 msgstr ""
 
-#: cp/typeck2.cc:409
+#: cp/typeck2.cc:396
 #, gcc-internal-format
 msgid "invalid use of template template parameter %qT"
 msgstr ""
 
-#: cp/typeck2.cc:415
+#: cp/typeck2.cc:402
 #, gcc-internal-format
 msgid "invalid use of pack expansion %qT"
 msgstr ""
 
-#: cp/typeck2.cc:421
+#: cp/typeck2.cc:408
 #, gcc-internal-format
 msgid "invalid use of dependent type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:428
+#: cp/typeck2.cc:415 rust/backend/rust-tree.cc:3919
 #, gcc-internal-format
 msgid "invalid use of brace-enclosed initializer list"
 msgstr ""
 
-#: cp/typeck2.cc:436
+#: cp/typeck2.cc:423 rust/backend/rust-tree.cc:3927
 #, gcc-internal-format
 msgid "address of overloaded function with no contextual type information"
 msgstr ""
 
-#: cp/typeck2.cc:440
+#: cp/typeck2.cc:427 rust/backend/rust-tree.cc:3932
 #, gcc-internal-format
 msgid "overloaded function with no contextual type information"
 msgstr ""
 
-#: cp/typeck2.cc:443
+#: cp/typeck2.cc:430 rust/backend/rust-tree.cc:3936
 #, gcc-internal-format
 msgid "insufficient contextual information to determine type"
 msgstr ""
 
-#: cp/typeck2.cc:827
+#: cp/typeck2.cc:814
 #, gcc-internal-format
 msgid "constructor syntax used, but no constructor declared for type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:900
+#: cp/typeck2.cc:887
 #, gcc-internal-format
 msgid "%<constinit%> variable %qD does not have a constant initializer"
 msgstr ""
@@ -65161,208 +66950,225 @@ msgid ""
 " the expression has a constant value but is not a C++ constant-expression"
 msgstr ""
 
-#: cp/typeck2.cc:1247
+#: cp/typeck2.cc:1256
 #, gcc-internal-format
 msgid "initializer-string for %qT is too long"
 msgstr ""
 
-#: cp/typeck2.cc:1310
+#: cp/typeck2.cc:1319
 #, gcc-internal-format
 msgid "initializing a base class of type %qT results in object slicing"
 msgstr ""
 
-#: cp/typeck2.cc:1312
+#: cp/typeck2.cc:1321
 #, gcc-internal-format
 msgid "remove %<{ }%> around initializer"
 msgstr ""
 
-#: cp/typeck2.cc:1332
+#: cp/typeck2.cc:1341
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr ""
 
-#: cp/typeck2.cc:1713 cp/typeck2.cc:1743
+#: cp/typeck2.cc:1825 cp/typeck2.cc:1855
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr ""
 
-#: cp/typeck2.cc:1720
+#: cp/typeck2.cc:1832
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr ""
 
-#: cp/typeck2.cc:1727
+#: cp/typeck2.cc:1839
 #, gcc-internal-format
 msgid "member %qD with uninitialized reference fields"
 msgstr ""
 
-#: cp/typeck2.cc:1812
+#: cp/typeck2.cc:1924
 #, gcc-internal-format
 msgid "designator order for field %qD does not match declaration order in %qT"
 msgstr ""
 
-#: cp/typeck2.cc:1885
+#: cp/typeck2.cc:1997
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr ""
 
-#: cp/typeck2.cc:1896
+#: cp/typeck2.cc:2008
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr ""
 
-#: cp/typeck2.cc:2112
+#: cp/typeck2.cc:2224
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr ""
 
-#: cp/typeck2.cc:2126
+#: cp/typeck2.cc:2238
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2156
+#: cp/typeck2.cc:2268
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr ""
 
-#: cp/typeck2.cc:2158
+#: cp/typeck2.cc:2270
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr ""
 
-#: cp/typeck2.cc:2185
+#: cp/typeck2.cc:2297
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2194
+#: cp/typeck2.cc:2306
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2216
+#: cp/typeck2.cc:2328
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2274
+#: cp/typeck2.cc:2386
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an rvalue"
 msgstr ""
 
-#: cp/typeck2.cc:2285
+#: cp/typeck2.cc:2397
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an lvalue"
 msgstr ""
 
-#: cp/typeck2.cc:2293
+#: cp/typeck2.cc:2405
 #, gcc-internal-format
 msgid "pointer-to-member-function type %qT requires an lvalue before C++20"
 msgstr ""
 
-#: cp/typeck2.cc:2334
+#: cp/typeck2.cc:2446
 #, gcc-internal-format
 msgid "functional cast to array type %qT"
 msgstr ""
 
-#: cp/typeck2.cc:2351
+#: cp/typeck2.cc:2463
 #, gcc-internal-format
 msgid "%<auto(x)%> cannot be constrained"
 msgstr ""
 
-#: cp/typeck2.cc:2356
+#: cp/typeck2.cc:2468
 #, gcc-internal-format
 msgid "%<auto(x)%> only available with %<-std=c++2b%> or %<-std=gnu++2b%>"
 msgstr ""
 
-#: cp/typeck2.cc:2381
+#: cp/typeck2.cc:2493
 #, gcc-internal-format
 msgid "invalid value-initialization of reference type"
 msgstr ""
 
-#: cp/typeck2.cc:2622
+#: cp/typeck2.cc:2734
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr ""
 
-#: cp/typeck2.cc:2625
+#: cp/typeck2.cc:2737
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr ""
 
-#: cp/vtable-class-hierarchy.cc:719
+#: cp/vtable-class-hierarchy.cc:706
 #, gcc-internal-format
 msgid "unable to open log file %<vtv_class_set_sizes.log%>: %m"
 msgstr ""
 
-#: cp/vtable-class-hierarchy.cc:859
+#: cp/vtable-class-hierarchy.cc:846
 #, gcc-internal-format
 msgid "unable to open log file %<vtv_set_ptr_data.log%>: %m"
 msgstr ""
 
-#: cp/vtable-class-hierarchy.cc:1109
+#: cp/vtable-class-hierarchy.cc:1095
 #, gcc-internal-format
 msgid "unable to open log file %<vtv_count_data.log%>: %m"
 msgstr ""
 
-#: d/d-attribs.cc:359 d/d-attribs.cc:376
+#: d/d-attribs.cc:372 d/d-attribs.cc:389
 #, gcc-internal-format
 msgid "unknown attribute %qs"
 msgstr ""
 
-#: d/d-attribs.cc:1127
+#: d/d-attribs.cc:1150
 #, gcc-internal-format
 msgid "%q+D declared weak after being used"
 msgstr ""
 
-#: d/d-codegen.cc:329
+#: d/d-attribs.cc:1529
+#, gcc-internal-format
+msgid ""
+"only %<inbranch%> and %<notinbranch%> flags are allowed for %<simd%> "
+"attribute"
+msgstr ""
+
+#: d/d-builtins.cc:816
+#, gcc-internal-format
+msgid "conflicting types for built-in function %qs; expected %qs"
+msgstr ""
+
+#: d/d-codegen.cc:331
 #, gcc-internal-format
 msgid "cannot determine the length of a %qs"
 msgstr ""
 
-#: d/d-codegen.cc:1231
+#: d/d-codegen.cc:1241
 #, gcc-internal-format
 msgid "overlapping initializer for field %qT.%qD"
 msgstr ""
 
-#: d/d-codegen.cc:1429
+#: d/d-codegen.cc:1436
 #, gcc-internal-format
 msgid "the address of %qD will never be %<null%>"
 msgstr ""
 
-#: d/d-codegen.cc:2132
+#: d/d-codegen.cc:2165
 #, gcc-internal-format
 msgid "need %<this%> to access member %qE"
 msgstr ""
 
-#: d/d-codegen.cc:2286
+#: d/d-codegen.cc:2327
 #, gcc-internal-format
 msgid "tried to perform floating-point modulo division on %qT"
 msgstr ""
 
-#: d/d-codegen.cc:2337
+#: d/d-codegen.cc:2378
 #, gcc-internal-format
 msgid "cannot get frame pointer to %qs"
 msgstr ""
 
 #. Should instead error on line that references `fd'.
-#: d/d-codegen.cc:2363
+#: d/d-codegen.cc:2404
 #, gcc-internal-format
 msgid "nested function missing body"
 msgstr ""
 
-#: d/d-codegen.cc:2405
+#: d/d-codegen.cc:2446
 #, gcc-internal-format
 msgid "%qs is a nested function and cannot be accessed from %qs"
 msgstr ""
 
-#: d/d-codegen.cc:2709
+#: d/d-codegen.cc:2750
+#, gcc-internal-format
+msgid "variable %qs has scoped destruction, cannot build closure"
+msgstr ""
+
+#: d/d-codegen.cc:2758
 #, gcc-internal-format
-msgid "has scoped destruction, cannot build closure"
+msgid "explicit register variable %qs cannot be used in nested function"
 msgstr ""
 
-#: d/d-codegen.cc:2926
+#: d/d-codegen.cc:2983
 #, gcc-internal-format
 msgid "forward reference to frame of %qs"
 msgstr ""
@@ -65390,67 +67196,67 @@ msgstr ""
 msgid "cannot cast %qs to %qs since sizes do not line up"
 msgstr ""
 
-#: d/d-convert.cc:507
+#: d/d-convert.cc:516
 #, gcc-internal-format
 msgid "cannot cast expression of type %qs to type %qs"
 msgstr ""
 
-#: d/d-convert.cc:554
+#: d/d-convert.cc:563
 #, gcc-internal-format
 msgid "cannot cast expression of type %qs to %qs"
 msgstr ""
 
-#: d/d-convert.cc:601
+#: d/d-convert.cc:610
 #, gcc-internal-format
 msgid "cast from %qs to %qs will produce zero result"
 msgstr ""
 
-#: d/d-lang.cc:477
+#: d/d-lang.cc:467
 #, gcc-internal-format
 msgid "bad argument for %<-fdebug%>: %qs"
 msgstr ""
 
-#: d/d-lang.cc:532
+#: d/d-lang.cc:521
 #, gcc-internal-format
 msgid "bad argument for %<-fextern-std%>: %qs"
 msgstr ""
 
-#: d/d-lang.cc:551
+#: d/d-lang.cc:540
 #, gcc-internal-format
 msgid "bad argument for %<-fmodule-file%>: %qs"
 msgstr ""
 
-#: d/d-lang.cc:735
+#: d/d-lang.cc:714
 #, gcc-internal-format
 msgid "bad argument for %<-fversion%>: %qs"
 msgstr ""
 
-#: d/d-lang.cc:1037
+#: d/d-lang.cc:1022
 #, gcc-internal-format
 msgid "%<-fonly=%> argument is different from first input file name"
 msgstr ""
 
-#: d/d-lang.cc:1214
+#: d/d-lang.cc:1202
 #, gcc-internal-format
 msgid "unable to resolve forward reference in definition"
 msgstr ""
 
-#: d/d-lang.cc:1334
+#: d/d-lang.cc:1322
 #, gcc-internal-format
 msgid "opening json file %s: %m"
 msgstr ""
 
-#: d/d-lang.cc:1345
+#: d/d-lang.cc:1333
 #, gcc-internal-format
 msgid "closing json file %s: %m"
 msgstr ""
 
-#: d/d-lang.cc:1416
+#: d/d-lang.cc:1404
 #, gcc-internal-format
 msgid "closing mixin file %s: %m"
 msgstr ""
 
-#: d/d-lang.cc:1421
+#: d/d-lang.cc:1409
 #, gcc-internal-format
 msgid "opening mixin file %s: %m"
 msgstr ""
@@ -65465,42 +67271,52 @@ msgstr ""
 msgid "cannot represent built-in %<va_list%> type in D"
 msgstr ""
 
-#: d/decl.cc:259
+#: d/decl.cc:268
 #, gcc-internal-format, gfc-internal-format
 msgid "pragma(%s) not implemented"
 msgstr ""
 
-#: d/decl.cc:366 d/decl.cc:481 d/decl.cc:555 d/decl.cc:598 d/decl.cc:637
+#: d/decl.cc:375 d/decl.cc:490 d/decl.cc:564 d/decl.cc:607 d/decl.cc:646
 #, gcc-internal-format
 msgid "had semantic errors when compiling"
 msgstr ""
 
-#: d/decl.cc:453
+#: d/decl.cc:462
 #, gcc-internal-format
 msgid "use of %qs"
 msgstr ""
 
-#: d/decl.cc:455
+#: d/decl.cc:464
 #, gcc-internal-format
 msgid "is hidden by %qs"
 msgstr ""
 
-#: d/decl.cc:458
+#: d/decl.cc:467
 #, gcc-internal-format
 msgid "use %<alias %s = %s.%s;%> to introduce base class overload set"
 msgstr ""
 
-#: d/decl.cc:688
+#: d/decl.cc:704
 #, gcc-internal-format
 msgid "size is too large"
 msgstr ""
 
-#: d/decl.cc:1217
+#: d/decl.cc:1327
 #, gcc-internal-format
 msgid "function requires a dual-context, which is not yet supported by GDC"
 msgstr ""
 
-#: d/decl.cc:1606
+#: d/decl.cc:1498
+#, gcc-internal-format
+msgid "explicit register variable %qs declared %<extern%>"
+msgstr ""
+
+#: d/decl.cc:1501
+#, gcc-internal-format
+msgid "explicit register variable %qs declared thread local"
+msgstr ""
+
+#: d/decl.cc:1714
 #, gcc-internal-format
 msgid ""
 "mismatch between declaration %qE size (%wd) and its initializer size (%wd)"
@@ -65512,57 +67328,89 @@ msgid "cannot handle comparison of type %<%s == %s%>"
 msgstr ""
 
 #. Static arrays have already been handled by the front-end.
-#: d/expr.cc:1319
+#: d/expr.cc:1281
 #, gcc-internal-format
 msgid "unexpected type for array length: %qs"
 msgstr ""
 
-#: d/expr.cc:1454
+#: d/expr.cc:1416
 #, gcc-internal-format
 msgid "don%'t know how to delete %qs"
 msgstr ""
 
-#: d/expr.cc:1478
+#: d/expr.cc:1440
 #, gcc-internal-format
 msgid "%qs is not an associative array"
 msgstr ""
 
-#: d/expr.cc:1762 d/expr.cc:2138
+#: d/expr.cc:1724 d/expr.cc:2100
 #, gcc-internal-format
 msgid "need %<this%> to access member %qs"
 msgstr ""
 
-#: d/expr.cc:1838
+#: d/expr.cc:1800
 #, gcc-internal-format
 msgid "delegates are only for non-static functions"
 msgstr ""
 
-#: d/expr.cc:1910
+#: d/expr.cc:1872
 #, gcc-internal-format
 msgid "%qs is not a field, but a %qs"
 msgstr ""
 
-#: d/expr.cc:2174
+#: d/expr.cc:2136
 #, gcc-internal-format
 msgid "recursive reference %qs"
 msgstr ""
 
-#: d/expr.cc:2193 d/expr.cc:3057
+#: d/expr.cc:2155 d/expr.cc:3051
 #, gcc-internal-format
 msgid "non-constant expression %qs"
 msgstr ""
 
-#: d/expr.cc:3024
+#: d/expr.cc:3018
 #, gcc-internal-format
 msgid "%qs is not an expression"
 msgstr ""
 
-#: d/expr.cc:3031
+#: d/expr.cc:3025
 #, gcc-internal-format
 msgid "type %qs is not an expression"
 msgstr ""
 
-#: d/modules.cc:412
+#: d/intrinsics.cc:218
+#, gcc-internal-format
+msgid "mismatch in return type of intrinsic function %qD (%qT, should be %qs)"
+msgstr ""
+
+#: d/intrinsics.cc:232
+#, gcc-internal-format
+msgid ""
+"mismatch in argument %u type of intrinsic function %qD (%qT, should be %qs)"
+msgstr ""
+
+#: d/intrinsics.cc:244 d/intrinsics.cc:249
+#, gcc-internal-format
+msgid ""
+"mismatch in argument %u type of intrinsic function %qD (%qT, should be %qT)"
+msgstr ""
+
+#: d/intrinsics.cc:434
+#, gcc-internal-format
+msgid "argument %qE cannot be read at compile time"
+msgstr ""
+
+#: d/intrinsics.cc:443
+#, gcc-internal-format
+msgid "element index %qE is out of bounds %<[0 .. %E]%>"
+msgstr ""
+
+#: d/intrinsics.cc:490
+#, gcc-internal-format
+msgid "mismatch in call of intrinsic function %qD"
+msgstr ""
+
+#: d/modules.cc:415
 #, gcc-internal-format
 msgid "%<-fmoduleinfo%> is not supported on this target"
 msgstr ""
@@ -65582,44 +67430,44 @@ msgstr ""
 msgid "label %s referenced outside of any function"
 msgstr ""
 
-#: d/toir.cc:781
+#: d/toir.cc:803
 #, gcc-internal-format, gfc-internal-format
 msgid "cannot handle switch condition of type %s"
 msgstr ""
 
-#: d/toir.cc:1157
+#: d/toir.cc:1180
 #, gcc-internal-format
 msgid "exception handling disabled; use %<-fexceptions%> to enable"
 msgstr ""
 
-#: d/toir.cc:1164
+#: d/toir.cc:1187
 #, gcc-internal-format
 msgid "cannot throw C++ classes"
 msgstr ""
 
-#: d/toir.cc:1166
+#: d/toir.cc:1189
 #, gcc-internal-format
 msgid "cannot throw COM objects"
 msgstr ""
 
-#: d/toir.cc:1299
+#: d/toir.cc:1322
 #, gcc-internal-format
 msgid "D inline assembler statements are not supported in GDC."
 msgstr ""
 
-#: d/typeinfo.cc:1067
-#, gcc-internal-format, gfc-internal-format
+#: d/typeinfo.cc:1408
+#, gcc-internal-format
 msgid ""
-"toHash() must be declared as extern (D) size_t toHash() const nothrow @safe, "
-"not %s"
+"expression %qs requires %<object.TypeInfo%> and cannot be used with %<-fno-"
+"rtti%>"
 msgstr ""
 
-#: d/typeinfo.cc:1411
+#: d/typeinfo.cc:1412
 #, gcc-internal-format
 msgid "%<object.TypeInfo%> cannot be used with %<-fno-rtti%>"
 msgstr ""
 
-#: d/typeinfo.cc:1425
+#: d/typeinfo.cc:1427
 #, gcc-internal-format
 msgid "%<object.TypeInfo%> could not be found, but is implicitly used"
 msgstr ""
@@ -65629,7 +67477,7 @@ msgstr ""
 msgid "missing or corrupt object.d"
 msgstr ""
 
-#: d/types.cc:795
+#: d/types.cc:871
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid expression for static array dimension: %s"
 msgstr ""
@@ -65679,169 +67527,174 @@ msgstr ""
 msgid "Illegal type in character concatenation at %L"
 msgstr ""
 
-#: fortran/arith.cc:123 fortran/arith.cc:1973
+#: fortran/arith.cc:122
+#, gcc-internal-format, gfc-internal-format
+msgid "Invalid type in arithmetic operation at %L"
+msgstr ""
+
+#: fortran/arith.cc:126 fortran/arith.cc:2060
 #, gcc-internal-format
 msgid "gfc_arith_error(): Bad error code"
 msgstr ""
 
-#: fortran/arith.cc:156
+#: fortran/arith.cc:159
 #, gcc-internal-format
 msgid "Fix min_int calculation"
 msgstr ""
 
-#: fortran/arith.cc:536
+#: fortran/arith.cc:554
 #, gcc-internal-format
 msgid "gfc_range_check(): Bad type"
 msgstr ""
 
-#: fortran/arith.cc:609
+#: fortran/arith.cc:627
 #, gcc-internal-format
 msgid "gfc_arith_uminus(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:643
+#: fortran/arith.cc:664
 #, gcc-internal-format
 msgid "gfc_arith_plus(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:677
+#: fortran/arith.cc:701
 #, gcc-internal-format
 msgid "gfc_arith_minus(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:712
+#: fortran/arith.cc:739
 #, gcc-internal-format
 msgid "gfc_arith_times(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:751
+#: fortran/arith.cc:781
 #, gcc-internal-format
 msgid "Integer division truncated to constant %qs at %L"
 msgstr ""
 
-#: fortran/arith.cc:797
+#: fortran/arith.cc:827
 #, gcc-internal-format
 msgid "gfc_arith_divide(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:843
+#: fortran/arith.cc:883
 #, gcc-internal-format
 msgid "arith_power(): Bad base"
 msgstr ""
 
-#: fortran/arith.cc:882
+#: fortran/arith.cc:922
 #, gcc-internal-format, gfc-internal-format
 msgid "Negative exponent of integer has zero result at %L"
 msgstr ""
 
-#: fortran/arith.cc:902
+#: fortran/arith.cc:942
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of exponentiation at %L exceeds the range of %s"
 msgstr ""
 
-#: fortran/arith.cc:939 fortran/arith.cc:964
+#: fortran/arith.cc:979 fortran/arith.cc:1004
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteger exponent in an initialization expression at %L"
 msgstr ""
 
-#: fortran/arith.cc:950
+#: fortran/arith.cc:990
 #, gcc-internal-format, gfc-internal-format
 msgid "Raising a negative REAL at %L to a REAL power is prohibited"
 msgstr ""
 
-#: fortran/arith.cc:978
+#: fortran/arith.cc:1018
 #, gcc-internal-format
 msgid "arith_power(): unknown type"
 msgstr ""
 
-#: fortran/arith.cc:1049
+#: fortran/arith.cc:1089
 #, gcc-internal-format
 msgid "compare_real(): Bad operator"
 msgstr ""
 
-#: fortran/arith.cc:1084
+#: fortran/arith.cc:1124
 #, gcc-internal-format
 msgid "gfc_compare_expr(): Bad basic type"
 msgstr ""
 
-#: fortran/arith.cc:1622
+#: fortran/arith.cc:1707
 #, gcc-internal-format
 msgid "eval_intrinsic(): Bad operator"
 msgstr ""
 
-#: fortran/arith.cc:1679
+#: fortran/arith.cc:1766
 #, gcc-internal-format
 msgid "eval_type_intrinsic0(): op NULL"
 msgstr ""
 
-#: fortran/arith.cc:1941
+#: fortran/arith.cc:2028
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic OK converting %s to %s at %L"
 msgstr ""
 
-#: fortran/arith.cc:1945
+#: fortran/arith.cc:2032
 #, 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:1950
+#: fortran/arith.cc:2037
 #, 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:1955
+#: fortran/arith.cc:2042
 #, 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:1960
+#: fortran/arith.cc:2047
 #, gcc-internal-format, gfc-internal-format
 msgid "Division by zero converting %s to %s at %L"
 msgstr ""
 
-#: fortran/arith.cc:1964
+#: fortran/arith.cc:2051
 #, gcc-internal-format, gfc-internal-format
 msgid "Array operands are incommensurate converting %s to %s at %L"
 msgstr ""
 
-#: fortran/arith.cc:1968
+#: fortran/arith.cc:2055
 #, 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:2055 fortran/arith.cc:2164 fortran/arith.cc:2224
-#: fortran/arith.cc:2276 fortran/arith.cc:2336 fortran/arith.cc:2405
-#: fortran/arith.cc:2472
+#: fortran/arith.cc:2145 fortran/arith.cc:2263 fortran/arith.cc:2326
+#: fortran/arith.cc:2381 fortran/arith.cc:2444 fortran/arith.cc:2516
+#: fortran/arith.cc:2586
 #, gcc-internal-format
 msgid "Conversion from %qs to %qs at %L"
 msgstr ""
 
-#: fortran/arith.cc:2084 fortran/arith.cc:2117 fortran/arith.cc:2156
-#: fortran/arith.cc:2214 fortran/arith.cc:2266 fortran/arith.cc:2326
-#: fortran/arith.cc:2395 fortran/arith.cc:2464
+#: fortran/arith.cc:2177 fortran/arith.cc:2213 fortran/arith.cc:2255
+#: fortran/arith.cc:2316 fortran/arith.cc:2371 fortran/arith.cc:2434
+#: fortran/arith.cc:2506 fortran/arith.cc:2578
 #, gcc-internal-format
 msgid "Change of value in conversion from %qs to %qs at %L"
 msgstr ""
 
-#: fortran/arith.cc:2312 fortran/arith.cc:2381
+#: fortran/arith.cc:2420 fortran/arith.cc:2492
 #, gcc-internal-format
 msgid "Non-zero imaginary part discarded in conversion from %qs to %qs at %L"
 msgstr ""
 
-#: fortran/arith.cc:2548
+#: fortran/arith.cc:2671
 #, gcc-internal-format
 msgid "The Hollerith constant at %L is truncated in conversion to %qs"
 msgstr ""
 
-#: fortran/arith.cc:2577
+#: fortran/arith.cc:2700
 #, gcc-internal-format, gfc-internal-format
 msgid "The character constant at %L is truncated in conversion to %s"
 msgstr ""
@@ -65891,12 +67744,12 @@ msgstr ""
 msgid "Array reference at %C cannot have more than %d dimensions"
 msgstr ""
 
-#: fortran/array.cc:248 fortran/array.cc:707 fortran/check.cc:3418
-#: fortran/check.cc:5939 fortran/check.cc:5984 fortran/check.cc:6026
-#: fortran/check.cc:6053 fortran/check.cc:6316 fortran/match.cc:1846
-#: fortran/match.cc:3308 fortran/match.cc:3650 fortran/match.cc:3846
-#: fortran/simplify.cc:2996 fortran/simplify.cc:3026 fortran/simplify.cc:6375
-#: fortran/simplify.cc:8395
+#: fortran/array.cc:248 fortran/array.cc:716 fortran/check.cc:3418
+#: fortran/check.cc:5941 fortran/check.cc:5986 fortran/check.cc:6028
+#: fortran/check.cc:6055 fortran/check.cc:6318 fortran/match.cc:1852
+#: fortran/match.cc:3314 fortran/match.cc:3656 fortran/match.cc:3852
+#: fortran/simplify.cc:3012 fortran/simplify.cc:3042 fortran/simplify.cc:6364
+#: fortran/simplify.cc:8385
 #, gcc-internal-format
 msgid "Coarrays disabled at %C, use %<-fcoarray=%> to enable"
 msgstr ""
@@ -65951,211 +67804,213 @@ msgstr ""
 msgid "Expression at %L in this context must be constant"
 msgstr ""
 
-#: fortran/array.cc:496
+#. F2018:R821: "assumed-implied-spec  is  [ lower-bound : ] *".
+#: fortran/array.cc:497
+#, 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
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression in array specification at %C"
 msgstr ""
 
-#: fortran/array.cc:511 fortran/array.cc:545
+#: fortran/array.cc:522 fortran/array.cc:554
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting a scalar INTEGER expression at %C, found %s"
 msgstr ""
 
-#: fortran/array.cc:582
+#: fortran/array.cc:591
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank array at %C"
 msgstr ""
 
-#: fortran/array.cc:616
+#: fortran/array.cc:625
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for implied-shape array at %C"
 msgstr ""
 
-#: fortran/array.cc:632 fortran/array.cc:745
+#: fortran/array.cc:641 fortran/array.cc:754
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for an explicitly shaped array at %C"
 msgstr ""
 
-#: fortran/array.cc:642 fortran/array.cc:755
+#: fortran/array.cc:651 fortran/array.cc:764
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification for assumed shape array at %C"
 msgstr ""
 
-#: fortran/array.cc:656 fortran/array.cc:769
+#: fortran/array.cc:665 fortran/array.cc:778
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for deferred shape array at %C"
 msgstr ""
 
-#: fortran/array.cc:666 fortran/array.cc:773
+#: fortran/array.cc:675 fortran/array.cc:782
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %C"
 msgstr ""
 
-#: fortran/array.cc:678 fortran/array.cc:785
+#: fortran/array.cc:687 fortran/array.cc:794
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected another dimension in array declaration at %C"
 msgstr ""
 
-#: fortran/array.cc:684 fortran/array.cc:713 fortran/array.cc:791
+#: fortran/array.cc:693 fortran/array.cc:722 fortran/array.cc:800
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C has more than %d dimensions"
 msgstr ""
 
-#: fortran/array.cc:690
+#: fortran/array.cc:699
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification at %C with more than 7 dimensions"
 msgstr ""
 
-#: fortran/array.cc:702
+#: fortran/array.cc:711
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray declaration at %C"
 msgstr ""
 
-#: fortran/array.cc:799
+#: fortran/array.cc:808
 #, gcc-internal-format
 msgid "Upper bound of last coarray dimension must be %<*%> at %C"
 msgstr ""
 
-#: fortran/array.cc:873
+#: fortran/array.cc:882
 #, gcc-internal-format
 msgid "The assumed-rank array %qs at %L shall not have a codimension"
 msgstr ""
 
-#: fortran/array.cc:929
+#: fortran/array.cc:938
 #, gcc-internal-format
 msgid "rank + corank of %qs exceeds %d at %C"
 msgstr ""
 
-#: fortran/array.cc:973
-#, gcc-internal-format
-msgid "gfc_compare_array_spec(): Array spec clobbered"
-msgstr ""
-
-#: fortran/array.cc:1052
+#: fortran/array.cc:1061
 #, gcc-internal-format
 msgid "DO-iterator %qs at %L is inside iterator of the same name"
 msgstr ""
 
-#: fortran/array.cc:1144 fortran/array.cc:1372
+#: fortran/array.cc:1153 fortran/array.cc:1381
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in array constructor at %C"
 msgstr ""
 
-#: fortran/array.cc:1174
+#: fortran/array.cc:1183
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant at %L cannot appear in an array constructor"
 msgstr ""
 
-#: fortran/array.cc:1183
+#: fortran/array.cc:1192
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL() at %C cannot appear in an array constructor"
 msgstr ""
 
-#: fortran/array.cc:1245
+#: fortran/array.cc:1254
 #, gcc-internal-format, gfc-internal-format
 msgid "[...] style array constructors at %C"
 msgstr ""
 
-#: fortran/array.cc:1265
+#: fortran/array.cc:1274
 #, gcc-internal-format, gfc-internal-format
 msgid "Array constructor including type specification at %C"
 msgstr ""
 
-#: fortran/array.cc:1271 fortran/match.cc:4282
+#: fortran/array.cc:1280 fortran/match.cc:4288
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain a deferred type parameter"
 msgstr ""
 
-#: fortran/array.cc:1279
+#: fortran/array.cc:1288
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-spec at %L cannot contain an asterisk for a type parameter"
 msgstr ""
 
-#: fortran/array.cc:1297
+#: fortran/array.cc:1306
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr ""
 
-#: fortran/array.cc:1334 fortran/array.cc:1344
+#: fortran/array.cc:1343 fortran/array.cc:1353
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible typespec for array element at %L"
 msgstr ""
 
-#: fortran/array.cc:1419
+#: fortran/array.cc:1428
 #, gcc-internal-format, gfc-internal-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr ""
 
-#: fortran/array.cc:1750
+#: fortran/array.cc:1759
 #, gcc-internal-format, gfc-internal-format
 msgid "Iterator step at %L cannot be zero"
 msgstr ""
 
-#: fortran/array.cc:1909
+#: fortran/array.cc:1918
 #, 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:2088
+#: fortran/array.cc:2097
 #, gcc-internal-format, gfc-internal-format
 msgid "AC-IMPLIED-DO initial expression references control variable at %L"
 msgstr ""
 
-#: fortran/array.cc:2095
+#: fortran/array.cc:2104
 #, gcc-internal-format, gfc-internal-format
 msgid "AC-IMPLIED-DO final expression references control variable at %L"
 msgstr ""
 
-#: fortran/array.cc:2102
+#: fortran/array.cc:2111
 #, gcc-internal-format, gfc-internal-format
 msgid "AC-IMPLIED-DO step expression references control variable at %L"
 msgstr ""
 
-#: fortran/array.cc:2114
+#: fortran/array.cc:2123
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Array constructor value at %L shall not be unlimited polymorphic [F2008: "
 "C4106]"
 msgstr ""
 
-#: fortran/array.cc:2206
+#: fortran/array.cc:2215
 #, gcc-internal-format, gfc-internal-format
 msgid "Different CHARACTER lengths (%ld/%ld) in array constructor at %L"
 msgstr ""
 
-#: fortran/array.cc:2327
+#: fortran/array.cc:2336
 #, gcc-internal-format
 msgid "spec_dimen_size(): Bad dimension"
 msgstr ""
 
-#: fortran/array.cc:2393
+#: fortran/array.cc:2402
 #, gcc-internal-format
 msgid "gfc_ref_dimen_size(): Bad dimension"
 msgstr ""
 
-#: fortran/array.cc:2397
+#: fortran/array.cc:2406
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array dimension at %L"
 msgstr ""
 
-#: fortran/array.cc:2535
+#: fortran/array.cc:2544
 #, gcc-internal-format
 msgid "gfc_ref_dimen_size(): Bad dimen_type"
 msgstr ""
 
-#: fortran/array.cc:2586
+#: fortran/array.cc:2595
 #, gcc-internal-format
 msgid "gfc_array_dimen_size(): Bad dimension"
 msgstr ""
 
-#: fortran/array.cc:2631
+#: fortran/array.cc:2640
 #, gcc-internal-format
 msgid "gfc_array_dimen_size(): Bad EXPR_ARRAY expr"
 msgstr ""
 
-#: fortran/array.cc:2779
+#: fortran/array.cc:2788
 #, gcc-internal-format
 msgid "gfc_find_array_ref(): No ref found"
 msgstr ""
@@ -66176,7 +68031,7 @@ msgstr ""
 msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants"
 msgstr ""
 
-#: fortran/check.cc:123 fortran/resolve.cc:11052
+#: fortran/check.cc:123 fortran/resolve.cc:11074
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid use of BOZ literal constant at %L"
 msgstr ""
@@ -66232,7 +68087,7 @@ msgstr ""
 msgid "%qs argument of %qs intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr ""
 
-#: fortran/check.cc:651 fortran/check.cc:7522
+#: fortran/check.cc:651 fortran/check.cc:7526
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be a constant"
 msgstr ""
@@ -66377,7 +68232,7 @@ msgstr ""
 msgid "%qs argument of %qs intrinsic at %L must be a POINTER"
 msgstr ""
 
-#: fortran/check.cc:1459 fortran/check.cc:1494 fortran/check.cc:4380
+#: fortran/check.cc:1459 fortran/check.cc:1494 fortran/check.cc:4382
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be coindexed"
 msgstr ""
@@ -66647,9 +68502,9 @@ msgid "BOZ constant at %L cannot appear in the COMPLEX intrinsic subprogram"
 msgstr ""
 
 #: fortran/check.cc:2469 fortran/check.cc:3099 fortran/check.cc:3182
-#: fortran/check.cc:3404 fortran/check.cc:3452 fortran/check.cc:4925
-#: fortran/check.cc:5050 fortran/check.cc:5120 fortran/check.cc:6302
-#: fortran/check.cc:6431
+#: fortran/check.cc:3404 fortran/check.cc:3452 fortran/check.cc:4927
+#: fortran/check.cc:5052 fortran/check.cc:5122 fortran/check.cc:6304
+#: fortran/check.cc:6435
 #, gcc-internal-format
 msgid "%qs intrinsic with KIND argument at %L"
 msgstr ""
@@ -66821,527 +68676,527 @@ msgstr ""
 msgid "%qs argument of %qs intrinsic at %L must be of rank 1 or 2"
 msgstr ""
 
-#: fortran/check.cc:4006
+#: fortran/check.cc:4008
 #, 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:4124 fortran/check.cc:7442 fortran/check.cc:7457
+#: fortran/check.cc:4126 fortran/check.cc:7446 fortran/check.cc:7461
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be INTEGER"
 msgstr ""
 
-#: fortran/check.cc:4207
+#: fortran/check.cc:4209
 #, gcc-internal-format, gfc-internal-format
 msgid "The FROM argument to MOVE_ALLOC at %L shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:4218
+#: fortran/check.cc:4220
 #, gcc-internal-format, gfc-internal-format
 msgid "The TO argument to MOVE_ALLOC at %L shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:4225
+#: fortran/check.cc:4227
 #, 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:4236
+#: fortran/check.cc:4238
 #, 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:4245
+#: fortran/check.cc:4247
 #, 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:4285
+#: fortran/check.cc:4287
 #, 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:4312
+#: fortran/check.cc:4314
 #, gcc-internal-format
 msgid "Argument %<S%> of NEAREST at %L shall not be zero"
 msgstr ""
 
-#: fortran/check.cc:4365
+#: fortran/check.cc:4367
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be a POINTER, ALLOCATABLE or "
 "procedure pointer"
 msgstr ""
 
-#: fortran/check.cc:4373
+#: fortran/check.cc:4375
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL intrinsic with allocatable MOLD at %L"
 msgstr ""
 
-#: fortran/check.cc:4452 fortran/check.cc:6378
+#: fortran/check.cc:4454 fortran/check.cc:6382
 #, 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:4513
+#: fortran/check.cc:4515
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of a dummy variable"
 msgstr ""
 
-#: fortran/check.cc:4523
+#: fortran/check.cc:4525
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be of an OPTIONAL dummy variable"
 msgstr ""
 
-#: fortran/check.cc:4542
+#: fortran/check.cc:4544
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must not be a subobject of %qs"
 msgstr ""
 
-#: fortran/check.cc:4593
+#: fortran/check.cc:4595
 #, gcc-internal-format, gfc-internal-format
 msgid "The argument of the RANK intrinsic at %L must be a data object"
 msgstr ""
 
-#: fortran/check.cc:4701
+#: fortran/check.cc:4703
 #, gcc-internal-format
 msgid ""
 "%<shape%> argument of %<reshape%> intrinsic at %L must be an array of "
 "constant size"
 msgstr ""
 
-#: fortran/check.cc:4711
+#: fortran/check.cc:4713
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L is empty"
 msgstr ""
 
-#: fortran/check.cc:4718
+#: fortran/check.cc:4720
 #, gcc-internal-format
 msgid ""
 "%<shape%> argument of %<reshape%> intrinsic at %L has more than %d elements"
 msgstr ""
 
-#: fortran/check.cc:4739
+#: fortran/check.cc:4741
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L has negative element (%d)"
 msgstr ""
 
-#: fortran/check.cc:4779
+#: fortran/check.cc:4781
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L has wrong number of elements (%d/%d)"
 msgstr ""
 
-#: fortran/check.cc:4797
+#: fortran/check.cc:4799
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L has out-of-range dimension (%d)"
 msgstr ""
 
-#: fortran/check.cc:4806
+#: fortran/check.cc:4808
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L has invalid permutation of dimensions "
 "(dimension %qd duplicated)"
 msgstr ""
 
-#: fortran/check.cc:4841
+#: fortran/check.cc:4843
 #, 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:4858 fortran/check.cc:4877
+#: fortran/check.cc:4860 fortran/check.cc:4879
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L cannot be of type %s"
 msgstr ""
 
-#: fortran/check.cc:4868 fortran/check.cc:4887
+#: fortran/check.cc:4870 fortran/check.cc:4889
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be of an extensible type"
 msgstr ""
 
-#: fortran/check.cc:4986
+#: fortran/check.cc:4988
 #, gcc-internal-format
 msgid "SELECTED_REAL_KIND with neither %<P%> nor %<R%> argument at %L"
 msgstr ""
 
-#: fortran/check.cc:5017
+#: fortran/check.cc:5019
 #, gcc-internal-format
 msgid "%qs intrinsic with RADIX argument at %L"
 msgstr ""
 
-#: fortran/check.cc:5065
+#: fortran/check.cc:5067
 #, gcc-internal-format
 msgid ""
 "%<source%> argument of %<shape%> intrinsic at %L must not be an assumed size "
 "array"
 msgstr ""
 
-#: fortran/check.cc:5138 fortran/check.cc:7502
+#: fortran/check.cc:5140 fortran/check.cc:7506
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be a procedure"
 msgstr ""
 
-#: fortran/check.cc:5154 fortran/check.cc:5305 fortran/check.cc:7494
+#: fortran/check.cc:5156 fortran/check.cc:5307 fortran/check.cc:7498
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be TYPE(*)"
 msgstr ""
 
-#: fortran/check.cc:5165 fortran/check.cc:5317
+#: fortran/check.cc:5167 fortran/check.cc:5319
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L shall not be an assumed-size array"
 msgstr ""
 
-#: fortran/check.cc:5247
+#: fortran/check.cc:5249
 #, gcc-internal-format
 msgid "is_c_interoperable(): gfc_simplify_expr failed"
 msgstr ""
 
-#: fortran/check.cc:5296
+#: fortran/check.cc:5298
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be an interoperable data entity: %s"
 msgstr ""
 
-#: fortran/check.cc:5335
+#: fortran/check.cc:5337
 #, 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:5349
+#: fortran/check.cc:5351
 #, 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:5373
+#: fortran/check.cc:5375
 #, 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:5385
+#: fortran/check.cc:5387
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_POINTER must be a pointer"
 msgstr ""
 
-#: fortran/check.cc:5392
+#: fortran/check.cc:5394
 #, gcc-internal-format, gfc-internal-format
 msgid "FPTR argument at %L to C_F_POINTER shall not be polymorphic"
 msgstr ""
 
-#: fortran/check.cc:5399
+#: fortran/check.cc:5401
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_POINTER shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5406
+#: fortran/check.cc:5408
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected SHAPE argument at %L to C_F_POINTER with scalar FPTR"
 msgstr ""
 
-#: fortran/check.cc:5412
+#: fortran/check.cc:5414
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SHAPE argument to C_F_POINTER with array FPTR at %L"
 msgstr ""
 
-#: fortran/check.cc:5431
+#: fortran/check.cc:5433
 #, 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:5441
+#: fortran/check.cc:5443
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic FPTR at %L to C_F_POINTER"
 msgstr ""
 
-#: fortran/check.cc:5446
+#: fortran/check.cc:5448
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable array FPTR at %L to C_F_POINTER: %s"
 msgstr ""
 
-#: fortran/check.cc:5462
+#: fortran/check.cc:5464
 #, 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:5474
+#: fortran/check.cc:5476
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_PROCPOINTER shall be a procedure pointer"
 msgstr ""
 
-#: fortran/check.cc:5481
+#: fortran/check.cc:5483
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument FPTR at %L to C_F_PROCPOINTER shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5487
+#: fortran/check.cc:5489
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable procedure pointer at %L to C_F_PROCPOINTER"
 msgstr ""
 
-#: fortran/check.cc:5501
+#: fortran/check.cc:5503
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument X at %L to C_FUNLOC shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5513
+#: fortran/check.cc:5515
 #, gcc-internal-format
 msgid "Function result %qs at %L is invalid as X argument to C_FUNLOC"
 msgstr ""
 
-#: fortran/check.cc:5520
+#: fortran/check.cc:5522
 #, 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:5526
+#: fortran/check.cc:5528
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable procedure at %L to C_FUNLOC"
 msgstr ""
 
-#: fortran/check.cc:5540
+#: fortran/check.cc:5542
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument X at %L to C_LOC shall not be coindexed"
 msgstr ""
 
-#: fortran/check.cc:5546
+#: fortran/check.cc:5548
 #, gcc-internal-format, gfc-internal-format
 msgid "X argument at %L to C_LOC shall not be polymorphic"
 msgstr ""
 
-#: fortran/check.cc:5557
+#: fortran/check.cc:5559
 #, 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:5565
+#: fortran/check.cc:5567
 #, 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:5574
+#: fortran/check.cc:5576
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument at %L to C_LOC shall not be polymorphic"
 msgstr ""
 
-#: fortran/check.cc:5581
+#: fortran/check.cc:5583
 #, gcc-internal-format, gfc-internal-format
 msgid "Noninteroperable array at %L as argument to C_LOC: %s"
 msgstr ""
 
-#: fortran/check.cc:5592
+#: fortran/check.cc:5594
 #, 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:5597
+#: fortran/check.cc:5599
 #, gcc-internal-format, gfc-internal-format
 msgid "Array section at %L to C_LOC"
 msgstr ""
 
-#: fortran/check.cc:5625
+#: fortran/check.cc:5627
 #, gcc-internal-format, gfc-internal-format
 msgid "non double precision REAL argument to %s intrinsic at %L"
 msgstr ""
 
-#: fortran/check.cc:5641
+#: fortran/check.cc:5643
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must be less than rank %d"
 msgstr ""
 
-#: fortran/check.cc:5660
+#: fortran/check.cc:5662
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L is not a valid dimension index"
 msgstr ""
 
-#: fortran/check.cc:5684
+#: fortran/check.cc:5686
 #, gcc-internal-format
 msgid "%qs argument of %qs intrinsic at %L must have length at least 1"
 msgstr ""
 
-#: fortran/check.cc:5948
+#: fortran/check.cc:5950
 #, gcc-internal-format, gfc-internal-format
 msgid "%s argument to IMAGE_INDEX must be a rank one array at %L"
 msgstr ""
 
-#: fortran/check.cc:5955
+#: fortran/check.cc:5957
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of %s argument of IMAGE_INDEX at %L shall be INTEGER"
 msgstr ""
 
-#: fortran/check.cc:5966
+#: fortran/check.cc:5968
 #, 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:5999
+#: fortran/check.cc:6001
 #, gcc-internal-format, gfc-internal-format
 msgid "DISTANCE= argument to NUM_IMAGES at %L"
 msgstr ""
 
-#: fortran/check.cc:6012
+#: fortran/check.cc:6014
 #, gcc-internal-format, gfc-internal-format
 msgid "FAILED= argument to NUM_IMAGES at %L"
 msgstr ""
 
-#: fortran/check.cc:6036
+#: fortran/check.cc:6038
 #, 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:6062
+#: fortran/check.cc:6064
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "DIM argument without COARRAY argument not allowed for THIS_IMAGE intrinsic "
 "at %L"
 msgstr ""
 
-#: fortran/check.cc:6069
+#: fortran/check.cc:6071
 #, 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:6080
+#: fortran/check.cc:6082
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected DIM argument with noncoarray argument at %L"
 msgstr ""
 
-#: fortran/check.cc:6098
+#: fortran/check.cc:6100
 #, gcc-internal-format, gfc-internal-format
 msgid "DISTANCE= argument to THIS_IMAGE at %L"
 msgstr ""
 
-#: fortran/check.cc:6156
+#: fortran/check.cc:6158
 #, 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:6208
+#: fortran/check.cc:6210
 #, gcc-internal-format
 msgid "%<SOURCE%> argument of %<TRANSFER%> intrinsic at %L must not be a %s"
 msgstr ""
 
-#: fortran/check.cc:6227
+#: fortran/check.cc:6229
 #, gcc-internal-format
 msgid "%<MOLD%> argument of %<TRANSFER%> intrinsic at %L must not be a %s"
 msgstr ""
 
-#: fortran/check.cc:6235
+#: fortran/check.cc:6237
 #, gcc-internal-format
 msgid "%<MOLD%> argument of %<TRANSFER%> intrinsic at %L must not be %s"
 msgstr ""
 
-#: fortran/check.cc:6270
+#: fortran/check.cc:6272
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < "
 "result size %ld"
 msgstr ""
 
-#: fortran/check.cc:6392
+#: fortran/check.cc:6396
 #, 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:6405
+#: fortran/check.cc:6409
 #, gcc-internal-format
 msgid "%qs and %qs arguments of %qs intrinsic at %L must have identical shape."
 msgstr ""
 
-#: fortran/check.cc:6671 fortran/check.cc:6703
+#: fortran/check.cc:6675 fortran/check.cc:6707
 #, gcc-internal-format
 msgid "Size of %qs argument of %qs intrinsic at %L too small (%i/%i)"
 msgstr ""
 
-#: fortran/check.cc:6711
+#: fortran/check.cc:6715
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many arguments to %s at %L"
 msgstr ""
 
-#: fortran/check.cc:6729
+#: fortran/check.cc:6733
 #, gcc-internal-format
 msgid "fe_runtime_error string must be null terminated"
 msgstr ""
 
-#: fortran/check.cc:6741
+#: fortran/check.cc:6745
 #, gcc-internal-format, gfc-internal-format
 msgid "fe_runtime_error: Wrong number of arguments (%d instead of %d)"
 msgstr ""
 
-#: fortran/check.cc:6781
+#: fortran/check.cc:6785
 #, gcc-internal-format, gfc-internal-format
 msgid "COUNT argument to SYSTEM_CLOCK at %L has non-default kind"
 msgstr ""
 
-#: fortran/check.cc:6800
+#: fortran/check.cc:6804
 #, gcc-internal-format, gfc-internal-format
 msgid "Real COUNT_RATE argument to SYSTEM_CLOCK at %L"
 msgstr ""
 
-#: fortran/check.cc:6810
+#: fortran/check.cc:6814
 #, gcc-internal-format, gfc-internal-format
 msgid "COUNT_RATE argument to SYSTEM_CLOCK at %L has non-default kind"
 msgstr ""
 
-#: fortran/check.cc:6827
+#: fortran/check.cc:6831
 #, gcc-internal-format, gfc-internal-format
 msgid "COUNT_MAX argument to SYSTEM_CLOCK at %L has non-default kind"
 msgstr ""
 
-#: fortran/check.cc:7044
+#: fortran/check.cc:7048
 #, 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:7226
+#: fortran/check.cc:7230
 #, gcc-internal-format
 msgid "Actual argument at %L of %qs intrinsic shall be an associated pointer"
 msgstr ""
 
-#: fortran/check.cc:7415 fortran/check.cc:7426
+#: fortran/check.cc:7419 fortran/check.cc:7430
 #, gcc-internal-format
 msgid ""
 "%qs argument of %qs intrinsic at %L must be INTEGER, LOGICAL, or a BOZ "
 "literal constant"
 msgstr ""
 
-#: fortran/check.cc:7486
+#: fortran/check.cc:7490
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Intrinsic function NULL at %L cannot be an actual argument to STORAGE_SIZE, "
@@ -67350,7 +69205,7 @@ msgstr ""
 
 #. Since the extension field is 8 bit wide, we can only have
 #. up to 255 extension levels.
-#: fortran/class.cc:782 fortran/decl.cc:4023 fortran/decl.cc:10689
+#: fortran/class.cc:782 fortran/decl.cc:4055 fortran/decl.cc:10735
 #, gcc-internal-format
 msgid "Maximum extension level reached with type %qs at %L"
 msgstr ""
@@ -67390,60 +69245,55 @@ msgstr ""
 msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)"
 msgstr ""
 
-#: fortran/data.cc:188 fortran/resolve.cc:5187
+#: fortran/data.cc:188 fortran/resolve.cc:5199
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L is less than one"
 msgstr ""
 
-#: fortran/data.cc:194 fortran/resolve.cc:5217
+#: fortran/data.cc:194 fortran/resolve.cc:5229
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr ""
 
-#: fortran/data.cc:249
-#, gcc-internal-format
-msgid "PARAMETER %qs shall not appear in a DATA statement at %L"
-msgstr ""
-
-#: fortran/data.cc:291
+#: fortran/data.cc:284
 #, gcc-internal-format
 msgid "%qs at %L already is initialized at %L"
 msgstr ""
 
-#: fortran/data.cc:315
+#: fortran/data.cc:308
 #, gcc-internal-format, gfc-internal-format
 msgid "Data element below array lower bound at %L"
 msgstr ""
 
-#: fortran/data.cc:332 fortran/data.cc:421
+#: fortran/data.cc:325 fortran/data.cc:414
 #, gcc-internal-format, gfc-internal-format
 msgid "Data element above array upper bound at %L"
 msgstr ""
 
-#: fortran/data.cc:362 fortran/data.cc:587
+#: fortran/data.cc:355 fortran/data.cc:580
 #, gcc-internal-format
 msgid "re-initialization of %qs at %L"
 msgstr ""
 
-#: fortran/data.cc:532
+#: fortran/data.cc:525
 #, gcc-internal-format, gfc-internal-format
 msgid "LEN or KIND inquiry ref in DATA statement at %L"
 msgstr ""
 
-#: fortran/data.cc:610
+#: fortran/data.cc:603
 #, gcc-internal-format
 msgid ""
 "Nonpointer object %qs with default initialization shall not appear in a DATA "
 "statement at %L"
 msgstr ""
 
-#: fortran/data.cc:662 fortran/data.cc:681 fortran/data.cc:695
-#: fortran/data.cc:824
+#: fortran/data.cc:655 fortran/data.cc:674 fortran/data.cc:688
+#: fortran/data.cc:817
 #, gcc-internal-format
 msgid "Simplification error"
 msgstr ""
 
-#: fortran/data.cc:837
+#: fortran/data.cc:830
 #, gcc-internal-format
 msgid "TODO: Vector sections in data statements"
 msgstr ""
@@ -67463,253 +69313,253 @@ msgstr ""
 msgid "initialization of common block variable %qs in DATA statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:448
+#: fortran/decl.cc:449
 #, gcc-internal-format
 msgid "Symbol %qs must be a PARAMETER in DATA statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:474
+#: fortran/decl.cc:475
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid initializer %s in Data statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:579
+#: fortran/decl.cc:580
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ at %L cannot appear in an old-style initialization"
 msgstr ""
 
-#: fortran/decl.cc:587
+#: fortran/decl.cc:588
 #, 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:597
+#: fortran/decl.cc:598
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C is not allowed in a PURE procedure"
 msgstr ""
 
-#: fortran/decl.cc:644
+#: fortran/decl.cc:645
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.cc:668
+#: fortran/decl.cc:669
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid substring in data-implied-do at %L in DATA statement"
 msgstr ""
 
-#: fortran/decl.cc:691
+#: fortran/decl.cc:692
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocatable component or deferred-shaped array near %C in DATA statement"
 msgstr ""
 
-#: fortran/decl.cc:733
+#: fortran/decl.cc:734
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant at %L cannot appear in a structure constructor"
 msgstr ""
 
-#: fortran/decl.cc:749
+#: fortran/decl.cc:750
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %C is not allowed in a PURE procedure"
 msgstr ""
 
-#: fortran/decl.cc:758
+#: fortran/decl.cc:759
 #, 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:797
+#: fortran/decl.cc:798
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty old style initializer list at %C"
 msgstr ""
 
-#: fortran/decl.cc:806
+#: fortran/decl.cc:807
 #, gcc-internal-format, gfc-internal-format
 msgid "Array in initializer list at %L must have an explicit shape"
 msgstr ""
 
-#: fortran/decl.cc:829
+#: fortran/decl.cc:830
 #, gcc-internal-format, gfc-internal-format
 msgid "Repeat spec invalid in scalar initializer at %C"
 msgstr ""
 
-#: fortran/decl.cc:834
+#: fortran/decl.cc:835
 #, gcc-internal-format, gfc-internal-format
 msgid "Repeat spec must be an integer at %C"
 msgstr ""
 
-#: fortran/decl.cc:845
+#: fortran/decl.cc:846
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected data constant after repeat spec at %C"
 msgstr ""
 
-#: fortran/decl.cc:877
+#: fortran/decl.cc:878
 #, gcc-internal-format, gfc-internal-format
 msgid "End of scalar initializer expected at %C"
 msgstr ""
 
-#: fortran/decl.cc:905
+#: fortran/decl.cc:906
 #, gcc-internal-format, gfc-internal-format
 msgid "Not enough elements in array initializer at %C"
 msgstr ""
 
-#: fortran/decl.cc:907
+#: fortran/decl.cc:908
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many elements in array initializer at %C"
 msgstr ""
 
-#: fortran/decl.cc:933
+#: fortran/decl.cc:934
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in old style initializer list at %C"
 msgstr ""
 
-#: fortran/decl.cc:957
+#: fortran/decl.cc:958
 #, gcc-internal-format, gfc-internal-format
 msgid "The assumed-rank array at %C shall not have a codimension"
 msgstr ""
 
-#: fortran/decl.cc:1022
+#: fortran/decl.cc:1023
 #, 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:1046
+#: fortran/decl.cc:1047
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad INTENT specification at %C"
 msgstr ""
 
-#: fortran/decl.cc:1067
+#: fortran/decl.cc:1068
 #, gcc-internal-format, gfc-internal-format
 msgid "deferred type parameter at %C"
 msgstr ""
 
-#: fortran/decl.cc:1158 fortran/resolve.cc:12624
+#: fortran/decl.cc:1159 fortran/resolve.cc:12680
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar INTEGER expression expected at %L"
 msgstr ""
 
-#: fortran/decl.cc:1184
+#: fortran/decl.cc:1185
 #, gcc-internal-format, gfc-internal-format
 msgid "Old-style character length at %C"
 msgstr ""
 
-#: fortran/decl.cc:1215
+#: fortran/decl.cc:1216
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in character length specification at %C"
 msgstr ""
 
-#: fortran/decl.cc:1367 fortran/decl.cc:1374 fortran/decl.cc:1438
+#: fortran/decl.cc:1368 fortran/decl.cc:1375 fortran/decl.cc:1439
 #, gcc-internal-format
 msgid "Procedure %qs at %C is already defined at %L"
 msgstr ""
 
-#: fortran/decl.cc:1382
+#: fortran/decl.cc:1383
 #, gcc-internal-format
 msgid "Contained procedure %qs at %C clashes with procedure defined at %L"
 msgstr ""
 
-#: fortran/decl.cc:1394
+#: fortran/decl.cc:1395
 #, gcc-internal-format
 msgid "Name %qs at %C is already defined as a generic interface at %L"
 msgstr ""
 
-#: fortran/decl.cc:1410
+#: fortran/decl.cc:1411
 #, gcc-internal-format
 msgid ""
 "Procedure %qs at %C has an explicit interface from a previous declaration"
 msgstr ""
 
-#: fortran/decl.cc:1426
+#: fortran/decl.cc:1427
 #, gcc-internal-format
 msgid ""
 "Procedure %qs defined in interface body at %L clashes with internal "
 "procedure defined at %C"
 msgstr ""
 
-#: fortran/decl.cc:1509
+#: fortran/decl.cc:1510
 #, gcc-internal-format
 msgid ""
 "Procedure %qs at %L must have the BIND(C) attribute to be C interoperable"
 msgstr ""
 
-#: fortran/decl.cc:1536
+#: fortran/decl.cc:1537
 #, 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:1543
+#: fortran/decl.cc:1544
 #, 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:1550
+#: fortran/decl.cc:1551
 #, 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:1559
+#: fortran/decl.cc:1560
 #, 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:1569
+#: fortran/decl.cc:1570
 #, gcc-internal-format
 msgid ""
 "Default-initialized %s dummy argument %qs at %L is not permitted in BIND(C) "
 "procedure %qs"
 msgstr ""
 
-#: fortran/decl.cc:1590
+#: fortran/decl.cc:1591
 #, 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:1595
+#: fortran/decl.cc:1596
 #, 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:1602
+#: fortran/decl.cc:1603
 #, gcc-internal-format
 msgid ""
 "Deferred-length character dummy argument %qs at %L of procedure %qs with "
 "BIND(C) attribute"
 msgstr ""
 
-#: fortran/decl.cc:1614
+#: fortran/decl.cc:1615
 #, 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:1625
+#: fortran/decl.cc:1626
 #, gcc-internal-format
 msgid ""
 "Assumed-length character dummy argument %qs at %L of procedure %qs with "
 "BIND(C) attribute"
 msgstr ""
 
-#: fortran/decl.cc:1639
+#: fortran/decl.cc:1640
 #, gcc-internal-format
 msgid ""
 "Character dummy argument %qs at %L must be of constant length of one or "
@@ -67717,730 +69567,740 @@ msgid ""
 "%qs has the BIND(C) attribute"
 msgstr ""
 
-#: fortran/decl.cc:1657
+#: fortran/decl.cc:1658
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L with ALLOCATABLE attribute in procedure %qs with BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1665
+#: fortran/decl.cc:1666
 #, gcc-internal-format
 msgid "Variable %qs at %L with POINTER attribute in procedure %qs with BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1674
+#: fortran/decl.cc:1675
 #, 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:1681
+#: fortran/decl.cc:1682
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L with OPTIONAL attribute in procedure %qs which is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:1692
+#: fortran/decl.cc:1693
 #, 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:1760
+#: fortran/decl.cc:1761
 #, gcc-internal-format
 msgid "Symbol %qs at %C also declared as a type at %L"
 msgstr ""
 
-#: fortran/decl.cc:1819
+#: fortran/decl.cc:1820
 #, 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:1859
+#: fortran/decl.cc:1860
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER length must be a constant at %L"
 msgstr ""
 
-#: fortran/decl.cc:1874
+#: fortran/decl.cc:1875
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression at %L is being truncated (%ld/%ld)"
 msgstr ""
 
-#: fortran/decl.cc:1882
+#: fortran/decl.cc:1883
 #, 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:1981
+#: fortran/decl.cc:1982
 #, gcc-internal-format
 msgid "Initializer not allowed for PARAMETER %qs at %C"
 msgstr ""
 
-#: fortran/decl.cc:1994
+#: fortran/decl.cc:1995
 #, gcc-internal-format, gfc-internal-format
 msgid "PARAMETER at %L is missing an initializer"
 msgstr ""
 
-#: fortran/decl.cc:2004
+#: fortran/decl.cc:2005
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %C with an initializer already appears in a DATA statement"
 msgstr ""
 
-#: fortran/decl.cc:2047
+#: fortran/decl.cc:2048
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot initialize parameter array at %L with variable length elements"
 msgstr ""
 
-#: fortran/decl.cc:2111
+#: fortran/decl.cc:2112
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch of array at %L and its initializer (%d/%d)"
 msgstr ""
 
-#: fortran/decl.cc:2124
+#: fortran/decl.cc:2125
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot initialize implied-shape array at %L with scalar"
 msgstr ""
 
 #: fortran/decl.cc:2135
-#, gcc-internal-format
-msgid "gfc_array_size failed"
+#, gcc-internal-format, gfc-internal-format
+msgid "Bad shape of initializer at %L"
 msgstr ""
 
-#: fortran/decl.cc:2165
+#: fortran/decl.cc:2142
+#, gcc-internal-format, gfc-internal-format
+msgid "Cannot determine shape of initializer at %L"
+msgstr ""
+
+#: fortran/decl.cc:2177
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-constant lower bound in implied-shape declaration at %L"
 msgstr ""
 
-#: fortran/decl.cc:2273 fortran/decl.cc:2280
+#: fortran/decl.cc:2227
+#, gcc-internal-format
+msgid "Entity %qs at %L is incompatible with a BOZ literal constant"
+msgstr ""
+
+#: fortran/decl.cc:2293 fortran/decl.cc:2300
 #, gcc-internal-format, gfc-internal-format
 msgid "Component at %C must have the POINTER attribute"
 msgstr ""
 
-#: fortran/decl.cc:2289
+#: fortran/decl.cc:2309
 #, gcc-internal-format
 msgid "Component %qs with CLASS at %C must be allocatable or pointer"
 msgstr ""
 
-#: fortran/decl.cc:2298
+#: fortran/decl.cc:2318
 #, gcc-internal-format, gfc-internal-format
 msgid "Array component of structure at %C must have explicit or deferred shape"
 msgstr ""
 
-#: fortran/decl.cc:2322 fortran/symbol.cc:2264
+#: fortran/decl.cc:2342 fortran/symbol.cc:2270
 #, gcc-internal-format
 msgid "Component %qs at %C already declared at %L"
 msgstr ""
 
-#: fortran/decl.cc:2370
+#: fortran/decl.cc:2390
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer array component of structure at %C must have a deferred shape"
 msgstr ""
 
-#: fortran/decl.cc:2379
+#: fortran/decl.cc:2399
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocatable component of structure at %C must have a deferred shape"
 msgstr ""
 
-#: fortran/decl.cc:2388
+#: fortran/decl.cc:2408
 #, gcc-internal-format, gfc-internal-format
 msgid "Array component of structure at %C must have an explicit shape"
 msgstr ""
 
-#: fortran/decl.cc:2405
+#: fortran/decl.cc:2425
 #, 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:2462
+#: fortran/decl.cc:2482
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL() initialization at %C is ambiguous"
 msgstr ""
 
-#: fortran/decl.cc:2479
+#: fortran/decl.cc:2499
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL() initialization at %C may not have MOLD"
 msgstr ""
 
-#: fortran/decl.cc:2496
+#: fortran/decl.cc:2516
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
 msgstr ""
 
-#: fortran/decl.cc:2517
+#: fortran/decl.cc:2537
 #, gcc-internal-format, gfc-internal-format
 msgid "Error in pointer initialization at %C"
 msgstr ""
 
-#: fortran/decl.cc:2524
+#: fortran/decl.cc:2544
 #, gcc-internal-format, gfc-internal-format
 msgid "non-NULL pointer initialization at %C"
 msgstr ""
 
-#: fortran/decl.cc:2547
+#: fortran/decl.cc:2567
 #, 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:2601
+#: fortran/decl.cc:2621
 #, gcc-internal-format
 msgid "%qs not allowed outside STRUCTURE at %C"
 msgstr ""
 
-#: fortran/decl.cc:2603
+#: fortran/decl.cc:2623
 #, gcc-internal-format
 msgid "%qs at %C is a DEC extension, enable with %<-fdec-structure%>"
 msgstr ""
 
-#: fortran/decl.cc:2611
+#: fortran/decl.cc:2631
 #, gcc-internal-format
 msgid "%qs entity cannot have attributes at %C"
 msgstr ""
 
-#: fortran/decl.cc:2621
+#: fortran/decl.cc:2641
 #, gcc-internal-format
 msgid "Invalid character %qc in variable name at %C"
 msgstr ""
 
-#: fortran/decl.cc:2663
+#: fortran/decl.cc:2683
 #, gcc-internal-format
 msgid "Non-PARAMETER symbol %qs at %L cannot be implied-shape"
 msgstr ""
 
-#: fortran/decl.cc:2673
+#: fortran/decl.cc:2693
 #, gcc-internal-format, gfc-internal-format
 msgid "Implied-shape array at %L"
 msgstr ""
 
-#: fortran/decl.cc:2730
+#: fortran/decl.cc:2750
 #, 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:2738
+#: fortran/decl.cc:2758
 #, gcc-internal-format, gfc-internal-format
 msgid "Explicit shaped array with nonconstant bounds at %C"
 msgstr ""
 
-#: fortran/decl.cc:2827
+#: fortran/decl.cc:2859
 #, gcc-internal-format
 msgid ""
 "%qs at %C is a redefinition of the declaration in the corresponding "
 "interface for MODULE PROCEDURE %qs"
 msgstr ""
 
-#: fortran/decl.cc:2838
+#: fortran/decl.cc:2870
 #, gcc-internal-format
 msgid "%qs entity cannot have an initializer at %C"
 msgstr ""
 
-#: fortran/decl.cc:2863 fortran/decl.cc:8920
+#: fortran/decl.cc:2895 fortran/decl.cc:8966
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate array spec for Cray pointee at %C"
 msgstr ""
 
-#: fortran/decl.cc:2871
+#: fortran/decl.cc:2903
 #, gcc-internal-format
 msgid "Cannot set pointee array spec."
 msgstr ""
 
-#: fortran/decl.cc:2934
+#: fortran/decl.cc:2966
 #, gcc-internal-format, gfc-internal-format
 msgid "Old-style initialization at %C"
 msgstr ""
 
-#: fortran/decl.cc:2942
+#: fortran/decl.cc:2974
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid old style initialization for derived type component at %C"
 msgstr ""
 
-#: fortran/decl.cc:2955
+#: fortran/decl.cc:2987
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in old style initialization of %s at %C"
 msgstr ""
 
-#: fortran/decl.cc:2975 fortran/decl.cc:7133
+#: fortran/decl.cc:3007 fortran/decl.cc:7177
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr ""
 
-#: fortran/decl.cc:2998
+#: fortran/decl.cc:3030
 #, gcc-internal-format
 msgid "Pointer initialization at %C requires %<=>%>, not %<=%>"
 msgstr ""
 
-#: fortran/decl.cc:3007 fortran/decl.cc:10863
+#: fortran/decl.cc:3039 fortran/decl.cc:10909
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected an initialization expression at %C"
 msgstr ""
 
-#: fortran/decl.cc:3014
+#: fortran/decl.cc:3046
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization of variable at %C is not allowed in a PURE procedure"
 msgstr ""
 
-#: fortran/decl.cc:3031
+#: fortran/decl.cc:3063
 #, gcc-internal-format, gfc-internal-format
 msgid "Initialization of allocatable component at %C is not allowed"
 msgstr ""
 
-#: fortran/decl.cc:3040
+#: fortran/decl.cc:3072
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Initialization of structure component with a HOLLERITH constant at %L is not "
 "allowed"
 msgstr ""
 
-#: fortran/decl.cc:3054
+#: fortran/decl.cc:3086
 #, 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:3062
+#: fortran/decl.cc:3094
 #, 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:3070
+#: fortran/decl.cc:3102
 #, gcc-internal-format, gfc-internal-format
 msgid "The component at %C which is a type parameter must be a scalar"
 msgstr ""
 
-#: fortran/decl.cc:3079
+#: fortran/decl.cc:3111
 #, gcc-internal-format, gfc-internal-format
 msgid "BOZ literal constant at %L cannot appear as an initializer"
 msgstr ""
 
-#: fortran/decl.cc:3096
+#: fortran/decl.cc:3128
 #, gcc-internal-format
 msgid ""
 "Incompatible initialization between a derived type entity and an entity with "
 "%qs type at %C"
 msgstr ""
 
-#: fortran/decl.cc:3159 fortran/decl.cc:3194
+#: fortran/decl.cc:3191 fortran/decl.cc:3226
 #, gcc-internal-format, gfc-internal-format
 msgid "Old-style type declaration %s*%d not supported at %C"
 msgstr ""
 
-#: fortran/decl.cc:3200
+#: fortran/decl.cc:3232
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonstandard type declaration %s*%d at %C"
 msgstr ""
 
-#: fortran/decl.cc:3259 fortran/decl.cc:3336
+#: fortran/decl.cc:3291 fortran/decl.cc:3368
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing right parenthesis at %C"
 msgstr ""
 
-#: fortran/decl.cc:3272 fortran/decl.cc:3406
+#: fortran/decl.cc:3304 fortran/decl.cc:3438
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected initialization expression at %C"
 msgstr ""
 
-#: fortran/decl.cc:3280 fortran/decl.cc:3412
+#: fortran/decl.cc:3312 fortran/decl.cc:3444
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected scalar initialization expression at %C"
 msgstr ""
 
-#: fortran/decl.cc:3310 fortran/decl.cc:4044
+#: fortran/decl.cc:3342 fortran/decl.cc:4076
 #, gcc-internal-format, gfc-internal-format
 msgid "Kind %d not supported for type %s at %C"
 msgstr ""
 
-#: fortran/decl.cc:3323
+#: fortran/decl.cc:3355
 #, 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:3334
+#: fortran/decl.cc:3366
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing right parenthesis or comma at %C"
 msgstr ""
 
-#: fortran/decl.cc:3438
+#: fortran/decl.cc:3470
 #, gcc-internal-format, gfc-internal-format
 msgid "Kind %d is not supported for CHARACTER at %C"
 msgstr ""
 
-#: fortran/decl.cc:3570
+#: fortran/decl.cc:3602
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in CHARACTER declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:3671
+#: fortran/decl.cc:3703
 #, gcc-internal-format
 msgid "RECORD at %C is an extension, enable it with %<-fdec-structure%>"
 msgstr ""
 
-#: fortran/decl.cc:3684
+#: fortran/decl.cc:3716
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure name expected after RECORD at %C"
 msgstr ""
 
-#: fortran/decl.cc:3797
+#: fortran/decl.cc:3829
 #, 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:3821
+#: fortran/decl.cc:3853
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The type parameter spec list at %C does not contain enough parameter "
 "expressions"
 msgstr ""
 
-#: fortran/decl.cc:3845
+#: fortran/decl.cc:3877
 #, gcc-internal-format
 msgid "The derived parameter %qs at %C does not have a default value"
 msgstr ""
 
-#: fortran/decl.cc:3878
+#: fortran/decl.cc:3910
 #, 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:3885
+#: fortran/decl.cc:3917
 #, gcc-internal-format, gfc-internal-format
 msgid "The parameter expression at %C does not simplify to an INTEGER constant"
 msgstr ""
 
-#: fortran/decl.cc:3912
+#: fortran/decl.cc:3944
 #, gcc-internal-format
 msgid "The KIND parameter %qs at %C cannot either be ASSUMED or DEFERRED"
 msgstr ""
 
-#: fortran/decl.cc:3919
+#: fortran/decl.cc:3951
 #, gcc-internal-format
 msgid ""
 "The value for the KIND parameter %qs at %C does not reduce to a constant "
 "expression"
 msgstr ""
 
-#: fortran/decl.cc:3934
+#: fortran/decl.cc:3966
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The type parameter spec list at %C contains too many parameter expressions"
 msgstr ""
 
-#: fortran/decl.cc:3943
+#: fortran/decl.cc:3975
 #, gcc-internal-format, gfc-internal-format
 msgid "Parameterized derived type at %C is ambiguous"
 msgstr ""
 
-#: fortran/decl.cc:4179
+#: fortran/decl.cc:4211
 #, gcc-internal-format, gfc-internal-format
 msgid "BYTE type at %C"
 msgstr ""
 
-#: fortran/decl.cc:4191
+#: fortran/decl.cc:4223
 #, gcc-internal-format, gfc-internal-format
 msgid "BYTE type used at %C is not available on the target machine"
 msgstr ""
 
-#: fortran/decl.cc:4253
+#: fortran/decl.cc:4285
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed type at %C is not allowed for components"
 msgstr ""
 
-#: fortran/decl.cc:4256
+#: fortran/decl.cc:4288
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed type at %C"
 msgstr ""
 
-#: fortran/decl.cc:4278 fortran/decl.cc:4312 fortran/decl.cc:4345
-#: fortran/decl.cc:4644
+#: fortran/decl.cc:4310 fortran/decl.cc:4344 fortran/decl.cc:4377
+#: fortran/decl.cc:4676
 #, gcc-internal-format, gfc-internal-format
 msgid "TYPE with intrinsic-type-spec at %C"
 msgstr ""
 
-#: fortran/decl.cc:4290 fortran/decl.cc:4318 fortran/decl.cc:4351
-#: fortran/decl.cc:4377 fortran/decl.cc:4669 fortran/decl.cc:4684
+#: fortran/decl.cc:4322 fortran/decl.cc:4350 fortran/decl.cc:4383
+#: fortran/decl.cc:4409 fortran/decl.cc:4701 fortran/decl.cc:4716
 #, gcc-internal-format, gfc-internal-format
 msgid "Malformed type-spec at %C"
 msgstr ""
 
-#: fortran/decl.cc:4341
+#: fortran/decl.cc:4373
 #, gcc-internal-format, gfc-internal-format
 msgid "DOUBLE COMPLEX at %C"
 msgstr ""
 
-#: fortran/decl.cc:4393 fortran/decl.cc:4535 fortran/decl.cc:4547
-#: fortran/decl.cc:4561 fortran/decl.cc:5043 fortran/decl.cc:5051
+#: fortran/decl.cc:4425 fortran/decl.cc:4567 fortran/decl.cc:4579
+#: fortran/decl.cc:4593 fortran/decl.cc:5075 fortran/decl.cc:5083
 #, gcc-internal-format
 msgid "Type name %qs at %C is ambiguous"
 msgstr ""
 
-#: fortran/decl.cc:4494
+#: fortran/decl.cc:4526
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:4576
+#: fortran/decl.cc:4608
 #, 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:4719
+#: fortran/decl.cc:4751
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate IMPLICIT NONE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:4728
+#: fortran/decl.cc:4760
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPLICIT NONE with spec list at %C"
 msgstr ""
 
-#: fortran/decl.cc:4787
+#: fortran/decl.cc:4819
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing character range in IMPLICIT at %C"
 msgstr ""
 
-#: fortran/decl.cc:4833
+#: fortran/decl.cc:4865
 #, gcc-internal-format, gfc-internal-format
 msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:4886
+#: fortran/decl.cc:4918
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPLICIT statement at %C following an IMPLICIT NONE (type) statement"
 msgstr ""
 
-#: fortran/decl.cc:4896
+#: fortran/decl.cc:4928
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty IMPLICIT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:5002
+#: fortran/decl.cc:5034
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPORT statement at %C only permitted in an INTERFACE body"
 msgstr ""
 
-#: fortran/decl.cc:5009
+#: fortran/decl.cc:5041
 #, 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:5014
+#: fortran/decl.cc:5046
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPORT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:5028
+#: fortran/decl.cc:5060
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting list of named entities at %C"
 msgstr ""
 
-#: fortran/decl.cc:5057
+#: fortran/decl.cc:5089
 #, gcc-internal-format
 msgid "Cannot IMPORT %qs from host scoping unit at %C - does not exist."
 msgstr ""
 
-#: fortran/decl.cc:5064
+#: fortran/decl.cc:5096
 #, gcc-internal-format
 msgid "%qs is already IMPORTed from host scoping unit at %C"
 msgstr ""
 
-#: fortran/decl.cc:5105
+#: fortran/decl.cc:5137
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in IMPORT statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:5445
+#: fortran/decl.cc:5477
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing codimension specification at %C"
 msgstr ""
 
-#: fortran/decl.cc:5447
+#: fortran/decl.cc:5479
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing dimension specification at %C"
 msgstr ""
 
-#: fortran/decl.cc:5542
+#: fortran/decl.cc:5574
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate %s attribute at %L"
 msgstr ""
 
-#: fortran/decl.cc:5559
+#: fortran/decl.cc:5591
 #, gcc-internal-format
 msgid "%s at %L is a DEC extension, enable with %<-fdec-static%>"
 msgstr ""
 
-#: fortran/decl.cc:5578
+#: fortran/decl.cc:5610
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATABLE attribute at %C in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5580
+#: fortran/decl.cc:5612
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATABLE attribute at %C in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5590
+#: fortran/decl.cc:5622
 #, gcc-internal-format, gfc-internal-format
 msgid "KIND attribute at %C in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5592
+#: fortran/decl.cc:5624
 #, gcc-internal-format, gfc-internal-format
 msgid "KIND attribute at %C in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5600
+#: fortran/decl.cc:5632
 #, gcc-internal-format, gfc-internal-format
 msgid "Component with KIND attribute at %C must be INTEGER"
 msgstr ""
 
-#: fortran/decl.cc:5609
+#: fortran/decl.cc:5641
 #, gcc-internal-format, gfc-internal-format
 msgid "LEN attribute at %C in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5611
+#: fortran/decl.cc:5643
 #, gcc-internal-format, gfc-internal-format
 msgid "LEN attribute at %C in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5619
+#: fortran/decl.cc:5651
 #, gcc-internal-format, gfc-internal-format
 msgid "Component with LEN attribute at %C must be INTEGER"
 msgstr ""
 
-#: fortran/decl.cc:5627
+#: fortran/decl.cc:5659
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute at %L is not allowed in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5629
+#: fortran/decl.cc:5661
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute at %L is not allowed in a STRUCTURE definition"
 msgstr ""
 
-#: fortran/decl.cc:5647
+#: fortran/decl.cc:5679
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute %s at %L in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5657
+#: fortran/decl.cc:5689
 #, 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:5667
+#: fortran/decl.cc:5699
 #, gcc-internal-format, gfc-internal-format
 msgid "Attribute at %L is not allowed outside a TYPE definition"
 msgstr ""
 
-#: fortran/decl.cc:5680
+#: fortran/decl.cc:5712
 #, gcc-internal-format, gfc-internal-format
 msgid "ASYNCHRONOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5691
+#: fortran/decl.cc:5723
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTIGUOUS attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5746 fortran/decl.cc:9222
+#: fortran/decl.cc:5778 fortran/decl.cc:9268
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
 msgstr ""
 
-#: fortran/decl.cc:5752
+#: fortran/decl.cc:5784
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5786
+#: fortran/decl.cc:5818
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5793
+#: fortran/decl.cc:5825
 #, gcc-internal-format, gfc-internal-format
 msgid "VOLATILE attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:5800
+#: fortran/decl.cc:5832
 #, gcc-internal-format
 msgid "match_attr_spec(): Bad attribute"
 msgstr ""
 
-#: fortran/decl.cc:5841
+#: fortran/decl.cc:5873
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:5939
+#: fortran/decl.cc:5971
 #, gcc-internal-format
 msgid ""
 "Implicitly declared BIND(C) function %qs at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/decl.cc:5961
+#: fortran/decl.cc:5993
 #, 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:5970
+#: fortran/decl.cc:6004
 #, gcc-internal-format
 msgid "Type declaration %qs at %L is not C interoperable but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:5974
+#: fortran/decl.cc:6010
 #, gcc-internal-format
 msgid "Variable %qs at %L may not be a C interoperable kind but it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:5986
+#: fortran/decl.cc:6022
 #, 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:6000
+#: fortran/decl.cc:6036
 #, gcc-internal-format
 msgid "Variable %qs at %L cannot have both the POINTER and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.cc:6008
+#: fortran/decl.cc:6044
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
 msgstr ""
 
-#: fortran/decl.cc:6020
+#: fortran/decl.cc:6056
 #, gcc-internal-format
 msgid "Return type of BIND(C) function %qs at %L cannot be an array"
 msgstr ""
 
-#: fortran/decl.cc:6028
+#: fortran/decl.cc:6064
 #, gcc-internal-format
 msgid ""
 "Return type of BIND(C) function %qs of character type at %L must have length "
@@ -68449,1037 +70309,1042 @@ msgstr ""
 
 #. Use gfc_warning_now because we won't say that the symbol fails
 #. just because of this.
-#: fortran/decl.cc:6039
+#: fortran/decl.cc:6075
 #, gcc-internal-format
 msgid ""
 "Symbol %qs at %L is marked PRIVATE but has been given the binding label %qs"
 msgstr ""
 
-#: fortran/decl.cc:6113
+#: fortran/decl.cc:6149
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Need either entity or common block name for attribute specification "
 "statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:6158
+#: fortran/decl.cc:6194
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Missing entity or common block name for attribute specification statement at "
 "%C"
 msgstr ""
 
-#: fortran/decl.cc:6165
+#: fortran/decl.cc:6201
 #, gcc-internal-format
 msgid "Missing symbol"
 msgstr ""
 
-#: fortran/decl.cc:6194
+#: fortran/decl.cc:6230
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:6280
+#: fortran/decl.cc:6292
+#, gcc-internal-format, gfc-internal-format
+msgid "CLASS entity at %C cannot have the PARAMETER attribute"
+msgstr ""
+
+#: fortran/decl.cc:6324
 #, 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:6322
+#: fortran/decl.cc:6366
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in anonymous structure declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6331
+#: fortran/decl.cc:6375
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in data declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6403
+#: fortran/decl.cc:6447
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE prefix at %C"
 msgstr ""
 
-#: fortran/decl.cc:6408
+#: fortran/decl.cc:6452
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE prefix at %C found outside of a module, submodule, or interface"
 msgstr ""
 
-#: fortran/decl.cc:6459
+#: fortran/decl.cc:6503
 #, gcc-internal-format, gfc-internal-format
 msgid "IMPURE procedure at %C"
 msgstr ""
 
-#: fortran/decl.cc:6471
+#: fortran/decl.cc:6515
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE and IMPURE must not appear both at %C"
 msgstr ""
 
-#: fortran/decl.cc:6517
+#: fortran/decl.cc:6561
 #, gcc-internal-format, gfc-internal-format
 msgid "ELEMENTAL prefix in MODULE PROCEDURE interface is missing at %L"
 msgstr ""
 
-#: fortran/decl.cc:6524
+#: fortran/decl.cc:6568
 #, gcc-internal-format, gfc-internal-format
 msgid "PURE prefix in MODULE PROCEDURE interface is missing at %L"
 msgstr ""
 
-#: fortran/decl.cc:6531
+#: fortran/decl.cc:6575
 #, gcc-internal-format, gfc-internal-format
 msgid "RECURSIVE prefix in MODULE PROCEDURE interface is missing at %L"
 msgstr ""
 
-#: fortran/decl.cc:6592
+#: fortran/decl.cc:6636
 #, gcc-internal-format, gfc-internal-format
 msgid "A type parameter list is required at %C"
 msgstr ""
 
-#: fortran/decl.cc:6606 fortran/primary.cc:1893
+#: fortran/decl.cc:6650 fortran/primary.cc:1885
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate-return argument at %C"
 msgstr ""
 
-#: fortran/decl.cc:6612 fortran/decl.cc:6620
+#: fortran/decl.cc:6656 fortran/decl.cc:6664
 #, gcc-internal-format, gfc-internal-format
 msgid "A parameter name is required at %C"
 msgstr ""
 
-#: fortran/decl.cc:6660
+#: fortran/decl.cc:6704
 #, gcc-internal-format
 msgid "Name %qs at %C is the name of the procedure"
 msgstr ""
 
-#: fortran/decl.cc:6673
+#: fortran/decl.cc:6717
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected parameter list in type declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6676
+#: fortran/decl.cc:6720
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.cc:6694
+#: fortran/decl.cc:6738
 #, gcc-internal-format
 msgid "Duplicate name %qs in parameter list at %C"
 msgstr ""
 
-#: fortran/decl.cc:6697
+#: fortran/decl.cc:6741
 #, gcc-internal-format
 msgid "Duplicate symbol %qs in formal argument list at %C"
 msgstr ""
 
-#: fortran/decl.cc:6736
+#: fortran/decl.cc:6780
 #, gcc-internal-format, gfc-internal-format
 msgid "Mismatch in MODULE PROCEDURE formal argument names (%s/%s) at %C"
 msgstr ""
 
-#: fortran/decl.cc:6742
+#: fortran/decl.cc:6786
 #, gcc-internal-format, gfc-internal-format
 msgid "Mismatch in number of MODULE PROCEDURE formal arguments at %C"
 msgstr ""
 
-#: fortran/decl.cc:6781
+#: fortran/decl.cc:6825
 #, gcc-internal-format, gfc-internal-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr ""
 
-#: fortran/decl.cc:6858
+#: fortran/decl.cc:6902
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:6868 fortran/decl.cc:8006
+#: fortran/decl.cc:6912 fortran/decl.cc:8050
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L may not be specified for an internal procedure"
 msgstr ""
 
-#: fortran/decl.cc:7072
+#: fortran/decl.cc:7116
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:7079
+#: fortran/decl.cc:7123
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:7085
+#: fortran/decl.cc:7129
 #, gcc-internal-format, gfc-internal-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
 msgstr ""
 
-#: fortran/decl.cc:7108
+#: fortran/decl.cc:7152
 #, gcc-internal-format
 msgid "Procedure %qs at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/decl.cc:7154 fortran/decl.cc:7342 fortran/decl.cc:11347
+#: fortran/decl.cc:7198 fortran/decl.cc:7386 fortran/decl.cc:11393
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7203 fortran/decl.cc:11247
+#: fortran/decl.cc:7247 fortran/decl.cc:11293
 #, gcc-internal-format
 msgid "Expected %<::%> after binding-attributes at %C"
 msgstr ""
 
-#: fortran/decl.cc:7210
+#: fortran/decl.cc:7254
 #, gcc-internal-format, gfc-internal-format
 msgid "NOPASS or explicit interface required at %C"
 msgstr ""
 
-#: fortran/decl.cc:7214
+#: fortran/decl.cc:7258
 #, gcc-internal-format, gfc-internal-format
 msgid "Procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.cc:7286
+#: fortran/decl.cc:7330
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.cc:7304
+#: fortran/decl.cc:7348
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE at %C must be in a generic interface"
 msgstr ""
 
-#: fortran/decl.cc:7313 fortran/decl.cc:9987
+#: fortran/decl.cc:7357 fortran/decl.cc:10033
 #, gcc-internal-format, gfc-internal-format
 msgid "double colon in MODULE PROCEDURE statement at %L"
 msgstr ""
 
-#: fortran/decl.cc:7383
+#: fortran/decl.cc:7427
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7455
+#: fortran/decl.cc:7499
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:7485 fortran/decl.cc:7764 fortran/decl.cc:7973
-#: fortran/symbol.cc:1904
+#: fortran/decl.cc:7529 fortran/decl.cc:7808 fortran/decl.cc:8017
+#: fortran/symbol.cc:1910
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
 msgstr ""
 
-#: fortran/decl.cc:7515 fortran/decl.cc:8031
+#: fortran/decl.cc:7559 fortran/decl.cc:8075
 #, gcc-internal-format
 msgid "Mismatch in BIND(C) names (%qs/%qs) at %C"
 msgstr ""
 
-#: fortran/decl.cc:7658
+#: fortran/decl.cc:7702
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7667
+#: fortran/decl.cc:7711
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr ""
 
-#: fortran/decl.cc:7670
+#: fortran/decl.cc:7714
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr ""
 
-#: fortran/decl.cc:7673
+#: fortran/decl.cc:7717
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SUBMODULE"
 msgstr ""
 
-#: fortran/decl.cc:7676
+#: fortran/decl.cc:7720
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr ""
 
-#: fortran/decl.cc:7680 fortran/decl.cc:7725
+#: fortran/decl.cc:7724 fortran/decl.cc:7769
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/decl.cc:7684
+#: fortran/decl.cc:7728
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a STRUCTURE block"
 msgstr ""
 
-#: fortran/decl.cc:7688
+#: fortran/decl.cc:7732
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr ""
 
-#: fortran/decl.cc:7692
+#: fortran/decl.cc:7736
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr ""
 
-#: fortran/decl.cc:7697
+#: fortran/decl.cc:7741
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr ""
 
-#: fortran/decl.cc:7701
+#: fortran/decl.cc:7745
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr ""
 
-#: fortran/decl.cc:7705
+#: fortran/decl.cc:7749
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr ""
 
-#: fortran/decl.cc:7709
+#: fortran/decl.cc:7753
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr ""
 
-#: fortran/decl.cc:7713
+#: fortran/decl.cc:7757
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr ""
 
-#: fortran/decl.cc:7717
+#: fortran/decl.cc:7761
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected ENTRY statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:7738
+#: fortran/decl.cc:7782
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr ""
 
-#: fortran/decl.cc:7789 fortran/decl.cc:8013
+#: fortran/decl.cc:7833 fortran/decl.cc:8057
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing required parentheses before BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.cc:7883
+#: fortran/decl.cc:7927
 #, gcc-internal-format, gfc-internal-format
 msgid "ENTRY statement at %L with BIND(C) prohibited in an elemental procedure"
 msgstr ""
 
-#: fortran/decl.cc:8040
+#: fortran/decl.cc:8084
 #, 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:8103 fortran/decl.cc:8110
+#: fortran/decl.cc:8147 fortran/decl.cc:8154
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid C identifier in NAME= specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:8150
+#: fortran/decl.cc:8194
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
 msgstr ""
 
-#: fortran/decl.cc:8166
+#: fortran/decl.cc:8210
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME= specifier at %C should be a constant expression"
 msgstr ""
 
-#: fortran/decl.cc:8174
+#: fortran/decl.cc:8218
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME= specifier at %C should be a scalar of default character kind"
 msgstr ""
 
-#: fortran/decl.cc:8193
+#: fortran/decl.cc:8237
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing closing paren for binding label at %C"
 msgstr ""
 
-#: fortran/decl.cc:8199
+#: fortran/decl.cc:8243
 #, gcc-internal-format, gfc-internal-format
 msgid "No binding name is allowed in BIND(C) at %C"
 msgstr ""
 
-#: fortran/decl.cc:8205
+#: fortran/decl.cc:8249
 #, 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:8234
+#: fortran/decl.cc:8278
 #, gcc-internal-format, gfc-internal-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
 msgstr ""
 
-#: fortran/decl.cc:8481
+#: fortran/decl.cc:8525
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected END statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:8490
+#: fortran/decl.cc:8534
 #, 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:8499
+#: fortran/decl.cc:8543
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement expected at %L"
 msgstr ""
 
-#: fortran/decl.cc:8510
+#: fortran/decl.cc:8554
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s statement at %L"
 msgstr ""
 
-#: fortran/decl.cc:8530
+#: fortran/decl.cc:8574
 #, gcc-internal-format
 msgid "Expected block name of %qs in %s statement at %L"
 msgstr ""
 
-#: fortran/decl.cc:8547
+#: fortran/decl.cc:8591
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected terminating name at %C"
 msgstr ""
 
-#: fortran/decl.cc:8561 fortran/decl.cc:8569
+#: fortran/decl.cc:8605 fortran/decl.cc:8613
 #, gcc-internal-format
 msgid "Expected label %qs for %s statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:8668
+#: fortran/decl.cc:8712
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.cc:8676
+#: fortran/decl.cc:8720
 #, gcc-internal-format, gfc-internal-format
 msgid "Dimensions specified for %s at %L after its initialization"
 msgstr ""
 
-#: fortran/decl.cc:8684
+#: fortran/decl.cc:8728
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing array specification at %L in CODIMENSION statement"
 msgstr ""
 
-#: fortran/decl.cc:8693
+#: fortran/decl.cc:8737
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification must be deferred at %L"
 msgstr ""
 
-#: fortran/decl.cc:8708
+#: fortran/decl.cc:8754
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DIMENSION attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:8800
+#: fortran/decl.cc:8846
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected character in variable list at %C"
 msgstr ""
 
-#: fortran/decl.cc:8837
+#: fortran/decl.cc:8883
 #, gcc-internal-format
 msgid "Expected %<(%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:8851 fortran/decl.cc:8891
+#: fortran/decl.cc:8897 fortran/decl.cc:8937
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C"
 msgstr ""
 
-#: fortran/decl.cc:8867
+#: fortran/decl.cc:8913
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray pointer at %C must be an integer"
 msgstr ""
 
-#: fortran/decl.cc:8871
+#: fortran/decl.cc:8917
 #, 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:8877
+#: fortran/decl.cc:8923
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \",\" at %C"
 msgstr ""
 
-#: fortran/decl.cc:8916
+#: fortran/decl.cc:8962
 #, gcc-internal-format
 msgid "Cannot set Cray pointee array spec."
 msgstr ""
 
-#: fortran/decl.cc:8940
+#: fortran/decl.cc:8986
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected \")\" at %C"
 msgstr ""
 
-#: fortran/decl.cc:8952
+#: fortran/decl.cc:8998
 #, gcc-internal-format
 msgid "Expected %<,%> or end of statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:8978
+#: fortran/decl.cc:9024
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.cc:9010
+#: fortran/decl.cc:9056
 #, gcc-internal-format, gfc-internal-format
 msgid "OPTIONAL is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.cc:9029
+#: fortran/decl.cc:9075
 #, gcc-internal-format
 msgid "Cray pointer declaration at %C requires %<-fcray-pointer%> flag"
 msgstr ""
 
-#: fortran/decl.cc:9068
+#: fortran/decl.cc:9114
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTIGUOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9166
+#: fortran/decl.cc:9212
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.cc:9182
+#: fortran/decl.cc:9228
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.cc:9230
+#: fortran/decl.cc:9276
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9264
+#: fortran/decl.cc:9310
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9291 fortran/decl.cc:9316
+#: fortran/decl.cc:9337 fortran/decl.cc:9362
 #, 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:9337 fortran/decl.cc:9357
+#: fortran/decl.cc:9383 fortran/decl.cc:9403
 #, 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:9379
+#: fortran/decl.cc:9425
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.cc:9386
+#: fortran/decl.cc:9432
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9392
+#: fortran/decl.cc:9438
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.cc:9412
+#: fortran/decl.cc:9458
 #, 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:9437
+#: fortran/decl.cc:9483
 #, gcc-internal-format, gfc-internal-format
 msgid "PARAMETER without '()' at %C"
 msgstr ""
 
-#: fortran/decl.cc:9453
+#: fortran/decl.cc:9499
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9472 fortran/decl.cc:9528
+#: fortran/decl.cc:9518 fortran/decl.cc:9574
 #, gcc-internal-format
 msgid "%s at %C is a DEC extension, enable with %<-fdec-static%>"
 msgstr ""
 
-#: fortran/decl.cc:9507
+#: fortran/decl.cc:9553
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected entity-list in AUTOMATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9514
+#: fortran/decl.cc:9560
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in AUTOMATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9563
+#: fortran/decl.cc:9609
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected entity-list in STATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9570
+#: fortran/decl.cc:9616
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in STATIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9589
+#: fortran/decl.cc:9635
 #, gcc-internal-format, gfc-internal-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.cc:9600
+#: fortran/decl.cc:9646
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr ""
 
-#: fortran/decl.cc:9648
+#: fortran/decl.cc:9694
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9665
+#: fortran/decl.cc:9711
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/decl.cc:9669
+#: fortran/decl.cc:9715
 #, gcc-internal-format, gfc-internal-format
 msgid "VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9707
+#: fortran/decl.cc:9753
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9719
+#: fortran/decl.cc:9765
 #, gcc-internal-format, gfc-internal-format
 msgid "VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9746
+#: fortran/decl.cc:9792
 #, gcc-internal-format
 msgid ""
 "Specifying VOLATILE for coarray variable %qs at %C, which is use-/host-"
 "associated"
 msgstr ""
 
-#: fortran/decl.cc:9771
+#: fortran/decl.cc:9817
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9783
+#: fortran/decl.cc:9829
 #, gcc-internal-format, gfc-internal-format
 msgid "ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9827
+#: fortran/decl.cc:9873
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ASYNCHRONOUS statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:9852
+#: fortran/decl.cc:9898
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:9962
+#: fortran/decl.cc:10008
 #, gcc-internal-format, gfc-internal-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.cc:10020
+#: fortran/decl.cc:10066
 #, gcc-internal-format, gfc-internal-format
 msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
 msgstr ""
 
-#: fortran/decl.cc:10069
+#: fortran/decl.cc:10115
 #, gcc-internal-format, gfc-internal-format
 msgid "Ambiguous symbol in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:10078
+#: fortran/decl.cc:10124
 #, gcc-internal-format
 msgid "Symbol %qs at %C has not been previously defined"
 msgstr ""
 
-#: fortran/decl.cc:10084
+#: fortran/decl.cc:10130
 #, gcc-internal-format
 msgid "%qs in EXTENDS expression at %C is not a derived type"
 msgstr ""
 
-#: fortran/decl.cc:10091
+#: fortran/decl.cc:10137
 #, gcc-internal-format
 msgid "%qs cannot be extended at %C because it is BIND(C)"
 msgstr ""
 
-#: fortran/decl.cc:10098
+#: fortran/decl.cc:10144
 #, gcc-internal-format
 msgid "%qs cannot be extended at %C because it is a SEQUENCE type"
 msgstr ""
 
-#: fortran/decl.cc:10121
+#: fortran/decl.cc:10167
 #, 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:10133
+#: fortran/decl.cc:10179
 #, 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:10154
+#: fortran/decl.cc:10200
 #, gcc-internal-format, gfc-internal-format
 msgid "ABSTRACT type at %C"
 msgstr ""
 
-#: fortran/decl.cc:10200
+#: fortran/decl.cc:10246
 #, gcc-internal-format, gfc-internal-format
 msgid "Failed to create structure type '%s' at %C"
 msgstr ""
 
-#: fortran/decl.cc:10206
+#: fortran/decl.cc:10252
 #, gcc-internal-format
 msgid "Type definition of %qs at %C was already defined at %L"
 msgstr ""
 
-#: fortran/decl.cc:10253
+#: fortran/decl.cc:10299
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after MAP statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:10286
+#: fortran/decl.cc:10332
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after UNION statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:10321
+#: fortran/decl.cc:10367
 #, gcc-internal-format
 msgid "%s at %C is a DEC extension, enable with %<-fdec-structure%>"
 msgstr ""
 
-#: fortran/decl.cc:10335
+#: fortran/decl.cc:10381
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure name expected in non-nested structure declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:10353
+#: fortran/decl.cc:10399
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after non-nested STRUCTURE statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:10360
+#: fortran/decl.cc:10406
 #, gcc-internal-format
 msgid "Structure name %qs at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.cc:10523
+#: fortran/decl.cc:10569
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:10536
+#: fortran/decl.cc:10582
 #, gcc-internal-format, gfc-internal-format
 msgid "Mangled derived type definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:10565
+#: fortran/decl.cc:10611
 #, gcc-internal-format
 msgid "Type name %qs at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/decl.cc:10576
+#: fortran/decl.cc:10622
 #, gcc-internal-format
 msgid "Derived type name %qs at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.cc:10579
+#: fortran/decl.cc:10625
 #, gcc-internal-format
 msgid "Derived type name %qs at %C already has a basic type"
 msgstr ""
 
-#: fortran/decl.cc:10594
+#: fortran/decl.cc:10640
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L cannot be a derived type at %C"
 msgstr ""
 
-#: fortran/decl.cc:10603
+#: fortran/decl.cc:10649
 #, gcc-internal-format
 msgid "Derived type definition of %qs at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.cc:10666
+#: fortran/decl.cc:10712
 #, gcc-internal-format, gfc-internal-format
 msgid "Garbage after PARAMETERIZED TYPE declaration at %C"
 msgstr ""
 
-#: fortran/decl.cc:10749
+#: fortran/decl.cc:10795
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.cc:10769
+#: fortran/decl.cc:10815
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM and ENUMERATOR at %C"
 msgstr ""
 
-#: fortran/decl.cc:10801
+#: fortran/decl.cc:10847
 #, gcc-internal-format, gfc-internal-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr ""
 
-#: fortran/decl.cc:10880
+#: fortran/decl.cc:10926
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.cc:10928
+#: fortran/decl.cc:10974
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM definition statement expected before %C"
 msgstr ""
 
-#: fortran/decl.cc:10964
+#: fortran/decl.cc:11010
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr ""
 
-#: fortran/decl.cc:11011 fortran/decl.cc:11026
+#: fortran/decl.cc:11057 fortran/decl.cc:11072
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:11046
+#: fortran/decl.cc:11092
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
 msgstr ""
 
-#: fortran/decl.cc:11066
+#: fortran/decl.cc:11112
 #, gcc-internal-format, gfc-internal-format
 msgid "Binding attributes already specify passing, illegal PASS at %C"
 msgstr ""
 
-#: fortran/decl.cc:11093
+#: fortran/decl.cc:11139
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate POINTER attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:11111
+#: fortran/decl.cc:11157
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate NON_OVERRIDABLE at %C"
 msgstr ""
 
-#: fortran/decl.cc:11127
+#: fortran/decl.cc:11173
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate DEFERRED at %C"
 msgstr ""
 
-#: fortran/decl.cc:11140
+#: fortran/decl.cc:11186
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected access-specifier at %C"
 msgstr ""
 
-#: fortran/decl.cc:11142
+#: fortran/decl.cc:11188
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding attribute at %C"
 msgstr ""
 
-#: fortran/decl.cc:11150
+#: fortran/decl.cc:11196
 #, gcc-internal-format, gfc-internal-format
 msgid "NON_OVERRIDABLE and DEFERRED cannot both appear at %C"
 msgstr ""
 
-#: fortran/decl.cc:11163
+#: fortran/decl.cc:11209
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER attribute is required for procedure pointer component at %C"
 msgstr ""
 
-#: fortran/decl.cc:11205
+#: fortran/decl.cc:11251
 #, gcc-internal-format
 msgid "Interface-name expected after %<(%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11211
+#: fortran/decl.cc:11257
 #, gcc-internal-format
 msgid "%<)%> expected at %C"
 msgstr ""
 
-#: fortran/decl.cc:11231
+#: fortran/decl.cc:11277
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface must be specified for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.cc:11236
+#: fortran/decl.cc:11282
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
 msgstr ""
 
-#: fortran/decl.cc:11259
+#: fortran/decl.cc:11305
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected binding name at %C"
 msgstr ""
 
-#: fortran/decl.cc:11263
+#: fortran/decl.cc:11309
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE list at %C"
 msgstr ""
 
-#: fortran/decl.cc:11275
+#: fortran/decl.cc:11321
 #, gcc-internal-format
 msgid "%<=> target%> is invalid for DEFERRED binding at %C"
 msgstr ""
 
-#: fortran/decl.cc:11281
+#: fortran/decl.cc:11327
 #, gcc-internal-format
 msgid "%<::%> needed in PROCEDURE binding with explicit target at %C"
 msgstr ""
 
-#: fortran/decl.cc:11291
+#: fortran/decl.cc:11337
 #, gcc-internal-format
 msgid "Expected binding target after %<=>%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11308
+#: fortran/decl.cc:11354
 #, gcc-internal-format
 msgid "Type %qs containing DEFERRED binding at %C is not ABSTRACT"
 msgstr ""
 
-#: fortran/decl.cc:11319
+#: fortran/decl.cc:11365
 #, gcc-internal-format
 msgid ""
 "There is already a procedure with binding name %qs for the derived type %qs "
 "at %C"
 msgstr ""
 
-#: fortran/decl.cc:11370
+#: fortran/decl.cc:11416
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
 msgstr ""
 
-#: fortran/decl.cc:11390
+#: fortran/decl.cc:11436
 #, gcc-internal-format
 msgid "Expected %<::%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11402
+#: fortran/decl.cc:11448
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected generic name or operator descriptor at %C"
 msgstr ""
 
-#: fortran/decl.cc:11423
+#: fortran/decl.cc:11469
 #, gcc-internal-format, gfc-internal-format
 msgid "Malformed GENERIC statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:11434
+#: fortran/decl.cc:11480
 #, gcc-internal-format
 msgid "Expected %<=>%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11470
+#: fortran/decl.cc:11516
 #, 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:11478
+#: fortran/decl.cc:11524
 #, gcc-internal-format
 msgid "Binding at %C must have the same access as already defined binding %qs"
 msgstr ""
 
-#: fortran/decl.cc:11526
+#: fortran/decl.cc:11572
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected specific binding name at %C"
 msgstr ""
 
-#: fortran/decl.cc:11536
+#: fortran/decl.cc:11582
 #, gcc-internal-format
 msgid "%qs already defined as specific binding for the generic %qs at %C"
 msgstr ""
 
-#: fortran/decl.cc:11554
+#: fortran/decl.cc:11600
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after GENERIC binding at %C"
 msgstr ""
 
-#: fortran/decl.cc:11589
+#: fortran/decl.cc:11635
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
 msgstr ""
 
-#: fortran/decl.cc:11600
+#: fortran/decl.cc:11646
 #, 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:11622
+#: fortran/decl.cc:11668
 #, gcc-internal-format, gfc-internal-format
 msgid "Empty FINAL at %C"
 msgstr ""
 
-#: fortran/decl.cc:11629
+#: fortran/decl.cc:11675
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected module procedure name at %C"
 msgstr ""
 
-#: fortran/decl.cc:11639
+#: fortran/decl.cc:11685
 #, gcc-internal-format
 msgid "Expected %<,%> at %C"
 msgstr ""
 
-#: fortran/decl.cc:11645
+#: fortran/decl.cc:11691
 #, gcc-internal-format
 msgid "Unknown procedure name %qs at %C"
 msgstr ""
 
-#: fortran/decl.cc:11658
+#: fortran/decl.cc:11704
 #, gcc-internal-format
 msgid "%qs at %C is already defined as FINAL procedure"
 msgstr ""
 
-#: fortran/decl.cc:11729
+#: fortran/decl.cc:11775
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:11775
+#: fortran/decl.cc:11821
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
 msgstr ""
 
-#: fortran/decl.cc:11796
+#: fortran/decl.cc:11842
 #, 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:11810
+#: fortran/decl.cc:11856
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ UNROLL directive at %C"
 msgstr ""
 
-#: fortran/decl.cc:11874
+#: fortran/decl.cc:11920
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ IVDEP directive at %C"
 msgstr ""
 
-#: fortran/decl.cc:11891
+#: fortran/decl.cc:11937
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ VECTOR directive at %C"
 msgstr ""
 
-#: fortran/decl.cc:11908
+#: fortran/decl.cc:11954
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !GCC$ NOVECTOR directive at %C"
 msgstr ""
@@ -69505,37 +71370,37 @@ msgstr ""
 msgid "gfc_check_dependency: expecting an EXPR_VARIABLE"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:281
+#: fortran/dump-parse-tree.cc:282
 #, gcc-internal-format
 msgid "show_array_spec(): Unhandled array shape type."
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:360
+#: fortran/dump-parse-tree.cc:361
 #, gcc-internal-format
 msgid "show_array_ref(): Unknown array reference"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:434
+#: fortran/dump-parse-tree.cc:435
 #, gcc-internal-format
 msgid "show_ref(): Bad component code"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:707
+#: fortran/dump-parse-tree.cc:708
 #, gcc-internal-format
 msgid "show_expr(): Bad intrinsic in expression"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:750
+#: fortran/dump-parse-tree.cc:751
 #, gcc-internal-format
 msgid "show_expr(): Don't know how to show expr"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:3396
+#: fortran/dump-parse-tree.cc:3485
 #, gcc-internal-format
 msgid "show_code_node(): Bad statement code"
 msgstr ""
 
-#: fortran/dump-parse-tree.cc:3720 fortran/dump-parse-tree.cc:3825
+#: fortran/dump-parse-tree.cc:3816 fortran/dump-parse-tree.cc:3921
 #, gcc-internal-format
 msgid "Cannot convert %qs to interoperable type at %L"
 msgstr ""
@@ -69598,433 +71463,433 @@ msgstr ""
 msgid "Index in dimension %d is out of bounds at %L"
 msgstr ""
 
-#: fortran/expr.cc:1586 fortran/expr.cc:1639
+#: fortran/expr.cc:1596 fortran/expr.cc:1647
 #, gcc-internal-format, gfc-internal-format
 msgid "index in dimension %d is out of bounds at %L"
 msgstr ""
 
-#: fortran/expr.cc:1715
+#: fortran/expr.cc:1723
 #, 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:1725
+#: fortran/expr.cc:1733
 #, gcc-internal-format, gfc-internal-format
 msgid "Error in array constructor referenced at %L"
 msgstr ""
 
-#: fortran/expr.cc:1829 fortran/primary.cc:2300 fortran/primary.cc:2444
+#: fortran/expr.cc:1837 fortran/primary.cc:2292 fortran/primary.cc:2436
 #, gcc-internal-format, gfc-internal-format
 msgid "LEN part_ref at %C"
 msgstr ""
 
-#: fortran/expr.cc:1847 fortran/primary.cc:2295 fortran/primary.cc:2459
+#: fortran/expr.cc:1855 fortran/primary.cc:2287 fortran/primary.cc:2451
 #, gcc-internal-format, gfc-internal-format
 msgid "KIND part_ref at %C"
 msgstr ""
 
-#: fortran/expr.cc:1858
+#: fortran/expr.cc:1866
 #, gcc-internal-format, gfc-internal-format
 msgid "RE part_ref at %C"
 msgstr ""
 
-#: fortran/expr.cc:1870
+#: fortran/expr.cc:1878
 #, gcc-internal-format, gfc-internal-format
 msgid "IM part_ref at %C"
 msgstr ""
 
-#: fortran/expr.cc:2517
+#: fortran/expr.cc:2526
 #, gcc-internal-format, gfc-internal-format
 msgid "elemental function arguments at %C are not compliant"
 msgstr ""
 
-#: fortran/expr.cc:2561
+#: fortran/expr.cc:2570
 #, gcc-internal-format, gfc-internal-format
 msgid "Numeric or CHARACTER operands are required in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2586
+#: fortran/expr.cc:2595
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Concatenation operator in expression at %L must have two CHARACTER operands"
 msgstr ""
 
-#: fortran/expr.cc:2593
+#: fortran/expr.cc:2602
 #, gcc-internal-format, gfc-internal-format
 msgid "Concat operator at %L must concatenate strings of the same kind"
 msgstr ""
 
-#: fortran/expr.cc:2603
+#: fortran/expr.cc:2612
 #, gcc-internal-format, gfc-internal-format
 msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
 msgstr ""
 
-#: fortran/expr.cc:2619
+#: fortran/expr.cc:2628
 #, gcc-internal-format, gfc-internal-format
 msgid "LOGICAL operands are required in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2630
+#: fortran/expr.cc:2639
 #, gcc-internal-format, gfc-internal-format
 msgid "Only intrinsic operators can be used in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2638
+#: fortran/expr.cc:2647
 #, gcc-internal-format, gfc-internal-format
 msgid "Numeric operands are required in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2661
+#: fortran/expr.cc:2670
 #, gcc-internal-format
 msgid ""
 "Invalid initialization expression for ALLOCATABLE component %qs in structure "
 "constructor at %L"
 msgstr ""
 
-#: fortran/expr.cc:2798
+#: fortran/expr.cc:2807
 #, gcc-internal-format
 msgid ""
 "Assumed or deferred character length variable %qs in constant expression at "
 "%L"
 msgstr ""
 
-#: fortran/expr.cc:2873
+#: fortran/expr.cc:2882
 #, gcc-internal-format
 msgid ""
 "transformational intrinsic %qs at %L is not permitted in an initialization "
 "expression"
 msgstr ""
 
-#: fortran/expr.cc:2904
+#: fortran/expr.cc:2913
 #, gcc-internal-format, gfc-internal-format
 msgid "Evaluation of nonstandard initialization expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:2981 fortran/resolve.cc:2808
+#: fortran/expr.cc:2990 fortran/resolve.cc:2814
 #, gcc-internal-format
 msgid ""
 "Function %qs in initialization expression at %L must be an intrinsic function"
 msgstr ""
 
-#: fortran/expr.cc:2993
+#: fortran/expr.cc:3002
 #, gcc-internal-format
 msgid ""
 "Intrinsic function %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3032
+#: fortran/expr.cc:3041
 #, gcc-internal-format
 msgid "PARAMETER %qs is used at %L before its definition is complete"
 msgstr ""
 
-#: fortran/expr.cc:3052
+#: fortran/expr.cc:3061
 #, gcc-internal-format
 msgid ""
 "Assumed size array %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3058
+#: fortran/expr.cc:3067
 #, gcc-internal-format
 msgid ""
 "Assumed shape array %qs at %L is not permitted in an initialization "
 "expression"
 msgstr ""
 
-#: fortran/expr.cc:3067
+#: fortran/expr.cc:3076
 #, gcc-internal-format
 msgid ""
 "Assumed-shape array %qs at %L is not permitted in an initialization "
 "expression"
 msgstr ""
 
-#: fortran/expr.cc:3071
+#: fortran/expr.cc:3080
 #, gcc-internal-format
 msgid ""
 "Deferred array %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3077
+#: fortran/expr.cc:3086
 #, gcc-internal-format
 msgid ""
 "Array %qs at %L is a variable, which does not reduce to a constant expression"
 msgstr ""
 
-#: fortran/expr.cc:3083
+#: fortran/expr.cc:3092
 #, gcc-internal-format
 msgid ""
 "Assumed-rank array %qs at %L is not permitted in an initialization expression"
 msgstr ""
 
-#: fortran/expr.cc:3093
+#: fortran/expr.cc:3102
 #, 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:3147
+#: fortran/expr.cc:3156
 #, gcc-internal-format
 msgid "check_init_expr(): Unknown expression type"
 msgstr ""
 
-#: fortran/expr.cc:3282
+#: fortran/expr.cc:3291
 #, gcc-internal-format
 msgid "Specification function %qs at %L cannot be a statement function"
 msgstr ""
 
-#: fortran/expr.cc:3289
+#: fortran/expr.cc:3298
 #, gcc-internal-format
 msgid "Specification function %qs at %L cannot be an internal function"
 msgstr ""
 
-#: fortran/expr.cc:3296
+#: fortran/expr.cc:3305
 #, gcc-internal-format
 msgid "Specification function %qs at %L must be PURE"
 msgstr ""
 
-#: fortran/expr.cc:3304
+#: fortran/expr.cc:3313
 #, gcc-internal-format
 msgid "Specification function %qs at %L cannot be RECURSIVE"
 msgstr ""
 
-#: fortran/expr.cc:3451
+#: fortran/expr.cc:3460
 #, gcc-internal-format
 msgid "Dummy argument %qs not allowed in expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:3459
+#: fortran/expr.cc:3468
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L cannot be OPTIONAL"
 msgstr ""
 
-#: fortran/expr.cc:3466
+#: fortran/expr.cc:3475
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L cannot be INTENT(OUT)"
 msgstr ""
 
-#: fortran/expr.cc:3495
+#: fortran/expr.cc:3504
 #, gcc-internal-format
 msgid "Variable %qs cannot appear in the expression at %L"
 msgstr ""
 
-#: fortran/expr.cc:3526
+#: fortran/expr.cc:3535
 #, gcc-internal-format
 msgid "check_restricted(): Unknown expression type"
 msgstr ""
 
-#: fortran/expr.cc:3546
+#: fortran/expr.cc:3555
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/expr.cc:3558
+#: fortran/expr.cc:3567
 #, gcc-internal-format
 msgid "Function %qs at %L must be PURE"
 msgstr ""
 
-#: fortran/expr.cc:3567
+#: fortran/expr.cc:3576
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression at %L must be scalar"
 msgstr ""
 
 #. Reject truncation.
-#: fortran/expr.cc:3599
+#: fortran/expr.cc:3608
 #, gcc-internal-format, gfc-internal-format
 msgid "optype_msgid overflow: %d"
 msgstr ""
 
-#: fortran/expr.cc:3603
+#: fortran/expr.cc:3612
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible ranks in %s (%d and %d) at %L"
 msgstr ""
 
-#: fortran/expr.cc:3617
+#: fortran/expr.cc:3626
 #, gcc-internal-format, gfc-internal-format
 msgid "Different shape for %s at %L on dimension %d (%d and %d)"
 msgstr ""
 
-#: fortran/expr.cc:3665
+#: fortran/expr.cc:3674
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a LEN or KIND part_ref at %L is not allowed"
 msgstr ""
 
-#: fortran/expr.cc:3721
+#: fortran/expr.cc:3730
 #, gcc-internal-format
 msgid "%qs at %L is not a VALUE"
 msgstr ""
 
-#: fortran/expr.cc:3732
+#: fortran/expr.cc:3741
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal assignment to external procedure at %L"
 msgstr ""
 
-#: fortran/expr.cc:3740
+#: fortran/expr.cc:3749
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible ranks %d and %d in assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3747
+#: fortran/expr.cc:3756
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable type is UNKNOWN in assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3759
+#: fortran/expr.cc:3768
 #, gcc-internal-format, gfc-internal-format
 msgid "NULL appears on right-hand side in assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3769
+#: fortran/expr.cc:3778
 #, gcc-internal-format, gfc-internal-format
 msgid "POINTER-valued function appears on right-hand side of assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3812
+#: fortran/expr.cc:3821
 #, gcc-internal-format
 msgid "BOZ literal constant near %L cannot be assigned to a %qs variable"
 msgstr ""
 
-#: fortran/expr.cc:3819
+#: fortran/expr.cc:3828
 #, 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:3849
+#: fortran/expr.cc:3858
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Incompatible types in DATA statement at %L; attempted conversion of %s to %s"
 msgstr ""
 
-#: fortran/expr.cc:3893
+#: fortran/expr.cc:3902
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target is not a POINTER at %L"
 msgstr ""
 
-#: fortran/expr.cc:3901
+#: fortran/expr.cc:3910
 #, 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:3925
+#: fortran/expr.cc:3934
 #, gcc-internal-format
 msgid "Expected bounds specification for %qs at %L"
 msgstr ""
 
-#: fortran/expr.cc:3930
+#: fortran/expr.cc:3939
 #, gcc-internal-format
 msgid "Bounds specification for %qs in pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:3959
+#: fortran/expr.cc:3968
 #, gcc-internal-format, gfc-internal-format
 msgid "Stride must not be present at %L"
 msgstr ""
 
-#: fortran/expr.cc:3965 fortran/expr.cc:3985
+#: fortran/expr.cc:3974 fortran/expr.cc:3994
 #, gcc-internal-format
 msgid ""
 "Rank remapping requires a list of %<lower-bound : upper-bound%> "
 "specifications at %L"
 msgstr ""
 
-#: fortran/expr.cc:3973 fortran/expr.cc:3992
+#: fortran/expr.cc:3982 fortran/expr.cc:4001
 #, gcc-internal-format
 msgid ""
 "Expected list of %<lower-bound :%> or list of %<lower-bound : upper-bound%> "
 "specifications at %L"
 msgstr ""
 
-#: fortran/expr.cc:4019
+#: fortran/expr.cc:4028
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer object at %L shall not have a coindex"
 msgstr ""
 
-#: fortran/expr.cc:4040
+#: fortran/expr.cc:4049
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4065
+#: fortran/expr.cc:4074
 #, gcc-internal-format
 msgid ""
 "Function result %qs is invalid as proc-target in procedure pointer "
 "assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4074
+#: fortran/expr.cc:4083
 #, gcc-internal-format
 msgid "Abstract interface %qs is invalid in procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4084
+#: fortran/expr.cc:4093
 #, gcc-internal-format
 msgid "Statement function %qs is invalid in procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4090
+#: fortran/expr.cc:4099
 #, gcc-internal-format
 msgid "Internal procedure %qs is invalid in procedure pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4097
+#: fortran/expr.cc:4106
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L is invalid in procedure pointer assignment"
 msgstr ""
 
-#: fortran/expr.cc:4105
+#: fortran/expr.cc:4114
 #, gcc-internal-format
 msgid ""
 "Nonintrinsic elemental procedure %qs is invalid in procedure pointer "
 "assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4128
+#: fortran/expr.cc:4137
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Mismatch in the procedure pointer assignment at %L: mismatch in the calling "
 "convention"
 msgstr ""
 
-#: fortran/expr.cc:4181
+#: fortran/expr.cc:4190
 #, gcc-internal-format
 msgid ""
 "Interface mismatch in procedure pointer assignment at %L: %qs is not a "
 "subroutine"
 msgstr ""
 
-#: fortran/expr.cc:4191 fortran/expr.cc:4206
+#: fortran/expr.cc:4200 fortran/expr.cc:4215
 #, gcc-internal-format
 msgid "Explicit interface required for component %qs at %L: %s"
 msgstr ""
 
-#: fortran/expr.cc:4197 fortran/expr.cc:4212 fortran/resolve.cc:2688
+#: fortran/expr.cc:4206 fortran/expr.cc:4221 fortran/resolve.cc:2694
 #, gcc-internal-format
 msgid "Explicit interface required for %qs at %L: %s"
 msgstr ""
 
-#: fortran/expr.cc:4224
+#: fortran/expr.cc:4233
 #, gcc-internal-format, gfc-internal-format
 msgid "Interface mismatch in procedure pointer assignment at %L: %s"
 msgstr ""
 
-#: fortran/expr.cc:4233
+#: fortran/expr.cc:4242
 #, 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:4246
+#: fortran/expr.cc:4255
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target cannot be a constant at %L"
 msgstr ""
 
-#: fortran/expr.cc:4260
+#: fortran/expr.cc:4269
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Data-pointer-object at %L must be unlimited polymorphic, or of a type with "
@@ -70032,34 +71897,34 @@ msgid ""
 "polymorphic target"
 msgstr ""
 
-#: fortran/expr.cc:4265
+#: fortran/expr.cc:4274
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Different types in pointer assignment at %L; attempted assignment of %s to %s"
 msgstr ""
 
-#: fortran/expr.cc:4273
+#: fortran/expr.cc:4282
 #, gcc-internal-format, gfc-internal-format
 msgid "Different kind type parameters in pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4280
+#: fortran/expr.cc:4289
 #, gcc-internal-format, gfc-internal-format
 msgid "Different ranks in pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.cc:4299
+#: fortran/expr.cc:4308
 #, 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:4312
+#: fortran/expr.cc:4321
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank remapping target must be rank 1 or simply contiguous at %L"
 msgstr ""
 
-#: fortran/expr.cc:4316
+#: fortran/expr.cc:4325
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank remapping target is not rank 1 at %L"
 msgstr ""
@@ -70067,215 +71932,215 @@ 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:4341 fortran/expr.cc:4467
+#: fortran/expr.cc:4350 fortran/expr.cc:4476
 #, gcc-internal-format, gfc-internal-format
 msgid "Data target at %L shall not have a coindex"
 msgstr ""
 
-#: fortran/expr.cc:4344
+#: fortran/expr.cc:4353
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Target expression in pointer assignment at %L must deliver a pointer result"
 msgstr ""
 
-#: fortran/expr.cc:4358
+#: fortran/expr.cc:4367
 #, 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:4364 fortran/expr.cc:4379
+#: fortran/expr.cc:4373 fortran/expr.cc:4388
 #, 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:4395
+#: fortran/expr.cc:4404
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Every subscript of target specification at %L must be a constant expression"
 msgstr ""
 
-#: fortran/expr.cc:4406
+#: fortran/expr.cc:4415
 #, 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:4422
+#: fortran/expr.cc:4431
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
 msgstr ""
 
-#: fortran/expr.cc:4437
+#: fortran/expr.cc:4446
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad target in pointer assignment in PURE procedure at %L"
 msgstr ""
 
-#: fortran/expr.cc:4446
+#: fortran/expr.cc:4455
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment with vector subscript on rhs at %L"
 msgstr ""
 
-#: fortran/expr.cc:4454
+#: fortran/expr.cc:4463
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer assignment target has PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/expr.cc:4482 fortran/expr.cc:4487
+#: fortran/expr.cc:4491 fortran/expr.cc:4496
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to contiguous pointer from non-contiguous target at %L"
 msgstr ""
 
-#: fortran/expr.cc:4527
+#: fortran/expr.cc:4536
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer at %L in pointer assignment might outlive the pointer target"
 msgstr ""
 
-#: fortran/expr.cc:4603 fortran/resolve.cc:1529
+#: fortran/expr.cc:4612 fortran/resolve.cc:1535
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/expr.cc:4609
+#: fortran/expr.cc:4618
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the TARGET attribute"
 msgstr ""
 
-#: fortran/expr.cc:4624 fortran/resolve.cc:1535
+#: fortran/expr.cc:4633 fortran/resolve.cc:1541
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer initialization target at %L must have the SAVE attribute"
 msgstr ""
 
-#: fortran/expr.cc:4636
+#: fortran/expr.cc:4645
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Procedure pointer initialization target at %L may not be a procedure pointer"
 msgstr ""
 
-#: fortran/expr.cc:4642
+#: fortran/expr.cc:4651
 #, gcc-internal-format
 msgid ""
 "Internal procedure %qs is invalid in procedure pointer initialization at %L"
 msgstr ""
 
-#: fortran/expr.cc:4649
+#: fortran/expr.cc:4658
 #, gcc-internal-format
 msgid ""
 "Dummy procedure %qs is invalid in procedure pointer initialization at %L"
 msgstr ""
 
-#: fortran/expr.cc:5117
+#: fortran/expr.cc:5126
 #, gcc-internal-format
 msgid ""
-"generate_isocbinding_initializer(): bad iso_c_binding type, expected %<c_ptr"
-"%> or %<c_funptr%>"
+"generate_isocbinding_initializer(): bad iso_c_binding type, expected "
+"%<c_ptr%> or %<c_funptr%>"
 msgstr ""
 
-#: fortran/expr.cc:6217
+#: fortran/expr.cc:6226
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Fortran 2008: Pointer functions in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6225
+#: fortran/expr.cc:6234
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-variable expression in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6233
+#: fortran/expr.cc:6242
 #, gcc-internal-format
 msgid "Named constant %qs in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6244
+#: fortran/expr.cc:6253
 #, gcc-internal-format
 msgid "%qs in variable definition context (%s) at %L is not a variable"
 msgstr ""
 
-#: fortran/expr.cc:6255
+#: fortran/expr.cc:6264
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-POINTER in pointer association context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6264
+#: fortran/expr.cc:6273
 #, gcc-internal-format, gfc-internal-format
 msgid "Type inaccessible in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6277
+#: fortran/expr.cc:6286
 #, gcc-internal-format, gfc-internal-format
 msgid "LOCK_TYPE in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6290
+#: fortran/expr.cc:6299
 #, gcc-internal-format, gfc-internal-format
 msgid "LOCK_EVENT in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6321
+#: fortran/expr.cc:6330
 #, gcc-internal-format
 msgid "%qs parameter inquiry for %qs in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6338
+#: fortran/expr.cc:6347
 #, gcc-internal-format
 msgid ""
 "Dummy argument %qs with INTENT(IN) in pointer association context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6348
+#: fortran/expr.cc:6357
 #, gcc-internal-format
 msgid ""
 "Dummy argument %qs with INTENT(IN) in variable definition context (%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6361
+#: fortran/expr.cc:6370
 #, gcc-internal-format
 msgid ""
 "Variable %qs is PROTECTED and cannot appear in a pointer association context "
 "(%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6369
+#: fortran/expr.cc:6378
 #, gcc-internal-format
 msgid ""
 "Variable %qs is PROTECTED and cannot appear in a variable definition context "
 "(%s) at %L"
 msgstr ""
 
-#: fortran/expr.cc:6384
+#: fortran/expr.cc:6393
 #, gcc-internal-format
 msgid ""
 "Variable %qs cannot appear in a variable definition context (%s) at %L in "
 "PURE procedure"
 msgstr ""
 
-#: fortran/expr.cc:6443
+#: fortran/expr.cc:6452
 #, 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:6448
+#: fortran/expr.cc:6457
 #, gcc-internal-format
 msgid ""
 "%qs at %L associated to expression cannot be used in a variable definition "
 "context (%s)"
 msgstr ""
 
-#: fortran/expr.cc:6460
+#: fortran/expr.cc:6469
 #, 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:6502
+#: fortran/expr.cc:6511
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Elements with the same value at %L and %L in vector subscript in a variable "
@@ -70298,8 +72163,8 @@ msgid "Illegal id in copy_walk_reduction_arg"
 msgstr ""
 
 #: fortran/frontend-passes.cc:870 fortran/trans-array.cc:1496
-#: fortran/trans-array.cc:6891 fortran/trans-array.cc:8514
-#: fortran/trans-intrinsic.cc:8442
+#: fortran/trans-array.cc:6890 fortran/trans-array.cc:8513
+#: fortran/trans-intrinsic.cc:8453
 #, gcc-internal-format, gfc-internal-format
 msgid "Creating array temporary at %L"
 msgstr ""
@@ -70371,51 +72236,51 @@ msgid ""
 "INTENT(INOUT) argument to subroutine %qs"
 msgstr ""
 
-#: fortran/frontend-passes.cc:2923 fortran/frontend-passes.cc:2949
+#: fortran/frontend-passes.cc:2928 fortran/frontend-passes.cc:2954
 #, 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:2933 fortran/frontend-passes.cc:2959
+#: fortran/frontend-passes.cc:2938 fortran/frontend-passes.cc:2964
 #, 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:3044
+#: fortran/frontend-passes.cc:3055
 #, 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:3050
+#: fortran/frontend-passes.cc:3061
 #, 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:3466 fortran/trans-expr.cc:1874
+#: fortran/frontend-passes.cc:3477 fortran/trans-expr.cc:1880
 #, gcc-internal-format, gfc-internal-format
 msgid "Code for reallocating the allocatable array at %L will be added"
 msgstr ""
 
-#: fortran/frontend-passes.cc:3991
+#: fortran/frontend-passes.cc:4002
 #, gcc-internal-format
 msgid "Scalarization using DIMEN_RANGE unimplemented"
 msgstr ""
 
-#: fortran/frontend-passes.cc:5200
+#: fortran/frontend-passes.cc:5211
 #, gcc-internal-format, gfc-internal-format
 msgid "Interchanging loops at %L"
 msgstr ""
 
-#: fortran/frontend-passes.cc:5839
+#: fortran/frontend-passes.cc:5848
 #, gcc-internal-format, gfc-internal-format
 msgid "%s between %L and %L"
 msgstr ""
 
-#: fortran/gfortranspec.cc:146
+#: fortran/gfortranspec.cc:146 m2/gm2spec.cc:213
 #, gcc-internal-format
 msgid "overflowed output argument list for %qs"
 msgstr ""
@@ -70534,12 +72399,12 @@ msgstr ""
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:998 fortran/resolve.cc:17384
+#: fortran/interface.cc:998 fortran/resolve.cc:17450
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:1005 fortran/resolve.cc:17402
+#: fortran/interface.cc:1005 fortran/resolve.cc:17468
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr ""
@@ -70549,177 +72414,177 @@ msgstr ""
 msgid "Operator interface at %L conflicts with intrinsic interface"
 msgstr ""
 
-#: fortran/interface.cc:1468 fortran/interface.cc:1540
+#: fortran/interface.cc:1474 fortran/interface.cc:1546
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "check_dummy_characteristics: Unexpected result %i of gfc_dep_compare_expr"
 msgstr ""
 
-#: fortran/interface.cc:1653
+#: fortran/interface.cc:1659
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "check_result_characteristics (1): Unexpected result %i of "
 "gfc_dep_compare_expr"
 msgstr ""
 
-#: fortran/interface.cc:1700
+#: fortran/interface.cc:1706
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "check_result_characteristics (2): Unexpected result %i of "
 "gfc_dep_compare_expr"
 msgstr ""
 
-#: fortran/interface.cc:1889
+#: fortran/interface.cc:1895
 #, gcc-internal-format
 msgid "Procedure %qs in %s at %L has no explicit interface; did you mean %qs?"
 msgstr ""
 
-#: fortran/interface.cc:1894
+#: fortran/interface.cc:1900
 #, gcc-internal-format
 msgid "Procedure %qs in %s at %L has no explicit interface"
 msgstr ""
 
-#: fortran/interface.cc:1898
+#: fortran/interface.cc:1904
 #, gcc-internal-format
 msgid ""
 "Procedure %qs in %s at %L is neither function nor subroutine; did you mean "
 "%qs?"
 msgstr ""
 
-#: fortran/interface.cc:1902
+#: fortran/interface.cc:1908
 #, gcc-internal-format
 msgid "Procedure %qs in %s at %L is neither function nor subroutine"
 msgstr ""
 
-#: fortran/interface.cc:1914
+#: fortran/interface.cc:1920
 #, gcc-internal-format, gfc-internal-format
 msgid "In %s at %L procedures must be either all SUBROUTINEs or all FUNCTIONs"
 msgstr ""
 
-#: fortran/interface.cc:1918
+#: fortran/interface.cc:1924
 #, 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:1926
+#: fortran/interface.cc:1932
 #, gcc-internal-format
 msgid "Internal procedure %qs in %s at %L"
 msgstr ""
 
-#: fortran/interface.cc:1983 fortran/interface.cc:1988
+#: fortran/interface.cc:1989 fortran/interface.cc:1994
 #, gcc-internal-format
 msgid "Ambiguous interfaces in %s for %qs at %L and %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:1993
+#: fortran/interface.cc:1999
 #, gcc-internal-format
 msgid "Although not referenced, %qs has ambiguous interfaces at %L"
 msgstr ""
 
-#: fortran/interface.cc:2031
+#: fortran/interface.cc:2037
 #, gcc-internal-format
 msgid "%qs at %L is not a module procedure"
 msgstr ""
 
-#: fortran/interface.cc:2236
+#: fortran/interface.cc:2242
 #, gcc-internal-format
 msgid ""
 "The assumed-rank array at %L requires that the dummy argument %qs has "
 "assumed-rank"
 msgstr ""
 
-#: fortran/interface.cc:2239
+#: fortran/interface.cc:2245
 #, gcc-internal-format
 msgid "Rank mismatch in argument %qs at %L (scalar and rank-%d)"
 msgstr ""
 
-#: fortran/interface.cc:2242
+#: fortran/interface.cc:2248
 #, gcc-internal-format
 msgid "Rank mismatch in argument %qs at %L (rank-%d and scalar)"
 msgstr ""
 
-#: fortran/interface.cc:2245
+#: fortran/interface.cc:2251
 #, gcc-internal-format
 msgid "Rank mismatch in argument %qs at %L (rank-%d and rank-%d)"
 msgstr ""
 
-#: fortran/interface.cc:2257
+#: fortran/interface.cc:2263
 #, 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:2261
+#: fortran/interface.cc:2267
 #, 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:2265
+#: fortran/interface.cc:2271
 #, 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:2371
+#: fortran/interface.cc:2377
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid procedure argument at %L"
 msgstr ""
 
-#: fortran/interface.cc:2379 fortran/interface.cc:2406
+#: fortran/interface.cc:2385 fortran/interface.cc:2412
 #, gcc-internal-format
 msgid "Interface mismatch in dummy procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/interface.cc:2417
+#: fortran/interface.cc:2423
 #, gcc-internal-format
 msgid ""
 "Actual argument to contiguous pointer dummy %qs at %L must be simply "
 "contiguous"
 msgstr ""
 
-#: fortran/interface.cc:2440
+#: fortran/interface.cc:2446
 #, 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:2450
+#: fortran/interface.cc:2456
 #, gcc-internal-format
 msgid "Type mismatch in argument %qs at %L; passed %s to %s"
 msgstr ""
 
-#: fortran/interface.cc:2460
+#: fortran/interface.cc:2466
 #, gcc-internal-format
 msgid ""
 "Assumed-type actual argument at %L requires that dummy argument %qs is of "
 "assumed type"
 msgstr ""
 
-#: fortran/interface.cc:2474
+#: fortran/interface.cc:2480
 #, 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:2491
+#: fortran/interface.cc:2497
 #, gcc-internal-format
 msgid "Actual argument to %qs at %L must be polymorphic"
 msgstr ""
 
-#: fortran/interface.cc:2501
+#: fortran/interface.cc:2507
 #, gcc-internal-format
 msgid "Actual argument to %qs at %L must have the same declared type"
 msgstr ""
 
-#: fortran/interface.cc:2516
+#: fortran/interface.cc:2522
 #, gcc-internal-format
 msgid ""
 "Actual argument to %qs at %L must be unlimited polymorphic since the formal "
@@ -70727,38 +72592,38 @@ msgid ""
 "12.5.2.5]"
 msgstr ""
 
-#: fortran/interface.cc:2532
+#: fortran/interface.cc:2538
 #, gcc-internal-format
 msgid "Actual argument to %qs at %L must be a coarray"
 msgstr ""
 
-#: fortran/interface.cc:2551
+#: fortran/interface.cc:2557
 #, gcc-internal-format
 msgid "Corank mismatch in argument %qs at %L (%d and %d)"
 msgstr ""
 
-#: fortran/interface.cc:2569
+#: fortran/interface.cc:2575
 #, 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:2584
+#: fortran/interface.cc:2590
 #, 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:2599
+#: fortran/interface.cc:2605
 #, 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:2618
+#: fortran/interface.cc:2624
 #, gcc-internal-format
 msgid ""
 "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array "
@@ -70766,209 +72631,216 @@ msgid ""
 "contiguous and both are ASYNCHRONOUS or VOLATILE"
 msgstr ""
 
-#: fortran/interface.cc:2631
+#: fortran/interface.cc:2637
 #, gcc-internal-format
 msgid ""
 "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument "
 "%qs"
 msgstr ""
 
-#: fortran/interface.cc:2638
+#: fortran/interface.cc:2644
 #, 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:2714
+#: fortran/interface.cc:2721
 #, gcc-internal-format
 msgid "Polymorphic scalar passed to array dummy argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:2725
+#: fortran/interface.cc:2732
 #, 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:2730
+#: fortran/interface.cc:2737
 #, gcc-internal-format
 msgid ""
 "Element of assumed-shape or pointer array passed to array dummy argument %qs "
 "at %L"
 msgstr ""
 
-#: fortran/interface.cc:2743
+#: fortran/interface.cc:2750
 #, 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:2751
+#: fortran/interface.cc:2758
 #, gcc-internal-format
 msgid ""
 "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs "
 "at %L"
 msgstr ""
 
-#: fortran/interface.cc:3118
+#: fortran/interface.cc:3146
 #, gcc-internal-format
 msgid "Keyword argument %qs at %L is invalid in a statement function"
 msgstr ""
 
-#: fortran/interface.cc:3141
+#: fortran/interface.cc:3169
 #, gcc-internal-format
 msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?"
 msgstr ""
 
-#: fortran/interface.cc:3145
+#: fortran/interface.cc:3173
 #, gcc-internal-format
 msgid "Keyword argument %qs at %L is not in the procedure"
 msgstr ""
 
-#: fortran/interface.cc:3154
+#: fortran/interface.cc:3182
 #, gcc-internal-format
 msgid ""
 "Keyword argument %qs at %L is already associated with another actual argument"
 msgstr ""
 
-#: fortran/interface.cc:3164
+#: fortran/interface.cc:3192
 #, gcc-internal-format, gfc-internal-format
 msgid "More actual than formal arguments in procedure call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3177
+#: fortran/interface.cc:3205
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing alternate return specifier in subroutine call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3191
+#: fortran/interface.cc:3219
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected alternate return specifier in subroutine call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3220
+#: fortran/interface.cc:3248
 #, gcc-internal-format
 msgid "Unexpected NULL() intrinsic at %L to dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3223
+#: fortran/interface.cc:3251
 #, gcc-internal-format
 msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3249
+#: fortran/interface.cc:3277
 #, 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:3273
+#: fortran/interface.cc:3303
 #, 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:3280
+#: fortran/interface.cc:3310
 #, gcc-internal-format
 msgid ""
 "Character length mismatch (%ld/%ld) between actual argument and assumed-"
 "shape dummy argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3295
+#: fortran/interface.cc:3325
 #, 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:3314
+#: fortran/interface.cc:3344
 #, gcc-internal-format
 msgid ""
 "Character length of actual argument shorter than of dummy argument %qs (%lu/"
 "%lu) at %L"
 msgstr ""
 
-#: fortran/interface.cc:3324 fortran/interface.cc:3329
+#: fortran/interface.cc:3354 fortran/interface.cc:3359
 #, gcc-internal-format
 msgid ""
 "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) "
 "at %L"
 msgstr ""
 
-#: fortran/interface.cc:3350
+#: fortran/interface.cc:3380
 #, gcc-internal-format
 msgid "Expected a procedure pointer for argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3367
+#: fortran/interface.cc:3397
 #, gcc-internal-format
 msgid "Expected a procedure for argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3432
+#: fortran/interface.cc:3462
 #, gcc-internal-format
 msgid "Actual argument for %qs cannot be an assumed-size array at %L"
 msgstr ""
 
-#: fortran/interface.cc:3461
+#: fortran/interface.cc:3491
 #, gcc-internal-format
 msgid ""
 "Actual argument to assumed-rank INTENT(OUT) dummy %qs at %L cannot be of "
 "unknown size"
 msgstr ""
 
-#: fortran/interface.cc:3472
+#: fortran/interface.cc:3506
 #, gcc-internal-format
-msgid "Actual argument for %qs must be a pointer at %L"
+msgid "Actual argument for %qs at %L must be a pointer"
 msgstr ""
 
-#: fortran/interface.cc:3483
+#: fortran/interface.cc:3515
 #, gcc-internal-format
 msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3494
+#: fortran/interface.cc:3524
+#, 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:3538
 #, gcc-internal-format
 msgid "Coindexed actual argument at %L to pointer dummy %qs"
 msgstr ""
 
-#: fortran/interface.cc:3508
+#: fortran/interface.cc:3552
 #, gcc-internal-format
 msgid ""
 "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)"
 msgstr ""
 
-#: fortran/interface.cc:3523
+#: fortran/interface.cc:3567
 #, 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:3538
+#: fortran/interface.cc:3582
 #, 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:3551
+#: fortran/interface.cc:3595
 #, gcc-internal-format
 msgid "Actual CLASS array argument for %qs must be a full array at %L"
 msgstr ""
 
-#: fortran/interface.cc:3562
+#: fortran/interface.cc:3606
 #, gcc-internal-format
 msgid "Actual argument for %qs must be ALLOCATABLE at %L"
 msgstr ""
 
-#: fortran/interface.cc:3599
+#: fortran/interface.cc:3643
 #, gcc-internal-format
 msgid ""
 "Array-section actual argument with vector subscripts at %L is incompatible "
@@ -70976,334 +72848,341 @@ msgid ""
 "dummy argument %qs"
 msgstr ""
 
-#: fortran/interface.cc:3619
+#: fortran/interface.cc:3663
 #, 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:3637
+#: fortran/interface.cc:3681
 #, 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:3658
+#: fortran/interface.cc:3702
 #, 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:3686
+#: fortran/interface.cc:3730
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing alternate return spec in subroutine call at %L"
 msgstr ""
 
-#: fortran/interface.cc:3699
+#: fortran/interface.cc:3743
 #, gcc-internal-format
 msgid "Missing actual argument for argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3827
+#: fortran/interface.cc:3871
 #, gcc-internal-format
 msgid "compare_actual_expr(): Bad component code"
 msgstr ""
 
-#: fortran/interface.cc:3856
+#: fortran/interface.cc:3900
 #, gcc-internal-format
 msgid "check_some_aliasing(): List mismatch"
 msgstr ""
 
-#: fortran/interface.cc:3882
+#: fortran/interface.cc:3926
 #, gcc-internal-format
 msgid "check_some_aliasing(): corrupted data"
 msgstr ""
 
-#: fortran/interface.cc:3892
+#: fortran/interface.cc:3936
 #, gcc-internal-format
 msgid ""
 "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) "
 "argument %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:3922
+#: fortran/interface.cc:3966
 #, gcc-internal-format
 msgid "check_intents(): List mismatch"
 msgstr ""
 
-#: fortran/interface.cc:3942
+#: fortran/interface.cc:3986
 #, 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:3954
+#: fortran/interface.cc:3998
 #, 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:3964
+#: fortran/interface.cc:4008
 #, 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:3975
+#: fortran/interface.cc:4019
 #, gcc-internal-format
 msgid ""
 "Coindexed polymorphic actual argument at %L is passed polymorphic dummy "
 "argument %qs"
 msgstr ""
 
-#: fortran/interface.cc:4017
+#: fortran/interface.cc:4061
 #, gcc-internal-format
 msgid ""
 "Procedure %qs called at %L is not explicitly declared; did you mean %qs?"
 msgstr ""
 
-#: fortran/interface.cc:4021 fortran/interface.cc:4031
+#: fortran/interface.cc:4065 fortran/interface.cc:4075
 #, gcc-internal-format
 msgid "Procedure %qs called at %L is not explicitly declared"
 msgstr ""
 
-#: fortran/interface.cc:4027
+#: fortran/interface.cc:4071
 #, gcc-internal-format
 msgid "Procedure %qs called with an implicit interface at %L"
 msgstr ""
 
-#: fortran/interface.cc:4040
+#: fortran/interface.cc:4084
 #, 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:4048
+#: fortran/interface.cc:4092
 #, 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:4056
+#: fortran/interface.cc:4100
 #, gcc-internal-format
 msgid "Allocatable function %qs at %L must have an explicit function interface"
 msgstr ""
 
-#: fortran/interface.cc:4073
+#: fortran/interface.cc:4117
 #, gcc-internal-format, gfc-internal-format
 msgid "Explicit interface required for polymorphic argument at %L"
 msgstr ""
 
-#: fortran/interface.cc:4082
+#: fortran/interface.cc:4126
 #, gcc-internal-format
 msgid "Keyword argument requires explicit interface for procedure %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:4091
+#: fortran/interface.cc:4135
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type argument %s at %L requires an explicit interface"
 msgstr ""
 
-#: fortran/interface.cc:4106
+#: fortran/interface.cc:4150
 #, 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:4121
+#: fortran/interface.cc:4165
 #, 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:4131
+#: fortran/interface.cc:4175
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD argument to NULL required at %L"
 msgstr ""
 
-#: fortran/interface.cc:4141
+#: fortran/interface.cc:4183
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"Passing intrinsic NULL as actual argument at %L requires an explicit "
+"interface"
+msgstr ""
+
+#: fortran/interface.cc:4193
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank argument requires an explicit interface at %L"
 msgstr ""
 
-#: fortran/interface.cc:4183
+#: fortran/interface.cc:4235
 #, gcc-internal-format
 msgid "Procedure pointer component %qs called with an implicit interface at %L"
 msgstr ""
 
-#: fortran/interface.cc:4194
+#: fortran/interface.cc:4246
 #, gcc-internal-format
 msgid ""
 "Keyword argument requires explicit interface for procedure pointer component "
 "%qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:4279
+#: fortran/interface.cc:4331
 #, 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:4349
+#: fortran/interface.cc:4401
 #, gcc-internal-format
 msgid "Unable to find symbol %qs"
 msgstr ""
 
-#: fortran/interface.cc:4722
+#: fortran/interface.cc:4774
 #, gcc-internal-format
 msgid "Entity %qs at %L is already present in the interface"
 msgstr ""
 
-#: fortran/interface.cc:4839
+#: fortran/interface.cc:4891
 #, gcc-internal-format
 msgid "gfc_add_interface(): Bad interface type"
 msgstr ""
 
-#: fortran/interface.cc:4933
+#: fortran/interface.cc:4985
 #, gcc-internal-format
 msgid "Cannot overwrite GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:4945
+#: fortran/interface.cc:4997
 #, gcc-internal-format
 msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE"
 msgstr ""
 
-#: fortran/interface.cc:4953
+#: fortran/interface.cc:5005
 #, gcc-internal-format
 msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding"
 msgstr ""
 
-#: fortran/interface.cc:4961
+#: fortran/interface.cc:5013
 #, gcc-internal-format
 msgid "%qs at %L overrides a PURE procedure and must also be PURE"
 msgstr ""
 
-#: fortran/interface.cc:4970
+#: fortran/interface.cc:5022
 #, gcc-internal-format
 msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL"
 msgstr ""
 
-#: fortran/interface.cc:4976
+#: fortran/interface.cc:5028
 #, gcc-internal-format
 msgid ""
 "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, "
 "either"
 msgstr ""
 
-#: fortran/interface.cc:4985
+#: fortran/interface.cc:5037
 #, gcc-internal-format
 msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE"
 msgstr ""
 
-#: fortran/interface.cc:4996
+#: fortran/interface.cc:5048
 #, gcc-internal-format
 msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION"
 msgstr ""
 
-#: fortran/interface.cc:5004
+#: fortran/interface.cc:5056
 #, gcc-internal-format
 msgid "Result mismatch for the overriding procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/interface.cc:5015
+#: fortran/interface.cc:5067
 #, gcc-internal-format
 msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE"
 msgstr ""
 
-#: fortran/interface.cc:5045
+#: fortran/interface.cc:5097
 #, 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:5056
+#: fortran/interface.cc:5108
 #, gcc-internal-format
 msgid "Argument mismatch for the overriding procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/interface.cc:5065
+#: fortran/interface.cc:5117
 #, gcc-internal-format
 msgid ""
 "%qs at %L must have the same number of formal arguments as the overridden "
 "procedure"
 msgstr ""
 
-#: fortran/interface.cc:5074
+#: fortran/interface.cc:5126
 #, gcc-internal-format
 msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS"
 msgstr ""
 
-#: fortran/interface.cc:5085
+#: fortran/interface.cc:5137
 #, gcc-internal-format
 msgid "%qs at %L overrides a binding with PASS and must also be PASS"
 msgstr ""
 
-#: fortran/interface.cc:5092
+#: fortran/interface.cc:5144
 #, 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:5113
+#: fortran/interface.cc:5165
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be of type %s"
 msgstr ""
 
-#: fortran/interface.cc:5120
+#: fortran/interface.cc:5172
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be of KIND = %d"
 msgstr ""
 
-#: fortran/interface.cc:5127
+#: fortran/interface.cc:5179
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be a scalar"
 msgstr ""
 
-#: fortran/interface.cc:5131
+#: fortran/interface.cc:5183
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY"
 msgstr ""
 
-#: fortran/interface.cc:5135
+#: fortran/interface.cc:5187
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO character argument at %L must have assumed length"
 msgstr ""
 
-#: fortran/interface.cc:5139
+#: fortran/interface.cc:5191
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO dummy argument at %L must have INTENT %s"
 msgstr ""
 
-#: fortran/interface.cc:5197 fortran/interface.cc:5243
+#: fortran/interface.cc:5249 fortran/interface.cc:5295
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate return at %L is not permitted in a DTIO procedure"
 msgstr ""
 
-#: fortran/interface.cc:5209
+#: fortran/interface.cc:5261
 #, gcc-internal-format
 msgid "DTIO procedure %qs at %L must be a subroutine"
 msgstr ""
 
-#: fortran/interface.cc:5221
+#: fortran/interface.cc:5273
 #, gcc-internal-format
 msgid "Too few dummy arguments in DTIO procedure %qs at %L"
 msgstr ""
 
-#: fortran/interface.cc:5228
+#: fortran/interface.cc:5280
 #, gcc-internal-format
 msgid "Too many dummy arguments in DTIO procedure %qs at %L"
 msgstr ""
@@ -71503,7 +73382,7 @@ msgstr ""
 #. Use of -fdec-char-conversions allows assignment of character data
 #. to non-character variables.  This not permited for nonconstant
 #. strings.
-#: fortran/intrinsic.cc:5399 fortran/resolve.cc:11027
+#: fortran/intrinsic.cc:5399 fortran/resolve.cc:11049
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot convert %s to %s at %L"
 msgstr ""
@@ -71513,14 +73392,14 @@ msgstr ""
 msgid "Cannot convert %qs to %qs at %L"
 msgstr ""
 
-#: fortran/intrinsic.cc:5495
+#: fortran/intrinsic.cc:5496
 #, 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:5501
+#: fortran/intrinsic.cc:5502
 #, gcc-internal-format
 msgid ""
 "%qs declared at %L is also the name of an intrinsic.  It can only be called "
@@ -71935,7 +73814,7 @@ msgstr ""
 
 #: fortran/io.cc:2516
 #, gcc-internal-format, gfc-internal-format
-msgid "%s specifier at %L not allowed in OPEN statement for unformatted I/O"
+msgid "%sspecifier at %L not allowed in OPEN statement for unformatted I/O"
 msgstr ""
 
 #: fortran/io.cc:2524
@@ -71970,7 +73849,7 @@ msgstr ""
 msgid "UNIT number in CLOSE statement at %L must be non-negative"
 msgstr ""
 
-#: fortran/io.cc:2855 fortran/match.cc:3123
+#: fortran/io.cc:2855 fortran/match.cc:3129
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement not allowed in PURE procedure at %C"
 msgstr ""
@@ -72071,7 +73950,7 @@ msgid ""
 "defined input/output procedure"
 msgstr ""
 
-#: fortran/io.cc:3431 fortran/resolve.cc:15252
+#: fortran/io.cc:3431 fortran/resolve.cc:15309
 #, gcc-internal-format
 msgid ""
 "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER "
@@ -72238,14 +74117,19 @@ msgstr ""
 msgid "identifier overflow: %d"
 msgstr ""
 
+#: fortran/iresolve.cc:102
+#, gcc-internal-format
+msgid "check_charlen_present(): length not set"
+msgstr ""
+
 #: fortran/match.cc:118
 #, gcc-internal-format
 msgid "gfc_op2string(): Bad code"
 msgstr ""
 
 #: fortran/match.cc:195
-#, gcc-internal-format, gfc-internal-format
-msgid "Expected structure component or operator name after '.' at %C"
+#, gcc-internal-format
+msgid "Expected structure component or operator name after %<.%> at %C"
 msgstr ""
 
 #: fortran/match.cc:227
@@ -72260,756 +74144,756 @@ msgstr ""
 msgid "Missing %qs in statement at or before %L"
 msgstr ""
 
-#: fortran/match.cc:496
+#: fortran/match.cc:498
 #, gcc-internal-format, gfc-internal-format
 msgid "Integer too large at %C"
 msgstr ""
 
-#: fortran/match.cc:551 fortran/parse.cc:1299
+#: fortran/match.cc:553 fortran/parse.cc:1308
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many digits in statement label at %C"
 msgstr ""
 
-#: fortran/match.cc:557
+#: fortran/match.cc:559
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label at %C is zero"
 msgstr ""
 
-#: fortran/match.cc:590
+#: fortran/match.cc:592
 #, gcc-internal-format
 msgid "Label name %qs at %C is ambiguous"
 msgstr ""
 
-#: fortran/match.cc:596
+#: fortran/match.cc:598
 #, gcc-internal-format
 msgid "Duplicate construct label %qs at %C"
 msgstr ""
 
-#: fortran/match.cc:630
+#: fortran/match.cc:634
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid character in name at %C"
 msgstr ""
 
-#: fortran/match.cc:643
+#: fortran/match.cc:647
 #, gcc-internal-format, gfc-internal-format
 msgid "Name at %C is too long"
 msgstr ""
 
-#: fortran/match.cc:654
+#: fortran/match.cc:658
 #, gcc-internal-format
 msgid ""
 "Invalid character %<$%> at %L. Use %<-fdollar-ok%> to allow it as an "
 "extension"
 msgstr ""
 
-#: fortran/match.cc:930
+#: fortran/match.cc:934
 #, gcc-internal-format, gfc-internal-format
 msgid ".XOR. operator at %C"
 msgstr ""
 
-#: fortran/match.cc:985
+#: fortran/match.cc:989
 #, gcc-internal-format, gfc-internal-format
 msgid "Loop variable at %C cannot be an array"
 msgstr ""
 
-#: fortran/match.cc:992
+#: fortran/match.cc:996
 #, gcc-internal-format, gfc-internal-format
 msgid "Loop variable at %C cannot be a coarray"
 msgstr ""
 
-#: fortran/match.cc:998
+#: fortran/match.cc:1002
 #, gcc-internal-format, gfc-internal-format
 msgid "Loop variable at %C cannot be a sub-component"
 msgstr ""
 
-#: fortran/match.cc:1032
+#: fortran/match.cc:1036
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected a step value in iterator at %C"
 msgstr ""
 
-#: fortran/match.cc:1044
+#: fortran/match.cc:1048
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in iterator at %C"
 msgstr ""
 
-#: fortran/match.cc:1213
+#: fortran/match.cc:1219
 #, gcc-internal-format, gfc-internal-format
 msgid "gfc_match(): Bad match code %c"
 msgstr ""
 
-#: fortran/match.cc:1287
+#: fortran/match.cc:1293
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid form of PROGRAM statement at %C"
 msgstr ""
 
-#: fortran/match.cc:1331
+#: fortran/match.cc:1337
 #, 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:1340
+#: fortran/match.cc:1346
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a constant expression at %C"
 msgstr ""
 
-#: fortran/match.cc:1444 fortran/match.cc:1535
+#: fortran/match.cc:1450 fortran/match.cc:1541
 #, gcc-internal-format, gfc-internal-format
 msgid "Arithmetic IF statement at %C"
 msgstr ""
 
-#: fortran/match.cc:1491
+#: fortran/match.cc:1497
 #, gcc-internal-format
 msgid "Missing %<(%> in IF-expression at %C"
 msgstr ""
 
-#: fortran/match.cc:1509
+#: fortran/match.cc:1515
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in IF-expression at %C"
 msgstr ""
 
-#: fortran/match.cc:1520
+#: fortran/match.cc:1526
 #, gcc-internal-format, gfc-internal-format
 msgid "Block label not appropriate for arithmetic IF statement at %C"
 msgstr ""
 
-#: fortran/match.cc:1558
+#: fortran/match.cc:1564
 #, gcc-internal-format, gfc-internal-format
 msgid "Block label is not appropriate for IF statement at %C"
 msgstr ""
 
-#: fortran/match.cc:1651 fortran/match.cc:1658
+#: fortran/match.cc:1657 fortran/match.cc:1664
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in IF-clause after %C"
 msgstr ""
 
-#: fortran/match.cc:1701
+#: fortran/match.cc:1707
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid character(s) in ELSE statement after %C"
 msgstr ""
 
-#: fortran/match.cc:1707
+#: fortran/match.cc:1713
 #, gcc-internal-format
 msgid "Label %qs at %C doesn't match IF label %qs"
 msgstr ""
 
-#: fortran/match.cc:1728
+#: fortran/match.cc:1734
 #, gcc-internal-format
 msgid "Missing %<(%> in ELSE IF expression at %C"
 msgstr ""
 
-#: fortran/match.cc:1738
+#: fortran/match.cc:1744
 #, gcc-internal-format
 msgid "Missing %<)%> in ELSE IF expression at %C"
 msgstr ""
 
-#: fortran/match.cc:1753
+#: fortran/match.cc:1759
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing THEN in ELSE IF statement after %L"
 msgstr ""
 
-#: fortran/match.cc:1761
+#: fortran/match.cc:1767
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in ELSE IF statement after %L"
 msgstr ""
 
-#: fortran/match.cc:1767
+#: fortran/match.cc:1773
 #, gcc-internal-format
 msgid "Label %qs after %L doesn't match IF label %qs"
 msgstr ""
 
-#: fortran/match.cc:1828
+#: fortran/match.cc:1834
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement CRITICAL at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:1834
+#: fortran/match.cc:1840
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement CRITICAL at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:1841
+#: fortran/match.cc:1847
 #, gcc-internal-format, gfc-internal-format
 msgid "CRITICAL statement at %C"
 msgstr ""
 
-#: fortran/match.cc:1853
+#: fortran/match.cc:1859
 #, gcc-internal-format, gfc-internal-format
 msgid "Nested CRITICAL block at %C"
 msgstr ""
 
-#: fortran/match.cc:1905
+#: fortran/match.cc:1911
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected association list at %C"
 msgstr ""
 
-#: fortran/match.cc:1917
+#: fortran/match.cc:1923
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected association at %C"
 msgstr ""
 
-#: fortran/match.cc:1927
+#: fortran/match.cc:1933
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid association target at %C"
 msgstr ""
 
-#: fortran/match.cc:1938
+#: fortran/match.cc:1944
 #, gcc-internal-format
 msgid "Duplicate name %qs in association at %C"
 msgstr ""
 
-#: fortran/match.cc:1946
+#: fortran/match.cc:1952
 #, gcc-internal-format, gfc-internal-format
 msgid "Association target at %C must not be coindexed"
 msgstr ""
 
-#: fortran/match.cc:1953
+#: fortran/match.cc:1959
 #, gcc-internal-format, gfc-internal-format
 msgid "Association target at %L cannot be a BOZ literal constant"
 msgstr ""
 
-#: fortran/match.cc:1972
+#: fortran/match.cc:1978
 #, gcc-internal-format
 msgid "Expected %<)%> or %<,%> at %C"
 msgstr ""
 
-#: fortran/match.cc:1990
+#: fortran/match.cc:1996
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after ASSOCIATE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:2112
+#: fortran/match.cc:2118
 #, gcc-internal-format
 msgid "Derived type %qs at %L may not be ABSTRACT"
 msgstr ""
 
-#: fortran/match.cc:2184 fortran/match.cc:2256 fortran/match.cc:2279
+#: fortran/match.cc:2190 fortran/match.cc:2262 fortran/match.cc:2285
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid type-spec at %C"
 msgstr ""
 
-#: fortran/match.cc:2374
+#: fortran/match.cc:2380
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in FORALL iterator at %C"
 msgstr ""
 
-#: fortran/match.cc:2639
+#: fortran/match.cc:2645
 #, gcc-internal-format, gfc-internal-format
 msgid "DO CONCURRENT construct at %C"
 msgstr ""
 
-#: fortran/match.cc:2764
+#: fortran/match.cc:2770
 #, gcc-internal-format
 msgid "Name %qs in %s statement at %C is unknown"
 msgstr ""
 
-#: fortran/match.cc:2772
+#: fortran/match.cc:2778
 #, gcc-internal-format
 msgid "Name %qs in %s statement at %C is not a construct name"
 msgstr ""
 
-#: fortran/match.cc:2784
+#: fortran/match.cc:2790
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C leaves CRITICAL construct"
 msgstr ""
 
 #. F2008, C821 & C845.
-#: fortran/match.cc:2792
+#: fortran/match.cc:2798
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C leaves DO CONCURRENT construct"
 msgstr ""
 
-#: fortran/match.cc:2804
+#: fortran/match.cc:2810
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C is not within a construct"
 msgstr ""
 
-#: fortran/match.cc:2807
+#: fortran/match.cc:2813
 #, gcc-internal-format
 msgid "%s statement at %C is not within construct %qs"
 msgstr ""
 
-#: fortran/match.cc:2833
+#: fortran/match.cc:2839
 #, gcc-internal-format
 msgid "CYCLE statement at %C is not applicable to non-loop construct %qs"
 msgstr ""
 
-#: fortran/match.cc:2838
+#: fortran/match.cc:2844
 #, gcc-internal-format, gfc-internal-format
 msgid "EXIT statement with no do-construct-name at %C"
 msgstr ""
 
-#: fortran/match.cc:2844
+#: fortran/match.cc:2850
 #, gcc-internal-format
 msgid "%s statement at %C is not applicable to construct %qs"
 msgstr ""
 
-#: fortran/match.cc:2852
+#: fortran/match.cc:2858
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C leaving OpenACC structured block"
 msgstr ""
 
-#: fortran/match.cc:2853
+#: fortran/match.cc:2859
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C leaving OpenMP structured block"
 msgstr ""
 
-#: fortran/match.cc:2893
+#: fortran/match.cc:2899
 #, gcc-internal-format, gfc-internal-format
 msgid "EXIT statement at %C terminating !$ACC LOOP loop"
 msgstr ""
 
-#: fortran/match.cc:2899
+#: fortran/match.cc:2905
 #, gcc-internal-format, gfc-internal-format
 msgid "CYCLE statement at %C to non-innermost tiled !$ACC LOOP loop"
 msgstr ""
 
-#: fortran/match.cc:2901
+#: fortran/match.cc:2907
 #, gcc-internal-format, gfc-internal-format
 msgid "CYCLE statement at %C to non-innermost collapsed !$ACC LOOP loop"
 msgstr ""
 
-#: fortran/match.cc:2948
+#: fortran/match.cc:2954
 #, gcc-internal-format, gfc-internal-format
 msgid "EXIT statement at %C terminating !$OMP DO loop"
 msgstr ""
 
-#: fortran/match.cc:2953
+#: fortran/match.cc:2959
 #, gcc-internal-format, gfc-internal-format
 msgid "CYCLE statement at %C to non-innermost collapsed !$OMP DO loop"
 msgstr ""
 
-#: fortran/match.cc:3058
+#: fortran/match.cc:3064
 #, gcc-internal-format, gfc-internal-format
 msgid "Blank required in %s statement near %C"
 msgstr ""
 
-#: fortran/match.cc:3081
+#: fortran/match.cc:3087
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %C cannot be negative"
 msgstr ""
 
-#: fortran/match.cc:3087
+#: fortran/match.cc:3093
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %C contains too many digits"
 msgstr ""
 
-#: fortran/match.cc:3103
+#: fortran/match.cc:3109
 #, gcc-internal-format, gfc-internal-format
 msgid "QUIET= specifier for %s at %L"
 msgstr ""
 
-#: fortran/match.cc:3117
+#: fortran/match.cc:3123
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3133
+#: fortran/match.cc:3139
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement STOP at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3138
+#: fortran/match.cc:3144
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement STOP at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:3150
+#: fortran/match.cc:3156
 #, 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:3162
+#: fortran/match.cc:3168
 #, 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:3169
+#: fortran/match.cc:3175
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be either INTEGER or CHARACTER type"
 msgstr ""
 
-#: fortran/match.cc:3176
+#: fortran/match.cc:3182
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be scalar"
 msgstr ""
 
-#: fortran/match.cc:3183
+#: fortran/match.cc:3189
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be default character KIND=%d"
 msgstr ""
 
-#: fortran/match.cc:3190
+#: fortran/match.cc:3196
 #, gcc-internal-format, gfc-internal-format
 msgid "STOP code at %L must be default integer KIND=%d"
 msgstr ""
 
-#: fortran/match.cc:3202 fortran/resolve.cc:11974
+#: fortran/match.cc:3208 fortran/resolve.cc:12014
 #, gcc-internal-format, gfc-internal-format
 msgid "QUIET specifier at %L must be a scalar LOGICAL"
 msgstr ""
 
-#: fortran/match.cc:3252
+#: fortran/match.cc:3258
 #, gcc-internal-format, gfc-internal-format
 msgid "PAUSE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3273
+#: fortran/match.cc:3279
 #, gcc-internal-format, gfc-internal-format
 msgid "ERROR STOP statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3299
+#: fortran/match.cc:3305
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement EVENT %s at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3314
+#: fortran/match.cc:3320
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement EVENT %s at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3321
+#: fortran/match.cc:3327
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement EVENT %s at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:3351 fortran/match.cc:3693 fortran/match.cc:3905
-#: fortran/match.cc:4457 fortran/match.cc:4828
+#: fortran/match.cc:3357 fortran/match.cc:3699 fortran/match.cc:3911
+#: fortran/match.cc:4463 fortran/match.cc:4834
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant STAT tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:3372 fortran/match.cc:3714 fortran/match.cc:3925
-#: fortran/match.cc:4489 fortran/match.cc:4853
+#: fortran/match.cc:3378 fortran/match.cc:3720 fortran/match.cc:3931
+#: fortran/match.cc:4495 fortran/match.cc:4859
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant ERRMSG tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:3393
+#: fortran/match.cc:3399
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant UNTIL_COUNT tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:3459
+#: fortran/match.cc:3465
 #, gcc-internal-format, gfc-internal-format
 msgid "EVENT POST statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3469
+#: fortran/match.cc:3475
 #, gcc-internal-format, gfc-internal-format
 msgid "EVENT WAIT statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3481
+#: fortran/match.cc:3487
 #, gcc-internal-format, gfc-internal-format
 msgid "FAIL IMAGE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3505
+#: fortran/match.cc:3511
 #, gcc-internal-format, gfc-internal-format
 msgid "FORM TEAM statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3544
+#: fortran/match.cc:3550
 #, gcc-internal-format, gfc-internal-format
 msgid "CHANGE TEAM statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3574
+#: fortran/match.cc:3580
 #, gcc-internal-format, gfc-internal-format
 msgid "END TEAM statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3598
+#: fortran/match.cc:3604
 #, gcc-internal-format, gfc-internal-format
 msgid "SYNC TEAM statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3641
+#: fortran/match.cc:3647
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement %s at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3656
+#: fortran/match.cc:3662
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement %s at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3663
+#: fortran/match.cc:3669
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement %s at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:3735
+#: fortran/match.cc:3741
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant ACQUIRED_LOCK tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:3800
+#: fortran/match.cc:3806
 #, gcc-internal-format, gfc-internal-format
 msgid "LOCK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3810
+#: fortran/match.cc:3816
 #, gcc-internal-format, gfc-internal-format
 msgid "UNLOCK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3835
+#: fortran/match.cc:3841
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement SYNC at %C in PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:3841
+#: fortran/match.cc:3847
 #, gcc-internal-format, gfc-internal-format
 msgid "SYNC statement at %C"
 msgstr ""
 
-#: fortran/match.cc:3853
+#: fortran/match.cc:3859
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement SYNC at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:3859
+#: fortran/match.cc:3865
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement SYNC at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:4039
+#: fortran/match.cc:4045
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %C"
 msgstr ""
 
-#: fortran/match.cc:4083
+#: fortran/match.cc:4089
 #, gcc-internal-format, gfc-internal-format
 msgid "Assigned GOTO statement at %C"
 msgstr ""
 
-#: fortran/match.cc:4127 fortran/match.cc:4178
+#: fortran/match.cc:4133 fortran/match.cc:4184
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label list in GOTO at %C cannot be empty"
 msgstr ""
 
-#: fortran/match.cc:4188
+#: fortran/match.cc:4194
 #, gcc-internal-format, gfc-internal-format
 msgid "Computed GOTO at %C"
 msgstr ""
 
-#: fortran/match.cc:4263
+#: fortran/match.cc:4269
 #, gcc-internal-format, gfc-internal-format
 msgid "Error in type-spec at %L"
 msgstr ""
 
-#: fortran/match.cc:4276
+#: fortran/match.cc:4282
 #, gcc-internal-format, gfc-internal-format
 msgid "typespec in ALLOCATE at %L"
 msgstr ""
 
-#: fortran/match.cc:4299
+#: fortran/match.cc:4305
 #, 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:4329 fortran/match.cc:4766
+#: fortran/match.cc:4335 fortran/match.cc:4772
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected constant at %C"
 msgstr ""
 
-#: fortran/match.cc:4339
+#: fortran/match.cc:4345
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad allocate-object at %C for a PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:4354
+#: fortran/match.cc:4360
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible allocate-object at %C for CHARACTER type-spec at %L"
 msgstr ""
 
-#: fortran/match.cc:4376
+#: fortran/match.cc:4382
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATE of coarray at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:4381
+#: fortran/match.cc:4387
 #, gcc-internal-format, gfc-internal-format
 msgid "ALLOCATE of coarray at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:4403
+#: fortran/match.cc:4409
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocate-object at %L is neither a data pointer nor an allocatable variable"
 msgstr ""
 
-#: fortran/match.cc:4415
+#: fortran/match.cc:4421
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with typespec"
 msgstr ""
 
-#: fortran/match.cc:4423
+#: fortran/match.cc:4429
 #, 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:4440
+#: fortran/match.cc:4446
 #, gcc-internal-format, gfc-internal-format
 msgid "Shape specification for allocatable scalar at %C"
 msgstr ""
 
-#: fortran/match.cc:4467
+#: fortran/match.cc:4473
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT tag at %L cannot be a constant"
 msgstr ""
 
-#: fortran/match.cc:4483
+#: fortran/match.cc:4489
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG tag at %L"
 msgstr ""
 
-#: fortran/match.cc:4506
+#: fortran/match.cc:4512
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE tag at %L"
 msgstr ""
 
-#: fortran/match.cc:4512
+#: fortran/match.cc:4518
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant SOURCE tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:4519
+#: fortran/match.cc:4525
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE tag at %L conflicts with the typespec at %L"
 msgstr ""
 
-#: fortran/match.cc:4525
+#: fortran/match.cc:4531
 #, gcc-internal-format, gfc-internal-format
 msgid "SOURCE tag at %L with more than a single allocate object"
 msgstr ""
 
-#: fortran/match.cc:4543
+#: fortran/match.cc:4549
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD tag at %L"
 msgstr ""
 
-#: fortran/match.cc:4549
+#: fortran/match.cc:4555
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant MOLD tag found at %L"
 msgstr ""
 
-#: fortran/match.cc:4556
+#: fortran/match.cc:4562
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD tag at %L conflicts with the typespec at %L"
 msgstr ""
 
-#: fortran/match.cc:4582
+#: fortran/match.cc:4588
 #, gcc-internal-format, gfc-internal-format
 msgid "MOLD tag at %L conflicts with SOURCE tag at %L"
 msgstr ""
 
-#: fortran/match.cc:4590
+#: fortran/match.cc:4596
 #, 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:4602
+#: fortran/match.cc:4608
 #, 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:4669
+#: fortran/match.cc:4675
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer object at %C shall not be coindexed"
 msgstr ""
 
-#: fortran/match.cc:4684
+#: fortran/match.cc:4690
 #, gcc-internal-format, gfc-internal-format
 msgid "NULLIFY does not allow bounds remapping for pointer object at %C"
 msgstr ""
 
-#: fortran/match.cc:4778
+#: fortran/match.cc:4784
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal allocate-object at %C for a PURE procedure"
 msgstr ""
 
-#: fortran/match.cc:4788
+#: fortran/match.cc:4794
 #, gcc-internal-format, gfc-internal-format
 msgid "DEALLOCATE of coarray at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:4795
+#: fortran/match.cc:4801
 #, gcc-internal-format, gfc-internal-format
 msgid "DEALLOCATE of coarray at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:4811
+#: fortran/match.cc:4817
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocate-object at %C is not a nonprocedure pointer nor an allocatable "
 "variable"
 msgstr ""
 
-#: fortran/match.cc:4848
+#: fortran/match.cc:4854
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L"
 msgstr ""
 
-#: fortran/match.cc:4905
+#: fortran/match.cc:4911
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement RETURN at %C in CRITICAL block"
 msgstr ""
 
-#: fortran/match.cc:4911
+#: fortran/match.cc:4917
 #, gcc-internal-format, gfc-internal-format
 msgid "Image control statement RETURN at %C in DO CONCURRENT block"
 msgstr ""
 
-#: fortran/match.cc:4920
+#: fortran/match.cc:4926
 #, gcc-internal-format, gfc-internal-format
 msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
 msgstr ""
 
-#: fortran/match.cc:4951
+#: fortran/match.cc:4957
 #, gcc-internal-format, gfc-internal-format
 msgid "RETURN statement in main program at %C"
 msgstr ""
 
-#: fortran/match.cc:4979
+#: fortran/match.cc:4985
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected component reference at %C"
 msgstr ""
 
-#: fortran/match.cc:4988
+#: fortran/match.cc:4994
 #, gcc-internal-format, gfc-internal-format
 msgid "Junk after CALL at %C"
 msgstr ""
 
-#: fortran/match.cc:4999
+#: fortran/match.cc:5005
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected type-bound procedure or procedure pointer component at %C"
 msgstr ""
 
-#: fortran/match.cc:5096
+#: fortran/match.cc:5102
 #, 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:5237
+#: fortran/match.cc:5243
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in common block name at %C"
 msgstr ""
@@ -73017,63 +74901,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:5312
+#: fortran/match.cc:5318
 #, 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:5321
+#: fortran/match.cc:5327
 #, 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:5328
+#: fortran/match.cc:5334
 #, gcc-internal-format
 msgid "Symbol %qs at %C is already in a COMMON block"
 msgstr ""
 
-#: fortran/match.cc:5336
+#: fortran/match.cc:5342
 #, gcc-internal-format
 msgid "Initialized symbol %qs at %C can only be COMMON in BLOCK DATA"
 msgstr ""
 
-#: fortran/match.cc:5352
+#: fortran/match.cc:5353
+#, gcc-internal-format
+msgid ""
+"Symbol %qs at %C is USE associated from module %qs and cannot occur in COMMON"
+msgstr ""
+
+#: fortran/match.cc:5368
 #, gcc-internal-format
 msgid "Array specification for symbol %qs in COMMON at %C must be explicit"
 msgstr ""
 
-#: fortran/match.cc:5359
+#: fortran/match.cc:5375
 #, gcc-internal-format
 msgid "Symbol %qs in COMMON at %C cannot be a coarray"
 msgstr ""
 
-#: fortran/match.cc:5369
+#: fortran/match.cc:5385
 #, gcc-internal-format
 msgid "Symbol %qs in COMMON at %C cannot be a POINTER array"
 msgstr ""
 
-#: fortran/match.cc:5415
+#: fortran/match.cc:5431
 #, 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:5477
+#: fortran/match.cc:5493
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK DATA construct at %L"
 msgstr ""
 
-#: fortran/match.cc:5563
+#: fortran/match.cc:5581
 #, gcc-internal-format
 msgid "Namelist group name %qs at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/match.cc:5571
+#: fortran/match.cc:5589
 #, gcc-internal-format
 msgid ""
 "Namelist group name %qs at %C already is USE associated and cannot be "
@@ -73083,187 +74973,192 @@ 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:5596
+#: fortran/match.cc:5614
 #, gcc-internal-format
 msgid ""
 "Symbol %qs in namelist %qs at %C must be declared before the namelist is "
 "declared."
 msgstr ""
 
-#: fortran/match.cc:5615
+#: fortran/match.cc:5633
 #, gcc-internal-format
 msgid "Assumed size array %qs in namelist %qs at %C is not allowed"
 msgstr ""
 
-#: fortran/match.cc:5758
+#: fortran/match.cc:5776
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type component %C is not a permitted EQUIVALENCE member"
 msgstr ""
 
-#: fortran/match.cc:5766
+#: fortran/match.cc:5784
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
 msgstr ""
 
-#: fortran/match.cc:5799
+#: fortran/match.cc:5817
 #, gcc-internal-format, gfc-internal-format
 msgid "EQUIVALENCE at %C requires two or more objects"
 msgstr ""
 
-#: fortran/match.cc:5813
+#: fortran/match.cc:5831
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
 msgstr ""
 
-#: fortran/match.cc:5826
+#: fortran/match.cc:5844
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting a comma in EQUIVALENCE at %C"
 msgstr ""
 
-#: fortran/match.cc:5831
+#: fortran/match.cc:5849
 #, gcc-internal-format, gfc-internal-format
 msgid "EQUIVALENCE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:5967
+#: fortran/match.cc:5942
+#, gcc-internal-format, gfc-internal-format
+msgid "Invalid use of statement function argument at %L"
+msgstr ""
+
+#: fortran/match.cc:6009
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %L is recursive"
 msgstr ""
 
-#: fortran/match.cc:5973
+#: fortran/match.cc:6015
 #, gcc-internal-format
 msgid "Statement function %qs at %L conflicts with function name"
 msgstr ""
 
-#: fortran/match.cc:5984
+#: fortran/match.cc:6029
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %L cannot appear within an INTERFACE"
 msgstr ""
 
-#: fortran/match.cc:5989
+#: fortran/match.cc:6034
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement function at %C"
 msgstr ""
 
-#: fortran/match.cc:6114 fortran/match.cc:6130 fortran/match.cc:6149
+#: fortran/match.cc:6159 fortran/match.cc:6175 fortran/match.cc:6194
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE selector at %L cannot be %s"
 msgstr ""
 
-#: fortran/match.cc:6159 fortran/match.cc:6165
+#: fortran/match.cc:6204 fortran/match.cc:6210
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE selector at %L must be scalar"
 msgstr ""
 
-#: fortran/match.cc:6174
+#: fortran/match.cc:6219
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected initialization expression in CASE at %C"
 msgstr ""
 
-#: fortran/match.cc:6206
+#: fortran/match.cc:6251
 #, gcc-internal-format
 msgid "Expected block name %qs of SELECT construct at %C"
 msgstr ""
 
-#: fortran/match.cc:6501
+#: fortran/match.cc:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "SELECT TYPE at %C cannot appear in this scope"
 msgstr ""
 
-#: fortran/match.cc:6542
+#: fortran/match.cc:6587
 #, gcc-internal-format, gfc-internal-format
 msgid "parse error in SELECT TYPE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6567
+#: fortran/match.cc:6612
 #, 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:6723
+#: fortran/match.cc:6768
 #, gcc-internal-format, gfc-internal-format
 msgid "SELECT RANK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6752 fortran/match.cc:6806
+#: fortran/match.cc:6797 fortran/match.cc:6851
 #, gcc-internal-format, gfc-internal-format
 msgid "The SELECT RANK selector at %C must be an assumed rank variable"
 msgstr ""
 
-#: fortran/match.cc:6816
+#: fortran/match.cc:6861
 #, gcc-internal-format, gfc-internal-format
 msgid "parse error in SELECT RANK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6852
+#: fortran/match.cc:6897
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected CASE statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6904
+#: fortran/match.cc:6949
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in CASE specification at %C"
 msgstr ""
 
-#: fortran/match.cc:6922
+#: fortran/match.cc:6967
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected TYPE IS statement at %C"
 msgstr ""
 
-#: fortran/match.cc:6954
+#: fortran/match.cc:6999
 #, 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:6965
+#: fortran/match.cc:7010
 #, 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:6976
+#: fortran/match.cc:7021
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in TYPE IS specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7052
+#: fortran/match.cc:7097
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in CLASS IS specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7072
+#: fortran/match.cc:7117
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected RANK statement at %C"
 msgstr ""
 
-#: fortran/match.cc:7118
+#: fortran/match.cc:7163
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "The SELECT RANK CASE expression at %C must be a scalar, integer constant"
 msgstr ""
 
-#: fortran/match.cc:7127
+#: fortran/match.cc:7172
 #, 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:7154
+#: fortran/match.cc:7199
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in RANK specification at %C"
 msgstr ""
 
-#: fortran/match.cc:7276
+#: fortran/match.cc:7321
 #, gcc-internal-format, gfc-internal-format
 msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
 msgstr ""
 
-#: fortran/match.cc:7314
+#: fortran/match.cc:7359
 #, gcc-internal-format
 msgid "Label %qs at %C doesn't match WHERE label %qs"
 msgstr ""
@@ -73630,676 +75525,768 @@ msgstr ""
 msgid "Cannot USE a module that is currently built"
 msgstr ""
 
-#: fortran/openmp.cc:68 fortran/openmp.cc:6020
+#: fortran/openmp.cc:148 fortran/openmp.cc:6667
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk at %C"
 msgstr ""
 
-#: fortran/openmp.cc:349
+#: fortran/openmp.cc:424
+#, gcc-internal-format
+msgid "%<omp_all_memory%> at %C not permitted in this clause"
+msgstr ""
+
+#: fortran/openmp.cc:469
 #, gcc-internal-format, gfc-internal-format
 msgid "List item shall not be coindexed at %C"
 msgstr ""
 
-#: fortran/openmp.cc:384 fortran/openmp.cc:485 fortran/openmp.cc:805
-#: fortran/openmp.cc:5099
+#: fortran/openmp.cc:504 fortran/openmp.cc:605 fortran/openmp.cc:935
+#: fortran/openmp.cc:5752
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block /%s/ not found at %C"
 msgstr ""
 
-#: fortran/openmp.cc:423 fortran/openmp.cc:513
+#: fortran/openmp.cc:543 fortran/openmp.cc:633
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenMP variable list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:540
+#: fortran/openmp.cc:660
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenMP detach clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:612
+#: fortran/openmp.cc:689
+#, gcc-internal-format
+msgid ""
+"%<omp_all_memory%> used with dependence-type other than OUT or INOUT at %C"
+msgstr ""
+
+#: fortran/openmp.cc:742
 #, gcc-internal-format, gfc-internal-format
-msgid "Syntax error in OpenMP DEPEND SINK list at %C"
+msgid "Syntax error in OpenMP SINK dependence-type list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:674
+#: fortran/openmp.cc:804
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in OpenACC expression list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:741
+#: fortran/openmp.cc:871
 #, gcc-internal-format
 msgid "Unexpected OpenACC parallelism."
 msgstr ""
 
-#: fortran/openmp.cc:773
+#: fortran/openmp.cc:903
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable at %C is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:833
+#: fortran/openmp.cc:963
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$ACC DECLARE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:843
+#: fortran/openmp.cc:973
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$ACC DECLARE list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1092
+#: fortran/openmp.cc:1225
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected INTEGER type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1106
+#: fortran/openmp.cc:1239
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected identifier at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1111
+#: fortran/openmp.cc:1244
 #, gcc-internal-format
 msgid "Same identifier %qs specified again at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1138
+#: fortran/openmp.cc:1271
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected range-specification at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1225
+#: fortran/openmp.cc:1357
 #, gcc-internal-format, gfc-internal-format
 msgid "Comma expected at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1337
+#: fortran/openmp.cc:1469
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP DECLARE REDUCTION %s not found at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1387
+#: fortran/openmp.cc:1529
+#, gcc-internal-format, gfc-internal-format
+msgid "Unknown directive at %L"
+msgstr ""
+
+#: fortran/openmp.cc:1531
+#, gcc-internal-format, gfc-internal-format
+msgid "Invalid combined or composit directive at %L"
+msgstr ""
+
+#: fortran/openmp.cc:1539
+#, gcc-internal-format
+msgid ""
+"Invalid %qs directive at %L in %s clause: declarative, informational and "
+"meta directives not permitted"
+msgstr ""
+
+#: fortran/openmp.cc:1571
+#, gcc-internal-format
+msgid "Expected %<,%> or %<)%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:1597 fortran/openmp.cc:1607
+#, gcc-internal-format
+msgid ""
+"%qs directive mentioned multiple times in %s clause in %s directive at %L"
+msgstr ""
+
+#: fortran/openmp.cc:1615
+#, gcc-internal-format
+msgid ""
+"%qs directive mentioned both times in ABSENT and CONTAINS clauses in %s "
+"directive at %L"
+msgstr ""
+
+#: fortran/openmp.cc:1686
 #, gcc-internal-format
 msgid "Duplicated %qs clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:1394
+#: fortran/openmp.cc:1693
 #, gcc-internal-format
 msgid "Expected %<(%> after %qs at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1401
+#: fortran/openmp.cc:1700
 #, gcc-internal-format
 msgid "Invalid expression after %<%s(%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1463
+#: fortran/openmp.cc:1762
 #, gcc-internal-format, gfc-internal-format
 msgid "Clause expected at %C after trailing comma"
 msgstr ""
 
-#: fortran/openmp.cc:1525
+#: fortran/openmp.cc:1832 fortran/openmp.cc:1868 fortran/openmp.cc:2257
+#: fortran/openmp.cc:2282
 #, gcc-internal-format
 msgid "Expected %<:%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1568
+#: fortran/openmp.cc:1892
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected variable list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1592
+#: fortran/openmp.cc:1917
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected COMPILATION or EXECUTION in AT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1653
+#: fortran/openmp.cc:1978
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected TEAMS, PARALLEL or THREAD as binding in BIND at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1684
+#: fortran/openmp.cc:2009
 #, gcc-internal-format, gfc-internal-format
 msgid "COLLAPSE clause argument not constant positive integer at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1763
+#: fortran/openmp.cc:2096
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ALLOC, TO, FROM, TOFROM, FIRSTPRIVATE, NONE or DEFAULT at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1783
+#: fortran/openmp.cc:2116
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SCALAR, AGGREGATE, ALLOCATABLE or POINTER at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1812
+#: fortran/openmp.cc:2145
 #, gcc-internal-format, gfc-internal-format
 msgid "DEFAULTMAP at %C but prior DEFAULTMAP with unspecified category"
 msgstr ""
 
-#: fortran/openmp.cc:1815
+#: fortran/openmp.cc:2148
 #, gcc-internal-format, gfc-internal-format
 msgid "DEFAULTMAP at %C but prior DEFAULTMAP for category %s"
 msgstr ""
 
-#: fortran/openmp.cc:1851
+#: fortran/openmp.cc:2184
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected NONE or PRESENT in DEFAULT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1854
+#: fortran/openmp.cc:2187
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected NONE, FIRSTPRIVATE, PRIVATE or SHARED in DEFAULT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1894
+#: fortran/openmp.cc:2237
 #, gcc-internal-format, gfc-internal-format
 msgid "ITERATOR may not be combined with SOURCE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1906
+#: fortran/openmp.cc:2243
+#, gcc-internal-format, gfc-internal-format
+msgid "SOURCE at %C not permitted as dependence-type for this directive"
+msgstr ""
+
+#: fortran/openmp.cc:2249
+#, gcc-internal-format, gfc-internal-format
+msgid "Duplicated clause with SOURCE dependence-type at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2264
+#, gcc-internal-format
+msgid "Expected %<)%> or %<omp_cur_iteration)%> at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2276
+#, gcc-internal-format, gfc-internal-format
+msgid "SINK at %C not permitted as dependence-type for this directive"
+msgstr ""
+
+#: fortran/openmp.cc:2287
 #, gcc-internal-format, gfc-internal-format
 msgid "ITERATOR may not be combined with SINK at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1963 fortran/openmp.cc:1991
+#: fortran/openmp.cc:2301
+#, gcc-internal-format, gfc-internal-format
+msgid "Expected dependence-type SINK or SOURCE at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2318
+#, gcc-internal-format
+msgid "%<omp_all_memory%> used with DEPEND kind other than OUT or INOUT at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2356 fortran/openmp.cc:2391
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected integer expression at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1972
+#: fortran/openmp.cc:2372
 #, gcc-internal-format
 msgid ""
 "%<ancestor%> device modifier not preceded by %<requires%> directive with "
 "%<reverse_offload%> clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1984
+#: fortran/openmp.cc:2384
 #, gcc-internal-format
 msgid "the %<device%> clause expression must evaluate to %<1%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:1997
+#: fortran/openmp.cc:2397
 #, gcc-internal-format
 msgid ""
 "Expected integer expression or a single device-modifier %<device_num%> or "
 "%<ancestor%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2027
+#: fortran/openmp.cc:2427
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected HOST, NOHOST or ANY at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2072
+#: fortran/openmp.cc:2482
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SEQ_CST, ACQUIRE or RELAXED at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2385
+#: fortran/openmp.cc:2833
+#, gcc-internal-format
+msgid "Multiple %qs modifiers specified at %C"
+msgstr ""
+
+#: fortran/openmp.cc:2923
 #, gcc-internal-format
 msgid "too many %<always%> modifiers at %L"
 msgstr ""
 
-#: fortran/openmp.cc:2391
+#: fortran/openmp.cc:2929
 #, gcc-internal-format
 msgid "too many %<close%> modifiers at %L"
 msgstr ""
 
-#: fortran/openmp.cc:2547
+#: fortran/openmp.cc:3120
 #, gcc-internal-format
 msgid ""
 "Expected ORDER(CONCURRENT) at %C with optional %<reproducible%> or "
 "%<unconstrained%> modifier"
 msgstr ""
 
-#: fortran/openmp.cc:2572
+#: fortran/openmp.cc:3145
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDERED clause argument not constant positive integer at %C"
 msgstr ""
 
-#: fortran/openmp.cc:2840
+#: fortran/openmp.cc:3413
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected FATAL or WARNING in SEVERITY clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3023
+#: fortran/openmp.cc:3601
 #, gcc-internal-format, gfc-internal-format
 msgid "Failed to match clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3201
+#: fortran/openmp.cc:3779
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid clause in module with !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3211
+#: fortran/openmp.cc:3789
 #, gcc-internal-format, gfc-internal-format
 msgid "Variable is USE-associated with !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3220
+#: fortran/openmp.cc:3798
 #, gcc-internal-format
 msgid ""
 "Variable %qs shall be declared in the same scoping unit as !$ACC DECLARE at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:3228
+#: fortran/openmp.cc:3806
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-size dummy array with !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3277
+#: fortran/openmp.cc:3855
 #, gcc-internal-format
 msgid ""
 "%<acc update%> must contain at least one %<device%> or %<host%> or %<self%> "
 "clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3325
+#: fortran/openmp.cc:3903
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid argument to !$ACC WAIT at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3332
+#: fortran/openmp.cc:3910
 #, gcc-internal-format, gfc-internal-format
 msgid "WAIT clause at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:3365
+#: fortran/openmp.cc:3943
 #, gcc-internal-format, gfc-internal-format
 msgid "ACC CACHE directive must be inside of loop %C"
 msgstr ""
 
-#: fortran/openmp.cc:3434
+#: fortran/openmp.cc:4012
 #, 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:3468
+#: fortran/openmp.cc:4046
 #, gcc-internal-format
 msgid "Invalid NAME %qs in !$ACC ROUTINE ( NAME ) at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3476
+#: fortran/openmp.cc:4054
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$ACC ROUTINE ( NAME ) at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3483
-#, gcc-internal-format, gfc-internal-format
-msgid "Syntax error in !$ACC ROUTINE ( NAME ) at %C, expecting ')' after NAME"
+#: fortran/openmp.cc:4061
+#, gcc-internal-format
+msgid ""
+"Syntax error in !$ACC ROUTINE ( NAME ) at %C, expecting %<)%> after NAME"
 msgstr ""
 
-#: fortran/openmp.cc:3498
+#: fortran/openmp.cc:4076
 #, gcc-internal-format, gfc-internal-format
 msgid "Multiple loop axes specified for routine at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3509
+#: fortran/openmp.cc:4087
 #, 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:3517
+#: fortran/openmp.cc:4095
 #, 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:3538 fortran/openmp.cc:3566
+#: fortran/openmp.cc:4116 fortran/openmp.cc:4144
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC ROUTINE already applied at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3583
+#: fortran/openmp.cc:4161
 #, 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:3735
+#: fortran/openmp.cc:4314
+#, 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:4381
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP CRITICAL statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3757
+#: fortran/openmp.cc:4403
 #, gcc-internal-format
 msgid "Expected %<( depobj )%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3773
+#: fortran/openmp.cc:4421
 #, gcc-internal-format
-msgid "Expected IN, OUT, INOUT, MUTEXINOUTSET followed by %<)%> at %C"
+msgid ""
+"Expected IN, OUT, INOUT, INOUTSET or MUTEXINOUTSET followed by %<)%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3791
+#: fortran/openmp.cc:4439
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected DEPEND, UPDATE, or DESTROY clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:3799
+#: fortran/openmp.cc:4444
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "DEPEND clause at %L of OMP DEPOBJ construct shall not have dependence-type "
-"SOURCE, SINK or DEPOBJ"
+"DEPOBJ"
 msgstr ""
 
-#: fortran/openmp.cc:3807
+#: fortran/openmp.cc:4452
 #, 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:3933 fortran/openmp.cc:7557
+#: fortran/openmp.cc:4578 fortran/openmp.cc:8355
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "MESSAGE clause at %L requires a scalar default-kind CHARACTER expression"
 msgstr ""
 
-#: fortran/openmp.cc:3940
+#: fortran/openmp.cc:4585
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant character expression required in MESSAGE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3946
+#: fortran/openmp.cc:4591
 #, gcc-internal-format, gfc-internal-format
 msgid "$OMP ERROR encountered at %L: %s"
 msgstr ""
 
-#: fortran/openmp.cc:3965
+#: fortran/openmp.cc:4610
 #, gcc-internal-format, gfc-internal-format
 msgid "$OMP ERROR encountered at %L"
 msgstr ""
 
-#: fortran/openmp.cc:3993
+#: fortran/openmp.cc:4638
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected SEQ_CST, AQC_REL, RELEASE, or ACQUIRE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4002
+#: fortran/openmp.cc:4647
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "List specified together with memory order clause in FLUSH directive at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4010
+#: fortran/openmp.cc:4655
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP FLUSH statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4406 fortran/openmp.cc:9369
+#: fortran/openmp.cc:5055 fortran/openmp.cc:10297
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of predefined %s !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4410 fortran/openmp.cc:9373
+#: fortran/openmp.cc:5059 fortran/openmp.cc:10301
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of predefined !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4415
+#: fortran/openmp.cc:5064
 #, gcc-internal-format, gfc-internal-format
 msgid "Redefinition of !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4417
+#: fortran/openmp.cc:5066
 #, gcc-internal-format, gfc-internal-format
 msgid "Previous !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:4437
+#: fortran/openmp.cc:5086
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$OMP DECLARE REDUCTION at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4474
+#: fortran/openmp.cc:5123
 #, 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:4489
+#: fortran/openmp.cc:5138
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$OMP DECLARE TARGET at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4512
+#: fortran/openmp.cc:5163
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP DECLARE TARGET variable at %L is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:4517
+#: fortran/openmp.cc:5166
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"OMP DECLARE TARGET variable at %L previously mentioned in LINK clause and "
-"later in TO clause"
+"Variable at %L mentioned multiple times in clauses of the same OMP DECLARE "
+"TARGET directive"
 msgstr ""
 
-#: fortran/openmp.cc:4523
+#: fortran/openmp.cc:5172
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"OMP DECLARE TARGET variable at %L previously mentioned in TO clause and "
-"later in LINK clause"
+"OMP DECLARE TARGET variable at %L previously mentioned in LINK clause and "
+"later in %s clause"
 msgstr ""
 
-#: fortran/openmp.cc:4527
+#: fortran/openmp.cc:5178
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"Variable at %L mentioned multiple times in clauses of the same OMP DECLARE "
-"TARGET directive"
+"OMP DECLARE TARGET variable at %L previously mentioned in TO or ENTER clause "
+"and later in LINK clause"
 msgstr ""
 
-#: fortran/openmp.cc:4541 fortran/openmp.cc:4587
+#: fortran/openmp.cc:5192 fortran/openmp.cc:5238
 #, 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:4551
+#: fortran/openmp.cc:5202
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "OMP DECLARE TARGET COMMON at %L previously mentioned in LINK clause and "
-"later in TO clause"
+"later in %s clause"
 msgstr ""
 
-#: fortran/openmp.cc:4557
+#: fortran/openmp.cc:5208
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"OMP DECLARE TARGET COMMON at %L previously mentioned in TO clause and later "
-"in LINK clause"
+"OMP DECLARE TARGET COMMON at %L previously mentioned in TO or ENTER clause "
+"and later in LINK clause"
 msgstr ""
 
-#: fortran/openmp.cc:4561
+#: fortran/openmp.cc:5212
 #, 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:4570
+#: fortran/openmp.cc:5221
 #, 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:4594
+#: fortran/openmp.cc:5248
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "OMP DECLARE TARGET directive at %L with only DEVICE_TYPE clause is ignored"
 msgstr ""
 
-#: fortran/openmp.cc:4604
+#: fortran/openmp.cc:5258
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$OMP DECLARE TARGET list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4642
+#: fortran/openmp.cc:5296
 #, gcc-internal-format, gfc-internal-format
 msgid "expected trait selector name at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4697
-#, gcc-internal-format, gfc-internal-format
-msgid "selector '%s' not allowed for context selector set '%s' at %C"
+#: fortran/openmp.cc:5351
+#, gcc-internal-format
+msgid "selector %qs not allowed for context selector set %qs at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4717
-#, gcc-internal-format, gfc-internal-format
-msgid "selector '%s' does not accept any properties at %C"
+#: fortran/openmp.cc:5371
+#, gcc-internal-format
+msgid "selector %qs does not accept any properties at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4726 fortran/openmp.cc:4871 fortran/openmp.cc:4970
-#: fortran/openmp.cc:5037
-#, gcc-internal-format, gfc-internal-format
-msgid "expected '(' at %C"
+#: fortran/openmp.cc:5380 fortran/openmp.cc:5525 fortran/openmp.cc:5623
+#: fortran/openmp.cc:5690
+#, gcc-internal-format
+msgid "expected %<(%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4734
+#: fortran/openmp.cc:5388
 #, gcc-internal-format, gfc-internal-format
 msgid "score argument must be constant integer expression at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4742
+#: fortran/openmp.cc:5396
 #, gcc-internal-format, gfc-internal-format
 msgid "score argument must be non-negative at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4748 fortran/openmp.cc:4861 fortran/openmp.cc:5018
-#: fortran/openmp.cc:5046
-#, gcc-internal-format, gfc-internal-format
-msgid "expected ')' at %C"
+#: fortran/openmp.cc:5402 fortran/openmp.cc:5515 fortran/openmp.cc:5671
+#: fortran/openmp.cc:5699
+#, gcc-internal-format
+msgid "expected %<)%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4754
+#: fortran/openmp.cc:5408
 #, gcc-internal-format, gfc-internal-format
 msgid "expected : at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4771
+#: fortran/openmp.cc:5425
 #, gcc-internal-format, gfc-internal-format
 msgid "property must be constant integer expression or string literal at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4791
+#: fortran/openmp.cc:5445
 #, gcc-internal-format, gfc-internal-format
 msgid "expected identifier at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4810
+#: fortran/openmp.cc:5464
 #, gcc-internal-format, gfc-internal-format
 msgid "expected identifier or string literal at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4830
+#: fortran/openmp.cc:5484
 #, gcc-internal-format, gfc-internal-format
 msgid "expected expression at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4838
+#: fortran/openmp.cc:5492
 #, gcc-internal-format, gfc-internal-format
 msgid "property must be constant integer or logical expression at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4850
+#: fortran/openmp.cc:5504
 #, gcc-internal-format, gfc-internal-format
 msgid "expected simd clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4918
-#, gcc-internal-format, gfc-internal-format
-msgid "expected 'construct', 'device', 'implementation' or 'user' at %C"
+#: fortran/openmp.cc:5571
+#, gcc-internal-format
+msgid ""
+"expected %<construct%>, %<device%>, %<implementation%> or %<user%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4926
-#, gcc-internal-format, gfc-internal-format
-msgid "expected '=' at %C"
+#: fortran/openmp.cc:5579
+#, gcc-internal-format
+msgid "expected %<=%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4933
-#, gcc-internal-format, gfc-internal-format
-msgid "expected '{' at %C"
+#: fortran/openmp.cc:5586
+#, gcc-internal-format
+msgid "expected %<{%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4948
-#, gcc-internal-format, gfc-internal-format
-msgid "expected '}' at %C"
+#: fortran/openmp.cc:5601
+#, gcc-internal-format
+msgid "expected %<}%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4977
+#: fortran/openmp.cc:5630
 #, gcc-internal-format, gfc-internal-format
 msgid "expected name at %C"
 msgstr ""
 
-#: fortran/openmp.cc:4988
+#: fortran/openmp.cc:5641
 #, gcc-internal-format, gfc-internal-format
 msgid "expected variant name at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5028
-#, gcc-internal-format, gfc-internal-format
-msgid "expected 'match' at %C"
+#: fortran/openmp.cc:5681
+#, gcc-internal-format
+msgid "expected %<match%> at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5079
+#: fortran/openmp.cc:5732
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate variable at %C is an element of a COMMON block"
 msgstr ""
 
-#: fortran/openmp.cc:5116
+#: fortran/openmp.cc:5769
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after OMP THREADPRIVATE at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5123
+#: fortran/openmp.cc:5776
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5226
+#: fortran/openmp.cc:5882
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Program unit at %L has OpenMP device constructs/routines but does not set !"
-"$OMP REQUIRES REVERSE_OFFSET but other program units do"
+"$OMP REQUIRES REVERSE_OFFLOAD but other program units do"
 msgstr ""
 
-#: fortran/openmp.cc:5231
+#: fortran/openmp.cc:5887
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Program unit at %L has OpenMP device constructs/routines but does not set !"
 "$OMP REQUIRES UNIFIED_ADDRESS but other program units do"
 msgstr ""
 
-#: fortran/openmp.cc:5236
+#: fortran/openmp.cc:5892
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Program unit at %L has OpenMP device constructs/routines but does not set !"
 "$OMP REQUIRES UNIFIED_SHARED_MEMORY but other program units do"
 msgstr ""
 
-#: fortran/openmp.cc:5262
+#: fortran/openmp.cc:5918
 #, 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:5266
+#: fortran/openmp.cc:5922
 #, gcc-internal-format
 msgid ""
 "!$OMP REQUIRES clause %qs specified at %L comes after using a device "
 "construct/routine"
 msgstr ""
 
-#: fortran/openmp.cc:5288
+#: fortran/openmp.cc:5944
 #, gcc-internal-format
 msgid ""
 "!$OMP REQUIRES clause %<atomic_default_mem_order(%s)%> specified via module "
@@ -74307,7 +76294,7 @@ msgid ""
 "might be through using a module)"
 msgstr ""
 
-#: fortran/openmp.cc:5293
+#: fortran/openmp.cc:5949
 #, gcc-internal-format
 msgid ""
 "!$OMP REQUIRES clause %<atomic_default_mem_order(%s)%> specified at %L "
@@ -74315,1042 +76302,1066 @@ msgid ""
 "through using a module)"
 msgstr ""
 
-#: fortran/openmp.cc:5304
+#: fortran/openmp.cc:5960
 #, 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:5309
+#: fortran/openmp.cc:5965
 #, 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:5338
+#: fortran/openmp.cc:5994
 #, 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:5406
+#: fortran/openmp.cc:6062
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Expected SEQ_CST, ACQ_REL or RELAXED for ATOMIC_DEFAULT_MEM_ORDER clause at "
 "%C"
 msgstr ""
 
-#: fortran/openmp.cc:5416
-#, gcc-internal-format
-msgid "Sorry, %qs clause at %L on REQUIRES directive is not yet supported"
-msgstr ""
-
-#: fortran/openmp.cc:5426
+#: fortran/openmp.cc:6078
 #, gcc-internal-format, gfc-internal-format
 msgid "Clause expected at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5432
+#: fortran/openmp.cc:6084
 #, gcc-internal-format
 msgid "%qs clause at %L specified more than once"
 msgstr ""
 
-#: fortran/openmp.cc:5435
+#: fortran/openmp.cc:6087
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Expected UNIFIED_ADDRESS, UNIFIED_SHARED_MEMORY, DYNAMIC_ALLOCATORS, "
 "REVERSE_OFFLOAD, or ATOMIC_DEFAULT_MEM_ORDER clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:5461
+#: fortran/openmp.cc:6113
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected INCLUSIVE or EXCLUSIVE clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5467
+#: fortran/openmp.cc:6119
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$OMP SCAN at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5665
+#: fortran/openmp.cc:6318
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after TASKYIELD clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5724
-#, gcc-internal-format, gfc-internal-format
-msgid "Unexpected junk after $OMP WORKSHARE statement at %C"
-msgstr ""
-
-#: fortran/openmp.cc:5759
+#: fortran/openmp.cc:6406
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP MASTER statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5791
+#: fortran/openmp.cc:6438
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP NOTHING statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5826 fortran/openmp.cc:5829 fortran/openmp.cc:5832
+#: fortran/openmp.cc:6473 fortran/openmp.cc:6476 fortran/openmp.cc:6479
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC at %L with %s clause is incompatible with READ or WRITE"
 msgstr ""
 
-#: fortran/openmp.cc:5836
+#: fortran/openmp.cc:6483
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC at %L with %s clause requires %s clause"
 msgstr ""
 
-#: fortran/openmp.cc:5873
+#: fortran/openmp.cc:6520
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC READ at %L incompatible with RELEASE clause"
 msgstr ""
 
-#: fortran/openmp.cc:5883
+#: fortran/openmp.cc:6530
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC WRITE at %L incompatible with ACQUIRE clause"
 msgstr ""
 
-#: fortran/openmp.cc:5920
+#: fortran/openmp.cc:6567
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after !$ACC ATOMIC statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5935
+#: fortran/openmp.cc:6582
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP BARRIER statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:5991
+#: fortran/openmp.cc:6638
 #, 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:5997
+#: fortran/openmp.cc:6644
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after $OMP CANCELLATION POINT statement at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6018
+#: fortran/openmp.cc:6665
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected junk after NOWAIT clause at %C"
 msgstr ""
 
-#: fortran/openmp.cc:6063
+#: fortran/openmp.cc:6704
 #, gcc-internal-format, gfc-internal-format
 msgid "%s clause at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:6074
+#: fortran/openmp.cc:6715
 #, gcc-internal-format, gfc-internal-format
 msgid "INTEGER expression of %s clause at %L must be positive"
 msgstr ""
 
-#: fortran/openmp.cc:6085
+#: fortran/openmp.cc:6726
 #, gcc-internal-format, gfc-internal-format
 msgid "INTEGER expression of %s clause at %L must be non-negative"
 msgstr ""
 
-#: fortran/openmp.cc:6096
+#: fortran/openmp.cc:6737
 #, gcc-internal-format
 msgid "Cray pointer object %qs of derived type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6099
+#: fortran/openmp.cc:6740
 #, gcc-internal-format
 msgid "Cray pointee object %qs of derived type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6105 fortran/openmp.cc:7422
+#: fortran/openmp.cc:6746 fortran/openmp.cc:8223
 #, gcc-internal-format
 msgid "POINTER object %qs of polymorphic type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6110
+#: fortran/openmp.cc:6751
 #, gcc-internal-format
 msgid "Cray pointer object %qs of polymorphic type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6115
+#: fortran/openmp.cc:6756
 #, gcc-internal-format
 msgid "Cray pointee object %qs of polymorphic type in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6125 fortran/openmp.cc:7036 fortran/openmp.cc:7190
+#: fortran/openmp.cc:6766 fortran/openmp.cc:7790 fortran/openmp.cc:7985
 #, gcc-internal-format
 msgid "Assumed size array %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6128
+#: fortran/openmp.cc:6769
 #, gcc-internal-format
 msgid "Assumed rank array %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6144 fortran/openmp.cc:7129 fortran/openmp.cc:7178
+#: fortran/openmp.cc:6785 fortran/openmp.cc:7972
 #, gcc-internal-format
 msgid "POINTER object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6149 fortran/openmp.cc:7426
+#: fortran/openmp.cc:6790 fortran/openmp.cc:8227
 #, gcc-internal-format
 msgid "Cray pointer object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6154 fortran/openmp.cc:7429
+#: fortran/openmp.cc:6795 fortran/openmp.cc:8230
 #, gcc-internal-format
 msgid "Cray pointee object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6159 fortran/openmp.cc:7124 fortran/openmp.cc:7417
+#: fortran/openmp.cc:6800 fortran/openmp.cc:8218
 #, gcc-internal-format
 msgid "ALLOCATABLE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6162 fortran/openmp.cc:7132
+#: fortran/openmp.cc:6803
 #, gcc-internal-format
 msgid "VALUE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6205
+#: fortran/openmp.cc:6846
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared function %s used in !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6254
+#: fortran/openmp.cc:6895
 #, gcc-internal-format, gfc-internal-format
 msgid "Implicitly declared subroutine %s used in !$OMP DECLARE REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6292
+#: fortran/openmp.cc:6917
+#, gcc-internal-format, gfc-internal-format
+msgid "HOLDS expression at %L must be a scalar logical expression"
+msgstr ""
+
+#: fortran/openmp.cc:6949
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDERED clause parameter is less than COLLAPSE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6295
+#: fortran/openmp.cc:6952
 #, gcc-internal-format, gfc-internal-format
 msgid "ORDER clause must not be used together ORDERED at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6302 fortran/openmp.cc:6313 fortran/resolve.cc:10839
-#: fortran/resolve.cc:12179
+#: fortran/openmp.cc:6959 fortran/openmp.cc:6970 fortran/resolve.cc:10860
+#: fortran/resolve.cc:12234
 #, gcc-internal-format, gfc-internal-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/openmp.cc:6317
+#: fortran/openmp.cc:6974
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "IF clause without modifier at %L used together with IF clauses with modifiers"
 msgstr ""
 
-#: fortran/openmp.cc:6442
+#: fortran/openmp.cc:7099
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "IF clause modifier %s at %L not appropriate for the current OpenMP construct"
 msgstr ""
 
-#: fortran/openmp.cc:6452
+#: fortran/openmp.cc:7109
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/openmp.cc:6462
+#: fortran/openmp.cc:7119
 #, gcc-internal-format, gfc-internal-format
 msgid "SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:6467
+#: fortran/openmp.cc:7124
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "INTEGER expression of SCHEDULE clause's chunk_size at %L must be positive"
 msgstr ""
 
-#: fortran/openmp.cc:6474
+#: fortran/openmp.cc:7131
 #, gcc-internal-format, gfc-internal-format
 msgid "Both MONOTONIC and NONMONOTONIC schedule modifiers specified at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6477
+#: fortran/openmp.cc:7134
 #, gcc-internal-format, gfc-internal-format
 msgid "NONMONOTONIC schedule modifier specified with ORDERED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6486
+#: fortran/openmp.cc:7143
 #, 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:6501
+#: fortran/openmp.cc:7164
 #, gcc-internal-format
 msgid "Variable %qs is not a dummy argument at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6537
+#: fortran/openmp.cc:7200
 #, gcc-internal-format
 msgid ""
 "Object %qs is not a variable at %L; parameters cannot be and need not be "
 "copied"
 msgstr ""
 
-#: fortran/openmp.cc:6541
+#: fortran/openmp.cc:7204
 #, gcc-internal-format
 msgid ""
 "Object %qs is not a variable at %L; parameters cannot be and need not be "
 "mapped"
 msgstr ""
 
-#: fortran/openmp.cc:6546 fortran/openmp.cc:9075
+#: fortran/openmp.cc:7209 fortran/openmp.cc:10001
 #, gcc-internal-format
 msgid "Object %qs is not a variable at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6555
+#: fortran/openmp.cc:7218
 #, 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:6585
+#: fortran/openmp.cc:7249 fortran/openmp.cc:7261 fortran/openmp.cc:7282
+#: fortran/openmp.cc:7294 fortran/openmp.cc:7317 fortran/openmp.cc:7325
+#: fortran/openmp.cc:7346 fortran/openmp.cc:7357 fortran/openmp.cc:7369
+#: fortran/openmp.cc:7474 fortran/openmp.cc:10025
+#, gcc-internal-format
+msgid "Symbol %qs present on multiple clauses at %L"
+msgstr ""
+
+#: fortran/openmp.cc:7290
 #, gcc-internal-format
 msgid "Symbol %qs has mixed component and non-component accesses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6588 fortran/openmp.cc:6604 fortran/openmp.cc:6612
-#: fortran/openmp.cc:6623 fortran/openmp.cc:6635 fortran/openmp.cc:6722
-#: fortran/openmp.cc:9099
+#: fortran/openmp.cc:7340
 #, gcc-internal-format
-msgid "Symbol %qs present on multiple clauses at %L"
+msgid "Symbol %qs present on both data and map clauses at %L"
+msgstr ""
+
+#: fortran/openmp.cc:7383
+#, gcc-internal-format
+msgid ""
+"Expected integer expression of the %<omp_allocator_handle_kind%> kind at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6647
+#: fortran/openmp.cc:7398
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"Expected integer expression of the 'omp_allocator_handle_kind' kind at %L"
+"ALIGN modifier requires at %L a scalar positive constant integer alignment "
+"expression that is a power of two"
 msgstr ""
 
-#: fortran/openmp.cc:6665
+#: fortran/openmp.cc:7417
 #, gcc-internal-format
 msgid "%qs appears more than once in %<allocate%> clauses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6707 fortran/trans-openmp.cc:6409
+#: fortran/openmp.cc:7459
 #, gcc-internal-format
 msgid ""
-"%qs specified in 'allocate' clause at %L but not in an explicit "
+"%qs specified in %<allocate%> clause at %L but not in an explicit "
 "privatization clause"
 msgstr ""
 
-#: fortran/openmp.cc:6729
+#: fortran/openmp.cc:7481
 #, gcc-internal-format
 msgid "Array %qs is not permitted in reduction at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6742
+#: fortran/openmp.cc:7494
 #, gcc-internal-format
 msgid "Symbol %qs present on both FROM and TO clauses at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6760
+#: fortran/openmp.cc:7512
 #, gcc-internal-format
 msgid "Non-THREADPRIVATE object %qs in COPYIN clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6768
+#: fortran/openmp.cc:7518
+#, gcc-internal-format, gfc-internal-format
+msgid "NOWAIT clause must not be used with COPYPRIVATE clause at %L"
+msgstr ""
+
+#: fortran/openmp.cc:7523
 #, gcc-internal-format
 msgid "Assumed size array %qs in COPYPRIVATE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6771
+#: fortran/openmp.cc:7526
 #, gcc-internal-format
 msgid "INTENT(IN) POINTER %qs in COPYPRIVATE clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6779
+#: fortran/openmp.cc:7534
 #, gcc-internal-format
 msgid "THREADPRIVATE object %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6782
+#: fortran/openmp.cc:7537
 #, gcc-internal-format
 msgid "Cray pointee %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6785
+#: fortran/openmp.cc:7540
 #, gcc-internal-format
 msgid "Associate name %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6791
+#: fortran/openmp.cc:7546
 #, gcc-internal-format
 msgid "DETACH event handle %qs in SHARED clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6806
+#: fortran/openmp.cc:7561
 #, gcc-internal-format
 msgid ""
 "%qs in ALIGNED clause must be POINTER, ALLOCATABLE, Cray pointer or C_PTR at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:6818
+#: fortran/openmp.cc:7573
 #, gcc-internal-format
 msgid ""
 "%qs in ALIGNED clause at %L requires a scalar positive constant integer "
 "alignment expression"
 msgstr ""
 
-#: fortran/openmp.cc:6844
+#: fortran/openmp.cc:7599
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar integer expression for range begin expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6850
+#: fortran/openmp.cc:7605
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar integer expression for range end expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6856
+#: fortran/openmp.cc:7611
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar integer expression for range step expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6861
+#: fortran/openmp.cc:7616
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonzero range step expected at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6872
-#, gcc-internal-format, gfc-internal-format
-msgid "SINK dependence type only allowed on ORDERED directive at %L"
-msgstr ""
-
-#: fortran/openmp.cc:6876
+#: fortran/openmp.cc:7629
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"DEPEND SINK used together with DEPEND SOURCE on the same construct at %L"
+"Dependence-type SINK used together with SOURCE on the same construct at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6886
+#: fortran/openmp.cc:7639
 #, gcc-internal-format, gfc-internal-format
 msgid "SINK addend not a constant integer at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6892
-#, gcc-internal-format, gfc-internal-format
-msgid ""
-"Only SOURCE or SINK dependence types are allowed on ORDERED directive at %L"
+#: fortran/openmp.cc:7645
+#, gcc-internal-format
+msgid "omp_cur_iteration at %L requires %<-1%> as logical offset"
 msgstr ""
 
-#: fortran/openmp.cc:6901
+#: fortran/openmp.cc:7655
 #, 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:6912
+#: fortran/openmp.cc:7666
 #, 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:6956
+#: fortran/openmp.cc:7710
 #, gcc-internal-format, gfc-internal-format
 msgid "Array is not contiguous at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6967
+#: fortran/openmp.cc:7721
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected substring reference in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6975
+#: fortran/openmp.cc:7729
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected complex-parts designator reference in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:6984 fortran/openmp.cc:7002
+#: fortran/openmp.cc:7738 fortran/openmp.cc:7756
 #, gcc-internal-format
 msgid "%qs in %s clause at %L is not a proper array section"
 msgstr ""
 
-#: fortran/openmp.cc:6994
+#: fortran/openmp.cc:7748
 #, gcc-internal-format, gfc-internal-format
 msgid "Stride should not be specified for array section in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7016
+#: fortran/openmp.cc:7770
 #, gcc-internal-format
 msgid "%qs in %s clause at %L is a zero size array section"
 msgstr ""
 
-#: fortran/openmp.cc:7042
+#: fortran/openmp.cc:7796
 #, gcc-internal-format
 msgid ""
 "List item %qs with allocatable components is not permitted in map clause at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:7061
+#: fortran/openmp.cc:7815
 #, 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:7077
+#: fortran/openmp.cc:7837
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"TARGET ENTER DATA with map-type other than TO, or ALLOC on MAP clause at %L"
+"TARGET ENTER DATA with map-type other than TO, TOFROM or ALLOC on MAP clause "
+"at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7092
+#: fortran/openmp.cc:7858
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"TARGET EXIT DATA with map-type other than FROM, RELEASE, or DELETE on MAP "
-"clause at %L"
+"TARGET EXIT DATA with map-type other than FROM, TOFROM, RELEASE, or DELETE "
+"on MAP clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7108 fortran/openmp.cc:7162
+#: fortran/openmp.cc:7874 fortran/openmp.cc:7956
 #, gcc-internal-format
 msgid "THREADPRIVATE object %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7111 fortran/openmp.cc:7165
+#: fortran/openmp.cc:7877 fortran/openmp.cc:7959
 #, gcc-internal-format
 msgid "Cray pointee %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7119
+#. Non-TARGET (i.e. DISPATCH) requires a C_PTR.
+#: fortran/openmp.cc:7889
 #, gcc-internal-format
-msgid "Non-dummy object %qs in %s clause at %L"
+msgid "List item %qs in %s clause at %L must be of TYPE(C_PTR)"
 msgstr ""
 
-#: fortran/openmp.cc:7156
+#: fortran/openmp.cc:7950
 #, gcc-internal-format
 msgid ""
 "%<inscan%> and non-%<inscan%> %<reduction%> clauses on the same construct at "
 "%L"
 msgstr ""
 
-#: fortran/openmp.cc:7168
+#: fortran/openmp.cc:7962
 #, gcc-internal-format
 msgid "Associate name %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7175
+#: fortran/openmp.cc:7969
 #, gcc-internal-format
 msgid "Procedure pointer %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7181
+#: fortran/openmp.cc:7975
 #, gcc-internal-format
 msgid "Cray pointer %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7193
+#: fortran/openmp.cc:7988
 #, gcc-internal-format
 msgid "Variable %qs in %s clause is used in NAMELIST statement at %L"
 msgstr ""
 
 #. case OMP_LIST_REDUCTION:
-#: fortran/openmp.cc:7203
+#: fortran/openmp.cc:7998
 #, gcc-internal-format
 msgid "INTENT(IN) POINTER %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7214
+#: fortran/openmp.cc:8009
 #, gcc-internal-format
 msgid "DETACH event handle %qs in %s clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7238
+#: fortran/openmp.cc:8033
 #, gcc-internal-format, gfc-internal-format
 msgid "Only DEFAULT permitted as reduction-modifier in REDUCTION clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7331
+#: fortran/openmp.cc:8126
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP DECLARE REDUCTION %s not found for type %s at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7357
+#: fortran/openmp.cc:8154
 #, gcc-internal-format, gfc-internal-format
 msgid "LINEAR clause modifier used on DO or SIMD construct at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7362
+#: fortran/openmp.cc:8160
 #, gcc-internal-format, gfc-internal-format
 msgid ""
-"LINEAR clause specified together with ORDERED clause with argument at %L"
+"LINEAR clause modifier other than VAL used on DO or SIMD construct at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7367
+#: fortran/openmp.cc:8168
 #, gcc-internal-format
 msgid "LINEAR variable %qs must be INTEGER at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7372
+#: fortran/openmp.cc:8173
 #, gcc-internal-format
 msgid "LINEAR dummy argument %qs with VALUE attribute with %s modifier at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7383
+#: fortran/openmp.cc:8184
 #, gcc-internal-format
 msgid ""
 "%qs in LINEAR clause at %L requires a scalar integer linear-step expression"
 msgstr ""
 
-#: fortran/openmp.cc:7400
+#: fortran/openmp.cc:8201
 #, 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:7434
+#: fortran/openmp.cc:8235
 #, gcc-internal-format
 msgid "%s clause variable %qs at %L is neither a POINTER nor an array"
 msgstr ""
 
-#: fortran/openmp.cc:7494
+#: fortran/openmp.cc:8295
 #, gcc-internal-format, gfc-internal-format
 msgid "NUM_TEAMS lower bound at %L larger than upper bound at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7507
+#: fortran/openmp.cc:8308
 #, gcc-internal-format, gfc-internal-format
 msgid "Value of HINT clause at %L shall be a valid constant hint expression"
 msgstr ""
 
-#: fortran/openmp.cc:7517
+#: fortran/openmp.cc:8318
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "DIST_SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/openmp.cc:7547
+#: fortran/openmp.cc:8348
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible use of TILE and COLLAPSE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7549
-#, gcc-internal-format, gfc-internal-format
-msgid "SOURCE dependence type only allowed on ORDERED directive at %L"
-msgstr ""
-
-#: fortran/openmp.cc:7574
+#: fortran/openmp.cc:8372
 #, 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:7577
+#: fortran/openmp.cc:8375
 #, gcc-internal-format, gfc-internal-format
 msgid "%s must contain at least one MAP clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7587
+#: fortran/openmp.cc:8385
 #, gcc-internal-format
 msgid ""
 "%qs at %L should be a scalar of type integer(kind=omp_event_handle_kind)"
 msgstr ""
 
-#: fortran/openmp.cc:7592
+#: fortran/openmp.cc:8390
 #, gcc-internal-format, gfc-internal-format
 msgid "The event handle at %L must not be an array element"
 msgstr ""
 
-#: fortran/openmp.cc:7596
+#: fortran/openmp.cc:8394
 #, 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:7600
+#: fortran/openmp.cc:8398
 #, gcc-internal-format
 msgid ""
 "%<DETACH%> clause at %L must not be used together with %<MERGEABLE%> clause"
 msgstr ""
 
-#: fortran/openmp.cc:7752
+#: fortran/openmp.cc:8553
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected IF at %L in atomic compare capture"
 msgstr ""
 
-#: fortran/openmp.cc:7760
+#: fortran/openmp.cc:8561
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected ELSE at %L in atomic compare capture"
 msgstr ""
 
-#: fortran/openmp.cc:7872
+#: fortran/openmp.cc:8673
 #, gcc-internal-format
 msgid ""
 "Expected %<==%>, %<.EQ.%> or %<.EQV.%> atomic comparison expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7878
+#: fortran/openmp.cc:8679
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected scalar intrinsic variable at %L in atomic comparison"
 msgstr ""
 
-#: fortran/openmp.cc:7886
+#: fortran/openmp.cc:8687
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected scalar intrinsic expression at %L in atomic comparison"
 msgstr ""
 
-#: fortran/openmp.cc:7894
+#: fortran/openmp.cc:8695
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7903
+#: fortran/openmp.cc:8704
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ATOMIC statement must assign an expression of intrinsic type at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7910
+#: fortran/openmp.cc:8711
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC with ALLOCATABLE variable at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7927
+#: fortran/openmp.cc:8728
 #, 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:7932
+#: fortran/openmp.cc:8733
 #, 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:7944
+#: fortran/openmp.cc:8745
 #, 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:7952
+#: fortran/openmp.cc:8753
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ATOMIC capture-statement requires a scalar variable of intrinsic type "
 "at %L"
 msgstr ""
 
-#: fortran/openmp.cc:7962
+#: fortran/openmp.cc:8763
 #, 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:7978
+#: fortran/openmp.cc:8779
 #, 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:7986
+#: fortran/openmp.cc:8787
 #, 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:8004
+#: fortran/openmp.cc:8805
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "!$OMP ATOMIC UPDATE at %L with FAIL clause requiries either the COMPARE "
 "clause or using the intrinsic MIN/MAX procedure"
 msgstr ""
 
-#: fortran/openmp.cc:8031
+#: fortran/openmp.cc:8832
 #, 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:8079
+#: fortran/openmp.cc:8880
 #, 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:8093
+#: fortran/openmp.cc:8894
 #, 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:8126
+#: fortran/openmp.cc:8927
 #, 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:8150
+#: fortran/openmp.cc:8951
 #, 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:8157
+#: fortran/openmp.cc:8958
 #, 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:8180
+#: fortran/openmp.cc:8981
 #, gcc-internal-format
 msgid ""
 "!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8187
+#: fortran/openmp.cc:8988
 #, gcc-internal-format, gfc-internal-format
 msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8195
+#: fortran/openmp.cc:8996
 #, gcc-internal-format
 msgid "First or last !$OMP ATOMIC intrinsic argument must be %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8213
+#: fortran/openmp.cc:9014
 #, 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:8218
+#: fortran/openmp.cc:9019
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected !$OMP ATOMIC expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8264
+#: fortran/openmp.cc:9065
 #, gcc-internal-format
 msgid ""
 "ORDERED clause specified together with %<inscan%> REDUCTION clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8267
+#: fortran/openmp.cc:9068
 #, gcc-internal-format
 msgid ""
 "SCHEDULE clause specified together with %<inscan%> REDUCTION clause at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8275
+#: fortran/openmp.cc:9076
 #, 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:8571
+#: fortran/openmp.cc:9478
 #, gcc-internal-format, gfc-internal-format
 msgid "%s cannot be a DO WHILE or DO without loop control at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8577
+#: fortran/openmp.cc:9484
 #, gcc-internal-format, gfc-internal-format
 msgid "%s cannot be a DO CONCURRENT loop at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8583
+#: fortran/openmp.cc:9490
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable must be of type integer at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8587
+#: fortran/openmp.cc:9494
 #, gcc-internal-format, gfc-internal-format
 msgid "%s iteration variable must not be THREADPRIVATE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8600
+#: fortran/openmp.cc:9507
 #, 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:8604
+#: fortran/openmp.cc:9511
 #, 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:8622
+#: fortran/openmp.cc:9518
+#, gcc-internal-format, gfc-internal-format
+msgid "%s iteration variable used in more than one loop at %L"
+msgstr ""
+
+#: fortran/openmp.cc:9526
+#, gcc-internal-format, gfc-internal-format
+msgid "%s loop start expression not in canonical form at %L"
+msgstr ""
+
+#: fortran/openmp.cc:9534
+#, gcc-internal-format, gfc-internal-format
+msgid "%s loop end expression not in canonical form at %L"
+msgstr ""
+
+#: fortran/openmp.cc:9540
 #, gcc-internal-format, gfc-internal-format
-msgid "%s collapsed loops don't form rectangular iteration space at %L"
+msgid "%s loop bounds reference different iteration variables at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8632
+#: fortran/openmp.cc:9546
+#, gcc-internal-format, gfc-internal-format
+msgid "%s loop increment not in canonical form at %L"
+msgstr ""
+
+#: fortran/openmp.cc:9556
 #, gcc-internal-format, gfc-internal-format
 msgid "collapsed %s loops not perfectly nested at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8641 fortran/openmp.cc:8649
+#: fortran/openmp.cc:9565 fortran/openmp.cc:9573
 #, gcc-internal-format, gfc-internal-format
 msgid "not enough DO loops for collapsed %s at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8854 fortran/openmp.cc:8867
+#: fortran/openmp.cc:9780 fortran/openmp.cc:9793
 #, gcc-internal-format, gfc-internal-format
 msgid "The %s directive cannot be specified within a %s region at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8886
+#: fortran/openmp.cc:9812
 #, 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:8892
+#: fortran/openmp.cc:9818
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP cannot be a DO CONCURRENT loop at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8898
+#: fortran/openmp.cc:9824
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP iteration variable must be of type integer at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8914
+#: fortran/openmp.cc:9840
 #, gcc-internal-format, gfc-internal-format
 msgid "!$ACC LOOP %s loops don't form rectangular iteration space at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8926
+#: fortran/openmp.cc:9852
 #, gcc-internal-format, gfc-internal-format
 msgid "%s !$ACC LOOP loops not perfectly nested at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8936 fortran/openmp.cc:8945
+#: fortran/openmp.cc:9862 fortran/openmp.cc:9871
 #, gcc-internal-format, gfc-internal-format
 msgid "not enough DO loops for %s !$ACC LOOP at %L"
 msgstr ""
 
-#: fortran/openmp.cc:8961
+#: fortran/openmp.cc:9887
 #, 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:8982
+#: fortran/openmp.cc:9908
 #, gcc-internal-format, gfc-internal-format
 msgid "TILE requires constant expression at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9082
+#: fortran/openmp.cc:10008
 #, gcc-internal-format
 msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9129
+#: fortran/openmp.cc:10055
 #, gcc-internal-format
 msgid ""
 "NAME %qs does not refer to a subroutine or function in !$ACC ROUTINE "
 "( NAME ) at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9135
+#: fortran/openmp.cc:10061
 #, gcc-internal-format
 msgid "NAME %qs invalid in !$ACC ROUTINE ( NAME ) at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9258
+#: fortran/openmp.cc:10186
 #, gcc-internal-format, gfc-internal-format
 msgid "OMP TARGET UPDATE at %L requires at least one TO or FROM clause"
 msgstr ""
 
-#: fortran/openmp.cc:9272
+#: fortran/openmp.cc:10200
 #, 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:9278
+#: fortran/openmp.cc:10206
 #, gcc-internal-format
 msgid ""
 "Unexpected !$OMP SCAN at %L outside loop construct with %<inscan%> REDUCTION "
 "clause"
 msgstr ""
 
-#: fortran/openmp.cc:9299
+#: fortran/openmp.cc:10227
 #, gcc-internal-format
 msgid "!$OMP DECLARE SIMD should refer to containing procedure %qs at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9323
+#: fortran/openmp.cc:10251
 #, 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:9331
+#: fortran/openmp.cc:10259
 #, 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:9360
+#: fortran/openmp.cc:10288
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid operator for !$OMP DECLARE REDUCTION %s at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9382
+#: fortran/openmp.cc:10310
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER length in !$OMP DECLARE REDUCTION %s not constant at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9398
+#: fortran/openmp.cc:10326
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Subroutine call with alternate returns in combiner of !$OMP DECLARE "
 "REDUCTION at %L"
 msgstr ""
 
-#: fortran/openmp.cc:9413
+#: fortran/openmp.cc:10341
 #, 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:9423
+#: fortran/openmp.cc:10351
 #, 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:9431
+#: fortran/openmp.cc:10359
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Missing INITIALIZER clause for !$OMP DECLARE REDUCTION of derived type "
@@ -75443,22 +77454,17 @@ msgstr ""
 msgid "Argument to %<-fcheck%> is not valid: %s"
 msgstr ""
 
-#: fortran/options.cc:690
-#, gcc-internal-format
-msgid "%<-static-libgfortran%> is not supported in this configuration"
-msgstr ""
-
-#: fortran/options.cc:713
+#: fortran/options.cc:706
 #, gcc-internal-format, gfc-internal-format
 msgid "Maximum supported identifier length is %d"
 msgstr ""
 
-#: fortran/options.cc:728
+#: fortran/options.cc:721
 #, gcc-internal-format
 msgid "Unrecognized option to %<-finit-logical%>: %s"
 msgstr ""
 
-#: fortran/options.cc:744
+#: fortran/options.cc:737
 #, gcc-internal-format
 msgid "The value of n in %<-finit-character=n%> must be between 0 and 127"
 msgstr ""
@@ -75479,144 +77485,144 @@ msgstr ""
 msgid "Unclassifiable OpenACC directive at %C"
 msgstr ""
 
-#: fortran/parse.cc:876 fortran/parse.cc:1162
+#: fortran/parse.cc:876 fortran/parse.cc:1170
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "OpenMP directives other than SIMD or DECLARE TARGET at %C may not appear in "
 "PURE procedures"
 msgstr ""
 
-#: fortran/parse.cc:1146
+#: fortran/parse.cc:1154
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable OpenMP directive at %C"
 msgstr ""
 
-#: fortran/parse.cc:1240
+#: fortran/parse.cc:1249
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable GCC directive at %C"
 msgstr ""
 
-#: fortran/parse.cc:1242
+#: fortran/parse.cc:1251
 #, gcc-internal-format, gfc-internal-format
 msgid "Unclassifiable GCC directive at %C, ignored"
 msgstr ""
 
-#: fortran/parse.cc:1302 fortran/parse.cc:1529
+#: fortran/parse.cc:1311 fortran/parse.cc:1538
 #, gcc-internal-format, gfc-internal-format
 msgid "Zero is not a valid statement label at %C"
 msgstr ""
 
-#: fortran/parse.cc:1309 fortran/parse.cc:1521
+#: fortran/parse.cc:1318 fortran/parse.cc:1530
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-numeric character in statement label at %C"
 msgstr ""
 
-#: fortran/parse.cc:1321 fortran/parse.cc:1570
+#: fortran/parse.cc:1330 fortran/parse.cc:1579
 #, gcc-internal-format, gfc-internal-format
 msgid "Semicolon at %C needs to be preceded by statement"
 msgstr ""
 
-#: fortran/parse.cc:1328 fortran/parse.cc:1585
+#: fortran/parse.cc:1337 fortran/parse.cc:1594
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label without statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:1391 fortran/parse.cc:1572
+#: fortran/parse.cc:1400 fortran/parse.cc:1581
 #, gcc-internal-format, gfc-internal-format
 msgid "Fortran 2008: Semicolon at %C without preceding statement"
 msgstr ""
 
-#: fortran/parse.cc:1414 fortran/parse.cc:1548
+#: fortran/parse.cc:1423 fortran/parse.cc:1557
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad continuation line at %C"
 msgstr ""
 
-#: fortran/parse.cc:1858
+#: fortran/parse.cc:1868
 #, gcc-internal-format, gfc-internal-format
 msgid "FORMAT statement at %L does not have a statement label"
 msgstr ""
 
-#: fortran/parse.cc:2749
+#: fortran/parse.cc:2773
 #, gcc-internal-format
 msgid "gfc_ascii_statement(): Bad statement code"
 msgstr ""
 
-#: fortran/parse.cc:2891
+#: fortran/parse.cc:2917
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement at %C"
 msgstr ""
 
-#: fortran/parse.cc:3046
+#: fortran/parse.cc:3072
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C cannot follow %s statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:3063
+#: fortran/parse.cc:3089
 #, gcc-internal-format
 msgid "Unexpected end of file in %qs"
 msgstr ""
 
-#: fortran/parse.cc:3098
+#: fortran/parse.cc:3124
 #, gcc-internal-format
 msgid "Derived-type %qs with SEQUENCE must not have a CONTAINS section at %C"
 msgstr ""
 
-#: fortran/parse.cc:3101
+#: fortran/parse.cc:3127
 #, gcc-internal-format
 msgid "Derived-type %qs with BIND(C) must not have a CONTAINS section at %C"
 msgstr ""
 
-#: fortran/parse.cc:3121
+#: fortran/parse.cc:3147
 #, gcc-internal-format, gfc-internal-format
 msgid "Components in TYPE at %C must precede CONTAINS"
 msgstr ""
 
-#: fortran/parse.cc:3125
+#: fortran/parse.cc:3151
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound procedure at %C"
 msgstr ""
 
-#: fortran/parse.cc:3133
+#: fortran/parse.cc:3159
 #, gcc-internal-format, gfc-internal-format
 msgid "GENERIC binding at %C"
 msgstr ""
 
-#: fortran/parse.cc:3141
+#: fortran/parse.cc:3167
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure declaration at %C"
 msgstr ""
 
-#: fortran/parse.cc:3153
+#: fortran/parse.cc:3179
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition at %C with empty CONTAINS section"
 msgstr ""
 
-#: fortran/parse.cc:3163 fortran/parse.cc:3618
+#: fortran/parse.cc:3189 fortran/parse.cc:3644
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
 msgstr ""
 
-#: fortran/parse.cc:3170
+#: fortran/parse.cc:3196
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C must precede procedure bindings"
 msgstr ""
 
-#: fortran/parse.cc:3177 fortran/parse.cc:3631
+#: fortran/parse.cc:3203 fortran/parse.cc:3657
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate PRIVATE statement at %C"
 msgstr ""
 
-#: fortran/parse.cc:3187
+#: fortran/parse.cc:3213
 #, gcc-internal-format, gfc-internal-format
 msgid "SEQUENCE statement at %C must precede CONTAINS"
 msgstr ""
 
-#: fortran/parse.cc:3191
+#: fortran/parse.cc:3217
 #, gcc-internal-format, gfc-internal-format
 msgid "Already inside a CONTAINS block at %C"
 msgstr ""
 
-#: fortran/parse.cc:3310
+#: fortran/parse.cc:3336
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Component %s at %L of type LOCK_TYPE must have a codimension or be a "
@@ -75624,27 +77630,27 @@ msgid ""
 "pointer attribute"
 msgstr ""
 
-#: fortran/parse.cc:3316
+#: fortran/parse.cc:3342
 #, 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:3321
+#: fortran/parse.cc:3347
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocatable component %s at %L of type LOCK_TYPE must have a codimension"
 msgstr ""
 
-#: fortran/parse.cc:3325
+#: fortran/parse.cc:3351
 #, 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:3330
+#: fortran/parse.cc:3356
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type LOCK_TYPE or with subcomponent of type "
@@ -75653,7 +77659,7 @@ msgid ""
 "subcomponent exists)"
 msgstr ""
 
-#: fortran/parse.cc:3337
+#: fortran/parse.cc:3363
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type LOCK_TYPE or with subcomponent of type "
@@ -75662,7 +77668,7 @@ msgid ""
 "codimension or a coarray subcomponent)"
 msgstr ""
 
-#: fortran/parse.cc:3347
+#: fortran/parse.cc:3373
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Component %s at %L of type EVENT_TYPE must have a codimension or be a "
@@ -75670,27 +77676,27 @@ msgid ""
 "pointer attribute"
 msgstr ""
 
-#: fortran/parse.cc:3353
+#: fortran/parse.cc:3379
 #, 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:3358
+#: fortran/parse.cc:3384
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Allocatable component %s at %L of type EVENT_TYPE must have a codimension"
 msgstr ""
 
-#: fortran/parse.cc:3362
+#: fortran/parse.cc:3388
 #, 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:3367
+#: fortran/parse.cc:3393
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type EVENT_TYPE or with subcomponent of "
@@ -75699,7 +77705,7 @@ msgid ""
 "subcomponent exists)"
 msgstr ""
 
-#: fortran/parse.cc:3374
+#: fortran/parse.cc:3400
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Noncoarray component %s at %L of type EVENT_TYPE or with subcomponent of "
@@ -75708,311 +77714,316 @@ msgid ""
 "codimension or a coarray subcomponent)"
 msgstr ""
 
-#: fortran/parse.cc:3426
+#: fortran/parse.cc:3452
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to create map component '%s'"
 msgstr ""
 
-#: fortran/parse.cc:3459
+#: fortran/parse.cc:3485
 #, gcc-internal-format, gfc-internal-format
 msgid "failed to create union component '%s'"
 msgstr ""
 
-#: fortran/parse.cc:3514
+#: fortran/parse.cc:3540
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in nested structure declaration at %C"
 msgstr ""
 
-#: fortran/parse.cc:3601
+#: fortran/parse.cc:3627
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL declaration at %C must be inside CONTAINS"
 msgstr ""
 
-#: fortran/parse.cc:3609
+#: fortran/parse.cc:3635
 #, gcc-internal-format, gfc-internal-format
 msgid "Derived type definition at %C without components"
 msgstr ""
 
-#: fortran/parse.cc:3625
+#: fortran/parse.cc:3651
 #, gcc-internal-format, gfc-internal-format
 msgid "PRIVATE statement at %C must precede structure components"
 msgstr ""
 
-#: fortran/parse.cc:3642
+#: fortran/parse.cc:3668
 #, gcc-internal-format, gfc-internal-format
 msgid "SEQUENCE statement at %C must precede structure components"
 msgstr ""
 
-#: fortran/parse.cc:3648
+#: fortran/parse.cc:3674
 #, gcc-internal-format, gfc-internal-format
 msgid "SEQUENCE attribute at %C already specified in TYPE statement"
 msgstr ""
 
-#: fortran/parse.cc:3653
+#: fortran/parse.cc:3679
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate SEQUENCE statement at %C"
 msgstr ""
 
-#: fortran/parse.cc:3663
+#: fortran/parse.cc:3689
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTAINS block in derived type definition at %C"
 msgstr ""
 
-#: fortran/parse.cc:3721
+#: fortran/parse.cc:3747
 #, gcc-internal-format, gfc-internal-format
 msgid "ENUM declaration at %C has no ENUMERATORS"
 msgstr ""
 
-#: fortran/parse.cc:3808
+#: fortran/parse.cc:3834
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in INTERFACE block at %C"
 msgstr ""
 
-#: fortran/parse.cc:3832
+#: fortran/parse.cc:3858
 #, gcc-internal-format
 msgid ""
 "Name %qs of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
 msgstr ""
 
-#: fortran/parse.cc:3866
+#: fortran/parse.cc:3892
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement at %C in INTERFACE body"
 msgstr ""
 
-#: fortran/parse.cc:3884
+#: fortran/parse.cc:3910
 #, gcc-internal-format
 msgid ""
 "INTERFACE procedure %qs at %L has the same name as the enclosing procedure"
 msgstr ""
 
-#: fortran/parse.cc:4014
+#: fortran/parse.cc:4040
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement is not allowed inside of BLOCK at %C"
 msgstr ""
 
-#: fortran/parse.cc:4046
+#: fortran/parse.cc:4072
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement is not allowed inside of BLOCK DATA at %C"
 msgstr ""
 
-#: fortran/parse.cc:4136
+#: fortran/parse.cc:4162
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement must appear in a MODULE"
 msgstr ""
 
-#: fortran/parse.cc:4144
+#: fortran/parse.cc:4170
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C follows another accessibility specification"
 msgstr ""
 
-#: fortran/parse.cc:4196
+#: fortran/parse.cc:4222
 #, gcc-internal-format
 msgid "Bad kind expression for function %qs at %L"
 msgstr ""
 
-#: fortran/parse.cc:4200
+#: fortran/parse.cc:4226
 #, gcc-internal-format
 msgid "The type for function %qs at %L is not accessible"
 msgstr ""
 
-#: fortran/parse.cc:4260
+#: fortran/parse.cc:4286
 #, gcc-internal-format, gfc-internal-format
 msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
 msgstr ""
 
-#: fortran/parse.cc:4282
+#: fortran/parse.cc:4308
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in WHERE block at %C"
 msgstr ""
 
-#: fortran/parse.cc:4341
+#: fortran/parse.cc:4367
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in FORALL block at %C"
 msgstr ""
 
-#: fortran/parse.cc:4392
+#: fortran/parse.cc:4418
 #, gcc-internal-format, gfc-internal-format
 msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:4410
+#: fortran/parse.cc:4436
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate ELSE statements at %L and %C"
 msgstr ""
 
-#: fortran/parse.cc:4471
+#: fortran/parse.cc:4497
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
 msgstr ""
 
-#: fortran/parse.cc:4555
+#: fortran/parse.cc:4581
 #, 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:4631
+#: fortran/parse.cc:4657
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected RANK or RANK DEFAULT following SELECT RANK at %C"
 msgstr ""
 
-#: fortran/parse.cc:4695
+#: fortran/parse.cc:4721
 #, gcc-internal-format
 msgid "Variable %qs at %C cannot be redefined inside loop beginning at %L"
 msgstr ""
 
-#: fortran/parse.cc:4728
+#: fortran/parse.cc:4754
 #, gcc-internal-format, gfc-internal-format
 msgid "End of nonblock DO statement at %C is within another block"
 msgstr ""
 
-#: fortran/parse.cc:4738
+#: fortran/parse.cc:4764
 #, gcc-internal-format, gfc-internal-format
 msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
 msgstr ""
 
-#: fortran/parse.cc:4764
+#: fortran/parse.cc:4790
 #, gcc-internal-format, gfc-internal-format
 msgid "CRITICAL block inside of OpenACC region at %C"
 msgstr ""
 
-#: fortran/parse.cc:4765
+#: fortran/parse.cc:4791
 #, gcc-internal-format, gfc-internal-format
 msgid "CRITICAL block inside of OpenMP region at %C"
 msgstr ""
 
-#: fortran/parse.cc:4791
+#: fortran/parse.cc:4817
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label in END CRITICAL at %C does not match CRITICAL label"
 msgstr ""
 
-#: fortran/parse.cc:4860 fortran/parse.cc:5602
+#: fortran/parse.cc:4886 fortran/parse.cc:5637
 #, gcc-internal-format, gfc-internal-format
 msgid "BLOCK construct at %C"
 msgstr ""
 
-#: fortran/parse.cc:4894
+#: fortran/parse.cc:4920
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSOCIATE construct at %C"
 msgstr ""
 
-#: fortran/parse.cc:5115
+#: fortran/parse.cc:5141
 #, gcc-internal-format, gfc-internal-format
 msgid "Statement label in ENDDO at %C doesn't match DO label"
 msgstr ""
 
-#: fortran/parse.cc:5131
+#: fortran/parse.cc:5157
 #, gcc-internal-format, gfc-internal-format
 msgid "Named block DO at %L requires matching ENDDO name"
 msgstr ""
 
-#: fortran/parse.cc:5383 fortran/parse.cc:5445
+#: fortran/parse.cc:5314 fortran/parse.cc:5759 fortran/parse.cc:5777
+#, gcc-internal-format, gfc-internal-format
+msgid "Duplicated NOWAIT clause on %s and %s at %C"
+msgstr ""
+
+#: fortran/parse.cc:5415 fortran/parse.cc:5477
 #, gcc-internal-format, gfc-internal-format
 msgid "OpenACC directive inside of CRITICAL block at %C"
 msgstr ""
 
-#: fortran/parse.cc:5420
+#: fortran/parse.cc:5452
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting %s at %C"
 msgstr ""
 
-#: fortran/parse.cc:5464
+#: fortran/parse.cc:5496
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected DO loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:5484
+#: fortran/parse.cc:5516
 #, gcc-internal-format, gfc-internal-format
 msgid "Redundant !$ACC END LOOP at %C"
 msgstr ""
 
-#: fortran/parse.cc:5730
+#: fortran/parse.cc:5770
 #, gcc-internal-format, gfc-internal-format
 msgid "Name after !$omp critical and !$omp end critical does not match at %C"
 msgstr ""
 
-#: fortran/parse.cc:5790
+#: fortran/parse.cc:5844
 #, gcc-internal-format, gfc-internal-format
 msgid "%s statement at %C cannot terminate a non-block DO loop"
 msgstr ""
 
-#: fortran/parse.cc:5804
+#: fortran/parse.cc:5858
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %C after the first executable statement"
 msgstr ""
 
-#: fortran/parse.cc:5954
+#: fortran/parse.cc:6009
 #, gcc-internal-format
 msgid "%<GCC unroll%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:5957
+#: fortran/parse.cc:6012
 #, gcc-internal-format
 msgid "%<GCC ivdep%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:5960
+#: fortran/parse.cc:6015
 #, gcc-internal-format
 msgid "%<GCC vector%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:5963
+#: fortran/parse.cc:6018
 #, gcc-internal-format
 msgid "%<GCC novector%> directive not at the start of a loop at %C"
 msgstr ""
 
-#: fortran/parse.cc:6079
+#: fortran/parse.cc:6134
 #, gcc-internal-format
 msgid "Contained procedure %qs at %C is already ambiguous"
 msgstr ""
 
-#: fortran/parse.cc:6136
+#: fortran/parse.cc:6191
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in CONTAINS section at %C"
 msgstr ""
 
-#: fortran/parse.cc:6161
+#: fortran/parse.cc:6216
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTAINS statement without FUNCTION or SUBROUTINE statement at %L"
 msgstr ""
 
-#: fortran/parse.cc:6275
+#: fortran/parse.cc:6330
 #, gcc-internal-format, gfc-internal-format
 msgid "CONTAINS statement at %C is already in a contained program unit"
 msgstr ""
 
-#: fortran/parse.cc:6327
+#: fortran/parse.cc:6382
 #, gcc-internal-format
 msgid "Global binding name %qs at %L is already being used as a %s at %L"
 msgstr ""
 
-#: fortran/parse.cc:6331
+#: fortran/parse.cc:6386
 #, gcc-internal-format
 msgid "Global name %qs at %L is already being used as a %s at %L"
 msgstr ""
 
-#: fortran/parse.cc:6337
+#: fortran/parse.cc:6392
 #, gcc-internal-format
 msgid "Global binding name %qs at %L is already being used at %L"
 msgstr ""
 
-#: fortran/parse.cc:6340
+#: fortran/parse.cc:6395
 #, gcc-internal-format
 msgid "Global name %qs at %L is already being used at %L"
 msgstr ""
 
-#: fortran/parse.cc:6362
+#: fortran/parse.cc:6417
 #, gcc-internal-format, gfc-internal-format
 msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
 msgstr ""
 
-#: fortran/parse.cc:6388
+#: fortran/parse.cc:6443
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in BLOCK DATA at %C"
 msgstr ""
 
-#: fortran/parse.cc:6493
+#: fortran/parse.cc:6546
 #, gcc-internal-format, gfc-internal-format
 msgid "Unexpected %s statement in MODULE at %C"
 msgstr ""
@@ -76020,7 +78031,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:6972
+#: fortran/parse.cc:7039
 #, gcc-internal-format, gfc-internal-format
 msgid "Two main PROGRAMs at %L and %C"
 msgstr ""
@@ -76093,8 +78104,8 @@ msgid "BOZ used outside a DATA statement at %L"
 msgstr ""
 
 #: fortran/primary.cc:589
-#, gcc-internal-format, gfc-internal-format
-msgid "exponent-letter 'q' in real-literal-constant at %C"
+#, gcc-internal-format
+msgid "exponent-letter %<q%> in real-literal-constant at %C"
 msgstr ""
 
 #: fortran/primary.cc:594
@@ -76152,324 +78163,329 @@ msgstr ""
 msgid "Syntax error in SUBSTRING specification at %C"
 msgstr ""
 
-#: fortran/primary.cc:1103
+#: fortran/primary.cc:1095
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid kind %d for CHARACTER constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1124
+#: fortran/primary.cc:1116
 #, gcc-internal-format, gfc-internal-format
 msgid "Unterminated character constant beginning at %C"
 msgstr ""
 
-#: fortran/primary.cc:1154
+#: fortran/primary.cc:1146
 #, gcc-internal-format
 msgid "Character %qs in string at %C is not representable in character kind %d"
 msgstr ""
 
-#: fortran/primary.cc:1167
+#: fortran/primary.cc:1159
 #, gcc-internal-format
 msgid "match_string_constant(): Delimiter not found"
 msgstr ""
 
-#: fortran/primary.cc:1201
+#: fortran/primary.cc:1193
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index (%ld) at %L below 1"
 msgstr ""
 
-#: fortran/primary.cc:1207
+#: fortran/primary.cc:1199
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index (%ld) at %L exceeds string length"
 msgstr ""
 
-#: fortran/primary.cc:1292
+#: fortran/primary.cc:1284
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad kind for logical constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1336
+#: fortran/primary.cc:1328
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected PARAMETER symbol in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1347
+#: fortran/primary.cc:1339
 #, gcc-internal-format, gfc-internal-format
 msgid "Numeric PARAMETER required in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1353
+#: fortran/primary.cc:1345
 #, gcc-internal-format, gfc-internal-format
 msgid "Scalar PARAMETER required in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1357
+#: fortran/primary.cc:1349
 #, gcc-internal-format, gfc-internal-format
 msgid "PARAMETER symbol in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1380
+#: fortran/primary.cc:1372
 #, gcc-internal-format
 msgid "gfc_match_sym_complex_part(): Bad type"
 msgstr ""
 
-#: fortran/primary.cc:1387
+#: fortran/primary.cc:1379
 #, gcc-internal-format, gfc-internal-format
 msgid "Error converting PARAMETER constant in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1519
+#: fortran/primary.cc:1511
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in COMPLEX constant at %C"
 msgstr ""
 
-#: fortran/primary.cc:1646
+#: fortran/primary.cc:1638
 #, gcc-internal-format
 msgid "Namelist %qs cannot be an argument at %L"
 msgstr ""
 
-#: fortran/primary.cc:1748
+#: fortran/primary.cc:1740
 #, gcc-internal-format
 msgid "Keyword %qs at %C has already appeared in the current argument list"
 msgstr ""
 
-#: fortran/primary.cc:1815
+#: fortran/primary.cc:1807
 #, gcc-internal-format, gfc-internal-format
 msgid "argument list function at %C"
 msgstr ""
 
-#: fortran/primary.cc:1889
+#: fortran/primary.cc:1881
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected alternate return label at %C"
 msgstr ""
 
-#: fortran/primary.cc:1936
+#: fortran/primary.cc:1928
 #, gcc-internal-format, gfc-internal-format
 msgid "Missing keyword name in actual argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:1982
+#: fortran/primary.cc:1974
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:2003
+#: fortran/primary.cc:1995
 #, gcc-internal-format
 msgid "extend_ref(): Bad tail"
 msgstr ""
 
-#: fortran/primary.cc:2081
-#, gcc-internal-format, gfc-internal-format
+#: fortran/primary.cc:2073
+#, gcc-internal-format
 msgid ""
-"Array section designator, e.g. '(:)', is required besides the coarray "
-"designator '[...]' at %C"
+"Array section designator, e.g. %<(:)%>, is required besides the coarray "
+"designator %<[...]%> at %C"
 msgstr ""
 
-#: fortran/primary.cc:2089
+#: fortran/primary.cc:2081
 #, gcc-internal-format
 msgid "Coarray designator at %C but %qs is not a coarray"
 msgstr ""
 
-#: fortran/primary.cc:2241
+#: fortran/primary.cc:2233
 #, gcc-internal-format
 msgid "Symbol %qs at %C has no IMPLICIT type"
 msgstr ""
 
-#: fortran/primary.cc:2248
+#: fortran/primary.cc:2240
 #, gcc-internal-format
 msgid "Unexpected %<%c%> for nonderived-type variable %qs at %C"
 msgstr ""
 
-#: fortran/primary.cc:2269
+#: fortran/primary.cc:2261
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected structure component name at %C"
 msgstr ""
 
-#: fortran/primary.cc:2289 fortran/primary.cc:2431
+#: fortran/primary.cc:2281 fortran/primary.cc:2423
 #, gcc-internal-format, gfc-internal-format
 msgid "RE or IM part_ref at %C"
 msgstr ""
 
-#: fortran/primary.cc:2308 fortran/primary.cc:2436
+#: fortran/primary.cc:2300 fortran/primary.cc:2428
 #, 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:2315 fortran/primary.cc:2449
+#: fortran/primary.cc:2307 fortran/primary.cc:2441
 #, gcc-internal-format, gfc-internal-format
 msgid "The LEN part_ref at %C must be applied to a CHARACTER expression"
 msgstr ""
 
-#: fortran/primary.cc:2374
+#: fortran/primary.cc:2366
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:2392
+#: fortran/primary.cc:2384
 #, gcc-internal-format
 msgid ""
 "%qs at %C is not an inquiry reference to an intrinsic type component %qs"
 msgstr ""
 
-#: fortran/primary.cc:2395
+#: fortran/primary.cc:2387
 #, gcc-internal-format
 msgid "%qs at %C is not an inquiry reference to an intrinsic type component"
 msgstr ""
 
-#: fortran/primary.cc:2465
+#: fortran/primary.cc:2457
 #, 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:2493
+#: fortran/primary.cc:2485
 #, gcc-internal-format
 msgid "Procedure pointer component %qs requires an argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:2596
+#: fortran/primary.cc:2588
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonpolymorphic reference to abstract type at %C"
 msgstr ""
 
-#: fortran/primary.cc:2603
+#: fortran/primary.cc:2595
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed procedure-pointer component at %C"
 msgstr ""
 
-#: fortran/primary.cc:2639
+#: fortran/primary.cc:2631
 #, gcc-internal-format
 msgid "gfc_variable_attr(): Expression isn't a variable"
 msgstr ""
 
-#: fortran/primary.cc:2830
+#: fortran/primary.cc:2822
 #, gcc-internal-format
 msgid "gfc_caf_attr(): Expression isn't a variable"
 msgstr ""
 
-#: fortran/primary.cc:2887
+#: fortran/primary.cc:2879
 #, gcc-internal-format
 msgid "gfc_caf_attr(): Bad array reference"
 msgstr ""
 
-#: fortran/primary.cc:3066
+#: fortran/primary.cc:3058
 #, gcc-internal-format
 msgid ""
 "No initializer for allocatable component %qs given in the structure "
 "constructor at %C"
 msgstr ""
 
-#: fortran/primary.cc:3077
+#: fortran/primary.cc:3069
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure constructor with missing optional arguments at %C"
 msgstr ""
 
-#: fortran/primary.cc:3086
+#: fortran/primary.cc:3078
 #, gcc-internal-format
 msgid ""
 "No initializer for component %qs given in the structure constructor at %C"
 msgstr ""
 
-#: fortran/primary.cc:3134
+#: fortran/primary.cc:3126
 #, gcc-internal-format
 msgid "Cannot construct ABSTRACT type %qs at %L"
 msgstr ""
 
-#: fortran/primary.cc:3154
+#: fortran/primary.cc:3146
 #, gcc-internal-format, gfc-internal-format
 msgid "Structure constructor with named arguments at %C"
 msgstr ""
 
-#: fortran/primary.cc:3169
+#: fortran/primary.cc:3161
 #, gcc-internal-format, gfc-internal-format
 msgid "Component initializer without name after component named %s at %L"
 msgstr ""
 
-#: fortran/primary.cc:3174
+#: fortran/primary.cc:3166
 #, gcc-internal-format, gfc-internal-format
 msgid "Too many components in structure constructor at %L"
 msgstr ""
 
-#: fortran/primary.cc:3232
+#: fortran/primary.cc:3224
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in constructor (%ld/%ld) at %L"
 msgstr ""
 
-#: fortran/primary.cc:3250
+#: fortran/primary.cc:3242
 #, gcc-internal-format
 msgid "Component %qs is initialized twice in the structure constructor at %L"
 msgstr ""
 
-#: fortran/primary.cc:3262
+#: fortran/primary.cc:3254
 #, gcc-internal-format
 msgid ""
 "Coindexed expression to pointer component %qs in structure constructor at %L"
 msgstr ""
 
-#: fortran/primary.cc:3316
+#: fortran/primary.cc:3308
 #, gcc-internal-format
 msgid ""
 "component %qs at %L has already been set by a parent derived type constructor"
 msgstr ""
 
-#: fortran/primary.cc:3481
+#: fortran/primary.cc:3473
 #, gcc-internal-format, gfc-internal-format
 msgid "%%LOC() as an rvalue at %C"
 msgstr ""
 
-#: fortran/primary.cc:3540
+#: fortran/primary.cc:3532
 #, 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:3571 fortran/primary.cc:3973
+#: fortran/primary.cc:3563 fortran/primary.cc:3965
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %C is not appropriate for an expression"
 msgstr ""
 
-#: fortran/primary.cc:3676
+#: fortran/primary.cc:3668
 #, gcc-internal-format
 msgid "Unexpected use of subroutine name %qs at %C"
 msgstr ""
 
-#: fortran/primary.cc:3708
+#: fortran/primary.cc:3700
 #, gcc-internal-format
 msgid "Statement function %qs requires argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:3711
+#: fortran/primary.cc:3703
 #, gcc-internal-format
 msgid "Function %qs requires an argument list at %C"
 msgstr ""
 
-#: fortran/primary.cc:3761
+#: fortran/primary.cc:3753
 #, gcc-internal-format
 msgid "Missing argument to %qs at %C"
 msgstr ""
 
-#: fortran/primary.cc:3774
+#: fortran/primary.cc:3766
 #, 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:3929
+#: fortran/primary.cc:3921
 #, gcc-internal-format
 msgid "Missing argument list in function %qs at %C"
 msgstr ""
 
-#: fortran/primary.cc:4043
+#: fortran/primary.cc:4035
 #, gcc-internal-format
 msgid "Derived type %qs cannot be used as a variable at %C"
 msgstr ""
 
-#: fortran/primary.cc:4084
+#: fortran/primary.cc:4076
 #, gcc-internal-format, gfc-internal-format
 msgid "Named constant at %C in an EQUIVALENCE"
 msgstr ""
 
-#: fortran/primary.cc:4119
+#: fortran/primary.cc:4081
+#, gcc-internal-format
+msgid "PARAMETER %qs shall not appear in a DATA statement at %C"
+msgstr ""
+
+#: fortran/primary.cc:4117
 #, gcc-internal-format
 msgid "%qs at %C is not a variable"
 msgstr ""
@@ -76605,8 +78621,8 @@ msgstr ""
 #. F03:C1263 (R1238) The function-name and each dummy-arg-name
 #. shall be specified, explicitly or implicitly, to be scalar.
 #: fortran/resolve.cc:517
-#, gcc-internal-format, gfc-internal-format
-msgid "Argument '%s' of statement function '%s' at %L must be scalar"
+#, gcc-internal-format
+msgid "Argument %qs of statement function %qs at %L must be scalar"
 msgstr ""
 
 #: fortran/resolve.cc:528
@@ -76689,206 +78705,211 @@ msgstr ""
 msgid "ENTRY result %s cannot be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:956
+#: fortran/resolve.cc:958
 #, gcc-internal-format
 msgid "Global entity %qs at %L cannot appear in a COMMON block at %L"
 msgstr ""
 
-#: fortran/resolve.cc:966
+#: fortran/resolve.cc:962
+#, gcc-internal-format
+msgid "Global entity %qs at %L cannot appear in a COMMON block"
+msgstr ""
+
+#: fortran/resolve.cc:972
 #, gcc-internal-format, gfc-internal-format
 msgid "COMMON block at %L"
 msgstr ""
 
-#: fortran/resolve.cc:973
+#: fortran/resolve.cc:979
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is "
 "allowed"
 msgstr ""
 
-#: fortran/resolve.cc:977
+#: fortran/resolve.cc:983
 #, 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:984
+#: fortran/resolve.cc:990
 #, gcc-internal-format
 msgid "%qs at %L cannot appear in COMMON [F2008:C5100]"
 msgstr ""
 
-#: fortran/resolve.cc:992
+#: fortran/resolve.cc:998
 #, 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:996
+#: fortran/resolve.cc:1002
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs in COMMON at %L has an ultimate component that is "
 "allocatable"
 msgstr ""
 
-#: fortran/resolve.cc:1000
+#: fortran/resolve.cc:1006
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs in COMMON at %L may not have default initializer"
 msgstr ""
 
-#: fortran/resolve.cc:1044
+#: fortran/resolve.cc:1050
 #, 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:1058
+#: fortran/resolve.cc:1064
 #, gcc-internal-format
 msgid "COMMON block %qs at %L uses the same global identifier as entity at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1066
+#: fortran/resolve.cc:1072
 #, 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:1088
+#: fortran/resolve.cc:1094
 #, 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:1109
+#: fortran/resolve.cc:1115
 #, gcc-internal-format
 msgid "COMMON block %qs at %L is used as PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1113
+#: fortran/resolve.cc:1119
 #, gcc-internal-format
 msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute"
 msgstr ""
 
-#: fortran/resolve.cc:1117
+#: fortran/resolve.cc:1123
 #, gcc-internal-format
 msgid "COMMON block %qs at %L is also an intrinsic procedure"
 msgstr ""
 
-#: fortran/resolve.cc:1121
+#: fortran/resolve.cc:1127
 #, gcc-internal-format
 msgid "COMMON block %qs at %L that is also a function result"
 msgstr ""
 
-#: fortran/resolve.cc:1126
+#: fortran/resolve.cc:1132
 #, gcc-internal-format
 msgid "COMMON block %qs at %L that is also a global procedure"
 msgstr ""
 
-#: fortran/resolve.cc:1193
+#: fortran/resolve.cc:1199
 #, gcc-internal-format
 msgid "The KIND parameter %qs in the PDT constructor at %C has no value"
 msgstr ""
 
-#: fortran/resolve.cc:1333
+#: fortran/resolve.cc:1339
 #, 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:1354
+#: fortran/resolve.cc:1360
 #, 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:1386
+#: fortran/resolve.cc:1392
 #, gcc-internal-format
 msgid ""
 "Unequal character lengths (%wd/%wd) for pointer component %qs in constructor "
 "at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1431
+#: fortran/resolve.cc:1437
 #, 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:1465
+#: fortran/resolve.cc:1471
 #, gcc-internal-format
 msgid ""
 "Interface mismatch for procedure-pointer component %qs in structure "
 "constructor at %L: %s"
 msgstr ""
 
-#: fortran/resolve.cc:1484
+#: fortran/resolve.cc:1490
 #, gcc-internal-format
 msgid ""
 "Bad array spec of component %qs referenced in structure constructor at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1497
+#: fortran/resolve.cc:1503
 #, 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:1518
+#: fortran/resolve.cc:1524
 #, 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:1547
+#: fortran/resolve.cc:1553
 #, gcc-internal-format
 msgid ""
 "Invalid expression in the structure constructor for pointer component %qs at "
 "%L in PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:1671
+#: fortran/resolve.cc:1677
 #, 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:1733
+#: fortran/resolve.cc:1739
 #, gcc-internal-format
 msgid "%qs at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.cc:1737
+#: fortran/resolve.cc:1743
 #, gcc-internal-format
 msgid "GENERIC procedure %qs is not allowed as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:1858
+#: fortran/resolve.cc:1864
 #, gcc-internal-format
 msgid "Type specified for intrinsic function %qs at %L is ignored"
 msgstr ""
 
-#: fortran/resolve.cc:1871
+#: fortran/resolve.cc:1877
 #, gcc-internal-format
 msgid "Intrinsic subroutine %qs at %L shall not have a type specifier"
 msgstr ""
 
-#: fortran/resolve.cc:1882
+#: fortran/resolve.cc:1888
 #, gcc-internal-format
 msgid "%qs declared INTRINSIC at %L does not exist"
 msgstr ""
 
-#: fortran/resolve.cc:1895
+#: fortran/resolve.cc:1901
 #, gcc-internal-format
 msgid ""
 "The intrinsic %qs declared INTRINSIC at %L is not available in the current "
@@ -76896,89 +78917,89 @@ msgid ""
 "fall-intrinsics%> in order to use it."
 msgstr ""
 
-#: fortran/resolve.cc:1931
+#: fortran/resolve.cc:1937
 #, 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:1989 fortran/resolve.cc:10368 fortran/resolve.cc:12106
+#: fortran/resolve.cc:1995 fortran/resolve.cc:10389 fortran/resolve.cc:12161
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d referenced at %L is never defined"
 msgstr ""
 
-#: fortran/resolve.cc:2021
+#: fortran/resolve.cc:2027
 #, gcc-internal-format
 msgid "Derived type %qs is used as an actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2039
+#: fortran/resolve.cc:2045
 #, gcc-internal-format
 msgid "Statement function %qs at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.cc:2047
+#: fortran/resolve.cc:2053
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L is not allowed as an actual argument"
 msgstr ""
 
-#: fortran/resolve.cc:2054
+#: fortran/resolve.cc:2060
 #, gcc-internal-format
 msgid "Internal procedure %qs is used as actual argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2062
+#: fortran/resolve.cc:2068
 #, gcc-internal-format
 msgid ""
 "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument "
 "at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2089
+#: fortran/resolve.cc:2095
 #, gcc-internal-format
 msgid ""
 "Unable to find a specific INTRINSIC procedure for the reference %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2111
+#: fortran/resolve.cc:2117
 #, gcc-internal-format
 msgid "Symbol %qs at %L is ambiguous"
 msgstr ""
 
-#: fortran/resolve.cc:2166
+#: fortran/resolve.cc:2172
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr ""
 
-#: fortran/resolve.cc:2173
+#: fortran/resolve.cc:2179
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr ""
 
-#: fortran/resolve.cc:2187
+#: fortran/resolve.cc:2193
 #, gcc-internal-format, gfc-internal-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr ""
 
-#: fortran/resolve.cc:2199
+#: fortran/resolve.cc:2205
 #, gcc-internal-format, gfc-internal-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:2210
+#: fortran/resolve.cc:2216
 #, gcc-internal-format
 msgid ""
 "ELEMENTAL procedure pointer component %qs is not allowed as an actual "
 "argument at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2219
+#: fortran/resolve.cc:2225
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed actual argument at %L with ultimate pointer component"
 msgstr ""
 
-#: fortran/resolve.cc:2366
+#: fortran/resolve.cc:2372
 #, gcc-internal-format
 msgid ""
 "%qs at %L is an array and OPTIONAL; If it is not present, then it cannot be "
@@ -76986,92 +79007,92 @@ msgid ""
 "argument with the same rank (Fortran 2018, 15.5.2.12)"
 msgstr ""
 
-#: fortran/resolve.cc:2405
+#: fortran/resolve.cc:2411
 #, 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:2679
+#: fortran/resolve.cc:2685
 #, gcc-internal-format
 msgid "Return type mismatch of function %qs at %L (%s/%s)"
 msgstr ""
 
-#: fortran/resolve.cc:2706
+#: fortran/resolve.cc:2712
 #, gcc-internal-format
 msgid "Interface mismatch in global procedure %qs at %L: %s"
 msgstr ""
 
-#: fortran/resolve.cc:2812
+#: fortran/resolve.cc:2818
 #, gcc-internal-format
 msgid "There is no specific function for the generic %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:2832
+#: fortran/resolve.cc:2838
 #, gcc-internal-format
 msgid ""
 "Generic function %qs at %L is not consistent with a specific intrinsic "
 "interface"
 msgstr ""
 
-#: fortran/resolve.cc:2870
+#: fortran/resolve.cc:2876
 #, gcc-internal-format
 msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:2925
+#: fortran/resolve.cc:2931
 #, gcc-internal-format
 msgid "Unable to resolve the specific function %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3002
+#: fortran/resolve.cc:3008
 #, gcc-internal-format
 msgid ""
 "Missing explicit declaration with EXTERNAL attribute for symbol %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3034
+#: fortran/resolve.cc:3040
 #, gcc-internal-format
 msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?"
 msgstr ""
 
-#: fortran/resolve.cc:3038 fortran/resolve.cc:17316
+#: fortran/resolve.cc:3044 fortran/resolve.cc:17382
 #, gcc-internal-format
 msgid "Function %qs at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:3162
+#: fortran/resolve.cc:3168
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L inside a FORALL %s"
 msgstr ""
 
-#: fortran/resolve.cc:3169
+#: fortran/resolve.cc:3175
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L inside a DO CONCURRENT %s"
 msgstr ""
 
-#: fortran/resolve.cc:3176
+#: fortran/resolve.cc:3182
 #, gcc-internal-format
 msgid "Reference to impure function %qs at %L within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:3243
+#: fortran/resolve.cc:3249
 #, gcc-internal-format
 msgid "Unexpected junk after %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3254
+#: fortran/resolve.cc:3260
 #, gcc-internal-format
 msgid "%qs at %L is not a function"
 msgstr ""
 
-#: fortran/resolve.cc:3262 fortran/resolve.cc:3759
+#: fortran/resolve.cc:3268 fortran/resolve.cc:3765
 #, gcc-internal-format
 msgid "ABSTRACT INTERFACE %qs must not be referenced at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3274
+#: fortran/resolve.cc:3280
 #, gcc-internal-format
 msgid ""
 "ABSTRACT INTERFACE %qs at %L must not have an assumed character length "
@@ -77079,354 +79100,349 @@ msgid ""
 msgstr ""
 
 #. Internal procedures are taken care of in resolve_contained_fntype.
-#: fortran/resolve.cc:3317
+#: fortran/resolve.cc:3323
 #, 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:3351
+#: fortran/resolve.cc:3357
 #, gcc-internal-format
 msgid "resolve_function(): bad function type"
 msgstr ""
 
-#: fortran/resolve.cc:3365
+#: fortran/resolve.cc:3371
 #, 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:3381
+#: fortran/resolve.cc:3387
 #, gcc-internal-format
 msgid ""
 "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE "
 "construct"
 msgstr ""
 
-#: fortran/resolve.cc:3443
+#: fortran/resolve.cc:3449
 #, gcc-internal-format
 msgid ""
 "ENTRY %qs at %L cannot be called recursively, as function %qs is not "
 "RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3447
+#: fortran/resolve.cc:3453
 #, gcc-internal-format
 msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3487
+#: fortran/resolve.cc:3493
 #, gcc-internal-format
 msgid "Using function %qs at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:3503
+#: fortran/resolve.cc:3509
 #, gcc-internal-format
 msgid "Subroutine call to %qs in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3509
+#: fortran/resolve.cc:3515
 #, gcc-internal-format
 msgid "Subroutine call to %qs in DO CONCURRENT block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3515
+#: fortran/resolve.cc:3521
 #, gcc-internal-format
 msgid "Subroutine call to %qs at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.cc:3583
+#: fortran/resolve.cc:3589
 #, gcc-internal-format
 msgid "There is no specific subroutine for the generic %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3592
+#: fortran/resolve.cc:3598
 #, gcc-internal-format
 msgid ""
 "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine "
 "interface"
 msgstr ""
 
-#: fortran/resolve.cc:3627
+#: fortran/resolve.cc:3633
 #, gcc-internal-format
 msgid ""
 "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:3672
+#: fortran/resolve.cc:3678
 #, gcc-internal-format
 msgid "Unable to resolve the specific subroutine %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3730
+#: fortran/resolve.cc:3736
 #, gcc-internal-format
 msgid "%qs at %L has a type, which is not consistent with the CALL at %L"
 msgstr ""
 
-#: fortran/resolve.cc:3769
+#: fortran/resolve.cc:3775
 #, gcc-internal-format
 msgid ""
 "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not "
 "RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3773
+#: fortran/resolve.cc:3779
 #, gcc-internal-format
 msgid ""
 "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE"
 msgstr ""
 
-#: fortran/resolve.cc:3818
+#: fortran/resolve.cc:3824
 #, gcc-internal-format
 msgid "resolve_subroutine(): bad function type"
 msgstr ""
 
-#: fortran/resolve.cc:3835
+#: fortran/resolve.cc:3841
 #, gcc-internal-format
 msgid "Using subroutine %qs at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:3862
+#: fortran/resolve.cc:3868
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr ""
 
-#: fortran/resolve.cc:3914
+#: fortran/resolve.cc:3920
 #, gcc-internal-format
 msgid "logical_to_bitwise(): Bad intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:4017
+#: fortran/resolve.cc:4023
 #, gcc-internal-format
 msgid "Impure function %qs at %L might not be evaluated"
 msgstr ""
 
-#: fortran/resolve.cc:4021
+#: fortran/resolve.cc:4027
 #, gcc-internal-format, gfc-internal-format
 msgid "Impure function at %L might not be evaluated"
 msgstr ""
 
-#: fortran/resolve.cc:4098
+#: fortran/resolve.cc:4104
 #, gcc-internal-format
 msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs"
 msgstr ""
 
-#: fortran/resolve.cc:4122
+#: fortran/resolve.cc:4128
 #, gcc-internal-format
 msgid "Operands at %L and %L cannot appear as operands of binary operator %qs"
 msgstr ""
 
-#: fortran/resolve.cc:4296 fortran/resolve.cc:4311
+#: fortran/resolve.cc:4302 fortran/resolve.cc:4317
 #, 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:4350
+#: fortran/resolve.cc:4356
 #, gcc-internal-format, gfc-internal-format
 msgid "Equality comparison for %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4352
+#: fortran/resolve.cc:4358
 #, gcc-internal-format, gfc-internal-format
 msgid "Inequality comparison for %s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4412
+#: fortran/resolve.cc:4418
 #, gcc-internal-format
 msgid "resolve_operator(): Bad intrinsic"
 msgstr ""
 
-#: fortran/resolve.cc:4582 fortran/resolve.cc:4605
-#, gcc-internal-format
-msgid "compare_bound_int(): Bad expression"
-msgstr ""
-
-#: fortran/resolve.cc:4700
+#: fortran/resolve.cc:4704
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4705
+#: fortran/resolve.cc:4709
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4715
+#: fortran/resolve.cc:4719
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4720
+#: fortran/resolve.cc:4724
 #, gcc-internal-format, gfc-internal-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
 msgstr ""
 
-#: fortran/resolve.cc:4740
+#: fortran/resolve.cc:4745
 #, gcc-internal-format, gfc-internal-format
 msgid "Illegal stride of zero at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4757
+#: fortran/resolve.cc:4762
 #, 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:4765
+#: fortran/resolve.cc:4770
 #, 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:4781
+#: fortran/resolve.cc:4786
 #, 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:4790
+#: fortran/resolve.cc:4795
 #, 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:4806
+#: fortran/resolve.cc:4811
 #, gcc-internal-format
 msgid "check_dimension(): Bad array reference"
 msgstr ""
 
-#: fortran/resolve.cc:4829
+#: fortran/resolve.cc:4834
 #, gcc-internal-format, gfc-internal-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4839
+#: fortran/resolve.cc:4844
 #, gcc-internal-format, gfc-internal-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.cc:4847
+#: fortran/resolve.cc:4852
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
 msgstr ""
 
-#: fortran/resolve.cc:4863
+#: fortran/resolve.cc:4868
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindex of codimension %d must be a scalar at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4891
+#: fortran/resolve.cc:4896
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:4897
+#: fortran/resolve.cc:4902
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L must be of INTEGER type, found %s"
 msgstr ""
 
-#: fortran/resolve.cc:4903
+#: fortran/resolve.cc:4908
 #, gcc-internal-format, gfc-internal-format
 msgid "REAL array index at %L"
 msgstr ""
 
-#: fortran/resolve.cc:4942
+#: fortran/resolve.cc:4947
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:4949
+#: fortran/resolve.cc:4954
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr ""
 
-#: fortran/resolve.cc:5007
-#, gcc-internal-format
-msgid "find_array_spec(): Missing spec"
+#: fortran/resolve.cc:5014
+#, gcc-internal-format, gfc-internal-format
+msgid "Invalid array reference of a non-array entity at %L"
 msgstr ""
 
-#: fortran/resolve.cc:5018
+#: fortran/resolve.cc:5028
 #, gcc-internal-format
 msgid "find_array_spec(): unused as(1)"
 msgstr ""
 
-#: fortran/resolve.cc:5030
+#: fortran/resolve.cc:5040
 #, gcc-internal-format
 msgid "find_array_spec(): unused as(2)"
 msgstr ""
 
-#: fortran/resolve.cc:5073
+#: fortran/resolve.cc:5085
 #, gcc-internal-format, gfc-internal-format
 msgid "Array index at %L is an array of rank %d"
 msgstr ""
 
-#: fortran/resolve.cc:5171
+#: fortran/resolve.cc:5183
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:5178
+#: fortran/resolve.cc:5190
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring start index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:5200
+#: fortran/resolve.cc:5212
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:5207
+#: fortran/resolve.cc:5219
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:5227
+#: fortran/resolve.cc:5239
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring end index at %L is too large"
 msgstr ""
 
-#: fortran/resolve.cc:5417
+#: fortran/resolve.cc:5430
 #, gcc-internal-format
 msgid "resolve_ref(): Bad array reference"
 msgstr ""
 
-#: fortran/resolve.cc:5431
+#: fortran/resolve.cc:5444
 #, 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:5441
+#: fortran/resolve.cc:5454
 #, 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:5487
+#: fortran/resolve.cc:5500
 #, 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:5579
+#: fortran/resolve.cc:5592
 #, gcc-internal-format
 msgid "gfc_expression_rank(): Two array specs"
 msgstr ""
 
-#: fortran/resolve.cc:5661
+#: fortran/resolve.cc:5674
 #, 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:5671
+#: fortran/resolve.cc:5684
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L may only be used as actual argument"
 msgstr ""
@@ -77435,14 +79451,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:5681
+#: fortran/resolve.cc:5694
 #, 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:5700
+#: fortran/resolve.cc:5713
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank variable %s at %L may only be used as actual argument"
 msgstr ""
@@ -77451,321 +79467,321 @@ 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:5710
+#: fortran/resolve.cc:5723
 #, 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:5721
+#: fortran/resolve.cc:5734
 #, 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:5730
+#: fortran/resolve.cc:5743
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L shall not have a subobject reference"
 msgstr ""
 
-#: fortran/resolve.cc:5746
+#: fortran/resolve.cc:5759
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank variable %s at %L shall not have a subobject reference"
 msgstr ""
 
-#: fortran/resolve.cc:5928
+#: fortran/resolve.cc:5941
 #, 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:5933
+#: fortran/resolve.cc:5946
 #, gcc-internal-format
 msgid ""
 "Variable %qs is used at %L before the ENTRY statement in which it is a "
 "parameter"
 msgstr ""
 
-#: fortran/resolve.cc:6003
+#: fortran/resolve.cc:6016
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic subobject of coindexed object at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6016
+#: fortran/resolve.cc:6029
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6032
+#: fortran/resolve.cc:6045
 #, gcc-internal-format
 msgid "Using variable %qs at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:6120
+#: fortran/resolve.cc:6132
 #, 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:6274 fortran/resolve.cc:6426
+#: fortran/resolve.cc:6289 fortran/resolve.cc:6441
 #, gcc-internal-format, gfc-internal-format
 msgid "Error in typebound call at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6390
+#: fortran/resolve.cc:6405
 #, gcc-internal-format, gfc-internal-format
 msgid "Passed-object at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:6397
+#: fortran/resolve.cc:6412
 #, gcc-internal-format
 msgid ""
 "Base object for procedure-pointer component call at %L is of ABSTRACT type "
 "%qs"
 msgstr ""
 
-#: fortran/resolve.cc:6436
+#: fortran/resolve.cc:6451
 #, gcc-internal-format
 msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:6445
+#: fortran/resolve.cc:6460
 #, 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:6633
+#: fortran/resolve.cc:6648
 #, gcc-internal-format
 msgid ""
 "Found no matching specific binding for the call to the GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:6667
+#: fortran/resolve.cc:6682
 #, gcc-internal-format
 msgid "%qs at %L should be a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.cc:6719
+#: fortran/resolve.cc:6734
 #, gcc-internal-format
 msgid "%qs at %L should be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.cc:7254
+#: fortran/resolve.cc:7269
 #, gcc-internal-format
 msgid "gfc_resolve_expr(): Bad expression type"
 msgstr ""
 
-#: fortran/resolve.cc:7287
+#: fortran/resolve.cc:7302
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be a scalar"
 msgstr ""
 
-#: fortran/resolve.cc:7297
+#: fortran/resolve.cc:7312
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be integer"
 msgstr ""
 
-#: fortran/resolve.cc:7301 fortran/resolve.cc:7308
+#: fortran/resolve.cc:7316 fortran/resolve.cc:7323
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L must be INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7363
+#: fortran/resolve.cc:7378
 #, gcc-internal-format, gfc-internal-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.cc:7386
+#: fortran/resolve.cc:7401
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L will be executed zero times"
 msgstr ""
 
-#: fortran/resolve.cc:7403
+#: fortran/resolve.cc:7418
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L is undefined as it overflows"
 msgstr ""
 
-#: fortran/resolve.cc:7409
+#: fortran/resolve.cc:7424
 #, gcc-internal-format, gfc-internal-format
 msgid "DO loop at %L is undefined as it underflows"
 msgstr ""
 
-#: fortran/resolve.cc:7470
+#: fortran/resolve.cc:7485
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7475
+#: fortran/resolve.cc:7490
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7482
+#: fortran/resolve.cc:7497
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr ""
 
-#: fortran/resolve.cc:7490
+#: fortran/resolve.cc:7505
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr ""
 
-#: fortran/resolve.cc:7495
+#: fortran/resolve.cc:7510
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.cc:7508
+#: fortran/resolve.cc:7523
 #, gcc-internal-format
 msgid "FORALL index %qs may not appear in triplet specification at %L"
 msgstr ""
 
-#: fortran/resolve.cc:7612 fortran/resolve.cc:7910
+#: fortran/resolve.cc:7628 fortran/resolve.cc:7926
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:7620 fortran/resolve.cc:7873
+#: fortran/resolve.cc:7636 fortran/resolve.cc:7889
 #, gcc-internal-format, gfc-internal-format
 msgid "Coindexed allocatable object at %L"
 msgstr ""
 
-#: fortran/resolve.cc:7730
+#: fortran/resolve.cc:7746
 #, 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:7761
+#: fortran/resolve.cc:7777
 #, 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:7921
+#: fortran/resolve.cc:7937
 #, gcc-internal-format, gfc-internal-format
 msgid "Type of entity at %L is type incompatible with source-expr at %L"
 msgstr ""
 
-#: fortran/resolve.cc:7933
+#: fortran/resolve.cc:7949
 #, 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:7947
+#: fortran/resolve.cc:7963
 #, 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:7962
+#: fortran/resolve.cc:7978
 #, 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:7975
+#: fortran/resolve.cc:7991
 #, 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:7993
+#: fortran/resolve.cc:8009
 #, 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:8074 fortran/resolve.cc:8089
+#: fortran/resolve.cc:8090 fortran/resolve.cc:8105
 #, gcc-internal-format, gfc-internal-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8081
+#: fortran/resolve.cc:8097
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Array specification or array-valued SOURCE= expression required in ALLOCATE "
 "statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8106
+#: fortran/resolve.cc:8122
 #, gcc-internal-format, gfc-internal-format
 msgid "Coarray specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8116 fortran/resolve.cc:8218
+#: fortran/resolve.cc:8132 fortran/resolve.cc:8234
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad coarray specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8122
+#: fortran/resolve.cc:8138
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper cobound is less than lower cobound at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8134
+#: fortran/resolve.cc:8150
 #, gcc-internal-format, gfc-internal-format
 msgid "Upper cobound is less than lower cobound of 1 at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8145 fortran/resolve.cc:8173
+#: fortran/resolve.cc:8161 fortran/resolve.cc:8189
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8192
+#: fortran/resolve.cc:8208
 #, 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:8207
-#, gcc-internal-format, gfc-internal-format
-msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
+#: fortran/resolve.cc:8223
+#, gcc-internal-format
+msgid "Expected %<*%> in coindex specification in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8249
+#: fortran/resolve.cc:8265
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:8278
+#: fortran/resolve.cc:8294
 #, gcc-internal-format, gfc-internal-format
 msgid "Stat-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.cc:8291
+#: fortran/resolve.cc:8307
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG at %L is useless without a STAT tag"
 msgstr ""
 
-#: fortran/resolve.cc:8305
+#: fortran/resolve.cc:8321
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.cc:8334
+#: fortran/resolve.cc:8350
 #, gcc-internal-format, gfc-internal-format
 msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
 msgstr ""
 
-#: fortran/resolve.cc:8366
+#: fortran/resolve.cc:8382
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L also appears at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8372 fortran/resolve.cc:8378
+#: fortran/resolve.cc:8388 fortran/resolve.cc:8394
 #, gcc-internal-format, gfc-internal-format
 msgid "Allocate-object at %L is subobject of object at %L"
 msgstr ""
@@ -77774,301 +79790,301 @@ msgstr ""
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.cc:8606
+#: fortran/resolve.cc:8622
 #, gcc-internal-format, gfc-internal-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8657
+#: fortran/resolve.cc:8673
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr ""
 
-#: fortran/resolve.cc:8668
+#: fortran/resolve.cc:8684
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be of kind %d"
 msgstr ""
 
-#: fortran/resolve.cc:8681
+#: fortran/resolve.cc:8697
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:8727
+#: fortran/resolve.cc:8743
 #, 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:8746
+#: fortran/resolve.cc:8762
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr ""
 
-#: fortran/resolve.cc:8756
+#: fortran/resolve.cc:8772
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SELECT statement at %L must be a scalar expression"
 msgstr ""
 
-#: fortran/resolve.cc:8774 fortran/resolve.cc:8782
+#: fortran/resolve.cc:8790 fortran/resolve.cc:8798
 #, gcc-internal-format, gfc-internal-format
 msgid "Expression in CASE statement at %L is not in the range of %s"
 msgstr ""
 
-#: fortran/resolve.cc:8844 fortran/resolve.cc:9501
+#: fortran/resolve.cc:8860 fortran/resolve.cc:9517
 #, 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:8870
+#: fortran/resolve.cc:8886
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:8883
+#: fortran/resolve.cc:8899
 #, gcc-internal-format, gfc-internal-format
 msgid "Constant logical value in CASE statement is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:8898
+#: fortran/resolve.cc:8914
 #, gcc-internal-format, gfc-internal-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.cc:9001
+#: fortran/resolve.cc:9017
 #, gcc-internal-format, gfc-internal-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.cc:9052
+#: fortran/resolve.cc:9068
 #, gcc-internal-format
 msgid "Associating entity %qs at %L is a procedure pointer"
 msgstr ""
 
-#: fortran/resolve.cc:9061
+#: fortran/resolve.cc:9077
 #, gcc-internal-format
 msgid "Derived type %qs cannot be used as a variable at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9078
+#: fortran/resolve.cc:9094
 #, gcc-internal-format
 msgid "Associating entity %qs at %L is a procedure name"
 msgstr ""
 
-#: fortran/resolve.cc:9094
+#: fortran/resolve.cc:9110
 #, gcc-internal-format, gfc-internal-format
 msgid "Associating selector-expression at %L yields a procedure"
 msgstr ""
 
-#: fortran/resolve.cc:9101
+#: fortran/resolve.cc:9117
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector at %L cannot be NULL()"
 msgstr ""
 
-#: fortran/resolve.cc:9106
+#: fortran/resolve.cc:9122
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector at %L has no type"
 msgstr ""
 
-#: fortran/resolve.cc:9128
+#: fortran/resolve.cc:9144
 #, gcc-internal-format
 msgid "Associate-name %qs at %L is used as array"
 msgstr ""
 
-#: fortran/resolve.cc:9139
+#: fortran/resolve.cc:9155
 #, gcc-internal-format, gfc-internal-format
 msgid "CLASS selector at %L needs a temporary which is not yet implemented"
 msgstr ""
 
-#: fortran/resolve.cc:9371
+#: fortran/resolve.cc:9387
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9409 fortran/resolve.cc:9421
+#: fortran/resolve.cc:9425 fortran/resolve.cc:9437
 #, gcc-internal-format, gfc-internal-format
 msgid "Selector at %L must not be coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:9450
+#: fortran/resolve.cc:9466
 #, gcc-internal-format, gfc-internal-format
 msgid "TYPE IS at %L overlaps with TYPE IS at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9463
+#: fortran/resolve.cc:9479
 #, gcc-internal-format
 msgid "Derived type %qs at %L must be extensible"
 msgstr ""
 
-#: fortran/resolve.cc:9476
+#: fortran/resolve.cc:9492
 #, gcc-internal-format
 msgid "Derived type %qs at %L must be an extension of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:9479
+#: fortran/resolve.cc:9495
 #, gcc-internal-format
 msgid "Unexpected intrinsic type %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9489
+#: fortran/resolve.cc:9505
 #, 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:9736
+#: fortran/resolve.cc:9752
 #, gcc-internal-format, gfc-internal-format
 msgid "Double CLASS IS block in SELECT TYPE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9870
+#: fortran/resolve.cc:9886
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK DEFAULT at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9879
+#: fortran/resolve.cc:9895
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK (*) at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9882
+#: fortran/resolve.cc:9898
 #, gcc-internal-format, gfc-internal-format
 msgid "RANK (%i) at %L is repeated at %L"
 msgstr ""
 
-#: fortran/resolve.cc:9892 fortran/resolve.cc:9897
+#: fortran/resolve.cc:9908 fortran/resolve.cc:9913
 #, 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:10006
+#: fortran/resolve.cc:10022
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid context for NULL () intrinsic at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10058
+#: fortran/resolve.cc:10076
 #, gcc-internal-format, gfc-internal-format
 msgid "DTIO %s procedure at %L must be recursive"
 msgstr ""
 
-#: fortran/resolve.cc:10068
+#: fortran/resolve.cc:10086
 #, 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:10081
+#: fortran/resolve.cc:10099
 #, 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:10090
+#: fortran/resolve.cc:10108
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have procedure pointer components"
 msgstr ""
 
-#: fortran/resolve.cc:10097
+#: fortran/resolve.cc:10115
 #, 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:10108
+#: fortran/resolve.cc:10126
 #, gcc-internal-format, gfc-internal-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.cc:10114
+#: fortran/resolve.cc:10132
 #, 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:10129
+#: fortran/resolve.cc:10150
 #, 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:10186
+#: fortran/resolve.cc:10207
 #, gcc-internal-format, gfc-internal-format
 msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
 msgstr ""
 
-#: fortran/resolve.cc:10196
+#: fortran/resolve.cc:10217
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable at %L must be a scalar of type EVENT_TYPE"
 msgstr ""
 
-#: fortran/resolve.cc:10200
+#: fortran/resolve.cc:10221
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable argument at %L must be a coarray or coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:10203
+#: fortran/resolve.cc:10224
 #, gcc-internal-format, gfc-internal-format
 msgid "Event variable argument at %L must be a coarray but not coindexed"
 msgstr ""
 
-#: fortran/resolve.cc:10210 fortran/resolve.cc:10332
+#: fortran/resolve.cc:10231 fortran/resolve.cc:10353
 #, gcc-internal-format, gfc-internal-format
 msgid "STAT= argument at %L must be a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:10222 fortran/resolve.cc:10344
+#: fortran/resolve.cc:10243 fortran/resolve.cc:10365
 #, gcc-internal-format, gfc-internal-format
 msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
 msgstr ""
 
-#: fortran/resolve.cc:10234
+#: fortran/resolve.cc:10255
 #, gcc-internal-format, gfc-internal-format
 msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
 msgstr ""
 
-#: fortran/resolve.cc:10247
+#: fortran/resolve.cc:10268
 #, gcc-internal-format, gfc-internal-format
 msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:10308
+#: fortran/resolve.cc:10329
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:10312 fortran/resolve.cc:10322
+#: fortran/resolve.cc:10333 fortran/resolve.cc:10343
 #, gcc-internal-format, gfc-internal-format
 msgid "Imageset argument at %L must between 1 and num_images()"
 msgstr ""
 
-#: fortran/resolve.cc:10375
+#: fortran/resolve.cc:10396
 #, 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:10385
+#: fortran/resolve.cc:10406
 #, 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:10402 fortran/resolve.cc:10425
+#: fortran/resolve.cc:10423 fortran/resolve.cc:10446
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10406 fortran/resolve.cc:10431
+#: fortran/resolve.cc:10427 fortran/resolve.cc:10452
 #, gcc-internal-format, gfc-internal-format
 msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
 msgstr ""
@@ -78076,74 +80092,74 @@ 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:10446
+#: fortran/resolve.cc:10467
 #, 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:10518
+#: fortran/resolve.cc:10539
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.cc:10534
+#: fortran/resolve.cc:10555
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.cc:10542 fortran/resolve.cc:10629
+#: fortran/resolve.cc:10563 fortran/resolve.cc:10650
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10552 fortran/resolve.cc:10639
+#: fortran/resolve.cc:10573 fortran/resolve.cc:10660
 #, gcc-internal-format, gfc-internal-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10583
+#: fortran/resolve.cc:10604
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10592
+#: fortran/resolve.cc:10613
 #, 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:10739
+#: fortran/resolve.cc:10760
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL construct at %L"
 msgstr ""
 
-#: fortran/resolve.cc:10760
+#: fortran/resolve.cc:10781
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL index-name at %L must be a scalar variable of type integer"
 msgstr ""
 
-#: fortran/resolve.cc:10770
+#: fortran/resolve.cc:10791
 #, gcc-internal-format, gfc-internal-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.cc:10847
+#: fortran/resolve.cc:10868
 #, gcc-internal-format, gfc-internal-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr ""
 
-#: fortran/resolve.cc:10962
+#: fortran/resolve.cc:10984
 #, gcc-internal-format
 msgid "gfc_resolve_blocks(): Bad block type"
 msgstr ""
 
-#: fortran/resolve.cc:11075
+#: fortran/resolve.cc:11097
 #, gcc-internal-format, gfc-internal-format
 msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11107
+#: fortran/resolve.cc:11129
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Coindexed expression at %L is assigned to a derived type variable with a "
@@ -78151,7 +80167,7 @@ msgid ""
 msgstr ""
 
 #. F2008, C1283 (4).
-#: fortran/resolve.cc:11113
+#: fortran/resolve.cc:11135
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "In a pure subprogram an INTENT(IN) dummy argument shall not be used as the "
@@ -78160,43 +80176,43 @@ msgid ""
 "component selection."
 msgstr ""
 
-#: fortran/resolve.cc:11125
+#: fortran/resolve.cc:11147
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to coindexed variable at %L in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.cc:11157
+#: fortran/resolve.cc:11179
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to polymorphic coarray at %L is not permitted"
 msgstr ""
 
-#: fortran/resolve.cc:11161
+#: fortran/resolve.cc:11183
 #, gcc-internal-format, gfc-internal-format
 msgid "Assignment to an allocatable polymorphic variable at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11166
+#: fortran/resolve.cc:11188
 #, gcc-internal-format
 msgid ""
 "Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-"
 "lhs%>"
 msgstr ""
 
-#: fortran/resolve.cc:11173
-#, gcc-internal-format, gfc-internal-format
+#: fortran/resolve.cc:11195
+#, 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"
+"%L - check that there is a matching specific subroutine for %<=%> operator"
 msgstr ""
 
-#: fortran/resolve.cc:11184
+#: fortran/resolve.cc:11206
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Coindexed variable must not have an allocatable ultimate component in "
 "assignment at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11504
+#: fortran/resolve.cc:11526
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "TODO: type-bound defined assignment(s) at %L not done because multiple part "
@@ -78205,82 +80221,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:11746
+#: fortran/resolve.cc:11768
 #, gcc-internal-format, gfc-internal-format
 msgid "Pointer procedure assignment at %L"
 msgstr ""
 
-#: fortran/resolve.cc:11758
+#: fortran/resolve.cc:11780
 #, 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:12028
+#: fortran/resolve.cc:11865
+#, gcc-internal-format
+msgid ""
+"TEAM argument to %qs at %L must be a scalar expression of type TEAM_TYPE"
+msgstr ""
+
+#: fortran/resolve.cc:12047
+#, gcc-internal-format, gfc-internal-format
+msgid "TEAM NUMBER argument to FORM TEAM at %L must be a scalar INTEGER"
+msgstr ""
+
+#: fortran/resolve.cc:12083
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:12032
+#: fortran/resolve.cc:12087
 #, gcc-internal-format
 msgid "Variable %qs has not been assigned a target label at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12043
+#: fortran/resolve.cc:12098
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.cc:12081
+#: fortran/resolve.cc:12136
 #, gcc-internal-format, gfc-internal-format
 msgid "Expected intrinsic assignment in OMP WORKSHARE at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12115
+#: fortran/resolve.cc:12170
 #, gcc-internal-format, gfc-internal-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.cc:12162
+#: fortran/resolve.cc:12217
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid NULL at %L"
 msgstr ""
 
-#: fortran/resolve.cc:12166
+#: fortran/resolve.cc:12221
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression"
 msgstr ""
 
-#: fortran/resolve.cc:12227
+#: fortran/resolve.cc:12282
 #, gcc-internal-format
 msgid "gfc_resolve_code(): No expression on DO WHILE"
 msgstr ""
 
-#: fortran/resolve.cc:12232
+#: fortran/resolve.cc:12287
 #, 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:12316
+#: fortran/resolve.cc:12371
 #, gcc-internal-format, gfc-internal-format
 msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.cc:12417
+#: fortran/resolve.cc:12473
 #, gcc-internal-format
 msgid "gfc_resolve_code(): Bad statement code"
 msgstr ""
 
-#: fortran/resolve.cc:12438
+#: fortran/resolve.cc:12494
 #, gcc-internal-format
 msgid "Using parameter %qs declared at %L is deprecated"
 msgstr ""
 
-#: fortran/resolve.cc:12532
+#: fortran/resolve.cc:12588
 #, gcc-internal-format
 msgid ""
 "Variable %qs with binding label %qs at %L uses the same global identifier as "
@@ -78289,7 +80316,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:12546
+#: fortran/resolve.cc:12602
 #, gcc-internal-format
 msgid ""
 "Variable %qs from module %qs with binding label %qs at %L uses the same "
@@ -78299,63 +80326,63 @@ msgstr ""
 #. Print an error if the procedure is defined multiple times; we have to
 #. exclude references to the same procedure via module association or
 #. multiple checks for the same procedure.
-#: fortran/resolve.cc:12565
+#: fortran/resolve.cc:12621
 #, 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:12651
+#: fortran/resolve.cc:12707
 #, gcc-internal-format, gfc-internal-format
 msgid "String length at %L is too large"
 msgstr ""
 
-#: fortran/resolve.cc:12886
+#: fortran/resolve.cc:12942
 #, gcc-internal-format
 msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank"
 msgstr ""
 
-#: fortran/resolve.cc:12890
+#: fortran/resolve.cc:12946
 #, gcc-internal-format
 msgid "Scalar object %qs at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:12898
+#: fortran/resolve.cc:12954
 #, gcc-internal-format
 msgid "Array pointer %qs at %L must have a deferred shape or assumed rank"
 msgstr ""
 
-#: fortran/resolve.cc:12909
+#: fortran/resolve.cc:12965
 #, gcc-internal-format
 msgid "Array %qs at %L cannot have a deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:12925
+#: fortran/resolve.cc:12982
 #, gcc-internal-format
 msgid "Type %qs of CLASS variable %qs at %L is not extensible"
 msgstr ""
 
-#: fortran/resolve.cc:12937
+#: fortran/resolve.cc:12994
 #, gcc-internal-format
 msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer"
 msgstr ""
 
-#: fortran/resolve.cc:12970
+#: fortran/resolve.cc:13027
 #, 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:12992
+#: fortran/resolve.cc:13049
 #, gcc-internal-format
 msgid ""
 "Implied SAVE for module variable %qs at %L, needed due to the default "
 "initialization"
 msgstr ""
 
-#: fortran/resolve.cc:13025
+#: fortran/resolve.cc:13082
 #, gcc-internal-format
 msgid ""
 "Entity %qs at %L has a deferred type parameter and requires either the "
@@ -78364,1026 +80391,1033 @@ msgstr ""
 
 #. F08:C541. The shape of an array defined in a main program or module
 #. * needs to be constant.
-#: fortran/resolve.cc:13061
+#: fortran/resolve.cc:13118
 #, gcc-internal-format
 msgid "The module or main program array %qs at %L must have constant shape"
 msgstr ""
 
-#: fortran/resolve.cc:13086
+#: fortran/resolve.cc:13143
 #, 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:13107
+#: fortran/resolve.cc:13164
 #, gcc-internal-format
 msgid "%qs at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.cc:13114
+#: fortran/resolve.cc:13171
 #, gcc-internal-format
 msgid "COMMON variable %qs at %L must have constant character length"
 msgstr ""
 
-#: fortran/resolve.cc:13161
+#: fortran/resolve.cc:13218
 #, gcc-internal-format
 msgid "Allocatable %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13164
+#: fortran/resolve.cc:13221
 #, gcc-internal-format
 msgid "External %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13167
+#: fortran/resolve.cc:13224
 #, gcc-internal-format
 msgid "Dummy %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13170
+#: fortran/resolve.cc:13227
 #, gcc-internal-format
 msgid "Intrinsic %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13173
+#: fortran/resolve.cc:13230
 #, gcc-internal-format
 msgid "Function result %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13176
+#: fortran/resolve.cc:13233
 #, gcc-internal-format
 msgid "Automatic array %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13218
+#: fortran/resolve.cc:13275
 #, gcc-internal-format, gfc-internal-format
 msgid "%s at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13250
+#: fortran/resolve.cc:13307
 #, gcc-internal-format
 msgid "Character-valued statement function %qs at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.cc:13273
+#: fortran/resolve.cc:13330
 #, 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:13295
+#: fortran/resolve.cc:13352
 #, gcc-internal-format
 msgid ""
 "Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs "
 "which is PRIVATE"
 msgstr ""
 
-#: fortran/resolve.cc:13313
+#: fortran/resolve.cc:13370
 #, gcc-internal-format
 msgid "Function %qs at %L cannot have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13325
+#: fortran/resolve.cc:13382
 #, gcc-internal-format
 msgid "External object %qs at %L may not have an initializer"
 msgstr ""
 
-#: fortran/resolve.cc:13335
+#: fortran/resolve.cc:13392
 #, gcc-internal-format
 msgid "ELEMENTAL function %qs at %L must have a scalar result"
 msgstr ""
 
-#: fortran/resolve.cc:13345
+#: fortran/resolve.cc:13402
 #, gcc-internal-format
 msgid ""
 "Statement function %qs at %L may not have pointer or allocatable attribute"
 msgstr ""
 
-#: fortran/resolve.cc:13364
+#: fortran/resolve.cc:13421
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be array-valued"
 msgstr ""
 
-#: fortran/resolve.cc:13368
+#: fortran/resolve.cc:13425
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued"
 msgstr ""
 
-#: fortran/resolve.cc:13372
+#: fortran/resolve.cc:13429
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be pure"
 msgstr ""
 
-#: fortran/resolve.cc:13376
+#: fortran/resolve.cc:13433
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.cc:13389
+#: fortran/resolve.cc:13446
 #, gcc-internal-format
 msgid "CHARACTER(*) function %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13400
+#: fortran/resolve.cc:13457
 #, gcc-internal-format
 msgid "Procedure pointer %qs at %L shall not be elemental"
 msgstr ""
 
-#: fortran/resolve.cc:13406
+#: fortran/resolve.cc:13463
 #, gcc-internal-format
 msgid "Dummy procedure %qs at %L shall not be elemental"
 msgstr ""
 
-#: fortran/resolve.cc:13426
+#: fortran/resolve.cc:13483
 #, 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:13483
+#: fortran/resolve.cc:13540
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13489
+#: fortran/resolve.cc:13546
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13495
+#: fortran/resolve.cc:13552
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13503
+#: fortran/resolve.cc:13560
 #, gcc-internal-format
 msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13509
+#: fortran/resolve.cc:13566
 #, gcc-internal-format
 msgid "Procedure pointer result %qs at %L is missing the pointer attribute"
 msgstr ""
 
-#: fortran/resolve.cc:13552
+#: fortran/resolve.cc:13609
 #, 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:13560
+#: fortran/resolve.cc:13617
 #, 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:13568
+#: fortran/resolve.cc:13625
 #, 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:13577
+#: fortran/resolve.cc:13634
 #, 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:13661
+#: fortran/resolve.cc:13718
 #, gcc-internal-format
 msgid "FINAL procedure %qs at %L is not a SUBROUTINE"
 msgstr ""
 
-#: fortran/resolve.cc:13670
+#: fortran/resolve.cc:13727
 #, gcc-internal-format, gfc-internal-format
 msgid "FINAL procedure at %L must have exactly one argument"
 msgstr ""
 
-#: fortran/resolve.cc:13679
+#: fortran/resolve.cc:13736
 #, gcc-internal-format
 msgid "Argument of FINAL procedure at %L must be of type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:13687
+#: fortran/resolve.cc:13744
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:13693
+#: fortran/resolve.cc:13750
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:13699
+#: fortran/resolve.cc:13756
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
 msgstr ""
 
-#: fortran/resolve.cc:13707
+#: fortran/resolve.cc:13764
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:13716
+#: fortran/resolve.cc:13773
 #, gcc-internal-format, gfc-internal-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
 msgstr ""
 
-#: fortran/resolve.cc:13738
+#: fortran/resolve.cc:13795
 #, gcc-internal-format
 msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs"
 msgstr ""
 
-#: fortran/resolve.cc:13775
+#: fortran/resolve.cc:13832
 #, gcc-internal-format
 msgid ""
 "Only array FINAL procedures declared for derived type %qs defined at %L, "
 "suggest also scalar one"
 msgstr ""
 
-#: fortran/resolve.cc:13815
+#: fortran/resolve.cc:13872
 #, gcc-internal-format
 msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13851
+#: fortran/resolve.cc:13908
 #, gcc-internal-format
 msgid "%qs and %qs for GENERIC %qs at %L are ambiguous"
 msgstr ""
 
-#: fortran/resolve.cc:13910
+#: fortran/resolve.cc:13967
 #, gcc-internal-format
 msgid "Undefined specific binding %qs as target of GENERIC %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:13922
+#: fortran/resolve.cc:13979
 #, gcc-internal-format
 msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too"
 msgstr ""
 
-#: fortran/resolve.cc:13950
+#: fortran/resolve.cc:14007
 #, gcc-internal-format
 msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name"
 msgstr ""
 
-#: fortran/resolve.cc:14006
+#: fortran/resolve.cc:14063
 #, gcc-internal-format, gfc-internal-format
 msgid "Type-bound operator at %L cannot be NOPASS"
 msgstr ""
 
-#: fortran/resolve.cc:14218
+#: fortran/resolve.cc:14275
 #, gcc-internal-format
 msgid ""
 "%qs must be a module procedure or an external procedure with an explicit "
 "interface at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14261
+#: fortran/resolve.cc:14318
 #, gcc-internal-format
 msgid "Procedure %qs with PASS(%s) at %L has no argument %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14275
+#: fortran/resolve.cc:14332
 #, gcc-internal-format
 msgid "Procedure %qs with PASS at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.cc:14289 fortran/resolve.cc:14775
+#: fortran/resolve.cc:14346 fortran/resolve.cc:14832
 #, gcc-internal-format
 msgid "Non-polymorphic passed-object dummy argument of %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14297
+#: fortran/resolve.cc:14354
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14306
+#: fortran/resolve.cc:14363
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:14312
+#: fortran/resolve.cc:14369
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:14318
+#: fortran/resolve.cc:14375
 #, gcc-internal-format
 msgid "Passed-object dummy argument of %qs at %L must not be POINTER"
 msgstr ""
 
-#: fortran/resolve.cc:14347
+#: fortran/resolve.cc:14404
 #, gcc-internal-format
 msgid "Procedure %qs at %L has the same name as a component of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14357
+#: fortran/resolve.cc:14414
 #, gcc-internal-format
 msgid "Procedure %qs at %L has the same name as an inherited component of %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14452
+#: fortran/resolve.cc:14509
 #, gcc-internal-format
 msgid ""
 "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and "
 "not overridden"
 msgstr ""
 
-#: fortran/resolve.cc:14555
+#: fortran/resolve.cc:14612
 #, gcc-internal-format
 msgid "Coarray component %qs at %L must be allocatable with deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:14564
+#: fortran/resolve.cc:14621
 #, 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:14574
+#: fortran/resolve.cc:14631
 #, gcc-internal-format
 msgid ""
 "Component %qs at %L with coarray component shall be a nonpointer, "
 "nonallocatable scalar"
 msgstr ""
 
-#: fortran/resolve.cc:14599
+#: fortran/resolve.cc:14656
 #, gcc-internal-format
 msgid ""
 "Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer"
 msgstr ""
 
-#: fortran/resolve.cc:14610
+#: fortran/resolve.cc:14667
 #, gcc-internal-format
 msgid "Component %qs of BIND(C) type at %L must have length one"
 msgstr ""
 
-#: fortran/resolve.cc:14708
+#: fortran/resolve.cc:14765
 #, gcc-internal-format
 msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14722
+#: fortran/resolve.cc:14779
 #, gcc-internal-format
 msgid ""
 "Procedure pointer component %qs with PASS at %L must have at least one "
 "argument"
 msgstr ""
 
-#: fortran/resolve.cc:14738
+#: fortran/resolve.cc:14795
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:14748
+#: fortran/resolve.cc:14805
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar"
 msgstr ""
 
-#: fortran/resolve.cc:14757
+#: fortran/resolve.cc:14814
 #, gcc-internal-format
 msgid ""
 "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.cc:14766
+#: fortran/resolve.cc:14823
 #, gcc-internal-format
 msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:14808
+#: fortran/resolve.cc:14865
 #, gcc-internal-format
 msgid ""
 "Component %qs of %qs at %L has the same name as an inherited type-bound "
 "procedure"
 msgstr ""
 
-#: fortran/resolve.cc:14821
+#: fortran/resolve.cc:14878
 #, gcc-internal-format
 msgid ""
 "Character length of component %qs needs to be a constant specification "
 "expression at %L"
 msgstr ""
 
-#: fortran/resolve.cc:14832
+#: fortran/resolve.cc:14889
 #, gcc-internal-format
 msgid ""
 "Character component %qs of %qs at %L with deferred length must be a POINTER "
 "or ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.cc:14865
+#: fortran/resolve.cc:14922
 #, 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:14873
+#: fortran/resolve.cc:14930
 #, gcc-internal-format, gfc-internal-format
 msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
 msgstr ""
 
-#: fortran/resolve.cc:14882
+#: fortran/resolve.cc:14939
 #, 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:14968
+#: fortran/resolve.cc:15025
 #, gcc-internal-format, gfc-internal-format
 msgid "Conflicting initializers in union at %L and %L"
 msgstr ""
 
-#: fortran/resolve.cc:15013
+#: fortran/resolve.cc:15070
 #, 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:15026
+#: fortran/resolve.cc:15083
 #, gcc-internal-format
 msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT"
 msgstr ""
 
-#: fortran/resolve.cc:15090
+#: fortran/resolve.cc:15147
 #, gcc-internal-format
 msgid ""
 "Parameterized type %qs does not have a component corresponding to parameter "
 "%qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15123
+#: fortran/resolve.cc:15180
 #, 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:15137
+#: fortran/resolve.cc:15194
 #, gcc-internal-format
 msgid "Derived type %qs at %L has not been declared"
 msgstr ""
 
-#: fortran/resolve.cc:15205
+#: fortran/resolve.cc:15262
 #, gcc-internal-format
 msgid "Assumed size array %qs in namelist %qs at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.cc:15211
+#: fortran/resolve.cc:15268
 #, gcc-internal-format
 msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15217
+#: fortran/resolve.cc:15274
 #, gcc-internal-format
 msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15225
+#: fortran/resolve.cc:15282
 #, gcc-internal-format
 msgid ""
 "NAMELIST object %qs with nonconstant character length in namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15242
+#: fortran/resolve.cc:15299
 #, gcc-internal-format
 msgid ""
 "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC "
 "namelist %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15264
+#: fortran/resolve.cc:15321
 #, 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:15275
+#: fortran/resolve.cc:15332
 #, 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:15302
+#: fortran/resolve.cc:15359
 #, gcc-internal-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15321
+#: fortran/resolve.cc:15378
 #, gcc-internal-format
 msgid "Parameter array %qs at %L cannot be automatic or of deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:15337
+#: fortran/resolve.cc:15394
 #, gcc-internal-format
 msgid ""
 "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:15348
+#: fortran/resolve.cc:15405
 #, gcc-internal-format, gfc-internal-format
 msgid "Incompatible derived type in PARAMETER at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15356
+#: fortran/resolve.cc:15413
 #, gcc-internal-format
 msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15407
+#: fortran/resolve.cc:15464
 #, gcc-internal-format
 msgid ""
 "The object %qs at %L has a deferred LEN parameter %qs and is neither "
 "allocatable nor a pointer"
 msgstr ""
 
-#: fortran/resolve.cc:15418
+#: fortran/resolve.cc:15475
 #, 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:15425
+#: fortran/resolve.cc:15482
 #, 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:15465
+#: fortran/resolve.cc:15522
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays "
 "at %L are unsupported"
 msgstr ""
 
-#: fortran/resolve.cc:15529
+#: fortran/resolve.cc:15535
+#, gcc-internal-format
+msgid ""
+"%<omp_all_memory%>, declared at %L, may only be used in the OpenMP DEPEND "
+"clause"
+msgstr ""
+
+#: fortran/resolve.cc:15593
 #, gcc-internal-format, gfc-internal-format
 msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15532
+#: fortran/resolve.cc:15596
 #, gcc-internal-format, gfc-internal-format
 msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15632
+#: fortran/resolve.cc:15696
 #, 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:15653
+#: fortran/resolve.cc:15717
 #, gcc-internal-format, gfc-internal-format
 msgid "Bad specification for assumed size array at %L"
 msgstr ""
 
-#: fortran/resolve.cc:15666
+#: fortran/resolve.cc:15730
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed size array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:15669
+#: fortran/resolve.cc:15733
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed shape array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:15679
+#: fortran/resolve.cc:15743
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-rank array at %L must be a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:15686
+#: fortran/resolve.cc:15750
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15699
+#: fortran/resolve.cc:15763
 #, gcc-internal-format, gfc-internal-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr ""
 
-#: fortran/resolve.cc:15705
+#: fortran/resolve.cc:15769
 #, gcc-internal-format
 msgid ""
 "%qs at %L cannot have the VALUE attribute because it is not a dummy argument"
 msgstr ""
 
-#: fortran/resolve.cc:15715
+#: fortran/resolve.cc:15779
 #, gcc-internal-format
 msgid ""
 "Character dummy variable %qs at %L with VALUE attribute must have constant "
 "length"
 msgstr ""
 
-#: fortran/resolve.cc:15724
+#: fortran/resolve.cc:15788
 #, gcc-internal-format
 msgid ""
 "C interoperable character dummy variable %qs at %L with VALUE attribute must "
 "have length one"
 msgstr ""
 
-#: fortran/resolve.cc:15737 fortran/resolve.cc:15914
+#: fortran/resolve.cc:15801 fortran/resolve.cc:15978
 #, gcc-internal-format
 msgid "The derived type %qs at %L is of type %qs, which has not been defined"
 msgstr ""
 
-#: fortran/resolve.cc:15751
+#: fortran/resolve.cc:15815
 #, 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:15760
+#: fortran/resolve.cc:15824
 #, 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:15769
+#: fortran/resolve.cc:15833
 #, 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:15777
+#: fortran/resolve.cc:15841
 #, 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:15784
+#: fortran/resolve.cc:15848
 #, 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:15804
+#: fortran/resolve.cc:15868
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed type of variable %s at %L is only permitted for dummy variables"
 msgstr ""
 
-#: fortran/resolve.cc:15811
+#: fortran/resolve.cc:15875
 #, 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:15818
+#: fortran/resolve.cc:15882
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute"
 msgstr ""
 
-#: fortran/resolve.cc:15825
+#: fortran/resolve.cc:15889
 #, gcc-internal-format, gfc-internal-format
 msgid "Assumed-type variable %s at %L shall not be an explicit-shape array"
 msgstr ""
 
-#: fortran/resolve.cc:15851
+#: fortran/resolve.cc:15915
 #, 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:15861
+#: fortran/resolve.cc:15925
 #, gcc-internal-format
 msgid "BIND(C) Variable %qs at %L must have length one"
 msgstr ""
 
-#: fortran/resolve.cc:15940
+#: fortran/resolve.cc:16004
 #, gcc-internal-format
 msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:15955
+#: fortran/resolve.cc:16019
 #, 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:15968
+#: fortran/resolve.cc:16032
 #, 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:15986
+#: fortran/resolve.cc:16050
 #, 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:15998
+#: fortran/resolve.cc:16062
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:16007
+#: fortran/resolve.cc:16071
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)"
 msgstr ""
 
-#: fortran/resolve.cc:16020
+#: fortran/resolve.cc:16084
 #, gcc-internal-format
 msgid ""
 "Function result %qs at %L shall not be a coarray or have a coarray component"
 msgstr ""
 
-#: fortran/resolve.cc:16029
+#: fortran/resolve.cc:16093
 #, 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:16042
+#: fortran/resolve.cc:16106
 #, 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:16058
+#: fortran/resolve.cc:16122
 #, gcc-internal-format
 msgid ""
 "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy "
 "argument"
 msgstr ""
 
-#: fortran/resolve.cc:16066
+#: fortran/resolve.cc:16130
 #, gcc-internal-format
 msgid ""
 "Coarray variable %qs at %L shall not have codimensions with deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:16073
+#: fortran/resolve.cc:16137
 #, gcc-internal-format
 msgid "Allocatable coarray variable %qs at %L must have deferred shape"
 msgstr ""
 
-#: fortran/resolve.cc:16086
+#: fortran/resolve.cc:16150
 #, 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:16095
+#: fortran/resolve.cc:16159
 #, gcc-internal-format
 msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs"
 msgstr ""
 
-#: fortran/resolve.cc:16111
+#: fortran/resolve.cc:16175
 #, gcc-internal-format
 msgid ""
 "LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure "
 "%qs"
 msgstr ""
 
-#: fortran/resolve.cc:16117
+#: fortran/resolve.cc:16181
 #, gcc-internal-format
 msgid ""
 "LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure "
 "%qs"
 msgstr ""
 
-#: fortran/resolve.cc:16142
+#: fortran/resolve.cc:16206
 #, gcc-internal-format
 msgid "Namelist %qs cannot be an argument to subroutine or function at %L"
 msgstr ""
 
-#: fortran/resolve.cc:16213
+#: fortran/resolve.cc:16277
 #, gcc-internal-format, gfc-internal-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.cc:16225
+#: fortran/resolve.cc:16289
 #, gcc-internal-format
 msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd"
 msgstr ""
 
-#: fortran/resolve.cc:16332
+#: fortran/resolve.cc:16396
 #, gcc-internal-format, gfc-internal-format
 msgid "Expecting definable entity near %L"
 msgstr ""
 
-#: fortran/resolve.cc:16340
+#: fortran/resolve.cc:16404
 #, gcc-internal-format
 msgid "BLOCK DATA element %qs at %L must be in COMMON"
 msgstr ""
 
-#: fortran/resolve.cc:16347
+#: fortran/resolve.cc:16411
 #, gcc-internal-format
 msgid "DATA array %qs at %L must be specified in a previous declaration"
 msgstr ""
 
-#: fortran/resolve.cc:16354
+#: fortran/resolve.cc:16418
 #, gcc-internal-format
 msgid "DATA element %qs at %L cannot have a coindex"
 msgstr ""
 
-#: fortran/resolve.cc:16370
+#: fortran/resolve.cc:16434
 #, gcc-internal-format
 msgid "DATA element %qs at %L is a pointer and so must be a full array"
 msgstr ""
 
-#: fortran/resolve.cc:16377
+#: fortran/resolve.cc:16441
 #, 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:16386
+#: fortran/resolve.cc:16450
 #, gcc-internal-format
 msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute"
 msgstr ""
 
-#: fortran/resolve.cc:16432
+#: fortran/resolve.cc:16496
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.cc:16445
+#: fortran/resolve.cc:16509
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.cc:16544
+#: fortran/resolve.cc:16608
 #, 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:16552
+#: fortran/resolve.cc:16616
 #, 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:16560
+#: fortran/resolve.cc:16624
 #, 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:16567
+#: fortran/resolve.cc:16631
 #, gcc-internal-format, gfc-internal-format
 msgid "step of implied-do loop at %L shall not be zero"
 msgstr ""
 
-#: fortran/resolve.cc:16692
+#: fortran/resolve.cc:16756
 #, gcc-internal-format, gfc-internal-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.cc:16858
+#: fortran/resolve.cc:16922
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but not used"
 msgstr ""
 
-#: fortran/resolve.cc:16864
+#: fortran/resolve.cc:16928
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr ""
 
-#: fortran/resolve.cc:16948
+#: fortran/resolve.cc:17012
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs at %L must have SEQUENCE attribute to be an "
 "EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:16957
+#: fortran/resolve.cc:17021
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an "
 "EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:16965
+#: fortran/resolve.cc:17029
 #, 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:16981
+#: fortran/resolve.cc:17045
 #, gcc-internal-format
 msgid ""
 "Derived type variable %qs at %L with pointer component(s) cannot be an "
 "EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17084
+#: fortran/resolve.cc:17148
 #, gcc-internal-format, gfc-internal-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.cc:17099
+#: fortran/resolve.cc:17163
 #, 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:17124
+#: fortran/resolve.cc:17188
 #, gcc-internal-format
 msgid ""
 "COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure "
 "procedure %qs"
 msgstr ""
 
-#: fortran/resolve.cc:17133
+#: fortran/resolve.cc:17197
 #, gcc-internal-format
 msgid "Named constant %qs at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17206
+#: fortran/resolve.cc:17272
 #, gcc-internal-format
 msgid ""
 "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17217
+#: fortran/resolve.cc:17283
 #, gcc-internal-format
 msgid "Structure component %qs at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.cc:17228
+#: fortran/resolve.cc:17294
 #, gcc-internal-format, gfc-internal-format
 msgid "Substring at %L has length zero"
 msgstr ""
 
-#: fortran/resolve.cc:17259
+#: fortran/resolve.cc:17325
 #, gcc-internal-format
 msgid "Self reference in character length expression for %qs at %L"
 msgstr ""
 
-#: fortran/resolve.cc:17326
+#: fortran/resolve.cc:17392
 #, gcc-internal-format
 msgid "PUBLIC function %qs at %L of PRIVATE type %qs"
 msgstr ""
 
-#: fortran/resolve.cc:17339
+#: fortran/resolve.cc:17405
 #, gcc-internal-format
 msgid "ENTRY %qs at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.cc:17359
+#: fortran/resolve.cc:17425
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/resolve.cc:17369
+#: fortran/resolve.cc:17435
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L cannot be assumed character length"
 msgstr ""
 
-#: fortran/resolve.cc:17377
+#: fortran/resolve.cc:17443
 #, gcc-internal-format
 msgid "User operator procedure %qs at %L must have at least one argument"
 msgstr ""
 
-#: fortran/resolve.cc:17391
+#: fortran/resolve.cc:17457
 #, gcc-internal-format, gfc-internal-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.cc:17409
+#: fortran/resolve.cc:17475
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr ""
 
-#: fortran/resolve.cc:17416
+#: fortran/resolve.cc:17482
 #, gcc-internal-format, gfc-internal-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr ""
 
-#: fortran/resolve.cc:17495
+#: fortran/resolve.cc:17561
 #, gcc-internal-format
 msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE"
 msgstr ""
@@ -79417,82 +81451,87 @@ msgid ""
 "is a continuation line"
 msgstr ""
 
-#: fortran/scanner.cc:1319 fortran/scanner.cc:1522
+#: fortran/scanner.cc:1011
+#, gcc-internal-format, gfc-internal-format
+msgid "Ignoring '!$omx' vendor-extension sentinel at %C"
+msgstr ""
+
+#: fortran/scanner.cc:1323 fortran/scanner.cc:1526
 #, gcc-internal-format, gfc-internal-format
 msgid "Line truncated at %L"
 msgstr ""
 
-#: fortran/scanner.cc:1383 fortran/scanner.cc:1612
+#: fortran/scanner.cc:1387 fortran/scanner.cc:1616
 #, gcc-internal-format, gfc-internal-format
 msgid "Limit of %d continuations exceeded in statement at %C"
 msgstr ""
 
-#: fortran/scanner.cc:1462 fortran/scanner.cc:1571
+#: fortran/scanner.cc:1466 fortran/scanner.cc:1575
 #, gcc-internal-format, gfc-internal-format
 msgid "Wrong OpenACC continuation at %C: expected !$ACC, got !$OMP"
 msgstr ""
 
-#: fortran/scanner.cc:1464 fortran/scanner.cc:1573
+#: fortran/scanner.cc:1468 fortran/scanner.cc:1577
 #, gcc-internal-format, gfc-internal-format
 msgid "Wrong OpenMP continuation at %C: expected !$OMP, got !$ACC"
 msgstr ""
 
-#: fortran/scanner.cc:1477
+#: fortran/scanner.cc:1481
 #, gcc-internal-format
 msgid "Missing %<&%> in continued character constant at %C"
 msgstr ""
 
-#: fortran/scanner.cc:1763
+#: fortran/scanner.cc:1767
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconforming tab character at %C"
 msgstr ""
 
-#: fortran/scanner.cc:1774
+#: fortran/scanner.cc:1778
 #, gcc-internal-format, gfc-internal-format
 msgid "Invalid character 0x%s at %C"
 msgstr ""
 
-#: fortran/scanner.cc:1863 fortran/scanner.cc:1866
+#: fortran/scanner.cc:1867 fortran/scanner.cc:1870
 #, gcc-internal-format
 msgid "%<&%> not allowed by itself in line %d"
 msgstr ""
 
-#: fortran/scanner.cc:1956
+#: fortran/scanner.cc:1960
 #, gcc-internal-format, gfc-internal-format
 msgid "Nonconforming tab character in column %d of line %d"
 msgstr ""
 
-#: fortran/scanner.cc:2185
+#: fortran/scanner.cc:2189
 #, gcc-internal-format
 msgid "file %qs left but not entered"
 msgstr ""
 
-#: fortran/scanner.cc:2227
+#: fortran/scanner.cc:2231
 #, gcc-internal-format
 msgid "Illegal preprocessor directive"
 msgstr ""
 
-#: fortran/scanner.cc:2550
+#: fortran/scanner.cc:2554
 #, gcc-internal-format
 msgid "File %qs is being included recursively"
 msgstr ""
 
-#: fortran/scanner.cc:2562
+#: fortran/scanner.cc:2566
 #, gcc-internal-format
 msgid "Cannot open file %qs"
 msgstr ""
 
-#: fortran/scanner.cc:2572
+#: fortran/scanner.cc:2576
 #, gcc-internal-format
 msgid "Cannot open included file %qs"
 msgstr ""
 
-#: fortran/scanner.cc:2574
+#: fortran/scanner.cc:2578
 #, gcc-internal-format
 msgid "Cannot open pre-included file %qs"
 msgstr ""
 
-#: fortran/scanner.cc:2582 fortran/scanner.cc:2584
+#: fortran/scanner.cc:2586 fortran/scanner.cc:2588
 #, gcc-internal-format
 msgid "Included file %qs is not a regular file"
 msgstr ""
@@ -79527,311 +81566,311 @@ msgstr ""
 msgid "Invalid KIND parameter of %s at %L"
 msgstr ""
 
-#: fortran/simplify.cc:761
+#: fortran/simplify.cc:774
 #, gcc-internal-format
 msgid "gfc_simplify_abs(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:782
+#: fortran/simplify.cc:795
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of %s function at %L is negative"
 msgstr ""
 
-#: fortran/simplify.cc:789
+#: fortran/simplify.cc:802
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of %s function at %L outside of range [0,127]"
 msgstr ""
 
-#: fortran/simplify.cc:807
+#: fortran/simplify.cc:820
 #, 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:844
+#: fortran/simplify.cc:857
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ACOS at %L must be between -1 and 1"
 msgstr ""
 
-#: fortran/simplify.cc:858
+#: fortran/simplify.cc:871
 #, gcc-internal-format
 msgid "in gfc_simplify_acos(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:877
+#: fortran/simplify.cc:890
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ACOSH at %L must not be less than 1"
 msgstr ""
 
-#: fortran/simplify.cc:892
+#: fortran/simplify.cc:905
 #, gcc-internal-format
 msgid "in gfc_simplify_acosh(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:1121
+#: fortran/simplify.cc:1134
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ASIN at %L must be between -1 and 1"
 msgstr ""
 
-#: fortran/simplify.cc:1135
+#: fortran/simplify.cc:1148
 #, gcc-internal-format
 msgid "in gfc_simplify_asin(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:1170
+#: fortran/simplify.cc:1183
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ACOSD at %L must be between -1 and 1"
 msgstr ""
 
-#: fortran/simplify.cc:1196
+#: fortran/simplify.cc:1209
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ASIND at %L must be between -1 and 1"
 msgstr ""
 
-#: fortran/simplify.cc:1248
+#: fortran/simplify.cc:1261
 #, gcc-internal-format
 msgid "in gfc_simplify_asinh(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:1276
+#: fortran/simplify.cc:1289
 #, gcc-internal-format
 msgid "in gfc_simplify_atan(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:1297
+#: fortran/simplify.cc:1310
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of ATANH at %L must be inside the range -1 to 1"
 msgstr ""
 
-#: fortran/simplify.cc:1311
+#: fortran/simplify.cc:1324
 #, gcc-internal-format
 msgid "in gfc_simplify_atanh(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:1328
+#: fortran/simplify.cc:1341
 #, 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:1420
+#: fortran/simplify.cc:1433
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of BESSEL_YN is -INF at %L"
 msgstr ""
 
-#: fortran/simplify.cc:1783
+#: fortran/simplify.cc:1799
 #, gcc-internal-format
 msgid "gfc_simplify_dcmplx(): Bad type (x)"
 msgstr ""
 
-#: fortran/simplify.cc:1802
+#: fortran/simplify.cc:1818
 #, gcc-internal-format
 msgid "gfc_simplify_dcmplx(): Bad type (y)"
 msgstr ""
 
-#: fortran/simplify.cc:1869
+#: fortran/simplify.cc:1885
 #, 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:1904
+#: fortran/simplify.cc:1920
 #, gcc-internal-format
 msgid "in gfc_simplify_cos(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:2372
+#: fortran/simplify.cc:2388
 #, gcc-internal-format
 msgid "gfc_simplify_dim(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:2946
+#: fortran/simplify.cc:2962
 #, gcc-internal-format
 msgid "in gfc_simplify_exp(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:3160
+#: fortran/simplify.cc:3180
 #, gcc-internal-format
 msgid "gfc_simplify_floor(): Bad kind"
 msgstr ""
 
-#: fortran/simplify.cc:3273
+#: fortran/simplify.cc:3293
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of IACHAR at %L must be of length one"
 msgstr ""
 
-#: fortran/simplify.cc:3281
+#: fortran/simplify.cc:3301
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of IACHAR function at %L outside of range 0..127"
 msgstr ""
 
-#: fortran/simplify.cc:3396
+#: fortran/simplify.cc:3429
 #, gcc-internal-format, gfc-internal-format
 msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
 msgstr ""
 
-#: fortran/simplify.cc:3420
+#: fortran/simplify.cc:3453
 #, gcc-internal-format
 msgid "IBITS: Bad bit"
 msgstr ""
 
-#: fortran/simplify.cc:3471
+#: fortran/simplify.cc:3514
 #, 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:3856 fortran/simplify.cc:3864
+#: fortran/simplify.cc:3826 fortran/simplify.cc:3834
 #, gcc-internal-format, gfc-internal-format
 msgid "Second argument of %s is negative at %L"
 msgstr ""
 
-#: fortran/simplify.cc:3876
+#: fortran/simplify.cc:3846
 #, gcc-internal-format, gfc-internal-format
 msgid "Magnitude of second argument of %s exceeds bit size at %L"
 msgstr ""
 
-#: fortran/simplify.cc:4001
+#: fortran/simplify.cc:3974
 #, 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:4004
+#: fortran/simplify.cc:3977
 #, 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:4351 fortran/simplify.cc:4484
+#: fortran/simplify.cc:4324 fortran/simplify.cc:4457
 #, gcc-internal-format, gfc-internal-format
 msgid "DIM argument at %L is out of bounds"
 msgstr ""
 
-#: fortran/simplify.cc:4711
+#: fortran/simplify.cc:4684
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.cc:4724
+#: fortran/simplify.cc:4697
 #, gcc-internal-format, gfc-internal-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.cc:4735
+#: fortran/simplify.cc:4708
 #, gcc-internal-format
 msgid "gfc_simplify_log: bad type"
 msgstr ""
 
-#: fortran/simplify.cc:4752
+#: fortran/simplify.cc:4725
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.cc:5090
+#: fortran/simplify.cc:5078
 #, gcc-internal-format
 msgid "simplify_min_max(): Bad type in arglist"
 msgstr ""
 
-#: fortran/simplify.cc:6011 fortran/simplify.cc:6019
+#: fortran/simplify.cc:6000 fortran/simplify.cc:6008
 #, gcc-internal-format
 msgid "Argument %qs of MOD at %L shall not be zero"
 msgstr ""
 
-#: fortran/simplify.cc:6025
+#: fortran/simplify.cc:6014
 #, gcc-internal-format
 msgid "gfc_simplify_mod(): Bad arguments"
 msgstr ""
 
-#: fortran/simplify.cc:6063 fortran/simplify.cc:6071
+#: fortran/simplify.cc:6052 fortran/simplify.cc:6060
 #, gcc-internal-format
 msgid "Argument %qs of MODULO at %L shall not be zero"
 msgstr ""
 
-#: fortran/simplify.cc:6077
+#: fortran/simplify.cc:6066
 #, gcc-internal-format
 msgid "gfc_simplify_modulo(): Bad arguments"
 msgstr ""
 
-#: fortran/simplify.cc:6149
+#: fortran/simplify.cc:6138
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr ""
 
-#: fortran/simplify.cc:6726
+#: fortran/simplify.cc:6715
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
 msgstr ""
 
-#: fortran/simplify.cc:6782
+#: fortran/simplify.cc:6771
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
 msgstr ""
 
-#: fortran/simplify.cc:6819
+#: fortran/simplify.cc:6808
 #, 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:6877
+#: fortran/simplify.cc:6866
 #, 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:6901
+#: fortran/simplify.cc:6890
 #, gcc-internal-format, gfc-internal-format
 msgid "Shapes of ORDER at %L and SHAPE at %L are different"
 msgstr ""
 
-#: fortran/simplify.cc:6914
+#: fortran/simplify.cc:6903
 #, gcc-internal-format, gfc-internal-format
 msgid "Sizes of ORDER at %L and SHAPE at %L are different"
 msgstr ""
 
-#: fortran/simplify.cc:6928
+#: fortran/simplify.cc:6917
 #, 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:6938
+#: fortran/simplify.cc:6927
 #, 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:6999
+#: fortran/simplify.cc:6988
 #, gcc-internal-format, gfc-internal-format
 msgid "Reshaped array too large at %C"
 msgstr ""
 
-#: fortran/simplify.cc:7115
+#: fortran/simplify.cc:7104
 #, gcc-internal-format, gfc-internal-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr ""
 
-#: fortran/simplify.cc:7704
+#: fortran/simplify.cc:7694
 #, gcc-internal-format
 msgid "Bad type in gfc_simplify_sign"
 msgstr ""
 
-#: fortran/simplify.cc:7733
+#: fortran/simplify.cc:7723
 #, gcc-internal-format
 msgid "in gfc_simplify_sin(): Bad type"
 msgstr ""
 
-#: fortran/simplify.cc:7871 fortran/simplify.cc:8154
+#: fortran/simplify.cc:7861 fortran/simplify.cc:8144
 #, gcc-internal-format
 msgid "Failure getting length of a constant array."
 msgstr ""
 
-#: fortran/simplify.cc:7881
+#: fortran/simplify.cc:7871
 #, gcc-internal-format
 msgid ""
 "The number of elements (%d) in the array constructor at %L requires an "
@@ -79839,42 +81878,42 @@ msgid ""
 "option."
 msgstr ""
 
-#: fortran/simplify.cc:7948
+#: fortran/simplify.cc:7938
 #, gcc-internal-format, gfc-internal-format
 msgid "Simplification of SPREAD at %C not yet implemented"
 msgstr ""
 
-#: fortran/simplify.cc:7972
+#: fortran/simplify.cc:7962
 #, gcc-internal-format, gfc-internal-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr ""
 
-#: fortran/simplify.cc:7988
+#: fortran/simplify.cc:7978
 #, gcc-internal-format, gfc-internal-format
 msgid "invalid argument of SQRT at %L"
 msgstr ""
 
-#: fortran/simplify.cc:8335
+#: fortran/simplify.cc:8325
 #, 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:8358
+#: fortran/simplify.cc:8348
 #, 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:8842
+#: fortran/simplify.cc:8848
 #, gcc-internal-format
 msgid ""
 "Character %qs in string at %L cannot be converted into character kind %d"
 msgstr ""
 
-#: fortran/st.cc:300
+#: fortran/st.cc:301
 #, gcc-internal-format
 msgid "gfc_free_statement(): Bad statement"
 msgstr ""
@@ -79977,7 +82016,7 @@ msgstr ""
 msgid "BIND(C) applied to %s %s at %L"
 msgstr ""
 
-#: fortran/symbol.cc:905 fortran/symbol.cc:916 fortran/symbol.cc:1790
+#: fortran/symbol.cc:905 fortran/symbol.cc:916 fortran/symbol.cc:1796
 #, gcc-internal-format, gfc-internal-format
 msgid "%s attribute conflicts with %s attribute at %L"
 msgstr ""
@@ -80022,52 +82061,52 @@ msgstr ""
 msgid "DIMENSION specified for %qs outside its INTERFACE body at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1251
+#: fortran/symbol.cc:1257
 #, gcc-internal-format, gfc-internal-format
 msgid "Cray Pointee at %L appears in multiple pointer() statements"
 msgstr ""
 
-#: fortran/symbol.cc:1270
+#: fortran/symbol.cc:1276
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate PROTECTED attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1303
+#: fortran/symbol.cc:1309
 #, gcc-internal-format, gfc-internal-format
 msgid "SAVE attribute at %L cannot be specified in a PURE procedure"
 msgstr ""
 
-#: fortran/symbol.cc:1315
+#: fortran/symbol.cc:1321
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate SAVE attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1335
+#: fortran/symbol.cc:1341
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate VALUE attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1354
+#: fortran/symbol.cc:1360
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate VOLATILE attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1366
+#: fortran/symbol.cc:1372
 #, gcc-internal-format, gfc-internal-format
 msgid "VOLATILE attribute at %L cannot be specified in a PURE procedure"
 msgstr ""
 
-#: fortran/symbol.cc:1387
+#: fortran/symbol.cc:1393
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate ASYNCHRONOUS attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1786
+#: fortran/symbol.cc:1792
 #, gcc-internal-format
 msgid "%s attribute of %qs conflicts with %s attribute at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1823
+#: fortran/symbol.cc:1829
 #, gcc-internal-format, gfc-internal-format
 msgid ""
 "%s procedure at %L is already declared as %s procedure. \n"
@@ -80076,220 +82115,220 @@ msgid ""
 "kind of executable statement before it. FIXME"
 msgstr ""
 
-#: fortran/symbol.cc:1831
+#: fortran/symbol.cc:1837
 #, gcc-internal-format, gfc-internal-format
 msgid "%s procedure at %L is already declared as %s procedure"
 msgstr ""
 
-#: fortran/symbol.cc:1866
+#: fortran/symbol.cc:1872
 #, gcc-internal-format, gfc-internal-format
 msgid "INTENT (%s) conflicts with INTENT(%s) at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1890
+#: fortran/symbol.cc:1896
 #, gcc-internal-format, gfc-internal-format
 msgid "ACCESS specification at %L was already specified"
 msgstr ""
 
-#: fortran/symbol.cc:1907
+#: fortran/symbol.cc:1913
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate BIND attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1914
+#: fortran/symbol.cc:1920
 #, gcc-internal-format, gfc-internal-format
 msgid "BIND(C) at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1930
+#: fortran/symbol.cc:1936
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate EXTENDS attribute specified at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1934
+#: fortran/symbol.cc:1940
 #, gcc-internal-format, gfc-internal-format
 msgid "EXTENDS at %L"
 msgstr ""
 
-#: fortran/symbol.cc:1960
+#: fortran/symbol.cc:1966
 #, gcc-internal-format
 msgid "Symbol %qs at %L already has an explicit interface"
 msgstr ""
 
-#: fortran/symbol.cc:1967
+#: fortran/symbol.cc:1973
 #, gcc-internal-format
 msgid "%qs at %L has attributes specified outside its INTERFACE body"
 msgstr ""
 
-#: fortran/symbol.cc:2005
+#: fortran/symbol.cc:2011
 #, gcc-internal-format
 msgid ""
 "Symbol %qs at %L conflicts with symbol from module %qs, use-associated at %L"
 msgstr ""
 
-#: fortran/symbol.cc:2009 fortran/symbol.cc:2012
+#: fortran/symbol.cc:2015 fortran/symbol.cc:2018
 #, gcc-internal-format
 msgid "Symbol %qs at %L already has basic type of %s"
 msgstr ""
 
-#: fortran/symbol.cc:2019
+#: fortran/symbol.cc:2025
 #, gcc-internal-format
 msgid "Procedure %qs at %L may not have basic type of %s"
 msgstr ""
 
-#: fortran/symbol.cc:2031
+#: fortran/symbol.cc:2037
 #, gcc-internal-format
 msgid "Symbol %qs at %L cannot have a type"
 msgstr ""
 
-#: fortran/symbol.cc:2276
+#: fortran/symbol.cc:2282
 #, gcc-internal-format
 msgid "Component %qs at %C already in the parent type at %L"
 msgstr ""
 
-#: fortran/symbol.cc:2361
+#: fortran/symbol.cc:2367
 #, gcc-internal-format
 msgid "Symbol %qs at %C is ambiguous"
 msgstr ""
 
-#: fortran/symbol.cc:2393
+#: fortran/symbol.cc:2399
 #, gcc-internal-format
 msgid "Derived type %qs at %C is being used before it is defined"
 msgstr ""
 
-#: fortran/symbol.cc:2542
+#: fortran/symbol.cc:2548
 #, gcc-internal-format
 msgid "Component %qs at %C is a PRIVATE component of %qs"
 msgstr ""
 
-#: fortran/symbol.cc:2563
+#: fortran/symbol.cc:2569
 #, gcc-internal-format
 msgid "%qs at %C is not a member of the %qs structure; did you mean %qs?"
 msgstr ""
 
-#: fortran/symbol.cc:2567
+#: fortran/symbol.cc:2573
 #, gcc-internal-format
 msgid "%qs at %C is not a member of the %qs structure"
 msgstr ""
 
-#: fortran/symbol.cc:2731
+#: fortran/symbol.cc:2737
 #, gcc-internal-format, gfc-internal-format
 msgid "Duplicate statement label %d at %L and %L"
 msgstr ""
 
-#: fortran/symbol.cc:2742
+#: fortran/symbol.cc:2748
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %C already referenced as branch target"
 msgstr ""
 
-#: fortran/symbol.cc:2752
+#: fortran/symbol.cc:2758
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %C already referenced as a format label"
 msgstr ""
 
-#: fortran/symbol.cc:2759
+#: fortran/symbol.cc:2765
 #, 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:2800
+#: fortran/symbol.cc:2806
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %C previously used as a FORMAT label"
 msgstr ""
 
-#: fortran/symbol.cc:2809
+#: fortran/symbol.cc:2815
 #, gcc-internal-format, gfc-internal-format
 msgid "Label %d at %C previously used as branch target"
 msgstr ""
 
-#: fortran/symbol.cc:2816
+#: fortran/symbol.cc:2822
 #, gcc-internal-format, gfc-internal-format
 msgid "Shared DO termination label %d at %C"
 msgstr ""
 
-#: fortran/symbol.cc:2820
+#: fortran/symbol.cc:2826
 #, gcc-internal-format, gfc-internal-format
 msgid "Labeled DO statement at %L"
 msgstr ""
 
-#: fortran/symbol.cc:3161
+#: fortran/symbol.cc:3167
 #, gcc-internal-format
 msgid "Name %qs at %C is an ambiguous reference to %qs from module %qs"
 msgstr ""
 
-#: fortran/symbol.cc:3164
+#: fortran/symbol.cc:3170
 #, 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:3409
+#: fortran/symbol.cc:3415
 #, gcc-internal-format
 msgid "Symbol %qs at %C has already been host associated"
 msgstr ""
 
-#: fortran/symbol.cc:4422
+#: fortran/symbol.cc:4434
 #, gcc-internal-format
 msgid "verify_bind_c_derived_type(): Given symbol is unexpectedly NULL"
 msgstr ""
 
-#: fortran/symbol.cc:4435
+#: fortran/symbol.cc:4447
 #, gcc-internal-format
 msgid ""
 "Derived type %qs declared at %L must have the BIND attribute to be C "
 "interoperable"
 msgstr ""
 
-#: fortran/symbol.cc:4453
+#: fortran/symbol.cc:4465
 #, 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:4474
+#: fortran/symbol.cc:4486
 #, 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:4484
+#: fortran/symbol.cc:4496
 #, 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:4495
+#: fortran/symbol.cc:4507
 #, 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:4534
+#: fortran/symbol.cc:4546
 #, 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:4544
+#: fortran/symbol.cc:4556
 #, gcc-internal-format
 msgid "Component %qs in derived type %qs at %L may not be C interoperable"
 msgstr ""
 
-#: fortran/symbol.cc:4556
+#: fortran/symbol.cc:4568
 #, gcc-internal-format
 msgid ""
 "Derived type %qs at %L cannot have the SEQUENCE attribute because it is "
 "BIND(C)"
 msgstr ""
 
-#: fortran/symbol.cc:5053 fortran/symbol.cc:5058
+#: fortran/symbol.cc:5065 fortran/symbol.cc:5070
 #, gcc-internal-format
 msgid "Symbol %qs is used before it is typed at %L"
 msgstr ""
@@ -80328,7 +82367,7 @@ msgid ""
 "of the allowed %d upper limit. See %<-fmax-array-constructor%> option"
 msgstr ""
 
-#: fortran/trans-array.cc:8510
+#: fortran/trans-array.cc:8509
 #, gcc-internal-format
 msgid "Creating array temporary at %L for argument %qs"
 msgstr ""
@@ -80432,7 +82471,7 @@ msgstr ""
 msgid "non-constant initialization expression at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:761
+#: fortran/trans-decl.cc:762
 #, gcc-internal-format
 msgid ""
 "Array %qs at %L is larger than limit set by %<-fmax-stack-var-size=%>, moved "
@@ -80445,74 +82484,74 @@ msgid ""
 "SAVE attribute."
 msgstr ""
 
-#: fortran/trans-decl.cc:1790
+#: fortran/trans-decl.cc:1791
 #, gcc-internal-format
 msgid "intrinsic variable which isn't a procedure"
 msgstr ""
 
-#: fortran/trans-decl.cc:4504 fortran/trans-decl.cc:7732
+#: fortran/trans-decl.cc:4520 fortran/trans-decl.cc:7757
 #, gcc-internal-format
 msgid "Return value of function %qs at %L not set"
 msgstr ""
 
-#: fortran/trans-decl.cc:4992
+#: fortran/trans-decl.cc:5012
 #, gcc-internal-format
 msgid "Deferred type parameter not yet supported"
 msgstr ""
 
-#: fortran/trans-decl.cc:5225
+#: fortran/trans-decl.cc:5245
 #, gcc-internal-format
 msgid "backend decl for module variable %qs already exists"
 msgstr ""
 
-#: fortran/trans-decl.cc:5238
+#: fortran/trans-decl.cc:5258
 #, gcc-internal-format
 msgid "Unused PRIVATE module variable %qs declared at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:5863
+#: fortran/trans-decl.cc:5888
 #, gcc-internal-format
 msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set"
 msgstr ""
 
-#: fortran/trans-decl.cc:5869
+#: fortran/trans-decl.cc:5894
 #, 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:5880 fortran/trans-decl.cc:6031
+#: fortran/trans-decl.cc:5905 fortran/trans-decl.cc:6056
 #, gcc-internal-format
 msgid "Unused dummy argument %qs at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:5896
+#: fortran/trans-decl.cc:5921
 #, gcc-internal-format
 msgid "Unused module variable %qs which has been explicitly imported at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:5915
+#: fortran/trans-decl.cc:5940
 #, gcc-internal-format
 msgid "Unused variable %qs declared at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:5964
+#: fortran/trans-decl.cc:5989
 #, gcc-internal-format
 msgid "Unused parameter %qs declared at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:5968
+#: fortran/trans-decl.cc:5993
 #, gcc-internal-format
 msgid "Unused parameter %qs which has been explicitly imported at %L"
 msgstr ""
 
-#: fortran/trans-decl.cc:5998
+#: fortran/trans-decl.cc:6023
 #, gcc-internal-format
 msgid "Return value %qs of function %qs declared at %L not set"
 msgstr ""
 
-#: fortran/trans-decl.cc:6595
+#: fortran/trans-decl.cc:6620
 #, gcc-internal-format, gfc-internal-format
 msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct"
 msgstr ""
@@ -80522,58 +82561,58 @@ msgstr ""
 msgid "Cannot compute the length of the char array at %L."
 msgstr ""
 
-#: fortran/trans-expr.cc:1878
+#: fortran/trans-expr.cc:1884
 #, gcc-internal-format, gfc-internal-format
 msgid "Code for reallocating the allocatable variable at %L will be added"
 msgstr ""
 
-#: fortran/trans-expr.cc:2195
+#: fortran/trans-expr.cc:2200
 #, 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:2204
+#: fortran/trans-expr.cc:2209
 #, 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:3880
+#: fortran/trans-expr.cc:3885
 #, gcc-internal-format
 msgid "Unknown intrinsic op"
 msgstr ""
 
-#: fortran/trans-expr.cc:5398
+#: fortran/trans-expr.cc:5403
 #, gcc-internal-format, gfc-internal-format
 msgid "Unknown argument list function at %L"
 msgstr ""
 
-#: fortran/trans-expr.cc:10005
+#: fortran/trans-expr.cc:10044
 #, 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:936
+#: fortran/trans-intrinsic.cc:944
 #, gcc-internal-format
 msgid "Intrinsic function %qs (%d) not recognized"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:2441 fortran/trans-intrinsic.cc:2990
-#: fortran/trans-intrinsic.cc:3191
+#: fortran/trans-intrinsic.cc:2449 fortran/trans-intrinsic.cc:2998
+#: fortran/trans-intrinsic.cc:3199
 #, gcc-internal-format
 msgid "%<dim%> argument of %s intrinsic at %L is not a valid dimension index"
 msgstr ""
 
-#: fortran/trans-intrinsic.cc:11854 fortran/trans-stmt.cc:1100
+#: fortran/trans-intrinsic.cc:12107 fortran/trans-stmt.cc:1101
 #, 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:11861
+#: fortran/trans-intrinsic.cc:12114
 #, gcc-internal-format, gfc-internal-format
 msgid "The event variable at %L shall not be coindexed"
 msgstr ""
@@ -80588,174 +82627,191 @@ msgstr ""
 msgid "Bad IO basetype (%d)"
 msgstr ""
 
-#: fortran/trans-openmp.cc:829 fortran/trans-openmp.cc:1346
+#: fortran/trans-openmp.cc:871 fortran/trans-openmp.cc:1388
 #, gcc-internal-format
 msgid "Sorry, polymorphic arrays not yet supported for firstprivate"
 msgstr ""
 
-#: fortran/trans-openmp.cc:1500
+#: fortran/trans-openmp.cc:1542
 #, gcc-internal-format
 msgid "implicit mapping of assumed size array %qD"
 msgstr ""
 
-#: fortran/trans-openmp.cc:3082
+#: fortran/trans-openmp.cc:3137
 #, gcc-internal-format
 msgid "optional class parameter"
 msgstr ""
 
-#: fortran/trans-openmp.cc:3399
+#: fortran/trans-openmp.cc:3447
 #, gcc-internal-format
 msgid "unhandled expression type"
 msgstr ""
 
-#: fortran/trans-openmp.cc:3553
+#: fortran/trans-openmp.cc:3601
 #, gcc-internal-format
 msgid "unhandled expression"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7306
+#: fortran/trans-openmp.cc:5152 fortran/trans-openmp.cc:5172
+#, gcc-internal-format
+msgid "non-rectangular loop nest with step other than constant 1 or -1 for %qs"
+msgstr ""
+
+#: fortran/trans-openmp.cc:5174
+#, gcc-internal-format
+msgid "Used here"
+msgstr ""
+
+#: fortran/trans-openmp.cc:6691
+#, gcc-internal-format
+msgid ""
+"%qs specified in 'allocate' clause at %L but not in an explicit "
+"privatization clause"
+msgstr ""
+
+#: fortran/trans-openmp.cc:7588
 #, gcc-internal-format
 msgid "gfc_trans_omp_workshare(): Bad statement code"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7604
+#: fortran/trans-openmp.cc:7888
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name for 'declare variant' must be specified at %L "
 msgstr ""
 
-#: fortran/trans-openmp.cc:7614
+#: fortran/trans-openmp.cc:7898
 #, 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:7617
+#: fortran/trans-openmp.cc:7901
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be an entry name"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7620
+#: fortran/trans-openmp.cc:7904
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be a generic name"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7623
+#: fortran/trans-openmp.cc:7907
 #, gcc-internal-format, gfc-internal-format
 msgid "The base name at %L must not be a procedure pointer"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7626
+#: fortran/trans-openmp.cc:7910
 #, gcc-internal-format, gfc-internal-format
 msgid "The base procedure at %L must have an explicit interface"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7723
+#: fortran/trans-openmp.cc:8007
 #, gcc-internal-format
 msgid "Cannot find symbol %qs"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7734
+#: fortran/trans-openmp.cc:8018
 #, gcc-internal-format
 msgid "variant %qs at %L is not a function or subroutine"
 msgstr ""
 
-#: fortran/trans-openmp.cc:7746
+#: fortran/trans-openmp.cc:8030
 #, gcc-internal-format
 msgid "variant %qs and base %qs at %L have incompatible types: %s"
 msgstr ""
 
-#: fortran/trans-stmt.cc:572
+#: fortran/trans-stmt.cc:573
 #, gcc-internal-format, gfc-internal-format
 msgid "An alternate return at %L without a * dummy argument"
 msgstr ""
 
-#: fortran/trans-stmt.cc:904
+#: fortran/trans-stmt.cc:905
 #, gcc-internal-format, gfc-internal-format
 msgid "Sorry, the lock component of derived type at %L is not yet supported"
 msgstr ""
 
-#: fortran/trans-stmt.cc:1363
+#: fortran/trans-stmt.cc:1364
 #, 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:3631
+#: fortran/trans-stmt.cc:3632
 #, gcc-internal-format
 msgid "gfc_trans_select(): Bad type for case expr."
 msgstr ""
 
-#: fortran/trans-types.cc:531
+#: fortran/trans-types.cc:537
 #, gcc-internal-format
 msgid ""
 "%<-fconvert=r16_ieee%> or %<-fconvert=r16_ibm%> not supported on this "
 "architecture"
 msgstr ""
 
-#: fortran/trans-types.cc:544
+#: fortran/trans-types.cc:550
 #, gcc-internal-format
 msgid "INTEGER(KIND=8) is not available for %<-fdefault-integer-8%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:553
+#: fortran/trans-types.cc:559
 #, gcc-internal-format
 msgid "INTEGER(KIND=8) is not available for %<-finteger-4-integer-8%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:572
+#: fortran/trans-types.cc:578
 #, gcc-internal-format
 msgid "REAL(KIND=8) is not available for %<-fdefault-real-8%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:580
+#: fortran/trans-types.cc:586
 #, gcc-internal-format
 msgid "REAL(KIND=10) is not available for %<-fdefault-real-10%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:588
+#: fortran/trans-types.cc:594
 #, gcc-internal-format
 msgid "REAL(KIND=16) is not available for %<-fdefault-real-16%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:596
+#: fortran/trans-types.cc:602
 #, gcc-internal-format
 msgid "REAL(KIND=8) is not available for %<-freal-4-real-8%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:604
+#: fortran/trans-types.cc:610
 #, gcc-internal-format
 msgid "REAL(KIND=10) is not available for %<-freal-4-real-10%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:612
+#: fortran/trans-types.cc:618
 #, gcc-internal-format
 msgid "REAL(KIND=16) is not available for %<-freal-4-real-16%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:643
+#: fortran/trans-types.cc:649
 #, gcc-internal-format
 msgid "REAL(KIND=4) is not available for %<-freal-8-real-4%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:651
+#: fortran/trans-types.cc:657
 #, gcc-internal-format
 msgid "REAL(KIND=10) is not available for %<-freal-8-real-10%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:659
+#: fortran/trans-types.cc:665
 #, gcc-internal-format
 msgid "REAL(KIND=10) is not available for %<-freal-8-real-16%> option"
 msgstr ""
 
-#: fortran/trans-types.cc:801
+#: fortran/trans-types.cc:807
 #, gcc-internal-format
 msgid "gfc_validate_kind(): Got bad type"
 msgstr ""
 
-#: fortran/trans-types.cc:805
+#: fortran/trans-types.cc:811
 #, gcc-internal-format
 msgid "gfc_validate_kind(): Got bad kind"
 msgstr ""
 
-#: fortran/trans.cc:2267
+#: fortran/trans.cc:2268
 #, gcc-internal-format
 msgid "gfc_trans_code(): Bad statement code"
 msgstr ""
@@ -80851,97 +82907,97 @@ msgstr ""
 msgid "%s:%s: %E: %E"
 msgstr ""
 
-#: lto/lto-common.cc:2021
+#: lto/lto-common.cc:2023
 #, gcc-internal-format
 msgid "bytecode stream: garbage at the end of symbols section"
 msgstr ""
 
-#: lto/lto-common.cc:2048
+#: lto/lto-common.cc:2050
 #, gcc-internal-format
 msgid "could not parse hex number"
 msgstr ""
 
-#: lto/lto-common.cc:2080
+#: lto/lto-common.cc:2082
 #, gcc-internal-format, gfc-internal-format
 msgid "unexpected file name %s in linker resolution file. Expected %s"
 msgstr ""
 
-#: lto/lto-common.cc:2089
+#: lto/lto-common.cc:2091
 #, gcc-internal-format
 msgid "could not parse file offset"
 msgstr ""
 
-#: lto/lto-common.cc:2092
+#: lto/lto-common.cc:2094
 #, gcc-internal-format
 msgid "unexpected offset"
 msgstr ""
 
-#: lto/lto-common.cc:2114
+#: lto/lto-common.cc:2115
 #, gcc-internal-format
 msgid "invalid line in the resolution file"
 msgstr ""
 
-#: lto/lto-common.cc:2125
+#: lto/lto-common.cc:2137
 #, gcc-internal-format
 msgid "invalid resolution in the resolution file"
 msgstr ""
 
-#: lto/lto-common.cc:2131
+#: lto/lto-common.cc:2143
 #, gcc-internal-format
 msgid "resolution sub id %wx not in object file"
 msgstr ""
 
-#: lto/lto-common.cc:2248
+#: lto/lto-common.cc:2260
 #, gcc-internal-format
 msgid "bytecode stream in file %qs generated with GCC compiler older than 10.0"
 msgstr ""
 
-#: lto/lto-common.cc:2267
+#: lto/lto-common.cc:2279
 #, gcc-internal-format
 msgid "cannot read %<LTO_section_decls%> from %s"
 msgstr ""
 
-#: lto/lto-common.cc:2388
+#: lto/lto-common.cc:2400
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot open %s"
 msgstr ""
 
-#: lto/lto-common.cc:2409
+#: lto/lto-common.cc:2421
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot map %s"
 msgstr ""
 
-#: lto/lto-common.cc:2420
+#: lto/lto-common.cc:2432
 #, gcc-internal-format, gfc-internal-format
 msgid "Cannot read %s"
 msgstr ""
 
-#: lto/lto-common.cc:2737
+#: lto/lto-common.cc:2749
 #, gcc-internal-format
 msgid "could not open symbol resolution file: %m"
 msgstr ""
 
-#: lto/lto-common.cc:2862
+#: lto/lto-common.cc:2874
 #, gcc-internal-format, gfc-internal-format
 msgid "missing resolution data for %s"
 msgstr ""
 
-#: lto/lto-common.cc:2899
+#: lto/lto-common.cc:2911
 #, gcc-internal-format
 msgid "errors during merging of translation units"
 msgstr ""
 
-#: lto/lto-dump.cc:258
+#: lto/lto-dump.cc:256
 #, gcc-internal-format
 msgid "Level not found, use none, slim, blocks, vops."
 msgstr ""
 
-#: lto/lto-dump.cc:273
+#: lto/lto-dump.cc:270
 #, gcc-internal-format
 msgid "Function not found."
 msgstr ""
 
-#: lto/lto-dump.cc:350 lto/lto-dump.cc:360
+#: lto/lto-dump.cc:349 lto/lto-dump.cc:359
 #, gcc-internal-format
 msgid "Not configured with %<--enable-gather-detailed-mem-stats%>."
 msgstr ""
@@ -80976,7 +83032,7 @@ msgstr ""
 msgid "two or more sections for %s"
 msgstr ""
 
-#: lto/lto-partition.cc:535
+#: lto/lto-partition.cc:534
 #, gcc-internal-format
 msgid "min partition size cannot be greater than max partition size"
 msgstr ""
@@ -81051,46 +83107,269 @@ msgstr ""
 msgid "previously declared here"
 msgstr ""
 
-#: lto/lto.cc:167
+#: lto/lto.cc:172
 #, gcc-internal-format
 msgid "%<lto_obj_file_open()%> failed"
 msgstr ""
 
-#: lto/lto.cc:199
+#: lto/lto.cc:204
 #, gcc-internal-format
 msgid "waitpid failed"
 msgstr ""
 
-#: lto/lto.cc:202
+#: lto/lto.cc:207
 #, gcc-internal-format
 msgid "streaming subprocess failed"
 msgstr ""
 
-#: lto/lto.cc:205
+#: lto/lto.cc:210
 #, gcc-internal-format
 msgid "streaming subprocess was killed by signal"
 msgstr ""
 
-#: lto/lto.cc:294
+#: lto/lto.cc:317
 #, gcc-internal-format
 msgid "no LTRANS output list filename provided"
 msgstr ""
 
-#: lto/lto.cc:402
+#: lto/lto.cc:425
 #, gcc-internal-format
 msgid "opening LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.cc:409
+#: lto/lto.cc:432
 #, gcc-internal-format
 msgid "writing to LTRANS output list %s: %m"
 msgstr ""
 
-#: lto/lto.cc:419
+#: lto/lto.cc:442
 #, gcc-internal-format
 msgid "closing LTRANS output list %s: %m"
 msgstr ""
 
+#: m2/gm2-lang.cc:994
+#, gcc-internal-format
+msgid "cannot convert expression, only base types can be converted"
+msgstr ""
+
+#. Not found, probably a user typo.
+#: m2/gm2spec.cc:309
+#, gcc-internal-format
+msgid "%qs is not a valid Modula-2 system library name or abbreviation"
+msgstr ""
+
+#: m2/gm2spec.cc:627 m2/gm2spec.cc:635
+#, gcc-internal-format
+msgid "%qs and %qs cannot both be enabled"
+msgstr ""
+
+#: m2/gm2-gcc/m2assert.cc:40
+#, gcc-internal-format
+msgid "the location value is corrupt"
+msgstr ""
+
+#: m2/gm2-gcc/m2builtins.cc:43
+#, gcc-internal-format, gfc-internal-format
+msgid "%s:%d:assertion of condition `%s' failed"
+msgstr ""
+
+#: m2/gm2-gcc/m2builtins.cc:49
+#, gcc-internal-format, gfc-internal-format
+msgid "%s:%d:%s"
+msgstr ""
+
+#: m2/gm2-gcc/m2convert.cc:111
+#, gcc-internal-format
+msgid "negative integer implicitly converted to unsigned type"
+msgstr ""
+
+#: m2/gm2-gcc/m2convert.cc:118
+#, gcc-internal-format
+msgid "conversion of unsigned constant value to negative integer"
+msgstr ""
+
+#: m2/gm2-gcc/m2convert.cc:199 m2/gm2-gcc/m2convert.cc:203
+#, gcc-internal-format
+msgid "conversion to %qT alters %qT constant value"
+msgstr ""
+
+#: m2/gm2-gcc/m2convert.cc:224 m2/gm2-gcc/m2convert.cc:228
+#, gcc-internal-format
+msgid "conversion to %qT from %qT may alter its value"
+msgstr ""
+
+#: m2/gm2-gcc/m2convert.cc:260
+#, gcc-internal-format
+msgid "large integer implicitly truncated to unsigned type"
+msgstr ""
+
+#: m2/gm2-gcc/m2convert.cc:266 m2/gm2-gcc/m2convert.cc:272
+#: m2/gm2-gcc/m2convert.cc:281
+#, gcc-internal-format
+msgid "overflow in implicit constant conversion"
+msgstr ""
+
+#: m2/gm2-gcc/m2decl.cc:121
+#, gcc-internal-format
+msgid "storage size of %qD has not been resolved"
+msgstr ""
+
+#: m2/gm2-gcc/m2decl.cc:124
+#, gcc-internal-format
+msgid "inconsistant because %qs"
+msgstr ""
+
+#: m2/gm2-gcc/m2decl.cc:300 m2/gm2-gcc/m2decl.cc:333
+#, gcc-internal-format
+msgid "constant %qs is too large"
+msgstr ""
+
+#: m2/gm2-gcc/m2expr.cc:2587
+#, gcc-internal-format
+msgid "not expecting different types to binary operator"
+msgstr ""
+
+#: m2/gm2-gcc/m2expr.cc:2848
+#, gcc-internal-format
+msgid "cannot take the address of this expression"
+msgstr ""
+
+#: m2/gm2-gcc/m2expr.cc:3615
+#, gcc-internal-format
+msgid "argument to CAP is not a constant or variable of type CHAR"
+msgstr ""
+
+#: m2/gm2-gcc/m2expr.cc:3833 m2/gm2-gcc/m2statement.cc:539
+#, gcc-internal-format
+msgid "internal error: not expecting operand1 to be a constant set"
+msgstr ""
+
+#: m2/gm2-gcc/m2expr.cc:3884 m2/gm2-gcc/m2expr.cc:4007
+#, gcc-internal-format
+msgid "internal error: not expecting this base value for a constant"
+msgstr ""
+
+#: m2/gm2-gcc/m2expr.cc:4128
+#, gcc-internal-format
+msgid "%qs applied to a void type"
+msgstr ""
+
+#: m2/gm2-gcc/m2expr.cc:4149 m2/gm2-gcc/m2expr.cc:4193
+#, gcc-internal-format
+msgid "%qs applied to an incomplete type"
+msgstr ""
+
+#: m2/gm2-gcc/m2statement.cc:933
+#, gcc-internal-format
+msgid "expecting one and only one label to be declared"
+msgstr ""
+
+#: m2/gm2-gcc/m2treelib.cc:290
+#, gcc-internal-format
+msgid "field number exceeds definition of set"
+msgstr ""
+
+#: m2/gm2-gcc/m2treelib.cc:295
+#, gcc-internal-format
+msgid "field number out of range trying to access set element"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:223
+#, gcc-internal-format
+msgid "array declaration canonicalization has failed"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:314
+#, gcc-internal-format
+msgid "low bound for the array is outside the ztype limits"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:316
+#, gcc-internal-format
+msgid "high bound for the array is outside the ztype limits"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:923
+#, gcc-internal-format
+msgid "set base type must be an ordinal type"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:953
+#, gcc-internal-format
+msgid "ordinal type expected"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:962
+#, 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:1976
+#, gcc-internal-format
+msgid "redeclaration of enum %qs"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2042
+#, gcc-internal-format
+msgid "enumeration values exceed range of integer"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2276
+#, gcc-internal-format
+msgid "set type cannot be initialized with a %qs"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2283
+#, gcc-internal-format
+msgid "set type does not take another integer value"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2408
+#, gcc-internal-format
+msgid "array cannot be initialized with a %qs"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2414
+#, gcc-internal-format
+msgid "array type must be initialized"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2421
+#, gcc-internal-format
+msgid "array element value must be the same type as its declaration"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2484
+#, gcc-internal-format
+msgid "low bound for the subrange has overflowed"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2486
+#, gcc-internal-format
+msgid "high bound for the subrange has overflowed"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2783
+#, gcc-internal-format
+msgid "requested alignment is not a constant"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2785
+#, gcc-internal-format
+msgid "requested alignment is not a power of 2"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2787
+#, gcc-internal-format
+msgid "requested alignment is too large"
+msgstr ""
+
+#: m2/gm2-gcc/m2type.cc:2814
+#, gcc-internal-format
+msgid "alignment may not be specified for %qD"
+msgstr ""
+
 #: objc/objc-act.cc:425 objc/objc-act.cc:6964
 #, gcc-internal-format
 msgid "%<@end%> missing in implementation context"
@@ -81675,8 +83954,8 @@ msgstr ""
 #: objc/objc-act.cc:5796
 #, gcc-internal-format
 msgid ""
-"(messages without a matching method signature will be assumed to return %<id"
-"%> and accept %<...%> as arguments)"
+"(messages without a matching method signature will be assumed to return "
+"%<id%> and accept %<...%> as arguments)"
 msgstr ""
 
 #: objc/objc-act.cc:5914
@@ -82082,3 +84361,58 @@ msgstr ""
 #, gcc-internal-format
 msgid "creating selector for nonexistent method %qE"
 msgstr ""
+
+#: rust/rust-gcc-diagnostics.cc:33
+#, gcc-internal-format, gfc-internal-format
+msgid "at %s, %s"
+msgstr ""
+
+#: rust/rust-lang.cc:104
+#, gcc-internal-format
+msgid "TODO"
+msgstr ""
+
+#: rust/backend/rust-constexpr.cc:1675
+#, gcc-internal-format
+msgid "array size expression is not supported yet"
+msgstr ""
+
+#: rust/backend/rust-constexpr.cc:1802
+#, gcc-internal-format
+msgid "constant folding not supported for this tree code"
+msgstr ""
+
+#: rust/backend/rust-constexpr.cc:6181
+#, gcc-internal-format
+msgid "%qD declared %<thread_local%> in %<constexpr%> context"
+msgstr ""
+
+#: rust/backend/rust-constexpr.cc:6190
+#, gcc-internal-format
+msgid "%qD declared %<static%> in %<constexpr%> context"
+msgstr ""
+
+#: rust/backend/rust-tree.cc:617
+#, gcc-internal-format
+msgid "ignoring return value of %qD, that must be used: %<%s%>"
+msgstr ""
+
+#: rust/backend/rust-tree.cc:618
+#, gcc-internal-format
+msgid "ignoring return value of %qD, that must be used"
+msgstr ""
+
+#: rust/backend/rust-tree.cc:634
+#, gcc-internal-format
+msgid "ignoring returned value of type %qT, that must be used: %<%s%>"
+msgstr ""
+
+#: rust/backend/rust-tree.cc:635
+#, gcc-internal-format
+msgid "ignoring returned value of type %qT, that must be used"
+msgstr ""
+
+#: rust/checks/lints/rust-lint-unused-var.cc:51
+#, gcc-internal-format
+msgid "unused name %qE"
+msgstr ""
index 7363759..873bb76 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: 2022-02-11 23:02+0000\n"
+"POT-Creation-Date: 2023-02-10 22:39+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"
@@ -37,7 +37,7 @@ msgid "character 0x%lx is not in the basic source character set\n"
 msgstr ""
 
 #: charset.cc:811
-#: charset.cc:1800
+#: charset.cc:2420
 msgid "converting to execution character set"
 msgstr ""
 
@@ -46,129 +46,215 @@ msgstr ""
 msgid "character 0x%lx is not unibyte in execution character set"
 msgstr ""
 
-#: charset.cc:1087
+#: charset.cc:1437
 msgid "universal character names are only valid in C++ and C99"
 msgstr ""
 
-#: charset.cc:1091
+#: charset.cc:1441
 msgid "C99's universal character names are incompatible with C90"
 msgstr ""
 
-#: charset.cc:1094
+#: charset.cc:1444
 #, c-format
 msgid "the meaning of '\\%c' is different in traditional C"
 msgstr ""
 
-#: charset.cc:1103
+#: charset.cc:1483
+msgid "'\\N' not followed by '{'"
+msgstr ""
+
+#: charset.cc:1513
+msgid ""
+"empty named universal character escape sequence; treating it as separate "
+"tokens"
+msgstr ""
+
+#: charset.cc:1520
+msgid "empty named universal character escape sequence"
+msgstr ""
+
+#: charset.cc:1525
+msgid "named universal character escapes are only valid in C++23"
+msgstr ""
+
+#: charset.cc:1545
+#, c-format
+msgid ""
+"\\N{%.*s} is not a valid universal character; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1551
+#, c-format
+msgid "\\N{%.*s} is not a valid universal character"
+msgstr ""
+
+#: charset.cc:1561
+#, c-format
+msgid "did you mean \\N{%s}?"
+msgstr ""
+
+#: charset.cc:1579
+#, c-format
+msgid ""
+"'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1588
+#, c-format
+msgid "'\\N{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1596
 msgid "In _cpp_valid_ucn but not a UCN"
 msgstr ""
 
-#: charset.cc:1136
+#: charset.cc:1638
+msgid "empty delimited escape sequence; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1645
+#: charset.cc:1978
+#: charset.cc:2081
+msgid "empty delimited escape sequence"
+msgstr ""
+
+#: charset.cc:1649
+#: charset.cc:1984
+#: charset.cc:2087
+msgid "delimited escape sequences are only valid in C++23"
+msgstr ""
+
+#: charset.cc:1663
+#, c-format
+msgid ""
+"'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
+msgstr ""
+
+#: charset.cc:1675
 #, c-format
 msgid "incomplete universal character name %.*s"
 msgstr ""
 
-#: charset.cc:1151
+#: charset.cc:1679
+#, c-format
+msgid "'\\u{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:1694
 #, c-format
 msgid "%.*s is not a valid universal character"
 msgstr ""
 
-#: charset.cc:1161
-#: lex.cc:1876
+#: charset.cc:1704
+#: lex.cc:2079
 msgid "'$' in identifier or number"
 msgstr ""
 
-#: charset.cc:1171
+#: charset.cc:1714
 #, c-format
 msgid "universal character %.*s is not valid in an identifier"
 msgstr ""
 
-#: charset.cc:1175
+#: charset.cc:1718
 #, c-format
 msgid "universal character %.*s is not valid at the start of an identifier"
 msgstr ""
 
-#: charset.cc:1182
+#: charset.cc:1725
 #, c-format
 msgid "%.*s is outside the UCS codespace"
 msgstr ""
 
-#: charset.cc:1227
-#: charset.cc:2145
+#: charset.cc:1769
+#: charset.cc:2797
 msgid "converting UCN to source character set"
 msgstr ""
 
-#: charset.cc:1234
+#: charset.cc:1776
 msgid "converting UCN to execution character set"
 msgstr ""
 
-#: charset.cc:1298
+#: charset.cc:1840
 #, c-format
 msgid "extended character %.*s is not valid in an identifier"
 msgstr ""
 
-#: charset.cc:1315
+#: charset.cc:1857
 #, c-format
 msgid "extended character %.*s is not valid at the start of an identifier"
 msgstr ""
 
-#: charset.cc:1401
+#: charset.cc:1945
 msgid "the meaning of '\\x' is different in traditional C"
 msgstr ""
 
-#: charset.cc:1426
+#: charset.cc:1992
 msgid "\\x used with no following hex digits"
 msgstr ""
 
-#: charset.cc:1433
+#: charset.cc:1998
+#, c-format
+msgid "'\\x{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2006
 msgid "hex escape sequence out of range"
 msgstr ""
 
-#: charset.cc:1483
+#: charset.cc:2049
+msgid "'\\o' not followed by '{'"
+msgstr ""
+
+#: charset.cc:2093
+#, c-format
+msgid "'\\o{' not terminated with '}' after %.*s"
+msgstr ""
+
+#: charset.cc:2102
 msgid "octal escape sequence out of range"
 msgstr ""
 
-#: charset.cc:1564
+#: charset.cc:2184
 msgid "the meaning of '\\a' is different in traditional C"
 msgstr ""
 
-#: charset.cc:1571
+#: charset.cc:2191
 #, c-format
 msgid "non-ISO-standard escape sequence, '\\%c'"
 msgstr ""
 
-#: charset.cc:1579
+#: charset.cc:2199
 #, c-format
 msgid "unknown escape sequence: '\\%c'"
 msgstr ""
 
-#: charset.cc:1589
+#: charset.cc:2209
 #, c-format
 msgid "unknown escape sequence: '\\%s'"
 msgstr ""
 
-#: charset.cc:1597
+#: charset.cc:2217
 msgid "converting escape sequence to execution character set"
 msgstr ""
 
-#: charset.cc:1737
+#: charset.cc:2357
 msgid "missing open quote"
 msgstr ""
 
-#: charset.cc:1955
-#: charset.cc:2034
+#: charset.cc:2575
+#: charset.cc:2658
 msgid "character constant too long for its type"
 msgstr ""
 
-#: charset.cc:1958
+#: charset.cc:2578
 msgid "multi-character character constant"
 msgstr ""
 
-#: charset.cc:2074
+#: charset.cc:2698
 msgid "empty character constant"
 msgstr ""
 
-#: charset.cc:2230
+#: charset.cc:2882
 #, c-format
 msgid "failure to convert %s to %s"
 msgstr ""
@@ -184,279 +270,282 @@ msgstr ""
 msgid "#%s is a GCC extension"
 msgstr ""
 
-#: directives.cc:392
+#: directives.cc:394
+#: directives.cc:2152
+#: directives.cc:2191
+#, c-format
+msgid "#%s before C++23 is a GCC extension"
+msgstr ""
+
+#: directives.cc:397
+#: directives.cc:401
+#: directives.cc:2156
+#: directives.cc:2195
+#, c-format
+msgid "#%s before C2X is a GCC extension"
+msgstr ""
+
+#: directives.cc:407
 #, c-format
 msgid "#%s is a deprecated GCC extension"
 msgstr ""
 
-#: directives.cc:405
+#: directives.cc:420
 msgid "suggest not using #elif in traditional C"
 msgstr ""
 
-#: directives.cc:408
+#: directives.cc:423
 #, c-format
 msgid "traditional C ignores #%s with the # indented"
 msgstr ""
 
-#: directives.cc:412
+#: directives.cc:427
 #, c-format
 msgid "suggest hiding #%s from traditional C with an indented #"
 msgstr ""
 
-#: directives.cc:438
+#: directives.cc:453
 msgid "embedding a directive within macro arguments is not portable"
 msgstr ""
 
-#: directives.cc:466
+#: directives.cc:481
 msgid "style of line directive is a GCC extension"
 msgstr ""
 
-#: directives.cc:541
+#: directives.cc:556
 #, c-format
 msgid "invalid preprocessing directive #%s; did you mean #%s?"
 msgstr ""
 
-#: directives.cc:547
+#: directives.cc:562
 #, c-format
 msgid "invalid preprocessing directive #%s"
 msgstr ""
 
-#: directives.cc:617
+#: directives.cc:632
 #, c-format
 msgid "\"%s\" cannot be used as a macro name"
 msgstr ""
 
-#: directives.cc:624
+#: directives.cc:639
 #, c-format
 msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
 msgstr ""
 
-#: directives.cc:627
+#: directives.cc:642
 #, c-format
 msgid "no macro name given in #%s directive"
 msgstr ""
 
-#: directives.cc:630
+#: directives.cc:645
 msgid "macro names must be identifiers"
 msgstr ""
 
-#: directives.cc:679
-#: directives.cc:684
+#: directives.cc:694
+#: directives.cc:699
 #, c-format
 msgid "undefining \"%s\""
 msgstr ""
 
-#: directives.cc:741
+#: directives.cc:756
 msgid "missing terminating > character"
 msgstr ""
 
-#: directives.cc:800
+#: directives.cc:815
 #, c-format
 msgid "#%s expects \"FILENAME\" or <FILENAME>"
 msgstr ""
 
-#: directives.cc:846
+#: directives.cc:861
 #, c-format
 msgid "empty filename in #%s"
 msgstr ""
 
-#: directives.cc:855
+#: directives.cc:870
 #, c-format
 msgid ""
 "#include nested depth %u exceeds maximum of %u (use -fmax-include-"
 "depth=DEPTH to increase the maximum)"
 msgstr ""
 
-#: directives.cc:900
+#: directives.cc:915
 msgid "#include_next in primary source file"
 msgstr ""
 
-#: directives.cc:926
+#: directives.cc:941
 #, c-format
 msgid "invalid flag \"%s\" in line directive"
 msgstr ""
 
-#: directives.cc:993
+#: directives.cc:1008
 msgid "unexpected end of file after #line"
 msgstr ""
 
-#: directives.cc:996
+#: directives.cc:1011
 #, c-format
 msgid "\"%s\" after #line is not a positive integer"
 msgstr ""
 
-#: directives.cc:1002
-#: directives.cc:1004
+#: directives.cc:1017
+#: directives.cc:1019
 msgid "line number out of range"
 msgstr ""
 
-#: directives.cc:1017
-#: directives.cc:1098
+#: directives.cc:1032
+#: directives.cc:1113
 #, c-format
 msgid "\"%s\" is not a valid filename"
 msgstr ""
 
-#: directives.cc:1058
+#: directives.cc:1073
 #, c-format
 msgid "\"%s\" after # is not a positive integer"
 msgstr ""
 
-#: directives.cc:1125
+#: directives.cc:1140
 #, c-format
 msgid "file \"%s\" linemarker ignored due to incorrect nesting"
 msgstr ""
 
-#: directives.cc:1203
-#: directives.cc:1205
-#: directives.cc:1207
-#: directives.cc:1795
+#: directives.cc:1218
+#: directives.cc:1220
+#: directives.cc:1222
+#: directives.cc:1810
 #, c-format
 msgid "%s"
 msgstr ""
 
-#: directives.cc:1231
+#: directives.cc:1246
 #, c-format
 msgid "invalid #%s directive"
 msgstr ""
 
-#: directives.cc:1294
+#: directives.cc:1309
 #, c-format
 msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
 msgstr ""
 
-#: directives.cc:1303
+#: directives.cc:1318
 #, c-format
 msgid "registering pragma \"%s\" with name expansion and no namespace"
 msgstr ""
 
-#: directives.cc:1321
+#: directives.cc:1336
 #, c-format
 msgid "registering \"%s\" as both a pragma and a pragma namespace"
 msgstr ""
 
-#: directives.cc:1324
+#: directives.cc:1339
 #, c-format
 msgid "#pragma %s %s is already registered"
 msgstr ""
 
-#: directives.cc:1327
+#: directives.cc:1342
 #, c-format
 msgid "#pragma %s is already registered"
 msgstr ""
 
-#: directives.cc:1357
+#: directives.cc:1372
 msgid "registering pragma with NULL handler"
 msgstr ""
 
-#: directives.cc:1574
+#: directives.cc:1589
 msgid "#pragma once in main file"
 msgstr ""
 
-#: directives.cc:1597
+#: directives.cc:1612
 msgid "invalid #pragma push_macro directive"
 msgstr ""
 
-#: directives.cc:1654
+#: directives.cc:1669
 msgid "invalid #pragma pop_macro directive"
 msgstr ""
 
-#: directives.cc:1709
+#: directives.cc:1724
 msgid "invalid #pragma GCC poison directive"
 msgstr ""
 
-#: directives.cc:1718
+#: directives.cc:1733
 #, c-format
 msgid "poisoning existing macro \"%s\""
 msgstr ""
 
-#: directives.cc:1737
+#: directives.cc:1752
 msgid "#pragma system_header ignored outside include file"
 msgstr ""
 
-#: directives.cc:1762
+#: directives.cc:1777
 #, c-format
 msgid "cannot find source file %s"
 msgstr ""
 
-#: directives.cc:1766
+#: directives.cc:1781
 #, c-format
 msgid "current file is older than %s"
 msgstr ""
 
-#: directives.cc:1790
+#: directives.cc:1805
 #, c-format
 msgid "invalid \"#pragma GCC %s\" directive"
 msgstr ""
 
-#: directives.cc:1992
+#: directives.cc:2008
 msgid "_Pragma takes a parenthesized string literal"
 msgstr ""
 
-#: directives.cc:2075
+#: directives.cc:2091
 msgid "#else without #if"
 msgstr ""
 
-#: directives.cc:2080
+#: directives.cc:2096
 msgid "#else after #else"
 msgstr ""
 
-#: directives.cc:2082
-#: directives.cc:2116
+#: directives.cc:2098
+#: directives.cc:2132
 msgid "the conditional began here"
 msgstr ""
 
-#: directives.cc:2108
+#: directives.cc:2124
 #, c-format
 msgid "#%s without #if"
 msgstr ""
 
-#: directives.cc:2113
+#: directives.cc:2129
 #, c-format
 msgid "#%s after #else"
 msgstr ""
 
-#: directives.cc:2136
-#: directives.cc:2175
-#, c-format
-msgid "#%s before C++23 is a GCC extension"
-msgstr ""
-
-#: directives.cc:2140
-#: directives.cc:2179
-#, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr ""
-
-#: directives.cc:2215
+#: directives.cc:2231
 msgid "#endif without #if"
 msgstr ""
 
-#: directives.cc:2291
+#: directives.cc:2307
 msgid "missing '(' after predicate"
 msgstr ""
 
-#: directives.cc:2309
+#: directives.cc:2325
 msgid "missing ')' to complete answer"
 msgstr ""
 
-#: directives.cc:2321
+#: directives.cc:2337
 msgid "predicate's answer is empty"
 msgstr ""
 
-#: directives.cc:2351
+#: directives.cc:2367
 msgid "assertion without predicate"
 msgstr ""
 
-#: directives.cc:2354
+#: directives.cc:2370
 msgid "predicate must be an identifier"
 msgstr ""
 
-#: directives.cc:2436
+#: directives.cc:2452
 #, c-format
 msgid "\"%s\" re-asserted"
 msgstr ""
 
-#: directives.cc:2754
+#: directives.cc:2770
 #, c-format
 msgid "unterminated #%s"
 msgstr ""
@@ -471,180 +560,180 @@ msgstr ""
 msgid "stdout"
 msgstr ""
 
-#: expr.cc:632
-#: expr.cc:749
+#: expr.cc:646
+#: expr.cc:763
 msgid "fixed-point constants are a GCC extension"
 msgstr ""
 
-#: expr.cc:657
+#: expr.cc:671
 msgid "invalid prefix \"0b\" for floating constant"
 msgstr ""
 
-#: expr.cc:670
+#: expr.cc:684
 msgid "use of C++17 hexadecimal floating constant"
 msgstr ""
 
-#: expr.cc:673
+#: expr.cc:687
 msgid "use of C99 hexadecimal floating constant"
 msgstr ""
 
-#: expr.cc:717
+#: expr.cc:731
 #, c-format
 msgid "invalid suffix \"%.*s\" on floating constant"
 msgstr ""
 
-#: expr.cc:728
-#: expr.cc:795
+#: expr.cc:742
+#: expr.cc:809
 #, c-format
 msgid "traditional C rejects the \"%.*s\" suffix"
 msgstr ""
 
-#: expr.cc:736
+#: expr.cc:750
 msgid "suffix for double constant is a GCC extension"
 msgstr ""
 
-#: expr.cc:742
+#: expr.cc:756
 #, c-format
 msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
 msgstr ""
 
-#: expr.cc:755
-#: expr.cc:759
+#: expr.cc:769
+#: expr.cc:773
 msgid "decimal float constants are a C2X feature"
 msgstr ""
 
-#: expr.cc:778
+#: expr.cc:792
 #, c-format
 msgid "invalid suffix \"%.*s\" on integer constant"
 msgstr ""
 
-#: expr.cc:803
+#: expr.cc:817
 msgid "use of C++11 long long integer constant"
 msgstr ""
 
-#: expr.cc:804
+#: expr.cc:818
 msgid "use of C99 long long integer constant"
 msgstr ""
 
-#: expr.cc:818
+#: expr.cc:832
 msgid "use of C++23 %<size_t%> integer constant"
 msgstr ""
 
-#: expr.cc:819
+#: expr.cc:833
 msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
 msgstr ""
 
-#: expr.cc:830
+#: expr.cc:844
 msgid "imaginary constants are a GCC extension"
 msgstr ""
 
-#: expr.cc:837
+#: expr.cc:851
 msgid "binary constants are a C++14 feature or GCC extension"
 msgstr ""
 
-#: expr.cc:839
+#: expr.cc:853
 msgid "binary constants are a C2X feature or GCC extension"
 msgstr ""
 
-#: expr.cc:844
+#: expr.cc:858
 msgid "binary constants are a C2X feature"
 msgstr ""
 
-#: expr.cc:940
+#: expr.cc:954
 msgid "integer constant is too large for its type"
 msgstr ""
 
-#: expr.cc:971
+#: expr.cc:985
 msgid "integer constant is so large that it is unsigned"
 msgstr ""
 
-#: expr.cc:1066
+#: expr.cc:1080
 msgid "missing ')' after \"defined\""
 msgstr ""
 
-#: expr.cc:1073
+#: expr.cc:1087
 msgid "operator \"defined\" requires an identifier"
 msgstr ""
 
-#: expr.cc:1081
+#: expr.cc:1095
 #, c-format
 msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
 msgstr ""
 
-#: expr.cc:1094
+#: expr.cc:1108
 msgid "this use of \"defined\" may not be portable"
 msgstr ""
 
-#: expr.cc:1139
+#: expr.cc:1153
 msgid "user-defined literal in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1144
+#: expr.cc:1158
 msgid "floating constant in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1150
+#: expr.cc:1164
 msgid "imaginary number in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1199
+#: expr.cc:1213
 #, c-format
 msgid "\"%s\" is not defined, evaluates to 0"
 msgstr ""
 
-#: expr.cc:1212
+#: expr.cc:1226
 msgid "assertions are a GCC extension"
 msgstr ""
 
-#: expr.cc:1215
+#: expr.cc:1229
 msgid "assertions are a deprecated extension"
 msgstr ""
 
-#: expr.cc:1461
+#: expr.cc:1479
 #, c-format
 msgid "unbalanced stack in %s"
 msgstr ""
 
-#: expr.cc:1481
+#: expr.cc:1499
 #, c-format
 msgid "impossible operator '%u'"
 msgstr ""
 
-#: expr.cc:1582
+#: expr.cc:1600
 msgid "missing ')' in expression"
 msgstr ""
 
-#: expr.cc:1611
+#: expr.cc:1629
 msgid "'?' without following ':'"
 msgstr ""
 
-#: expr.cc:1621
+#: expr.cc:1639
 msgid "integer overflow in preprocessor expression"
 msgstr ""
 
-#: expr.cc:1626
+#: expr.cc:1644
 msgid "missing '(' in expression"
 msgstr ""
 
-#: expr.cc:1658
+#: expr.cc:1676
 #, c-format
 msgid "the left operand of \"%s\" changes sign when promoted"
 msgstr ""
 
-#: expr.cc:1663
+#: expr.cc:1681
 #, c-format
 msgid "the right operand of \"%s\" changes sign when promoted"
 msgstr ""
 
-#: expr.cc:1922
+#: expr.cc:1940
 msgid "traditional C rejects the unary plus operator"
 msgstr ""
 
-#: expr.cc:2020
+#: expr.cc:2038
 msgid "comma operator in operand of #if"
 msgstr ""
 
-#: expr.cc:2156
+#: expr.cc:2174
 msgid "division by zero in #if"
 msgstr ""
 
@@ -684,231 +773,259 @@ msgstr ""
 msgid "Multiple include guards may be useful for:\n"
 msgstr ""
 
-#: init.cc:618
+#: init.cc:631
 msgid "cppchar_t must be an unsigned type"
 msgstr ""
 
-#: init.cc:622
+#: init.cc:635
 #, c-format
 msgid ""
 "preprocessor arithmetic has maximum precision of %lu bits; target requires "
 "%lu bits"
 msgstr ""
 
-#: init.cc:629
+#: init.cc:642
 msgid "CPP arithmetic must be at least as precise as a target int"
 msgstr ""
 
-#: init.cc:632
+#: init.cc:645
 msgid "target char is less than 8 bits wide"
 msgstr ""
 
-#: init.cc:636
+#: init.cc:649
 msgid "target wchar_t is narrower than target char"
 msgstr ""
 
-#: init.cc:640
+#: init.cc:653
 msgid "target int is narrower than target char"
 msgstr ""
 
-#: init.cc:645
+#: init.cc:658
 msgid "CPP half-integer narrower than CPP character"
 msgstr ""
 
-#: init.cc:649
+#: init.cc:662
 #, c-format
 msgid ""
 "CPP on this host cannot handle wide character constants over %lu bits, but "
 "the target requires %lu bits"
 msgstr ""
 
-#: lex.cc:1126
+#: lex.cc:1132
 msgid "backslash and newline separated by space"
 msgstr ""
 
-#: lex.cc:1131
+#: lex.cc:1137
 msgid "backslash-newline at end of file"
 msgstr ""
 
-#: lex.cc:1147
+#: lex.cc:1153
 #, c-format
 msgid "trigraph ??%c converted to %c"
 msgstr ""
 
-#: lex.cc:1155
+#: lex.cc:1161
 #, c-format
 msgid "trigraph ??%c ignored, use -trigraphs to enable"
 msgstr ""
 
-#: lex.cc:1536
+#: lex.cc:1610
 msgid "end of bidirectional context"
 msgstr ""
 
-#: lex.cc:1577
+#: lex.cc:1651
 msgid "unpaired UTF-8 bidirectional control characters detected"
 msgstr ""
 
-#: lex.cc:1581
+#: lex.cc:1655
 msgid "unpaired UTF-8 bidirectional control character detected"
 msgstr ""
 
-#: lex.cc:1619
+#: lex.cc:1693
 #, c-format
 msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
 msgstr ""
 
-#: lex.cc:1628
+#: lex.cc:1702
 #, c-format
 msgid "\"%s\" is closing an unopened context"
 msgstr ""
 
-#: lex.cc:1632
+#: lex.cc:1706
 #, c-format
 msgid "found problematic Unicode character \"%s\""
 msgstr ""
 
-#: lex.cc:1682
+#: lex.cc:1736
+#: lex.cc:1742
+#, c-format
+msgid "invalid UTF-8 character <%x>"
+msgstr ""
+
+#: lex.cc:1752
+#: lex.cc:1758
+#, c-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>"
+msgstr ""
+
+#: lex.cc:1784
+#: lex.cc:1790
+#, c-format
+msgid "invalid UTF-8 character <%x><%x><%x><%x>"
+msgstr ""
+
+#: lex.cc:1872
 msgid "\"/*\" within comment"
 msgstr ""
 
-#: lex.cc:1772
+#: lex.cc:1976
 #, c-format
 msgid "%s in preprocessing directive"
 msgstr ""
 
-#: lex.cc:1784
+#: lex.cc:1988
 msgid "null character(s) ignored"
 msgstr ""
 
-#: lex.cc:1844
+#: lex.cc:2049
 #, c-format
 msgid "`%.*s' is not in NFKC"
 msgstr ""
 
-#: lex.cc:1847
-#: lex.cc:1850
+#: lex.cc:2052
+#: lex.cc:2055
 #, c-format
 msgid "`%.*s' is not in NFC"
 msgstr ""
 
-#: lex.cc:1932
+#: lex.cc:2141
 msgid "__VA_OPT__ is not available until C++20"
 msgstr ""
 
-#: lex.cc:1939
+#: lex.cc:2144
+msgid "__VA_OPT__ is not available until C2X"
+msgstr ""
+
+#: lex.cc:2152
 msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
 msgstr ""
 
-#: lex.cc:1970
-#: lex.cc:2066
+#: lex.cc:2183
+#: lex.cc:2279
 #, c-format
 msgid "attempt to use poisoned \"%s\""
 msgstr ""
 
-#: lex.cc:1980
-#: lex.cc:2076
+#: lex.cc:2193
+#: lex.cc:2289
 msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
 msgstr ""
 
-#: lex.cc:1984
-#: lex.cc:2080
+#: lex.cc:2197
+#: lex.cc:2293
 msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
 msgstr ""
 
-#: lex.cc:1994
-#: lex.cc:2092
+#: lex.cc:2207
+#: lex.cc:2305
 #, c-format
 msgid "identifier \"%s\" is a special operator name in C++"
 msgstr ""
 
-#: lex.cc:2132
+#: lex.cc:2345
 msgid "adjacent digit separators"
 msgstr ""
 
-#: lex.cc:2450
+#: lex.cc:2665
 msgid "raw string delimiter longer than 16 characters"
 msgstr ""
 
-#: lex.cc:2454
+#: lex.cc:2669
 msgid "invalid new-line in raw string delimiter"
 msgstr ""
 
-#: lex.cc:2458
-#: lex.cc:5257
+#: lex.cc:2673
+#: lex.cc:5519
 #, c-format
 msgid "invalid character '%c' in raw string delimiter"
 msgstr ""
 
-#: lex.cc:2497
-#: lex.cc:2520
+#: lex.cc:2711
+#: lex.cc:2734
 msgid "unterminated raw string"
 msgstr ""
 
-#: lex.cc:2552
-#: lex.cc:2701
+#: lex.cc:2770
+#: lex.cc:2922
 msgid ""
 "invalid suffix on literal; C++11 requires a space between literal and string "
 "macro"
 msgstr ""
 
-#: lex.cc:2684
+#: lex.cc:2905
 msgid "null character(s) preserved in literal"
 msgstr ""
 
-#: lex.cc:2687
+#: lex.cc:2908
 #, c-format
 msgid "missing terminating %c character"
 msgstr ""
 
-#: lex.cc:2719
+#: lex.cc:2940
 msgid "C++11 requires a space between string literal and macro"
 msgstr ""
 
-#: lex.cc:3312
+#: lex.cc:3533
 msgid "module control-line cannot be in included file"
 msgstr ""
 
-#: lex.cc:3326
+#: lex.cc:3547
 #, c-format
 msgid "module control-line \"%s\" cannot be an object-like macro"
 msgstr ""
 
-#: lex.cc:3714
-#: lex.cc:5090
+#: lex.cc:3949
+#: lex.cc:5352
 #: traditional.cc:174
 msgid "unterminated comment"
 msgstr ""
 
-#: lex.cc:3728
-#: lex.cc:3762
+#: lex.cc:3963
+#: lex.cc:3997
 msgid "C++ style comments are not allowed in ISO C90"
 msgstr ""
 
-#: lex.cc:3730
-#: lex.cc:3741
-#: lex.cc:3765
+#: lex.cc:3965
+#: lex.cc:3976
+#: lex.cc:4000
 msgid "(this will be reported only once per input file)"
 msgstr ""
 
-#: lex.cc:3739
+#: lex.cc:3974
 msgid "C++ style comments are incompatible with C90"
 msgstr ""
 
-#: lex.cc:3771
+#: lex.cc:4006
 msgid "multi-line comment"
 msgstr ""
 
-#: lex.cc:4165
+#: lex.cc:4427
 #, c-format
 msgid "unspellable token %s"
 msgstr ""
 
-#: lex.cc:5245
+#: lex.cc:5507
 #, c-format
 msgid "raw string delimiter longer than %d characters"
 msgstr ""
 
-#: lex.cc:5315
+#: lex.cc:5577
 msgid "unterminated literal"
 msgstr ""