diff -Nrcpad gcc-16-20260308/LAST_UPDATED gcc-16-20260315/LAST_UPDATED
*** gcc-16-20260308/LAST_UPDATED	Sun Mar  8 22:32:19 2026
--- gcc-16-20260315/LAST_UPDATED	Sun Mar 15 22:32:21 2026
***************
*** 1 ****
! Obtained from git: master revision 8ee479c278104ab6f1755e82c323fbb81c82ce79
--- 1 ----
! Obtained from git: master revision 172f92a464f64b3d6e0a6835882c6cbab36ffc3e
diff -Nrcpad gcc-16-20260308/MD5SUMS gcc-16-20260315/MD5SUMS
*** gcc-16-20260308/MD5SUMS	Sun Mar  8 22:32:24 2026
--- gcc-16-20260315/MD5SUMS	Sun Mar 15 22:32:26 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-16-20260308.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-16-20260315.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** d32239bcb673463ab874e80d47fae504  COPYIN
*** 28,34 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 07e837f5578039740d5727baf49a6551  LAST_UPDATED
  b8fa044b3336d9cc6214e6ff3e9b467d  MAINTAINERS
  af43617880b3cd9c10627c97e639d29e  Makefile.def
  734342371d8ccc2c81cb2d8b3d040f33  Makefile.in
--- 28,34 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! a255a7f1328375a6d0009e526579ac58  LAST_UPDATED
  b8fa044b3336d9cc6214e6ff3e9b467d  MAINTAINERS
  af43617880b3cd9c10627c97e639d29e  Makefile.def
  734342371d8ccc2c81cb2d8b3d040f33  Makefile.in
*************** e2dc6b4fd62b77bff96b7951ef74f78f  config
*** 159,165 ****
  db74a73c3c9c3cc71edec37c2436e082  config/zstd.m4
  f4a7d891c0d09f14fb5ed903f0475fc2  configure
  ed59804e21951f404fa6ecd283c6ffa3  configure.ac
! c44a582df4cb2c70130ae718e23b5878  contrib/ChangeLog
  5fc435c7928f858246df931ea3f3ece7  contrib/ChangeLog.jit
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
  0928ae42250fbb57246cf6e9bff2276b  contrib/analyze_brprob.py
--- 159,165 ----
  db74a73c3c9c3cc71edec37c2436e082  config/zstd.m4
  f4a7d891c0d09f14fb5ed903f0475fc2  configure
  ed59804e21951f404fa6ecd283c6ffa3  configure.ac
! f65bf6d671b913c2c5e29f56bbbedf2f  contrib/ChangeLog
  5fc435c7928f858246df931ea3f3ece7  contrib/ChangeLog.jit
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
  0928ae42250fbb57246cf6e9bff2276b  contrib/analyze_brprob.py
*************** c3217001bd26d7357f97d76467773e6d  contri
*** 205,211 ****
  c453348f88ec592d49be554008473ba8  contrib/dglib.pm
  1a43c19edffafd7cca44c23265ada323  contrib/diffsummary.py
  8dc14393e30704e0fd1913e770ceda5b  contrib/download_prerequisites
! 85ac0f6b778ed118000a9de3dcea3890  contrib/filter-clang-warnings.py
  332fd0835826d637b5b6cf8db14358a5  contrib/filter_gcc_for_doxygen
  db03e57377f9eb202b7b783eb81fe40d  contrib/filter_knr2ansi.pl
  d577ea19d05f19a8364f73c9901223b7  contrib/filter_params.py
--- 205,211 ----
  c453348f88ec592d49be554008473ba8  contrib/dglib.pm
  1a43c19edffafd7cca44c23265ada323  contrib/diffsummary.py
  8dc14393e30704e0fd1913e770ceda5b  contrib/download_prerequisites
! 5c8261e6d09ac7baf6ee12720e265aca  contrib/filter-clang-warnings.py
  332fd0835826d637b5b6cf8db14358a5  contrib/filter_gcc_for_doxygen
  db03e57377f9eb202b7b783eb81fe40d  contrib/filter_knr2ansi.pl
  d577ea19d05f19a8364f73c9901223b7  contrib/filter_params.py
*************** b2259bdd0f4345034b674b64dabb75c2  contri
*** 378,384 ****
  93fd39f4c6ff7bf4e5f9e035b65e6e1a  contrib/unicode/utf8-dump.py
  0ebeba0547f62774f2321fb89df47e5a  contrib/uninclude
  22df95097055a0a86ddd45c1a9512351  contrib/unused_functions.py
! 936a16304774fa2bf8debb7ad6553e26  contrib/update-copyright.py
  e96e470317bafce43e11f5d3dc027f1c  contrib/vim-gcc-dev/README
  9a59f40850946ac97114bc9ff0d7bf7e  contrib/vim-gcc-dev/ftdetect/gcc-dev.vim
  759c318ecc65eb68b0762e12d69b1b49  contrib/vim-gcc-dev/syntax/gcc-match.vim
--- 378,384 ----
  93fd39f4c6ff7bf4e5f9e035b65e6e1a  contrib/unicode/utf8-dump.py
  0ebeba0547f62774f2321fb89df47e5a  contrib/uninclude
  22df95097055a0a86ddd45c1a9512351  contrib/unused_functions.py
! f856b5202dc786d892b692932ff7b8c5  contrib/update-copyright.py
  e96e470317bafce43e11f5d3dc027f1c  contrib/vim-gcc-dev/README
  9a59f40850946ac97114bc9ff0d7bf7e  contrib/vim-gcc-dev/ftdetect/gcc-dev.vim
  759c318ecc65eb68b0762e12d69b1b49  contrib/vim-gcc-dev/syntax/gcc-match.vim
*************** f15bc3c5de22eac0bdd4f611502139a0  gcc/AB
*** 530,536 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! c3f9723ed49dfea3525a360695c8b1ba  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
--- 530,536 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! c840b5ee2312481d589a6c2bfbd90058  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 568,574 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 86bda1038bd132bf252ced91182572b5  gcc/DATESTAMP
  deb513e591f23901188e22323bd3b1d4  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 568,574 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 1d7ee3837206bfac0e752523bf12e397  gcc/DATESTAMP
  deb513e591f23901188e22323bd3b1d4  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** c8c9dd1eaee4ffd4d5d9f3ab70fddd4b  gcc/RE
*** 580,586 ****
  270ba6dfb4ecba066773fe20f2dc0053  gcc/acinclude.m4
  e74733ebf762151e601c9e0aa1461a20  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! ca4d1b74c9b46a0c017be65c7725eac6  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
--- 580,586 ----
  270ba6dfb4ecba066773fe20f2dc0053  gcc/acinclude.m4
  e74733ebf762151e601c9e0aa1461a20  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! cd9f6b787c9e2a48bd14b40a56bf9b80  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
*************** eea9961506181531b5f7f1a7f62fe428  gcc/ad
*** 610,617 ****
  2cf41efa2dee24b2dda73018b855edd3  gcc/ada/ChangeLog.tree-ssa
  1ddbf3755fbef2d964b15c7104b9937d  gcc/ada/Make-generated.in
  6c9c3b4249e781ed48c7ae55e8ef9999  gcc/ada/Makefile.in
! 62bdbf1e868ef65d88f6a6d6ce2ba522  gcc/ada/Makefile.rtl
! 51cd01ef6109dfaea496435969137046  gcc/ada/accessibility.adb
  e1ac9cc081416270a911135ba79261ee  gcc/ada/accessibility.ads
  ae606358a99a7aabe5c0eb16329624b3  gcc/ada/ada_get_targ.adb
  c40d997c0c713985ad13faa6d354b016  gcc/ada/adabkend.adb
--- 610,617 ----
  2cf41efa2dee24b2dda73018b855edd3  gcc/ada/ChangeLog.tree-ssa
  1ddbf3755fbef2d964b15c7104b9937d  gcc/ada/Make-generated.in
  6c9c3b4249e781ed48c7ae55e8ef9999  gcc/ada/Makefile.in
! 55fa6611dd185a2ad1958853c6177e8d  gcc/ada/Makefile.rtl
! 286d2ead847e0c4ebeaba165f98ee998  gcc/ada/accessibility.adb
  e1ac9cc081416270a911135ba79261ee  gcc/ada/accessibility.ads
  ae606358a99a7aabe5c0eb16329624b3  gcc/ada/ada_get_targ.adb
  c40d997c0c713985ad13faa6d354b016  gcc/ada/adabkend.adb
*************** d18255d01b647c97e7cf2cbd3225f90d  gcc/ad
*** 701,707 ****
  6a1c79967060865c8310697a857de11b  gcc/ada/doc/gnat_rm/implementation_defined_attributes.rst
  841d2d7d08c02898708fc688f180e10f  gcc/ada/doc/gnat_rm/implementation_defined_characteristics.rst
  7521a9c7898f9cdc3b74c7df8d21d2c2  gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
! 2b18b890b4196b0879f85e1592b9f5bf  gcc/ada/doc/gnat_rm/implementation_of_ada_2022_features.rst
  1ce2dc848df98bcbbb9d443501c48132  gcc/ada/doc/gnat_rm/implementation_of_specific_ada_features.rst
  454fb365cfb751d8e03b8e972d3abef1  gcc/ada/doc/gnat_rm/interfacing_to_other_languages.rst
  d3ffb5a905c9520d87b68e10029eb023  gcc/ada/doc/gnat_rm/intrinsic_subprograms.rst
--- 701,707 ----
  6a1c79967060865c8310697a857de11b  gcc/ada/doc/gnat_rm/implementation_defined_attributes.rst
  841d2d7d08c02898708fc688f180e10f  gcc/ada/doc/gnat_rm/implementation_defined_characteristics.rst
  7521a9c7898f9cdc3b74c7df8d21d2c2  gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
! 9358d124a08bdf6e1b8f83a0b72d062f  gcc/ada/doc/gnat_rm/implementation_of_ada_2022_features.rst
  1ce2dc848df98bcbbb9d443501c48132  gcc/ada/doc/gnat_rm/implementation_of_specific_ada_features.rst
  454fb365cfb751d8e03b8e972d3abef1  gcc/ada/doc/gnat_rm/interfacing_to_other_languages.rst
  d3ffb5a905c9520d87b68e10029eb023  gcc/ada/doc/gnat_rm/intrinsic_subprograms.rst
*************** ad85f63240402108dad631ff5461b181  gcc/ad
*** 888,894 ****
  917ea7311a30ec4c5cec3e610ca640c2  gcc/ada/gnat2.gpr
  635312af629edb6333cf662c55ae7a0b  gcc/ada/gnat_cuda.adb
  a930631c7c5fdabf12e2010079214e38  gcc/ada/gnat_cuda.ads
! f666790ff27afb24359e191a769e31f1  gcc/ada/gnat_rm.texi
  a671ca633499ae987f1b1ed9d1c3e93b  gcc/ada/gnat_ugn.texi
  97a151562fa533cd370413751bd18564  gcc/ada/gnatbind.adb
  cf407dc104ddb2d242f8c79a9b8166ec  gcc/ada/gnatbind.ads
--- 888,894 ----
  917ea7311a30ec4c5cec3e610ca640c2  gcc/ada/gnat2.gpr
  635312af629edb6333cf662c55ae7a0b  gcc/ada/gnat_cuda.adb
  a930631c7c5fdabf12e2010079214e38  gcc/ada/gnat_cuda.ads
! 6387a1b15186d67c9b60f29c8aa009a2  gcc/ada/gnat_rm.texi
  a671ca633499ae987f1b1ed9d1c3e93b  gcc/ada/gnat_ugn.texi
  97a151562fa533cd370413751bd18564  gcc/ada/gnatbind.adb
  cf407dc104ddb2d242f8c79a9b8166ec  gcc/ada/gnatbind.ads
*************** aa8ee7a04e292a14d18da20ed5efb983  gcc/ad
*** 1198,1204 ****
  457b034b9c4584c13c18c5f2a233569e  gcc/ada/libgnat/a-cbhama.ads
  165d3e530f0d803babc9616be10f5268  gcc/ada/libgnat/a-cbhase.adb
  70c99263d65d2c51fbd0f81e9c9b1b51  gcc/ada/libgnat/a-cbhase.ads
! 24a37de2f17e798ce4483a7a0c847aca  gcc/ada/libgnat/a-cbinho.adb
  ed7f47c9a26fcdd4c58cad080f19cf05  gcc/ada/libgnat/a-cbinho.ads
  c838aeade3bfa5ba17350ceb65b09e00  gcc/ada/libgnat/a-cbmutr.adb
  d58f87c0492c3db9ca1a3678408eb206  gcc/ada/libgnat/a-cbmutr.ads
--- 1198,1204 ----
  457b034b9c4584c13c18c5f2a233569e  gcc/ada/libgnat/a-cbhama.ads
  165d3e530f0d803babc9616be10f5268  gcc/ada/libgnat/a-cbhase.adb
  70c99263d65d2c51fbd0f81e9c9b1b51  gcc/ada/libgnat/a-cbhase.ads
! c41b1654d088600008e58adb41802071  gcc/ada/libgnat/a-cbinho.adb
  ed7f47c9a26fcdd4c58cad080f19cf05  gcc/ada/libgnat/a-cbinho.ads
  c838aeade3bfa5ba17350ceb65b09e00  gcc/ada/libgnat/a-cbmutr.adb
  d58f87c0492c3db9ca1a3678408eb206  gcc/ada/libgnat/a-cbmutr.ads
*************** e1bdf706ccd0578145b38b7b03736e71  gcc/ad
*** 2631,2638 ****
  16f331627c4eebd50a835766d2df3ce6  gcc/ada/libgnat/s-stoele.ads
  ba2973d61db23357a0f81a56f3f4f26f  gcc/ada/libgnat/s-stopoo.adb
  f11dd8f1d2e0fc0e90b0ba785102ab20  gcc/ada/libgnat/s-stopoo.ads
! 8c0ba81dda87058ccb24bf13d1c1fdf7  gcc/ada/libgnat/s-stposu.adb
! 30f69c5f32ed27e42c9daabb2c99a431  gcc/ada/libgnat/s-stposu.ads
  cd7089e32cda42a93c17470807173c77  gcc/ada/libgnat/s-stratt.adb
  a8359ce9a70af6ac75d03afdb522fb6e  gcc/ada/libgnat/s-stratt.ads
  e02c7a2f6db8743652acb8c8c7a862a7  gcc/ada/libgnat/s-stratt__cheri.adb
--- 2631,2638 ----
  16f331627c4eebd50a835766d2df3ce6  gcc/ada/libgnat/s-stoele.ads
  ba2973d61db23357a0f81a56f3f4f26f  gcc/ada/libgnat/s-stopoo.adb
  f11dd8f1d2e0fc0e90b0ba785102ab20  gcc/ada/libgnat/s-stopoo.ads
! b5b860129204b0e9bba9351b365ea734  gcc/ada/libgnat/s-stposu.adb
! 2266106d36e75d21ed2584ae1fadf908  gcc/ada/libgnat/s-stposu.ads
  cd7089e32cda42a93c17470807173c77  gcc/ada/libgnat/s-stratt.adb
  a8359ce9a70af6ac75d03afdb522fb6e  gcc/ada/libgnat/s-stratt.ads
  e02c7a2f6db8743652acb8c8c7a862a7  gcc/ada/libgnat/s-stratt__cheri.adb
*************** b97a33153fe52398767059622469c244  gcc/ad
*** 2907,2913 ****
  89b33a894fb8d623c05d39f93b53e357  gcc/ada/sem.ads
  d2b7c923d6a9fd2c767ef33609c17c61  gcc/ada/sem_aggr.adb
  d5ddab4fcf440bf2f49a9a190fd12829  gcc/ada/sem_aggr.ads
! d25e53032faa4ec0ee1c360583e8929a  gcc/ada/sem_attr.adb
  f5a25d26b815f5d376e2873f3ab69359  gcc/ada/sem_attr.ads
  5a8f21b4d2e896659887ea4fb7fce369  gcc/ada/sem_aux.adb
  416380c1ed0ef199b48f1e73080b5db3  gcc/ada/sem_aux.ads
--- 2907,2913 ----
  89b33a894fb8d623c05d39f93b53e357  gcc/ada/sem.ads
  d2b7c923d6a9fd2c767ef33609c17c61  gcc/ada/sem_aggr.adb
  d5ddab4fcf440bf2f49a9a190fd12829  gcc/ada/sem_aggr.ads
! 491a0a72fdedfcf698857b1fe0805a20  gcc/ada/sem_attr.adb
  f5a25d26b815f5d376e2873f3ab69359  gcc/ada/sem_attr.ads
  5a8f21b4d2e896659887ea4fb7fce369  gcc/ada/sem_aux.adb
  416380c1ed0ef199b48f1e73080b5db3  gcc/ada/sem_aux.ads
*************** eb23a07f1fb62ed39d1053619d51487b  gcc/ad
*** 2957,2963 ****
  39b96f04803db97ae1f7376d30a0cfec  gcc/ada/sem_mech.ads
  764f62b9f61374685638654b0eed967b  gcc/ada/sem_prag.adb
  61f67b82bf0abfa83eb7e4927498285c  gcc/ada/sem_prag.ads
! cdd866315e9240923aea28d739d1cec6  gcc/ada/sem_res.adb
  e3b9f77c37497d7f7824085d3df8fde8  gcc/ada/sem_res.ads
  4e8a9bc2b398560942d0c08f4017fabb  gcc/ada/sem_scil.adb
  64ae38c93be63a67f143484eba77604b  gcc/ada/sem_scil.ads
--- 2957,2963 ----
  39b96f04803db97ae1f7376d30a0cfec  gcc/ada/sem_mech.ads
  764f62b9f61374685638654b0eed967b  gcc/ada/sem_prag.adb
  61f67b82bf0abfa83eb7e4927498285c  gcc/ada/sem_prag.ads
! 4522d625fda1c15e3c0e8b0e0cdc400c  gcc/ada/sem_res.adb
  e3b9f77c37497d7f7824085d3df8fde8  gcc/ada/sem_res.ads
  4e8a9bc2b398560942d0c08f4017fabb  gcc/ada/sem_scil.adb
  64ae38c93be63a67f143484eba77604b  gcc/ada/sem_scil.ads
*************** d22c314f3748309f812d78f5217dda61  gcc/ad
*** 3071,3077 ****
  06b46bffb1b84e16a6f48b29177f42c4  gcc/ada/xutil.ads
  faeebcb240c1559aceb7d9c18c8e6b89  gcc/addresses.h
  ebe64421041bf4ef9153e26a6dc60532  gcc/adjust-alignment.cc
! b5ae57cb8af227c660a8446f33d2baa1  gcc/algol68/ChangeLog
  26769610e1968ef85392859d2d3e3859  gcc/algol68/Make-lang.in
  3d3f2f95b917d0f77d57d977f3eb93d8  gcc/algol68/README
  43ae40e82c1a7a144e905d40b101214e  gcc/algol68/a68-diagnostics.cc
--- 3071,3077 ----
  06b46bffb1b84e16a6f48b29177f42c4  gcc/ada/xutil.ads
  faeebcb240c1559aceb7d9c18c8e6b89  gcc/addresses.h
  ebe64421041bf4ef9153e26a6dc60532  gcc/adjust-alignment.cc
! a5954f969f06f3b17b98bdfd0b33db98  gcc/algol68/ChangeLog
  26769610e1968ef85392859d2d3e3859  gcc/algol68/Make-lang.in
  3d3f2f95b917d0f77d57d977f3eb93d8  gcc/algol68/README
  43ae40e82c1a7a144e905d40b101214e  gcc/algol68/a68-diagnostics.cc
*************** b761d3ea5bc6d29640619297fd8a70b6  gcc/al
*** 3100,3106 ****
  aebb4c3b9e607164c25541593333b832  gcc/algol68/a68-low-refs.cc
  5fae0e595c8ad0b7c7ecc0fb87c3b2dc  gcc/algol68/a68-low-runtime.cc
  839b3f59cd7d59666563e3a3d4c14b62  gcc/algol68/a68-low-runtime.def
! a3640e0464c9f225e1f6e23c6e1b7a25  gcc/algol68/a68-low-strings.cc
  de4cb485173b396d55860a98e328be5b  gcc/algol68/a68-low-structs.cc
  7675b3dfcea25bedcbe52f98cecdf7e2  gcc/algol68/a68-low-unions.cc
  8869ad21fefe0ecdbd9cb6edfdf404f3  gcc/algol68/a68-low-units.cc
--- 3100,3106 ----
  aebb4c3b9e607164c25541593333b832  gcc/algol68/a68-low-refs.cc
  5fae0e595c8ad0b7c7ecc0fb87c3b2dc  gcc/algol68/a68-low-runtime.cc
  839b3f59cd7d59666563e3a3d4c14b62  gcc/algol68/a68-low-runtime.def
! 778d47cffcd16d50f7105f7a8bd35d32  gcc/algol68/a68-low-strings.cc
  de4cb485173b396d55860a98e328be5b  gcc/algol68/a68-low-structs.cc
  7675b3dfcea25bedcbe52f98cecdf7e2  gcc/algol68/a68-low-unions.cc
  8869ad21fefe0ecdbd9cb6edfdf404f3  gcc/algol68/a68-low-units.cc
*************** ca4abac71b91773df74abdea22798551  gcc/al
*** 3139,3145 ****
  ec2e840d640373093e665ba328e038f8  gcc/algol68/ga68-coding-guidelines.texi
  9c3d535a7da271c49e76b9709e556383  gcc/algol68/ga68-exports.pk
  f150e2c760036b980e94ec7bb14e1172  gcc/algol68/ga68-internals.texi
! 14663848b61ebf025c7338f59234640e  gcc/algol68/ga68.texi
  6e162644e83dbcfbcfbacd36f1e64f3c  gcc/algol68/ga68.vw
  0a91d85c360d5ee3eb6258aecdab4636  gcc/algol68/lang-specs.h
  55e32b4ac4d7a159a683785bd5ee4c7a  gcc/algol68/lang.opt
--- 3139,3145 ----
  ec2e840d640373093e665ba328e038f8  gcc/algol68/ga68-coding-guidelines.texi
  9c3d535a7da271c49e76b9709e556383  gcc/algol68/ga68-exports.pk
  f150e2c760036b980e94ec7bb14e1172  gcc/algol68/ga68-internals.texi
! 0eb0fcd0aeea94a1755451b65b8aa2fe  gcc/algol68/ga68.texi
  6e162644e83dbcfbcfbacd36f1e64f3c  gcc/algol68/ga68.vw
  0a91d85c360d5ee3eb6258aecdab4636  gcc/algol68/lang-specs.h
  55e32b4ac4d7a159a683785bd5ee4c7a  gcc/algol68/lang.opt
*************** b7dd8bd2dd68f81643704bf0b73553a1  gcc/al
*** 3149,3155 ****
  71901705cb0e11732bae53ff9de25faf  gcc/align.h
  f2345b2fdc9d2d5a75fe90d30444a114  gcc/alloc-pool.cc
  7657598f465321837951c858ab918f57  gcc/alloc-pool.h
! a76afadc5d6592774c45571d94948c04  gcc/analyzer/ChangeLog
  a53ebffbaabe6bc3664d659c554fedb3  gcc/analyzer/access-diagram.cc
  c41fa6be7ca91f40a15a7b8f03732d25  gcc/analyzer/access-diagram.h
  d97e417faf9694fdbd68f91aee129bd2  gcc/analyzer/ana-state-to-diagnostic-state.cc
--- 3149,3155 ----
  71901705cb0e11732bae53ff9de25faf  gcc/align.h
  f2345b2fdc9d2d5a75fe90d30444a114  gcc/alloc-pool.cc
  7657598f465321837951c858ab918f57  gcc/alloc-pool.h
! cbf97bc59734262d63c5ba1741f76320  gcc/analyzer/ChangeLog
  a53ebffbaabe6bc3664d659c554fedb3  gcc/analyzer/access-diagram.cc
  c41fa6be7ca91f40a15a7b8f03732d25  gcc/analyzer/access-diagram.h
  d97e417faf9694fdbd68f91aee129bd2  gcc/analyzer/ana-state-to-diagnostic-state.cc
*************** b4cf75f3e9332bcd6b95b1f080c700d8  gcc/an
*** 3205,3211 ****
  def3e0b582e778cd32b9c87a74ca46dd  gcc/analyzer/kf.cc
  0652b497ab69835a3ec50cb920b8a973  gcc/analyzer/known-function-manager.cc
  d065f64c3be7da8efff67c73024dd990  gcc/analyzer/known-function-manager.h
! cac91a789fdfacaa1976b3d8668cc2d3  gcc/analyzer/ops.cc
  96054b25dd18f7e6b3d43ca7c65a9367  gcc/analyzer/ops.h
  54c7e7321ac6942f1c7f2be80207e644  gcc/analyzer/pending-diagnostic.cc
  83f167b1c386352684ebdd1ca0e408c2  gcc/analyzer/pending-diagnostic.h
--- 3205,3211 ----
  def3e0b582e778cd32b9c87a74ca46dd  gcc/analyzer/kf.cc
  0652b497ab69835a3ec50cb920b8a973  gcc/analyzer/known-function-manager.cc
  d065f64c3be7da8efff67c73024dd990  gcc/analyzer/known-function-manager.h
! 1cd447c2bc947fa57e24af9ea2598232  gcc/analyzer/ops.cc
  96054b25dd18f7e6b3d43ca7c65a9367  gcc/analyzer/ops.h
  54c7e7321ac6942f1c7f2be80207e644  gcc/analyzer/pending-diagnostic.cc
  83f167b1c386352684ebdd1ca0e408c2  gcc/analyzer/pending-diagnostic.h
*************** a8c275843686611dd10e89cc7569f89d  gcc/an
*** 3219,3230 ****
  4df6e8532c302bc59b4e417ab38a741a  gcc/analyzer/record-layout.cc
  f93ef89d263e02c779ec129aeead8a28  gcc/analyzer/record-layout.h
  8998fc6abdaaf4914e8f43f86a20d895  gcc/analyzer/region-model-asm.cc
! dcc0557c418a05081c779c16ebd38ae4  gcc/analyzer/region-model-manager.cc
! 1659367392030852cffeaddae0f5baac  gcc/analyzer/region-model-manager.h
  c24460f53b22bdecc3b9e8af24da1575  gcc/analyzer/region-model-reachability.cc
  93431d9eca086e4c7811afc3a66197ea  gcc/analyzer/region-model-reachability.h
! ed93fd7a606f86ca57da602350939174  gcc/analyzer/region-model.cc
! 17f7242ed2e91e694ce2a1fce4e1b4a5  gcc/analyzer/region-model.h
  50ff3eeb08a83ff50dc62d1777c7bc57  gcc/analyzer/region.cc
  7b478bc40e78865e5c23d8a7790c707c  gcc/analyzer/region.h
  de1b4d168343a9bc6547fc563f836658  gcc/analyzer/sm-fd.cc
--- 3219,3230 ----
  4df6e8532c302bc59b4e417ab38a741a  gcc/analyzer/record-layout.cc
  f93ef89d263e02c779ec129aeead8a28  gcc/analyzer/record-layout.h
  8998fc6abdaaf4914e8f43f86a20d895  gcc/analyzer/region-model-asm.cc
! ae0d7ecc93c27d6f74e895f902a9c7b3  gcc/analyzer/region-model-manager.cc
! 4860699623318b1fcc150c458eca5b44  gcc/analyzer/region-model-manager.h
  c24460f53b22bdecc3b9e8af24da1575  gcc/analyzer/region-model-reachability.cc
  93431d9eca086e4c7811afc3a66197ea  gcc/analyzer/region-model-reachability.h
! 8ae68abfadb9d9cf6243f9f6854fe525  gcc/analyzer/region-model.cc
! ef8dfb5c169591a6d74921d64c2fab55  gcc/analyzer/region-model.h
  50ff3eeb08a83ff50dc62d1777c7bc57  gcc/analyzer/region.cc
  7b478bc40e78865e5c23d8a7790c707c  gcc/analyzer/region.h
  de1b4d168343a9bc6547fc563f836658  gcc/analyzer/sm-fd.cc
*************** f9d4a813f2e42ce32c3296184cdf91a8  gcc/an
*** 3260,3266 ****
  5af94414f167d3b307a0e33995e4a7fb  gcc/array-traits.h
  4dc843bbb8bbadc9097e85ccdc9ad468  gcc/asan.cc
  756461437b2a9b9c23a4dd8bbb792b16  gcc/asan.h
! aea0ac3ff3e7332a8bdac9b5a52ca831  gcc/asm-toplevel.cc
  ea987115b0f67bce5cc4745e6d5bc4d1  gcc/attr-callback.cc
  2d462a57a0a7bbe8bcb22db63f9377ef  gcc/attr-callback.h
  cbe63f3e975481a17ed49898fbbb9d2a  gcc/attr-fnspec.h
--- 3260,3266 ----
  5af94414f167d3b307a0e33995e4a7fb  gcc/array-traits.h
  4dc843bbb8bbadc9097e85ccdc9ad468  gcc/asan.cc
  756461437b2a9b9c23a4dd8bbb792b16  gcc/asan.h
! e003b9fc1b8aa5b9b0eef314c0c4f56a  gcc/asm-toplevel.cc
  ea987115b0f67bce5cc4745e6d5bc4d1  gcc/attr-callback.cc
  2d462a57a0a7bbe8bcb22db63f9377ef  gcc/attr-callback.h
  cbe63f3e975481a17ed49898fbbb9d2a  gcc/attr-fnspec.h
*************** ebb1ceb69d6cf8ac2cdc227ae45f0eca  gcc/bi
*** 3286,3292 ****
  cdcd35bde318b22092b0788986b03a47  gcc/builtins.cc
  4dbe6686097ec6c197a24ac373bb9554  gcc/builtins.def
  99d9ddd60ff804d8e24732db43d38bca  gcc/builtins.h
! d706a49d8f2035f0f35e6d7b7fb56aec  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  aaea141fd41a559841cb76e33800c289  gcc/c-family/c-ada-spec.cc
  f60a13b470e8e51db83383bf9f9f921e  gcc/c-family/c-ada-spec.h
--- 3286,3292 ----
  cdcd35bde318b22092b0788986b03a47  gcc/builtins.cc
  4dbe6686097ec6c197a24ac373bb9554  gcc/builtins.def
  99d9ddd60ff804d8e24732db43d38bca  gcc/builtins.h
! 6c100a2ace91046484588e9a78327e4c  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  aaea141fd41a559841cb76e33800c289  gcc/c-family/c-ada-spec.cc
  f60a13b470e8e51db83383bf9f9f921e  gcc/c-family/c-ada-spec.h
*************** e1e1df06eba5bbddc37580adfb9356b4  gcc/c-
*** 3304,3310 ****
  45c8fc8d67953a240dac81ef9fb80c2a  gcc/c-family/c-lex.cc
  eb6a10cfada98679dc204a82e929e9e3  gcc/c-family/c-objc.h
  ea297af5bdcb8c784d704a6b99a79c38  gcc/c-family/c-omp.cc
! 4b941ed4c4f8ed4c4e6c4622c2f2ecd0  gcc/c-family/c-opts.cc
  a7304c009aa63ce6c8e80612b426724a  gcc/c-family/c-pch.cc
  cb9706138b571f810527200a1e24035c  gcc/c-family/c-ppoutput.cc
  1c45b9d8f8a674aa74dc09d32ee9a453  gcc/c-family/c-pragma.cc
--- 3304,3310 ----
  45c8fc8d67953a240dac81ef9fb80c2a  gcc/c-family/c-lex.cc
  eb6a10cfada98679dc204a82e929e9e3  gcc/c-family/c-objc.h
  ea297af5bdcb8c784d704a6b99a79c38  gcc/c-family/c-omp.cc
! f26f8476e311d4da23c30e7fef69d0d9  gcc/c-family/c-opts.cc
  a7304c009aa63ce6c8e80612b426724a  gcc/c-family/c-pch.cc
  cb9706138b571f810527200a1e24035c  gcc/c-family/c-ppoutput.cc
  1c45b9d8f8a674aa74dc09d32ee9a453  gcc/c-family/c-pragma.cc
*************** ea821c9d267c64dd8b74aad9d0189834  gcc/c-
*** 3329,3339 ****
  377686cbbf62a7d61d251d3f74cddb5b  gcc/c-family/known-headers.h
  431045382c41554804be1959c1596be4  gcc/c-family/name-hint.h
  3bae9e281cc87b35f63e906373f3b446  gcc/c-family/stub-objc.cc
! 800b0bb46504d5fd37a09e6a535f9374  gcc/c/ChangeLog
  3cd646f5b83b1b6ad35b21836044f6be  gcc/c/Make-lang.in
  3920e3ee16f5b5955d40584fea53c441  gcc/c/c-aux-info.cc
  cd5bab8a4deeaa0369ae59b9403d06a2  gcc/c/c-convert.cc
! 7dd8f80c2a43f8de457531f6c4e444b8  gcc/c/c-decl.cc
  92707173973fa48fbb8dda88f5af625a  gcc/c/c-errors.cc
  a59a5f126151616976b68fde0c703dd4  gcc/c/c-fold.cc
  817e08cf2d2f4169cb1e5cc26bad1174  gcc/c/c-lang.cc
--- 3329,3339 ----
  377686cbbf62a7d61d251d3f74cddb5b  gcc/c-family/known-headers.h
  431045382c41554804be1959c1596be4  gcc/c-family/name-hint.h
  3bae9e281cc87b35f63e906373f3b446  gcc/c-family/stub-objc.cc
! a17b25d056a29026964564b8ff972230  gcc/c/ChangeLog
  3cd646f5b83b1b6ad35b21836044f6be  gcc/c/Make-lang.in
  3920e3ee16f5b5955d40584fea53c441  gcc/c/c-aux-info.cc
  cd5bab8a4deeaa0369ae59b9403d06a2  gcc/c/c-convert.cc
! 398ac54da8b7823bd139bceebcf19569  gcc/c/c-decl.cc
  92707173973fa48fbb8dda88f5af625a  gcc/c/c-errors.cc
  a59a5f126151616976b68fde0c703dd4  gcc/c/c-fold.cc
  817e08cf2d2f4169cb1e5cc26bad1174  gcc/c/c-lang.cc
*************** a4cf104c1468ac0ce60e997a46a44b2e  gcc/cg
*** 3379,3385 ****
  de90956fd0fa66b3093b818874bbb4f4  gcc/cgraphbuild.cc
  1a06be3556807c21f91d629f5878d022  gcc/cgraphclones.cc
  e49d05909919035f9ad4633fc056bc56  gcc/cgraphunit.cc
! 2a45e3be9216480f88930217fee8fc7b  gcc/channels.h
  931fe41c17df7e7a6074418f8e41f010  gcc/cif-code.def
  384e3d089f1794d9754f5a6de0c85681  gcc/cobol/ChangeLog
  56c564c4cfd3395214baa46684218f3d  gcc/cobol/Make-lang.in
--- 3379,3385 ----
  de90956fd0fa66b3093b818874bbb4f4  gcc/cgraphbuild.cc
  1a06be3556807c21f91d629f5878d022  gcc/cgraphclones.cc
  e49d05909919035f9ad4633fc056bc56  gcc/cgraphunit.cc
! 45b21ab7ea818c3a3ce60bf8d3cbd252  gcc/channels.h
  931fe41c17df7e7a6074418f8e41f010  gcc/cif-code.def
  384e3d089f1794d9754f5a6de0c85681  gcc/cobol/ChangeLog
  56c564c4cfd3395214baa46684218f3d  gcc/cobol/Make-lang.in
*************** c47b4191f7bac0196ab63ca2c66bfa98  gcc/co
*** 3515,3521 ****
  c8a924cfcb693679febdcde3a0cc0809  gcc/config/aarch64/aarch64-builtin-pairs.def
  3b4b552144d47e66a0b131b2e5aa5df9  gcc/config/aarch64/aarch64-builtins.cc
  a1a7d26ecab3d6681a1d3f5c2cb77275  gcc/config/aarch64/aarch64-builtins.h
! 454756bd5d5d8b78854cce8634809e6b  gcc/config/aarch64/aarch64-c.cc
  3effce0415a0994753b7865834e56638  gcc/config/aarch64/aarch64-coff.h
  39747d119e7ca716e9758944ba9540d8  gcc/config/aarch64/aarch64-cores.def
  cd1537928dd0fadfa53b88b278af0ed2  gcc/config/aarch64/aarch64-cost-tables.h
--- 3515,3521 ----
  c8a924cfcb693679febdcde3a0cc0809  gcc/config/aarch64/aarch64-builtin-pairs.def
  3b4b552144d47e66a0b131b2e5aa5df9  gcc/config/aarch64/aarch64-builtins.cc
  a1a7d26ecab3d6681a1d3f5c2cb77275  gcc/config/aarch64/aarch64-builtins.h
! 3330c8b7c6a60c9f7691d80f8b33026b  gcc/config/aarch64/aarch64-c.cc
  3effce0415a0994753b7865834e56638  gcc/config/aarch64/aarch64-coff.h
  39747d119e7ca716e9758944ba9540d8  gcc/config/aarch64/aarch64-cores.def
  cd1537928dd0fadfa53b88b278af0ed2  gcc/config/aarch64/aarch64-cost-tables.h
*************** eb03dfcd266d8fc8f127a62e436447db  gcc/co
*** 3603,3609 ****
  dc252994bb63e3b3bb9aa44e233b100d  gcc/config/aarch64/cygming.h
  b6d18d11750027a9e7159f7100cbc2df  gcc/config/aarch64/driver-aarch64.cc
  f16190eb3167c87740aaff80ebc646b5  gcc/config/aarch64/fractional-cost.h
! f7165d62ef852e1929a8fc9a85c01ab2  gcc/config/aarch64/gcc-auto-profile
  190b8ad2102cd90ce935883b736ff024  gcc/config/aarch64/geniterators.sh
  b8dedf1142526bb86368b620384f877a  gcc/config/aarch64/gentune.sh
  86eaf33edeb885c2c9ae2a9825879e59  gcc/config/aarch64/host-aarch64-darwin.cc
--- 3603,3609 ----
  dc252994bb63e3b3bb9aa44e233b100d  gcc/config/aarch64/cygming.h
  b6d18d11750027a9e7159f7100cbc2df  gcc/config/aarch64/driver-aarch64.cc
  f16190eb3167c87740aaff80ebc646b5  gcc/config/aarch64/fractional-cost.h
! 17089b91fc469cd67c59b9f057eb2c8a  gcc/config/aarch64/gcc-auto-profile
  190b8ad2102cd90ce935883b736ff024  gcc/config/aarch64/geniterators.sh
  b8dedf1142526bb86368b620384f877a  gcc/config/aarch64/gentune.sh
  86eaf33edeb885c2c9ae2a9825879e59  gcc/config/aarch64/host-aarch64-darwin.cc
*************** e0fbe1dcad67c21113339fdfd76d1a7d  gcc/co
*** 3755,3768 ****
  dc420141faed0de4906a02cbbd953f18  gcc/config/arm/arm-mve-builtins.h
  b65c3665748e7d55a7c42645ff190690  gcc/config/arm/arm-opts.h
  841a83f5976919c20a40ed76dda7486d  gcc/config/arm/arm-passes.def
! ced437d53882030e254efb25f2de4158  gcc/config/arm/arm-protos.h
  b8dda5ab1f67b388debff95f4a66c82c  gcc/config/arm/arm-simd-builtin-types.def
  555504756e42d516b613cd492f56e83e  gcc/config/arm/arm-tables.opt
  f805d118929dd79f6bd4dc75c77c968b  gcc/config/arm/arm-tables.opt.urls
  b5f7e0b5b33aa917de47ab3bf691f123  gcc/config/arm/arm-tune.md
! f504da3e712bd456dbc69f841b237bfc  gcc/config/arm/arm.cc
  fcb5b2782878cf25e12f0da91cb0075b  gcc/config/arm/arm.h
! e8bdad77b415eb2e0c985ac29d918c5d  gcc/config/arm/arm.md
  68b71bf902cc6c9290e847ce76a9fdea  gcc/config/arm/arm.opt
  e9f9bb6f33d1b0c95dc7ccae3a50cbaf  gcc/config/arm/arm.opt.urls
  9e0f773438fc26deecff276e4b7684ef  gcc/config/arm/arm1020e.md
--- 3755,3768 ----
  dc420141faed0de4906a02cbbd953f18  gcc/config/arm/arm-mve-builtins.h
  b65c3665748e7d55a7c42645ff190690  gcc/config/arm/arm-opts.h
  841a83f5976919c20a40ed76dda7486d  gcc/config/arm/arm-passes.def
! 4b2b961e96e10d165d0160ec02f69cd3  gcc/config/arm/arm-protos.h
  b8dda5ab1f67b388debff95f4a66c82c  gcc/config/arm/arm-simd-builtin-types.def
  555504756e42d516b613cd492f56e83e  gcc/config/arm/arm-tables.opt
  f805d118929dd79f6bd4dc75c77c968b  gcc/config/arm/arm-tables.opt.urls
  b5f7e0b5b33aa917de47ab3bf691f123  gcc/config/arm/arm-tune.md
! 5505fc70b2752eb83a63bf761e4f4106  gcc/config/arm/arm.cc
  fcb5b2782878cf25e12f0da91cb0075b  gcc/config/arm/arm.h
! 3b3e7ea46f06ec3f7e2310e36ac30b56  gcc/config/arm/arm.md
  68b71bf902cc6c9290e847ce76a9fdea  gcc/config/arm/arm.opt
  e9f9bb6f33d1b0c95dc7ccae3a50cbaf  gcc/config/arm/arm.opt.urls
  9e0f773438fc26deecff276e4b7684ef  gcc/config/arm/arm1020e.md
*************** eb0b0296efa6a142ee4ee7b4cf09c756  gcc/co
*** 4097,4104 ****
  ca8c1935ac88d760dc3a5b7e97558f28  gcc/config/gcn/gcn-tables.opt.urls
  613817ee55713099d08c4eb310ec3de7  gcc/config/gcn/gcn-tree.cc
  ec8639acb817ec24e7168c186bb486fd  gcc/config/gcn/gcn-valu.md
! b7b5a2599eb4dbb7ce57457a8feb9f96  gcc/config/gcn/gcn.cc
! d6ff2b8b48b03af27e1fe7fbd9947087  gcc/config/gcn/gcn.h
  16b8e24f013cf070b699689775e1c1d1  gcc/config/gcn/gcn.md
  8b501b2f2909b52d8b1fcd7d73dc982a  gcc/config/gcn/gcn.opt
  8316cbfe8905418aa5882486602d17ca  gcc/config/gcn/gcn.opt.urls
--- 4097,4104 ----
  ca8c1935ac88d760dc3a5b7e97558f28  gcc/config/gcn/gcn-tables.opt.urls
  613817ee55713099d08c4eb310ec3de7  gcc/config/gcn/gcn-tree.cc
  ec8639acb817ec24e7168c186bb486fd  gcc/config/gcn/gcn-valu.md
! 074ed86f4c1f6b39c3d812967ffc47b4  gcc/config/gcn/gcn.cc
! d59e327e3603f40b6dcdaa3c4eb2eeb5  gcc/config/gcn/gcn.h
  16b8e24f013cf070b699689775e1c1d1  gcc/config/gcn/gcn.md
  8b501b2f2909b52d8b1fcd7d73dc982a  gcc/config/gcn/gcn.opt
  8316cbfe8905418aa5882486602d17ca  gcc/config/gcn/gcn.opt.urls
*************** c25946f1f2719a2da6b16397a9ca2668  gcc/co
*** 4263,4269 ****
  17150b7a38b2e1f06990c03b7dbedb74  gcc/config/i386/freebsd64.h
  903eaff7b99a66634c1cfd24bd481fa2  gcc/config/i386/fxsrintrin.h
  1294cb83be597d6a65c5e5759f9e3949  gcc/config/i386/gas.h
! 05f3ebe892e8fe139f8671fc072aab93  gcc/config/i386/gcc-auto-profile
  d1efcb396971c5d3fe5a4fe7a462fab7  gcc/config/i386/geode.md
  dbb35f82436b8fc508c1059c8cbf5fbd  gcc/config/i386/gfniintrin.h
  7cfef3b104ce263034aca5e278236129  gcc/config/i386/glm.md
--- 4263,4269 ----
  17150b7a38b2e1f06990c03b7dbedb74  gcc/config/i386/freebsd64.h
  903eaff7b99a66634c1cfd24bd481fa2  gcc/config/i386/fxsrintrin.h
  1294cb83be597d6a65c5e5759f9e3949  gcc/config/i386/gas.h
! 6c074dbb11fddd271baa17c9193b701c  gcc/config/i386/gcc-auto-profile
  d1efcb396971c5d3fe5a4fe7a462fab7  gcc/config/i386/geode.md
  dbb35f82436b8fc508c1059c8cbf5fbd  gcc/config/i386/gfniintrin.h
  7cfef3b104ce263034aca5e278236129  gcc/config/i386/glm.md
*************** a0261d6cc006fb86b99f338bdc94ae04  gcc/co
*** 4289,4295 ****
  e9c7eebd4e344796f248c93990aa5166  gcc/config/i386/i386-d.h
  5f56a612866543a8ee3f0a5adf428cb2  gcc/config/i386/i386-expand.cc
  386e1be7f608621b79970d4d036694f8  gcc/config/i386/i386-expand.h
! 185200a340aece39669a324c6c3a7145  gcc/config/i386/i386-features.cc
  473c35b162be3bcf222c90a16f72b948  gcc/config/i386/i386-features.h
  dca59d9c03f5b12366f9a926169f396d  gcc/config/i386/i386-isa.def
  848d1b1aa8faaad07d31b78764004e7f  gcc/config/i386/i386-jit.cc
--- 4289,4295 ----
  e9c7eebd4e344796f248c93990aa5166  gcc/config/i386/i386-d.h
  5f56a612866543a8ee3f0a5adf428cb2  gcc/config/i386/i386-expand.cc
  386e1be7f608621b79970d4d036694f8  gcc/config/i386/i386-expand.h
! 8b3e5c3ee37cc91c08a06631b25ca5dc  gcc/config/i386/i386-features.cc
  473c35b162be3bcf222c90a16f72b948  gcc/config/i386/i386-features.h
  dca59d9c03f5b12366f9a926169f396d  gcc/config/i386/i386-isa.def
  848d1b1aa8faaad07d31b78764004e7f  gcc/config/i386/i386-jit.cc
*************** b63569ecff9557acb7963f14a101bce1  gcc/co
*** 4305,4311 ****
  25b3947a11eb9ca52892133ddb36f3f2  gcc/config/i386/i386-rust.h
  52002b38d11081c4b401acb305710c40  gcc/config/i386/i386.cc
  483853f45756ffc10a3acbe55d2d0920  gcc/config/i386/i386.h
! 4bc145833a85488000c9a9d4e5842542  gcc/config/i386/i386.md
  f431cbff6410e63b4e2de0e11adf19fb  gcc/config/i386/i386.opt
  b9e680863ab278314c1f2990d2d04fcc  gcc/config/i386/i386.opt.urls
  7570cb8763bf53e7144db7d6cd97f846  gcc/config/i386/i386elf.h
--- 4305,4311 ----
  25b3947a11eb9ca52892133ddb36f3f2  gcc/config/i386/i386-rust.h
  52002b38d11081c4b401acb305710c40  gcc/config/i386/i386.cc
  483853f45756ffc10a3acbe55d2d0920  gcc/config/i386/i386.h
! 42aef5ebb1ff5727adac4b0462d615dc  gcc/config/i386/i386.md
  f431cbff6410e63b4e2de0e11adf19fb  gcc/config/i386/i386.opt
  b9e680863ab278314c1f2990d2d04fcc  gcc/config/i386/i386.opt.urls
  7570cb8763bf53e7144db7d6cd97f846  gcc/config/i386/i386elf.h
*************** a9d1d80c40cc6eb8e9a32d54f82dae43  gcc/co
*** 4507,4513 ****
  4fb06f2c99569f008f3fbb89d269dc3b  gcc/config/loongarch/constraints.md
  1daa90ebfa4ead5dd59e8ab6f57feaa8  gcc/config/loongarch/elf.h
  cb159a12ebab737430be10b5df70f1bf  gcc/config/loongarch/generic.md
! e6df10f3517e378bd15694aea35a10b9  gcc/config/loongarch/genopts/gen-evolution.awk
  cd236cacc314639aae4b01744329c22e  gcc/config/loongarch/genopts/genstr.sh
  4dc5332a8742afccaccecc9435f3a90a  gcc/config/loongarch/genopts/isa-evolution.in
  d4249b59ef5a24b1a2711287b20e508c  gcc/config/loongarch/genopts/loongarch-strings
--- 4507,4513 ----
  4fb06f2c99569f008f3fbb89d269dc3b  gcc/config/loongarch/constraints.md
  1daa90ebfa4ead5dd59e8ab6f57feaa8  gcc/config/loongarch/elf.h
  cb159a12ebab737430be10b5df70f1bf  gcc/config/loongarch/generic.md
! 8e283bf964d7a7463b18468b5b757c3d  gcc/config/loongarch/genopts/gen-evolution.awk
  cd236cacc314639aae4b01744329c22e  gcc/config/loongarch/genopts/genstr.sh
  4dc5332a8742afccaccecc9435f3a90a  gcc/config/loongarch/genopts/isa-evolution.in
  d4249b59ef5a24b1a2711287b20e508c  gcc/config/loongarch/genopts/loongarch-strings
*************** c7eeb48ab4223ecfdb09fa5e4ce61d71  gcc/co
*** 4538,4544 ****
  5e852be9fbcd6b98822c986918099da1  gcc/config/loongarch/loongarch-opts.h
  48388dd768e7d75e106999d93800c1d2  gcc/config/loongarch/loongarch-protos.h
  dadec2097ca9c4947a49a5766ac8ee89  gcc/config/loongarch/loongarch-str.h
! 7ccddf81e7d405d89aab58e4ff863b49  gcc/config/loongarch/loongarch-target-attr.cc
  3cfb174db8bc99a9361e597a3e9bd35e  gcc/config/loongarch/loongarch-tune.h
  6f5f7d4b4798dab768bdcf9a85e86c78  gcc/config/loongarch/loongarch.cc
  57abfb8c653a24903f61e5cf93ac929f  gcc/config/loongarch/loongarch.h
--- 4538,4544 ----
  5e852be9fbcd6b98822c986918099da1  gcc/config/loongarch/loongarch-opts.h
  48388dd768e7d75e106999d93800c1d2  gcc/config/loongarch/loongarch-protos.h
  dadec2097ca9c4947a49a5766ac8ee89  gcc/config/loongarch/loongarch-str.h
! 7bac4fb08db6ef96b48be102bcb671a3  gcc/config/loongarch/loongarch-target-attr.cc
  3cfb174db8bc99a9361e597a3e9bd35e  gcc/config/loongarch/loongarch-tune.h
  6f5f7d4b4798dab768bdcf9a85e86c78  gcc/config/loongarch/loongarch.cc
  57abfb8c653a24903f61e5cf93ac929f  gcc/config/loongarch/loongarch.h
*************** a0561d5189d936a2b3f76e586c0a2aa1  gcc/co
*** 4729,4735 ****
  216c87627424d946f6245f736be7b5f1  gcc/config/mips/mips-tables.opt.urls
  d721b62b45e3d41cf231605ad9646ea0  gcc/config/mips/mips.cc
  c3f89a44da0bb860a7ac949f008546b1  gcc/config/mips/mips.h
! 48a3f7acd754d52b3f1d4e07b31194e3  gcc/config/mips/mips.md
  09db4f2e8c03333595305c1b1c1c0fc7  gcc/config/mips/mips.opt
  e27efa10159c17e2479da7d6f900b631  gcc/config/mips/mips.opt.urls
  79c849472a0f91bdf81cbd76d4f9d348  gcc/config/mips/msa.h
--- 4729,4735 ----
  216c87627424d946f6245f736be7b5f1  gcc/config/mips/mips-tables.opt.urls
  d721b62b45e3d41cf231605ad9646ea0  gcc/config/mips/mips.cc
  c3f89a44da0bb860a7ac949f008546b1  gcc/config/mips/mips.h
! 62c91047998070c0f017a68e2a78fbe7  gcc/config/mips/mips.md
  09db4f2e8c03333595305c1b1c1c0fc7  gcc/config/mips/mips.opt
  e27efa10159c17e2479da7d6f900b631  gcc/config/mips/mips.opt.urls
  79c849472a0f91bdf81cbd76d4f9d348  gcc/config/mips/msa.h
*************** b65281b3d979c9c774d30d65281a07ab  gcc/co
*** 5094,5100 ****
  75866c86ec05a7abe2fa3f55828938b0  gcc/config/riscv/riscv-vsetvl.cc
  10ae51c30c9b8e6dce66f20016fae344  gcc/config/riscv/riscv-vsetvl.def
  85dee253312a7f85a1d4f8554a601105  gcc/config/riscv/riscv-zicfilp.cc
! 766b27da49efcec3efb6e0634a603662  gcc/config/riscv/riscv.cc
  cff2fc59ab1defbd178f75bdcd643bcc  gcc/config/riscv/riscv.h
  69bf57d0406b6ab66b5fd796932171e7  gcc/config/riscv/riscv.md
  c721fa1217a74f723ccf84813f721944  gcc/config/riscv/riscv.opt
--- 5094,5100 ----
  75866c86ec05a7abe2fa3f55828938b0  gcc/config/riscv/riscv-vsetvl.cc
  10ae51c30c9b8e6dce66f20016fae344  gcc/config/riscv/riscv-vsetvl.def
  85dee253312a7f85a1d4f8554a601105  gcc/config/riscv/riscv-zicfilp.cc
! 017ce08252063b15ffcddce00a79f359  gcc/config/riscv/riscv.cc
  cff2fc59ab1defbd178f75bdcd643bcc  gcc/config/riscv/riscv.h
  69bf57d0406b6ab66b5fd796932171e7  gcc/config/riscv/riscv.md
  c721fa1217a74f723ccf84813f721944  gcc/config/riscv/riscv.opt
*************** dfead17f6b810bf033f9fd649084b362  gcc/co
*** 5397,5403 ****
  e6c6b89f602f5dabaaff761b0db28d25  gcc/config/sh/sh-mem.cc
  db7b2e9490086922f942532dd544a0f6  gcc/config/sh/sh-modes.def
  fb8513c0c66fb1a6e8d5cde7b08975c5  gcc/config/sh/sh-protos.h
! 67a2d7b88e15f48d7d66fe63c810b635  gcc/config/sh/sh.cc
  de5433ad4ca4e28cd54d4ff7e2862435  gcc/config/sh/sh.h
  4d09c48cdaa1d61ff15475e4604442ea  gcc/config/sh/sh.md
  10ed22d9ca9d7ec14fcf6b1a936fbf8d  gcc/config/sh/sh.opt
--- 5397,5403 ----
  e6c6b89f602f5dabaaff761b0db28d25  gcc/config/sh/sh-mem.cc
  db7b2e9490086922f942532dd544a0f6  gcc/config/sh/sh-modes.def
  fb8513c0c66fb1a6e8d5cde7b08975c5  gcc/config/sh/sh-protos.h
! c147716d7790e9f816f928176fd5bf5d  gcc/config/sh/sh.cc
  de5433ad4ca4e28cd54d4ff7e2862435  gcc/config/sh/sh.h
  4d09c48cdaa1d61ff15475e4604442ea  gcc/config/sh/sh.md
  10ed22d9ca9d7ec14fcf6b1a936fbf8d  gcc/config/sh/sh.opt
*************** dbd5811fcd8a1caf49e4e9091afdc18c  gcc/co
*** 5624,5639 ****
  83fbfe1c588f31edbd8e4a77807087fb  gcc/config/xtensa/uclinux.opt.urls
  6ffda24346906b56c23b732dee11ec56  gcc/config/xtensa/xtensa-dynconfig.cc
  9a9ea234526c2b6ec2dde5659d16935c  gcc/config/xtensa/xtensa-opts.h
! a231b8dcedff0ce87223fbe871f45021  gcc/config/xtensa/xtensa-passes.def
! 68499c45ef2b5bdd05a70da913d9720e  gcc/config/xtensa/xtensa-protos.h
! 4d49c66ef14377f408c39134666941d6  gcc/config/xtensa/xtensa.cc
  c60f07bed189e2a8fb8abfe19368e9f9  gcc/config/xtensa/xtensa.h
! 8c640652d1c14a218f67ea62176e2cac  gcc/config/xtensa/xtensa.md
  093588e637649f5260b04ad13fe609e6  gcc/config/xtensa/xtensa.opt
  db57d7603312357e8c0cfb21c32353d1  gcc/config/xtensa/xtensa.opt.urls
! 5ce9702528dd3b9e7e5e23c1503fe435  gcc/configure
! e2e240b2038dd29ec8a6d1d53904fd72  gcc/configure.ac
! 1f52ef379dc4198df7f2c7ab63c8b70e  gcc/configure.tgt
  8a46839a73059f70ef105be9706c2554  gcc/context.cc
  08023c1005def168a8b675813b95d9f4  gcc/context.h
  e015add06ba8159fde5c92647e6d9fb1  gcc/convert.cc
--- 5624,5639 ----
  83fbfe1c588f31edbd8e4a77807087fb  gcc/config/xtensa/uclinux.opt.urls
  6ffda24346906b56c23b732dee11ec56  gcc/config/xtensa/xtensa-dynconfig.cc
  9a9ea234526c2b6ec2dde5659d16935c  gcc/config/xtensa/xtensa-opts.h
! f11b25bf61cd607f1829b2d5c5d306b9  gcc/config/xtensa/xtensa-passes.def
! 5bb32139578c6218acd7e0a88f72cfe9  gcc/config/xtensa/xtensa-protos.h
! 771c5ddf3907d60dfa38a242e5f33403  gcc/config/xtensa/xtensa.cc
  c60f07bed189e2a8fb8abfe19368e9f9  gcc/config/xtensa/xtensa.h
! 2c0da3651cf6569232670fb437852cf6  gcc/config/xtensa/xtensa.md
  093588e637649f5260b04ad13fe609e6  gcc/config/xtensa/xtensa.opt
  db57d7603312357e8c0cfb21c32353d1  gcc/config/xtensa/xtensa.opt.urls
! 6e14a892cc8195a38b57b525767c5680  gcc/configure
! c455732e9e0e7d2767f61c7b6e8ba1fd  gcc/configure.ac
! a2bfe87830136c2d55b591b943cecd3f  gcc/configure.tgt
  8a46839a73059f70ef105be9706c2554  gcc/context.cc
  08023c1005def168a8b675813b95d9f4  gcc/context.h
  e015add06ba8159fde5c92647e6d9fb1  gcc/convert.cc
*************** c5ad0142a191862e3e81ecd3573754b3  gcc/co
*** 5643,5649 ****
  55a33ae415bde0fd2e36ba584894e50b  gcc/coroutine-passes.cc
  7c2ad47e271f9b832badf1740a09c77e  gcc/coverage.cc
  8524318f81a8af8cfaa8d35966d8fdc2  gcc/coverage.h
! 9efde4341e3767ef3c8bfb225cf41147  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
--- 5643,5649 ----
  55a33ae415bde0fd2e36ba584894e50b  gcc/coroutine-passes.cc
  7c2ad47e271f9b832badf1740a09c77e  gcc/coverage.cc
  8524318f81a8af8cfaa8d35966d8fdc2  gcc/coverage.h
! 36fd855d51c29b9ee77fca3540708ae1  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
*************** bcf7c5d02934e40f17edeb18d58c4d4d  gcc/cp
*** 5679,5691 ****
  f39635970f98bbc4591f6363fe70504b  gcc/cp/ChangeLog-2025
  c1c7801b9b0f379e702a4f6cb83972e7  gcc/cp/ChangeLog.ptr
  9aa3cd9f75c785de9f51446e3f295515  gcc/cp/ChangeLog.tree-ssa
! 4900b7792287474b80e201dfff9fcd85  gcc/cp/Make-lang.in
  af8e3b118f098072fafadf8cddd33d9b  gcc/cp/call.cc
  144dd1ae510a7436b569b007470b62da  gcc/cp/cfns.gperf
  39dd4c5a96c7ea132eb3c7ed039a065e  gcc/cp/cfns.h
  4a5a02469458f5a17e932ae0133f2ce7  gcc/cp/class.cc
  e51f295e858583af5f9cf88b9530adf7  gcc/cp/config-lang.in
! 69deea1a041ca0dc6f39eaaf173c7af9  gcc/cp/constexpr.cc
  e4894157c7dd2b2253a316497614e8f0  gcc/cp/constraint.cc
  99c403ab218e024bcf6d5d2108ad1f3b  gcc/cp/contracts.cc
  e77a681f560f3e9500f126febdc67ef6  gcc/cp/contracts.h
--- 5679,5691 ----
  f39635970f98bbc4591f6363fe70504b  gcc/cp/ChangeLog-2025
  c1c7801b9b0f379e702a4f6cb83972e7  gcc/cp/ChangeLog.ptr
  9aa3cd9f75c785de9f51446e3f295515  gcc/cp/ChangeLog.tree-ssa
! 7cbe8fb81efe0334db261cccd9bbd488  gcc/cp/Make-lang.in
  af8e3b118f098072fafadf8cddd33d9b  gcc/cp/call.cc
  144dd1ae510a7436b569b007470b62da  gcc/cp/cfns.gperf
  39dd4c5a96c7ea132eb3c7ed039a065e  gcc/cp/cfns.h
  4a5a02469458f5a17e932ae0133f2ce7  gcc/cp/class.cc
  e51f295e858583af5f9cf88b9530adf7  gcc/cp/config-lang.in
! 33944853f107bb6317b31859de083f76  gcc/cp/constexpr.cc
  e4894157c7dd2b2253a316497614e8f0  gcc/cp/constraint.cc
  99c403ab218e024bcf6d5d2108ad1f3b  gcc/cp/contracts.cc
  e77a681f560f3e9500f126febdc67ef6  gcc/cp/contracts.h
*************** eba8d8a1725223519fba5d4d69afd5c9  gcc/cp
*** 5698,5710 ****
  370b42bcdf211125186c37665052c30c  gcc/cp/cp-objcp-common.h
  64fa302e46b7097f7d989f5ab418d244  gcc/cp/cp-trait.def
  bc9b29434f2e35fa68caf656161b5c0f  gcc/cp/cp-tree.def
! 8ed70f4ea8c06e827888952ba3de23fa  gcc/cp/cp-tree.h
  e2854dfa428fab45fc41bf58fef71e61  gcc/cp/cp-ubsan.cc
  0f660920514d4f51007f6841a25e3af6  gcc/cp/cvt.cc
  f067718cf3d629084d8347c4e017afd4  gcc/cp/cxx-pretty-print.cc
  1d04eec9859d91686ca501e9221f30ac  gcc/cp/cxx-pretty-print.h
  82a41d873e1c90067158c89e6c1bd4bb  gcc/cp/cxxapi-data.csv
! 7ccacae7028b3499e606afbaa5b5c378  gcc/cp/decl.cc
  6b0c9433f7d3f129a44b59d54babb4eb  gcc/cp/decl.h
  eb77bf90b77e8585aa773ccdf953c298  gcc/cp/decl2.cc
  12ccd5244973d74a0536adf58261b416  gcc/cp/dump.cc
--- 5698,5710 ----
  370b42bcdf211125186c37665052c30c  gcc/cp/cp-objcp-common.h
  64fa302e46b7097f7d989f5ab418d244  gcc/cp/cp-trait.def
  bc9b29434f2e35fa68caf656161b5c0f  gcc/cp/cp-tree.def
! b2d7aa65e3b07ffb871b27992b8c6bf0  gcc/cp/cp-tree.h
  e2854dfa428fab45fc41bf58fef71e61  gcc/cp/cp-ubsan.cc
  0f660920514d4f51007f6841a25e3af6  gcc/cp/cvt.cc
  f067718cf3d629084d8347c4e017afd4  gcc/cp/cxx-pretty-print.cc
  1d04eec9859d91686ca501e9221f30ac  gcc/cp/cxx-pretty-print.h
  82a41d873e1c90067158c89e6c1bd4bb  gcc/cp/cxxapi-data.csv
! a48a96cdb5553f579d5844b897509902  gcc/cp/decl.cc
  6b0c9433f7d3f129a44b59d54babb4eb  gcc/cp/decl.h
  eb77bf90b77e8585aa773ccdf953c298  gcc/cp/decl2.cc
  12ccd5244973d74a0536adf58261b416  gcc/cp/dump.cc
*************** eb77bf90b77e8585aa773ccdf953c298  gcc/cp
*** 5714,5720 ****
  447ddbe59eba62b9a389b9ba11701cfc  gcc/cp/friend.cc
  014d3891b4172014c0ad5386223c4f4c  gcc/cp/g++spec.cc
  a29b3e9192657e81a1574fb99466348d  gcc/cp/gen-cxxapi-file.py
! cf03979ab25f8cdd1610e68c8b722d11  gcc/cp/init.cc
  b3ff7f1e11444c1a8a1b9471e54c8cdd  gcc/cp/lambda.cc
  bc388fb8287f2de7cdf4d78eb8f5d998  gcc/cp/lang-specs.h
  2c33328276b7ca5633320581eb891129  gcc/cp/lex.cc
--- 5714,5720 ----
  447ddbe59eba62b9a389b9ba11701cfc  gcc/cp/friend.cc
  014d3891b4172014c0ad5386223c4f4c  gcc/cp/g++spec.cc
  a29b3e9192657e81a1574fb99466348d  gcc/cp/gen-cxxapi-file.py
! 9707ad29504f27a96a2ce979bd4b40b7  gcc/cp/init.cc
  b3ff7f1e11444c1a8a1b9471e54c8cdd  gcc/cp/lambda.cc
  bc388fb8287f2de7cdf4d78eb8f5d998  gcc/cp/lang-specs.h
  2c33328276b7ca5633320581eb891129  gcc/cp/lex.cc
*************** e4ccdd9cbe95dde4cce27394a7613dd9  gcc/cp
*** 5725,5744 ****
  4be7487ea09330ba02fb0695bc32c905  gcc/cp/mapper-resolver.cc
  4f8663190bd54ce6e6c71816f7ea934f  gcc/cp/metafns.gperf
  13e5b9c99aa3729623f43052b1f10688  gcc/cp/metafns.h
! 99dcd5706d056d3c446e2d90d8060632  gcc/cp/method.cc
! e12f256a66123bd0717a877ed837f722  gcc/cp/module.cc
! cafeff1e0944f6afbf379d48485d9eba  gcc/cp/name-lookup.cc
! 0dfa003b8204ccdc1ef6f78d2752575f  gcc/cp/name-lookup.h
  b98d31c57aa038618db60991b17e0d35  gcc/cp/operators.def
  9efebf39da56d681d4405dfb9e55e3f5  gcc/cp/optimize.cc
! 6db67deaa4315228bd4977aaa82e129b  gcc/cp/parser.cc
  7973a34c47e3d3c580832655a3a5c3c2  gcc/cp/parser.h
! 9c8df1b4457329aa562dccb16d6cf7f6  gcc/cp/pt.cc
  25322928eaff39cf167372554c639e02  gcc/cp/ptree.cc
! ad5dbe489dc9fb232c9d35cc2613ec2e  gcc/cp/reflect.cc
  97df067b24bdcb46ea1a2ca984c26a33  gcc/cp/rtti.cc
! 9f7af4d4e940116a4fb0176d09ad180a  gcc/cp/search.cc
! 240e42d55cb3dd45bb86725892670585  gcc/cp/semantics.cc
  64c36b2ea66c9f8f477b19d24e06a2cb  gcc/cp/std-name-hint.gperf
  15cc409f13a8952feb90e94d99ecefa2  gcc/cp/std-name-hint.h
  5ee2ea3fdb935edf62870405b960f632  gcc/cp/tree.cc
--- 5725,5744 ----
  4be7487ea09330ba02fb0695bc32c905  gcc/cp/mapper-resolver.cc
  4f8663190bd54ce6e6c71816f7ea934f  gcc/cp/metafns.gperf
  13e5b9c99aa3729623f43052b1f10688  gcc/cp/metafns.h
! db73ab5285dd3810cd91cb42aa475df5  gcc/cp/method.cc
! ac413ac14b16326a57fb8e0537b0271b  gcc/cp/module.cc
! 395c9708c9225e83b2a3916ddaa46d54  gcc/cp/name-lookup.cc
! b166c2ce3d5ccd4de4e0c5910947ae41  gcc/cp/name-lookup.h
  b98d31c57aa038618db60991b17e0d35  gcc/cp/operators.def
  9efebf39da56d681d4405dfb9e55e3f5  gcc/cp/optimize.cc
! e042917079c5dc6e25dfbce9fcf57d89  gcc/cp/parser.cc
  7973a34c47e3d3c580832655a3a5c3c2  gcc/cp/parser.h
! 3762c6c1ae239edf527730e14ec6ab01  gcc/cp/pt.cc
  25322928eaff39cf167372554c639e02  gcc/cp/ptree.cc
! 31b0704bc76a4089eaa39cf9029a9714  gcc/cp/reflect.cc
  97df067b24bdcb46ea1a2ca984c26a33  gcc/cp/rtti.cc
! ed044462caa5bbab93e33fd297bc5d7c  gcc/cp/search.cc
! 8724174eaba039e08de0b8faa84242ed  gcc/cp/semantics.cc
  64c36b2ea66c9f8f477b19d24e06a2cb  gcc/cp/std-name-hint.gperf
  15cc409f13a8952feb90e94d99ecefa2  gcc/cp/std-name-hint.h
  5ee2ea3fdb935edf62870405b960f632  gcc/cp/tree.cc
*************** f4482f497f6e3a2eae101f16c79b4b27  gcc/cs
*** 5760,5767 ****
  4d5ff4ad7f83cad2fff66caccde0780f  gcc/ctfc.cc
  21aa4df3b0a04c61dfb56d24a5e49e90  gcc/ctfc.h
  3b49d27a12c232bc7df2bf77e4eea817  gcc/ctfout.cc
! c503ae44e590daab467a1996ccce967a  gcc/custom-sarif-properties/cfg.cc
! 1804892e6e3203111dac561be8074ceb  gcc/custom-sarif-properties/cfg.h
  005e6ab6bce5f2334f5d518c53f8f56e  gcc/custom-sarif-properties/digraphs.cc
  86700ca4710faebe1a0dbd2da6bcc75d  gcc/custom-sarif-properties/digraphs.h
  cdc60d179f923c009f0432beb1054e5b  gcc/custom-sarif-properties/state-graphs.cc
--- 5760,5767 ----
  4d5ff4ad7f83cad2fff66caccde0780f  gcc/ctfc.cc
  21aa4df3b0a04c61dfb56d24a5e49e90  gcc/ctfc.h
  3b49d27a12c232bc7df2bf77e4eea817  gcc/ctfout.cc
! fe61b2918e14694ac3e0e909cacea80f  gcc/custom-sarif-properties/cfg.cc
! 086d0fbe195bd56869d4968a6268a26a  gcc/custom-sarif-properties/cfg.h
  005e6ab6bce5f2334f5d518c53f8f56e  gcc/custom-sarif-properties/digraphs.cc
  86700ca4710faebe1a0dbd2da6bcc75d  gcc/custom-sarif-properties/digraphs.h
  cdc60d179f923c009f0432beb1054e5b  gcc/custom-sarif-properties/state-graphs.cc
*************** e6cb006d625b4b045f658e77c108b89c  gcc/df
*** 6041,6047 ****
  e836f9039ac0ee97e44f1203d7143062  gcc/diagnostic-core.h
  f44c95c2d9127c41d15df4ad1a1a1333  gcc/diagnostic-global-context.cc
  2981691b4cb936662848dea688ca5b9b  gcc/diagnostic-highlight-colors.h
! a02f0a355897a68d4b37c9e04a5412ec  gcc/diagnostic.h
  4dc4927cc23b51fe09ba3b53f8f1c97c  gcc/diagnostics/buffering.cc
  5d85c55c07f5f70cd74109a62ae17580  gcc/diagnostics/buffering.h
  d8c122792f8326d493206a8e18634615  gcc/diagnostics/changes.cc
--- 6041,6047 ----
  e836f9039ac0ee97e44f1203d7143062  gcc/diagnostic-core.h
  f44c95c2d9127c41d15df4ad1a1a1333  gcc/diagnostic-global-context.cc
  2981691b4cb936662848dea688ca5b9b  gcc/diagnostic-highlight-colors.h
! 7318d441345a938f8e9e2fbc9fdcf714  gcc/diagnostic.h
  4dc4927cc23b51fe09ba3b53f8f1c97c  gcc/diagnostics/buffering.cc
  5d85c55c07f5f70cd74109a62ae17580  gcc/diagnostics/buffering.h
  d8c122792f8326d493206a8e18634615  gcc/diagnostics/changes.cc
*************** cac0841df72c21240aedd7e03d231c8d  gcc/di
*** 6052,6066 ****
  5ac83d2dfc5d36068774e6b0db97fe99  gcc/diagnostics/column-options.h
  c24d31606e2ffad5682f296df5984f2e  gcc/diagnostics/context-options.h
  68b8c316b2fdab6de05ec0729a3bab90  gcc/diagnostics/context.cc
! 03bb86ed78a8a4674fb5cc09680fd7b9  gcc/diagnostics/context.h
  e1fa17399b3b1f7a6bc15780030e2511  gcc/diagnostics/counters.h
  376ff2cb14bc9c31771a3a37ddceb73f  gcc/diagnostics/diagnostic-info.h
  b524b3d170881dadbdce5566d74dedd9  gcc/diagnostics/diagnostics-selftests.cc
  e0edde0537be75893b355dc6100c2a68  gcc/diagnostics/diagnostics-selftests.h
  2be2a1f334551554e0ea1ccc93734d67  gcc/diagnostics/diagram.h
! 409c064c5b41cfb90da5f07877556ec8  gcc/diagnostics/digraphs-to-dot-from-cfg.cc
! 9232713dd79a20c4c8d10b02c34d67c5  gcc/diagnostics/digraphs-to-dot.cc
! 9e21a662f27874153b4e76bfe706e6c1  gcc/diagnostics/digraphs-to-dot.h
  a8d421e76e65bc8df2254ddd9be24a16  gcc/diagnostics/digraphs.cc
  e87f296716b3e26ee9224ab54e948f97  gcc/diagnostics/digraphs.h
  fb061267c74823feb7ee0770d2c3ce49  gcc/diagnostics/dumping.cc
--- 6052,6066 ----
  5ac83d2dfc5d36068774e6b0db97fe99  gcc/diagnostics/column-options.h
  c24d31606e2ffad5682f296df5984f2e  gcc/diagnostics/context-options.h
  68b8c316b2fdab6de05ec0729a3bab90  gcc/diagnostics/context.cc
! 80d12ce13168f09b13a44fb8508764bc  gcc/diagnostics/context.h
  e1fa17399b3b1f7a6bc15780030e2511  gcc/diagnostics/counters.h
  376ff2cb14bc9c31771a3a37ddceb73f  gcc/diagnostics/diagnostic-info.h
  b524b3d170881dadbdce5566d74dedd9  gcc/diagnostics/diagnostics-selftests.cc
  e0edde0537be75893b355dc6100c2a68  gcc/diagnostics/diagnostics-selftests.h
  2be2a1f334551554e0ea1ccc93734d67  gcc/diagnostics/diagram.h
! 3a682d4c2264a68e3046230508f6bd1b  gcc/diagnostics/digraphs-to-dot-from-cfg.cc
! 2c0d8e0bec258e4e87d4d0c61ed8cd08  gcc/diagnostics/digraphs-to-dot.cc
! a8c7caa32cfe1b15611f39934960a9a6  gcc/diagnostics/digraphs-to-dot.h
  a8d421e76e65bc8df2254ddd9be24a16  gcc/diagnostics/digraphs.cc
  e87f296716b3e26ee9224ab54e948f97  gcc/diagnostics/digraphs.h
  fb061267c74823feb7ee0770d2c3ce49  gcc/diagnostics/dumping.cc
*************** ee65c9e3e7c3fb1fd0128c23f4130e51  gcc/do
*** 6128,6134 ****
  301ed7e567732d1f0d5899a624068bdd  gcc/doc/cppinternals.texi
  b0cd5e1000a4e1467a9880e1d1f46201  gcc/doc/cppopts.texi
  d8b2becdc7d9c570f256e19e1b1ac4f1  gcc/doc/cppwarnopts.texi
! 86f9365a8cda97d87c0971ac70275cda  gcc/doc/extend.texi
  483a7b956113f0370528460e842ff7b0  gcc/doc/fragments.texi
  7fb1e4199b2e70228fda69b8065d83c4  gcc/doc/frontends.texi
  66d5868616d429f3e34b575b3efc6ccc  gcc/doc/gcc.texi
--- 6128,6134 ----
  301ed7e567732d1f0d5899a624068bdd  gcc/doc/cppinternals.texi
  b0cd5e1000a4e1467a9880e1d1f46201  gcc/doc/cppopts.texi
  d8b2becdc7d9c570f256e19e1b1ac4f1  gcc/doc/cppwarnopts.texi
! e9902b277ce2349fa0108a850dd93247  gcc/doc/extend.texi
  483a7b956113f0370528460e842ff7b0  gcc/doc/fragments.texi
  7fb1e4199b2e70228fda69b8065d83c4  gcc/doc/frontends.texi
  66d5868616d429f3e34b575b3efc6ccc  gcc/doc/gcc.texi
*************** f47d236d7ee7e48319a13461771035d6  gcc/do
*** 6150,6156 ****
  37d898a82683588b62cca104098ad182  gcc/doc/include/gcc-common.texi
  95c90bf85d3eab67f348ee3ce0bf4050  gcc/doc/include/gpl_v3.texi
  e9b8122841fbfbbc30fee8ed6613c399  gcc/doc/include/texinfo.tex
! b7955182831f08491b0967e9674fbdcd  gcc/doc/install.texi
  30a2209eee0a2bed76e2d9ff3bd646f2  gcc/doc/install.texi2html
  c1f5915deede97022528ce4f492ee674  gcc/doc/invoke.texi
  dd9d4097ebfa9e936c41913343807268  gcc/doc/languages.texi
--- 6150,6156 ----
  37d898a82683588b62cca104098ad182  gcc/doc/include/gcc-common.texi
  95c90bf85d3eab67f348ee3ce0bf4050  gcc/doc/include/gpl_v3.texi
  e9b8122841fbfbbc30fee8ed6613c399  gcc/doc/include/texinfo.tex
! ba1fdded15d2517a0df5e5cd7e54bec2  gcc/doc/install.texi
  30a2209eee0a2bed76e2d9ff3bd646f2  gcc/doc/install.texi2html
  c1f5915deede97022528ce4f492ee674  gcc/doc/invoke.texi
  dd9d4097ebfa9e936c41913343807268  gcc/doc/languages.texi
*************** e3b758ef604b48f000fb865e38253381  gcc/ex
*** 6248,6254 ****
  9542db78094e70fd18442ce8a2b02264  gcc/explow.h
  82a6eed405414fee082896bb6a2bd1c6  gcc/expmed.cc
  2431f17e1f416ef0b9c38b1b975942a4  gcc/expmed.h
! 34be9f3d5e82f9676fad5859c058251e  gcc/expr.cc
  07d490719ee3fa697cd70f3f98183258  gcc/expr.h
  8cca7ee32636f4556dceffe46dc6c948  gcc/ext-dce.cc
  8ca3dbbcb4ffeb7bd2c8f46140869732  gcc/fibonacci_heap.cc
--- 6248,6254 ----
  9542db78094e70fd18442ce8a2b02264  gcc/explow.h
  82a6eed405414fee082896bb6a2bd1c6  gcc/expmed.cc
  2431f17e1f416ef0b9c38b1b975942a4  gcc/expmed.h
! 7490f0601fb1d2e90d877a5614f832fc  gcc/expr.cc
  07d490719ee3fa697cd70f3f98183258  gcc/expr.h
  8cca7ee32636f4556dceffe46dc6c948  gcc/ext-dce.cc
  8ca3dbbcb4ffeb7bd2c8f46140869732  gcc/fibonacci_heap.cc
*************** f80b38c70a85f9aeae9688b937b028ba  gcc/fi
*** 6266,6273 ****
  0b4405bca4b699887c6a47e1d25b216c  gcc/fold-const-call.h
  50b999b375e3a5a95a002f592e6d4514  gcc/fold-const.cc
  0ec02a37dbbe9cb267f0ea1263085ed3  gcc/fold-const.h
! 764b231c53a63f6a622c187ac0d381d0  gcc/fold-mem-offsets.cc
! 46df1ccc7a764a5f482a5fe4fcb2d09b  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
--- 6266,6273 ----
  0b4405bca4b699887c6a47e1d25b216c  gcc/fold-const-call.h
  50b999b375e3a5a95a002f592e6d4514  gcc/fold-const.cc
  0ec02a37dbbe9cb267f0ea1263085ed3  gcc/fold-const.h
! a0df3d274ac009d203209a191738cec6  gcc/fold-mem-offsets.cc
! 72da573a741b53c924f36bb8aac6a085  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
*************** b9eb124ac64250ae6b43323a196eb79f  gcc/fo
*** 6300,6306 ****
  bc40e87bca719f86583a020eff2d6a73  gcc/fortran/bbt.cc
  011bd7dc066f89c0090f777ebf9857c8  gcc/fortran/check.cc
  cb187afae869d66ea5e19e55fa945052  gcc/fortran/class.cc
! 040fe6bac50f04e19e3cd79aa910103d  gcc/fortran/coarray.cc
  ee80d28f835ba80db395760139037e11  gcc/fortran/config-lang.in
  8a0026117bea2831adebb2edc422fb55  gcc/fortran/constructor.cc
  edad5176d72953374d67effefef0a605  gcc/fortran/constructor.h
--- 6300,6306 ----
  bc40e87bca719f86583a020eff2d6a73  gcc/fortran/bbt.cc
  011bd7dc066f89c0090f777ebf9857c8  gcc/fortran/check.cc
  cb187afae869d66ea5e19e55fa945052  gcc/fortran/class.cc
! dd10c0631591d5ca7c5366c0975943cd  gcc/fortran/coarray.cc
  ee80d28f835ba80db395760139037e11  gcc/fortran/config-lang.in
  8a0026117bea2831adebb2edc422fb55  gcc/fortran/constructor.cc
  edad5176d72953374d67effefef0a605  gcc/fortran/constructor.h
*************** edad5176d72953374d67effefef0a605  gcc/fo
*** 6309,6325 ****
  48e7987762051d8cf68633af2633e50f  gcc/fortran/cpp.h
  213bc611adee1d275a412b3ed4886e79  gcc/fortran/data.cc
  ac7321680382b23989a6637e02dfb80e  gcc/fortran/data.h
! 31fcd72a83986a50a404ba41cbb536a9  gcc/fortran/decl.cc
  26f9d3cd778f806f891b1ae70cad3305  gcc/fortran/dependency.cc
  b66b99368e3cd17573ae64a38e36c1de  gcc/fortran/dependency.h
  d159d22a53e7b0f3fc49d23c3a112081  gcc/fortran/dump-parse-tree.cc
  65aa25da09bdeee948cdad39cfc4d960  gcc/fortran/error.cc
! 8733cfc2753e62375657a319c4fd1242  gcc/fortran/expr.cc
  354927f6cb797cd538c0ab8ab0e552bb  gcc/fortran/f95-lang.cc
  d162511ebc8080669ebdf414e36c7d62  gcc/fortran/frontend-passes.cc
  c85c9309a4274609c6ff6466621c90f6  gcc/fortran/gfc-diagnostic.def
  afb07146daad7f36a59c52e053f6772f  gcc/fortran/gfc-internals.texi
! 06176ee1c25b07da57e6b9dbecb55837  gcc/fortran/gfortran.h
  4b41c64e656ca5096ae5a265ff7b2116  gcc/fortran/gfortran.texi
  9da0114ccf35340d3035f21f8a0f3325  gcc/fortran/gfortranspec.cc
  e74b62dc22fe7098c12db5035b41ff3a  gcc/fortran/interface.cc
--- 6309,6325 ----
  48e7987762051d8cf68633af2633e50f  gcc/fortran/cpp.h
  213bc611adee1d275a412b3ed4886e79  gcc/fortran/data.cc
  ac7321680382b23989a6637e02dfb80e  gcc/fortran/data.h
! 2c7f75dc3c314f4bc57682a27988a718  gcc/fortran/decl.cc
  26f9d3cd778f806f891b1ae70cad3305  gcc/fortran/dependency.cc
  b66b99368e3cd17573ae64a38e36c1de  gcc/fortran/dependency.h
  d159d22a53e7b0f3fc49d23c3a112081  gcc/fortran/dump-parse-tree.cc
  65aa25da09bdeee948cdad39cfc4d960  gcc/fortran/error.cc
! 22d9112a7d549fc91fe4592e26f189dd  gcc/fortran/expr.cc
  354927f6cb797cd538c0ab8ab0e552bb  gcc/fortran/f95-lang.cc
  d162511ebc8080669ebdf414e36c7d62  gcc/fortran/frontend-passes.cc
  c85c9309a4274609c6ff6466621c90f6  gcc/fortran/gfc-diagnostic.def
  afb07146daad7f36a59c52e053f6772f  gcc/fortran/gfc-internals.texi
! 19f6b89e3aeb2bc4bd5df602aac79552  gcc/fortran/gfortran.h
  4b41c64e656ca5096ae5a265ff7b2116  gcc/fortran/gfortran.texi
  9da0114ccf35340d3035f21f8a0f3325  gcc/fortran/gfortranspec.cc
  e74b62dc22fe7098c12db5035b41ff3a  gcc/fortran/interface.cc
*************** e5c0565c05cf7375c9978273f2e553e7  gcc/fo
*** 6336,6342 ****
  6c8e23a76ef7d1e3480d2026a438a31e  gcc/fortran/lang.opt
  8eb4c394776b2993c2ab25a45606b835  gcc/fortran/lang.opt.urls
  c35102e7caaf40998fe2ead86d2716da  gcc/fortran/libgfortran.h
! 196912aa9f300a0a4c8287ed66aa72ab  gcc/fortran/match.cc
  f7735c64af748cdef5caffae58a94749  gcc/fortran/match.h
  bf54232c4c950ed772f4964c4f79629e  gcc/fortran/matchexp.cc
  915f6b30a8c22a5fea18690269a5a4a4  gcc/fortran/mathbuiltins.def
--- 6336,6342 ----
  6c8e23a76ef7d1e3480d2026a438a31e  gcc/fortran/lang.opt
  8eb4c394776b2993c2ab25a45606b835  gcc/fortran/lang.opt.urls
  c35102e7caaf40998fe2ead86d2716da  gcc/fortran/libgfortran.h
! d1e4b302af126d498c3d37a892e3a1ec  gcc/fortran/match.cc
  f7735c64af748cdef5caffae58a94749  gcc/fortran/match.h
  bf54232c4c950ed772f4964c4f79629e  gcc/fortran/matchexp.cc
  915f6b30a8c22a5fea18690269a5a4a4  gcc/fortran/mathbuiltins.def
*************** a465af66dbc504ea8aab1ad5d516072d  gcc/fo
*** 6346,6373 ****
  7baca4fc0a6fcd712dcbccab22987c74  gcc/fortran/options.cc
  51c7efe91d03b1ef05f51f3f1f4c90f6  gcc/fortran/parse.cc
  c97a1f016de974126c688bb9c805f323  gcc/fortran/parse.h
! c5246d76c04dbc669841c906598db57e  gcc/fortran/primary.cc
! 19ab368db7e6bd5f8a6f8ed86e9129d7  gcc/fortran/resolve.cc
  2c98823b77eb8d1c8818d06dc48f3e0a  gcc/fortran/scanner.cc
  18963b3f6aacca960fd6aa72b429a9d2  gcc/fortran/scanner.h
  cb6be151a06683abd748861c64ae065d  gcc/fortran/simplify.cc
  cbdc87ddd4ad5837f1771e93f704a33e  gcc/fortran/st.cc
! 1eaddbe27664b7e3200684df46f59e9d  gcc/fortran/symbol.cc
  1c6fd4e52d7d8b97d9357ff08b660d49  gcc/fortran/target-memory.cc
  92193b934a673cebed3efed7f74a9cac  gcc/fortran/target-memory.h
! a9b7522a29db025904a6c970b7b0fe79  gcc/fortran/trans-array.cc
  a0c40b654df0b5c5213047d26e48e97a  gcc/fortran/trans-array.h
  5c567026f9fbc4fea9b59c22743687c4  gcc/fortran/trans-common.cc
  98960d7450a15e1ecc9789bd0bde16a7  gcc/fortran/trans-const.cc
  0d5cf4117521dba2aea9c8fd7ac67888  gcc/fortran/trans-const.h
! 09b7a3d0c74fe1e3c94f9b28ecb912b0  gcc/fortran/trans-decl.cc
! 00d279586c1e6f0f9bbc34d5660cdebc  gcc/fortran/trans-expr.cc
  10c24440d11b0ad8ae5b69c3c899db5f  gcc/fortran/trans-intrinsic.cc
! 8a57cfea30bf3f2ccc14a884e7b0d1da  gcc/fortran/trans-io.cc
! 97c18e6975fb841118b07ae54c9b33f3  gcc/fortran/trans-openmp.cc
  1d1d754800b06538402013d58915fd0f  gcc/fortran/trans-stmt.cc
  6fbc90714f9730e84515bbaadff313f9  gcc/fortran/trans-stmt.h
! b085053149417a1fab0b7f73dfcf1202  gcc/fortran/trans-types.cc
  6b00c9b76b80a96feb87d86b4b06102b  gcc/fortran/trans-types.h
  91ee4c9dbcce0115a4780015fb117304  gcc/fortran/trans.cc
  e56083fc2c4890d3e4802c5a64dd00f5  gcc/fortran/trans.h
--- 6346,6373 ----
  7baca4fc0a6fcd712dcbccab22987c74  gcc/fortran/options.cc
  51c7efe91d03b1ef05f51f3f1f4c90f6  gcc/fortran/parse.cc
  c97a1f016de974126c688bb9c805f323  gcc/fortran/parse.h
! 8bb157582f33e85815663fe201266fa6  gcc/fortran/primary.cc
! e4e1862e1abc0f81e9fa535f9185ee87  gcc/fortran/resolve.cc
  2c98823b77eb8d1c8818d06dc48f3e0a  gcc/fortran/scanner.cc
  18963b3f6aacca960fd6aa72b429a9d2  gcc/fortran/scanner.h
  cb6be151a06683abd748861c64ae065d  gcc/fortran/simplify.cc
  cbdc87ddd4ad5837f1771e93f704a33e  gcc/fortran/st.cc
! 9ab345f2cf2e1d75d845197f54c1238f  gcc/fortran/symbol.cc
  1c6fd4e52d7d8b97d9357ff08b660d49  gcc/fortran/target-memory.cc
  92193b934a673cebed3efed7f74a9cac  gcc/fortran/target-memory.h
! 4b6abcdd99d6c3b97cdf447c5ce9eb4d  gcc/fortran/trans-array.cc
  a0c40b654df0b5c5213047d26e48e97a  gcc/fortran/trans-array.h
  5c567026f9fbc4fea9b59c22743687c4  gcc/fortran/trans-common.cc
  98960d7450a15e1ecc9789bd0bde16a7  gcc/fortran/trans-const.cc
  0d5cf4117521dba2aea9c8fd7ac67888  gcc/fortran/trans-const.h
! ff9af5e205134de79955e34475056910  gcc/fortran/trans-decl.cc
! a63b928cce0e7f7e41027aa5b8417f7a  gcc/fortran/trans-expr.cc
  10c24440d11b0ad8ae5b69c3c899db5f  gcc/fortran/trans-intrinsic.cc
! 9d578d72e2bcb2e0fc0dc71c709c80f8  gcc/fortran/trans-io.cc
! a46e4ac06108c258f9c52c9304e48fd1  gcc/fortran/trans-openmp.cc
  1d1d754800b06538402013d58915fd0f  gcc/fortran/trans-stmt.cc
  6fbc90714f9730e84515bbaadff313f9  gcc/fortran/trans-stmt.h
! f8cac5e2268c177aff676d2dbb690f51  gcc/fortran/trans-types.cc
  6b00c9b76b80a96feb87d86b4b06102b  gcc/fortran/trans-types.h
  91ee4c9dbcce0115a4780015fb117304  gcc/fortran/trans.cc
  e56083fc2c4890d3e4802c5a64dd00f5  gcc/fortran/trans.h
*************** ed5344143eadda13d94953c181df0123  gcc/ge
*** 6411,6417 ****
  6f831e6ea1ea5c36525eaccefab39200  gcc/genattr-common.cc
  44f67f14c8ebc167c082311145707ddb  gcc/genattr.cc
  a43321b90eb625fe2d7e21dfd047aaa6  gcc/genattrtab.cc
! d2eabbc18dcf5167cb1c35a93099d173  gcc/genautomata.cc
  ae5fcc067c2f2a47e265e69a6896632f  gcc/gencfn-macros.cc
  fd409219ef263a27cda92f9d1c4eb36b  gcc/gencheck.cc
  d7f4e4ad676aca80544724e0f51991da  gcc/genchecksum.cc
--- 6411,6417 ----
  6f831e6ea1ea5c36525eaccefab39200  gcc/genattr-common.cc
  44f67f14c8ebc167c082311145707ddb  gcc/genattr.cc
  a43321b90eb625fe2d7e21dfd047aaa6  gcc/genattrtab.cc
! 889143a974fa13da1076c4677fd427b1  gcc/genautomata.cc
  ae5fcc067c2f2a47e265e69a6896632f  gcc/gencfn-macros.cc
  fd409219ef263a27cda92f9d1c4eb36b  gcc/gencheck.cc
  d7f4e4ad676aca80544724e0f51991da  gcc/genchecksum.cc
*************** c7c9628cd16fe3e0263939ceb0a865fa  gcc/in
*** 6675,6681 ****
  8a34b6abb2591b8c30c7fb4187261ee3  gcc/intl.cc
  22c5866f6858fea288e5e2f1adc96e40  gcc/intl.h
  920db3effdd509146b3f00be906c0885  gcc/ipa-comdats.cc
! b46e72e4598bcdd09b69e88d19682bd6  gcc/ipa-cp.cc
  0f1e7b6760c2459ae3d8d6b55d4020cc  gcc/ipa-cp.h
  810da40373a77e8f3282ac7a81d25408  gcc/ipa-devirt.cc
  ae1e2041798741a74dbd720bfa8af4c5  gcc/ipa-fnsummary.cc
--- 6675,6681 ----
  8a34b6abb2591b8c30c7fb4187261ee3  gcc/intl.cc
  22c5866f6858fea288e5e2f1adc96e40  gcc/intl.h
  920db3effdd509146b3f00be906c0885  gcc/ipa-comdats.cc
! f3503fa1b8a6d51797e3b2a5a61f6a24  gcc/ipa-cp.cc
  0f1e7b6760c2459ae3d8d6b55d4020cc  gcc/ipa-cp.h
  810da40373a77e8f3282ac7a81d25408  gcc/ipa-devirt.cc
  ae1e2041798741a74dbd720bfa8af4c5  gcc/ipa-fnsummary.cc
*************** ba9e8a0870296fd0192e3595d9f582ef  gcc/ip
*** 6693,6699 ****
  e1e331896b86db8a2281657bbb21ac72  gcc/ipa-locality-cloning.h
  4d6a8cf9b93ae2035da4279c028c0746  gcc/ipa-modref-tree.cc
  c546dc75ec27388fb7fe834c0aabd230  gcc/ipa-modref-tree.h
! 4c1a826bc8d0999042788089027518c3  gcc/ipa-modref.cc
  323eab7a20907e08e7d9ca8e513c2259  gcc/ipa-modref.h
  5de2d46c22758bff85e4365ba687f510  gcc/ipa-param-manipulation.cc
  dba11f7340415ca54713db0009a33093  gcc/ipa-param-manipulation.h
--- 6693,6699 ----
  e1e331896b86db8a2281657bbb21ac72  gcc/ipa-locality-cloning.h
  4d6a8cf9b93ae2035da4279c028c0746  gcc/ipa-modref-tree.cc
  c546dc75ec27388fb7fe834c0aabd230  gcc/ipa-modref-tree.h
! 55e4b93fcb954a37fb7ae19691dbb7a6  gcc/ipa-modref.cc
  323eab7a20907e08e7d9ca8e513c2259  gcc/ipa-modref.h
  5de2d46c22758bff85e4365ba687f510  gcc/ipa-param-manipulation.cc
  dba11f7340415ca54713db0009a33093  gcc/ipa-param-manipulation.h
*************** dba11f7340415ca54713db0009a33093  gcc/ip
*** 6701,6709 ****
  80b4cc7719c703dfe60955dfb86002ae  gcc/ipa-predicate.cc
  a25a62951e49120c7882ca20d2486581  gcc/ipa-predicate.h
  7e00759eeb8f2ddaa2f77da1db8adf24  gcc/ipa-profile.cc
! 82d5ee6b34b1b5f4860b5b0375a9b065  gcc/ipa-prop.cc
  ab51096414a0554c4c1069e327ad7801  gcc/ipa-prop.h
! 65ff93abc21470fb80eeaa6c2635e341  gcc/ipa-pure-const.cc
  f2d87c9921ca158119d238ee8d50abb6  gcc/ipa-ref.cc
  241970c18f4b9dd3845e663d39673789  gcc/ipa-ref.h
  97515b33bc3be35a548e23f12c5647a6  gcc/ipa-reference.cc
--- 6701,6709 ----
  80b4cc7719c703dfe60955dfb86002ae  gcc/ipa-predicate.cc
  a25a62951e49120c7882ca20d2486581  gcc/ipa-predicate.h
  7e00759eeb8f2ddaa2f77da1db8adf24  gcc/ipa-profile.cc
! a7b0cd8dabd2e9326e95aa6b70df4367  gcc/ipa-prop.cc
  ab51096414a0554c4c1069e327ad7801  gcc/ipa-prop.h
! 14aace4627625a58b2f0a8aec7cd94f5  gcc/ipa-pure-const.cc
  f2d87c9921ca158119d238ee8d50abb6  gcc/ipa-ref.cc
  241970c18f4b9dd3845e663d39673789  gcc/ipa-ref.h
  97515b33bc3be35a548e23f12c5647a6  gcc/ipa-reference.cc
*************** c6ab645f373e1d6e9ddd212bfc3a95ba  gcc/lo
*** 6857,6863 ****
  d49cf408f9415ef037523414c6e80764  gcc/lower-subreg.h
  841cfef931adce1d98b9755eb3231569  gcc/lra-assigns.cc
  5d1aa184ea3e3c5990e02acbdc762f00  gcc/lra-coalesce.cc
! 9bc6994b654a9dd3ca7ecdd388c918a0  gcc/lra-constraints.cc
  2f34a2e53204408e2578f69fb831b0ac  gcc/lra-eliminations.cc
  ed7c49918557e8e7d34488711171abef  gcc/lra-int.h
  57ce9967bab48c81b11b698d319f4d8d  gcc/lra-lives.cc
--- 6857,6863 ----
  d49cf408f9415ef037523414c6e80764  gcc/lower-subreg.h
  841cfef931adce1d98b9755eb3231569  gcc/lra-assigns.cc
  5d1aa184ea3e3c5990e02acbdc762f00  gcc/lra-coalesce.cc
! e808789bc71f43106b5ac3944853d6b8  gcc/lra-constraints.cc
  2f34a2e53204408e2578f69fb831b0ac  gcc/lra-eliminations.cc
  ed7c49918557e8e7d34488711171abef  gcc/lra-int.h
  57ce9967bab48c81b11b698d319f4d8d  gcc/lra-lives.cc
*************** fef443de1557117f8c2847206a2ea8f5  gcc/or
*** 7970,7976 ****
  7c8d7dc194f39f5b8c69d7f0d05bc335  gcc/output.h
  5f96d548f10507478f5096f298505278  gcc/pair-fusion.cc
  69198894caa672a2294267474e494d8b  gcc/pair-fusion.h
! 97f2f64fa84915229b5d79ae7356aba9  gcc/params.opt
  2cc794e23d80a8c9f057a7e402c65fb8  gcc/params.opt.urls
  ce920ed7f2cc74b4a9bc390c39f4cbee  gcc/pass_manager.h
  23b3f227e4a3edb6df0c76124df99274  gcc/passes.cc
--- 7970,7976 ----
  7c8d7dc194f39f5b8c69d7f0d05bc335  gcc/output.h
  5f96d548f10507478f5096f298505278  gcc/pair-fusion.cc
  69198894caa672a2294267474e494d8b  gcc/pair-fusion.h
! 920d2446bba13a4a1b779f46c4bd90af  gcc/params.opt
  2cc794e23d80a8c9f057a7e402c65fb8  gcc/params.opt.urls
  ce920ed7f2cc74b4a9bc390c39f4cbee  gcc/pass_manager.h
  23b3f227e4a3edb6df0c76124df99274  gcc/passes.cc
*************** b2f9b18f946c2e60e4f6cba0ab2df54e  gcc/pe
*** 7981,7991 ****
  51380e9db88b682bc96a35cc4bce56a5  gcc/plugin.cc
  af6268dd53154434eb4c4d1c299e0ee2  gcc/plugin.def
  5678cfbc9cf98f9e69bee1118c787a42  gcc/plugin.h
! 9a9191b1373bbd4a99b368df054c4612  gcc/po/ChangeLog
  2c2fbc71d2acc1ddfb9fb9501458921b  gcc/po/EXCLUDES
  c5974911369d0bad48f42329deee1913  gcc/po/be.po
  aeca8daf3d86bb6aa6ec3a32dc4288d4  gcc/po/da.po
! f612009c0dae0b9621d75ba76cdbdcea  gcc/po/de.po
  3682955a164ffb12ec5aef70b658e70e  gcc/po/el.po
  2e0cf84e6ba491d1d694d3e1a5fd2250  gcc/po/es.po
  7a6d51f7527e21e20156259c98cac705  gcc/po/exgettext
--- 7981,7991 ----
  51380e9db88b682bc96a35cc4bce56a5  gcc/plugin.cc
  af6268dd53154434eb4c4d1c299e0ee2  gcc/plugin.def
  5678cfbc9cf98f9e69bee1118c787a42  gcc/plugin.h
! f3a33f13b8450859c119f3027a91c3a4  gcc/po/ChangeLog
  2c2fbc71d2acc1ddfb9fb9501458921b  gcc/po/EXCLUDES
  c5974911369d0bad48f42329deee1913  gcc/po/be.po
  aeca8daf3d86bb6aa6ec3a32dc4288d4  gcc/po/da.po
! dc277593fd4c3a5d8d90ca924d1f1e94  gcc/po/de.po
  3682955a164ffb12ec5aef70b658e70e  gcc/po/el.po
  2e0cf84e6ba491d1d694d3e1a5fd2250  gcc/po/es.po
  7a6d51f7527e21e20156259c98cac705  gcc/po/exgettext
*************** d87f34867b0a2975834dea38388f14ae  gcc/po
*** 7999,8005 ****
  465c33e277c596f7da7c98986f3c9d71  gcc/po/nl.po
  129add1a4fc37c5acffdb868128eaab8  gcc/po/ru.po
  ba3d9819d0d6d40fcac6530a45c338ee  gcc/po/sr.po
! 4ad7301a2034bdeea7cc1dffc8f13fb3  gcc/po/sv.po
  68206d7ec30d4dcbdd0157fc54ffa432  gcc/po/tr.po
  7908faec83e4ae8c0b1f3ac8aeec183d  gcc/po/uk.po
  6304893b915690328bf19fb051ca8859  gcc/po/vi.po
--- 7999,8005 ----
  465c33e277c596f7da7c98986f3c9d71  gcc/po/nl.po
  129add1a4fc37c5acffdb868128eaab8  gcc/po/ru.po
  ba3d9819d0d6d40fcac6530a45c338ee  gcc/po/sr.po
! aa98fe791143fc5ecaa41d3f669c4532  gcc/po/sv.po
  68206d7ec30d4dcbdd0157fc54ffa432  gcc/po/tr.po
  7908faec83e4ae8c0b1f3ac8aeec183d  gcc/po/uk.po
  6304893b915690328bf19fb051ca8859  gcc/po/vi.po
*************** db24d9f938cefb2027e91a5068f5f1d0  gcc/pr
*** 8033,8040 ****
  75fc41809b74ed162233e70c20df1264  gcc/profile.h
  7f9b6625aa17fa4341b812c209fafb26  gcc/pta-andersen.cc
  bea702966301b6b7e6294ef33ec8b443  gcc/pta-andersen.h
! 82ae5b500fa9d2cc1ddc5886b0afa6b8  gcc/pub-sub.cc
! cd37b0d675d660c011c9fca8507778b4  gcc/pub-sub.h
  c31c0520e2804e9ad22ae257d5dd5ea6  gcc/range-op-float.cc
  5b7facbc76df7d457131d6ab875c3b62  gcc/range-op-mixed.h
  f4cba1bfd3b506f536d929e22e20525d  gcc/range-op-ptr.cc
--- 8033,8040 ----
  75fc41809b74ed162233e70c20df1264  gcc/profile.h
  7f9b6625aa17fa4341b812c209fafb26  gcc/pta-andersen.cc
  bea702966301b6b7e6294ef33ec8b443  gcc/pta-andersen.h
! 706c6f6185e00db6f945b89759097531  gcc/pub-sub.cc
! f72a1e84c9facd65dc1c42ee67f21583  gcc/pub-sub.h
  c31c0520e2804e9ad22ae257d5dd5ea6  gcc/range-op-float.cc
  5b7facbc76df7d457131d6ab875c3b62  gcc/range-op-mixed.h
  f4cba1bfd3b506f536d929e22e20525d  gcc/range-op-ptr.cc
*************** d1e8f06dfe7f0d64ebabef7c52035296  gcc/re
*** 8056,8062 ****
  8bff9b4e294312d53b3edc3a5599f0a3  gcc/ree.cc
  cccab40b3ac43a58e799adb120a5dfbf  gcc/reg-notes.def
  7a6bc7c58286682936006bbdfed0b1fe  gcc/reg-stack.cc
! 11295480a356160ea15c4eb614896234  gcc/regcprop.cc
  e871bb7c9089d9ade710735b0803cff1  gcc/regcprop.h
  435320d85f05d8915fcbd110db42a930  gcc/regenerate-attr-urls.py
  30050aa95f6f4a4c07e106cc9fe79dc3  gcc/regenerate-opt-urls.py
--- 8056,8062 ----
  8bff9b4e294312d53b3edc3a5599f0a3  gcc/ree.cc
  cccab40b3ac43a58e799adb120a5dfbf  gcc/reg-notes.def
  7a6bc7c58286682936006bbdfed0b1fe  gcc/reg-stack.cc
! 1d8bdd4d8bfbe6123bc7a19c66c7645e  gcc/regcprop.cc
  e871bb7c9089d9ade710735b0803cff1  gcc/regcprop.h
  435320d85f05d8915fcbd110db42a930  gcc/regenerate-attr-urls.py
  30050aa95f6f4a4c07e106cc9fe79dc3  gcc/regenerate-opt-urls.py
*************** eab7365dceccf86b8e9a8ccbb365afc3  gcc/rt
*** 8100,8106 ****
  27956813d0124f5b5ec60d5a48840a34  gcc/rtl.cc
  a9ad8cbba3c33e3fbc0b79c6938a0295  gcc/rtl.def
  1ddd2444adb70f3c6e041e2e5bc3bb1c  gcc/rtl.h
! 814f2d1848bae3b39272dbd5274755a0  gcc/rtlanal.cc
  57073d447ccb92aa7b0276e4471824df  gcc/rtlanal.h
  9a5e61517f096479200fef046f8b2d35  gcc/rtlhash.cc
  0c917b0591a65e7996befc0d1e294cc3  gcc/rtlhash.h
--- 8100,8106 ----
  27956813d0124f5b5ec60d5a48840a34  gcc/rtl.cc
  a9ad8cbba3c33e3fbc0b79c6938a0295  gcc/rtl.def
  1ddd2444adb70f3c6e041e2e5bc3bb1c  gcc/rtl.h
! 7ff1c4f5f03f9f3f90b58f300088af4a  gcc/rtlanal.cc
  57073d447ccb92aa7b0276e4471824df  gcc/rtlanal.h
  9a5e61517f096479200fef046f8b2d35  gcc/rtlhash.cc
  0c917b0591a65e7996befc0d1e294cc3  gcc/rtlhash.h
*************** c5e97158cfb2af3204a5d8562aefaf85  gcc/sh
*** 8650,8656 ****
  3f3d94e6f52cc07f64e195e1a75dc485  gcc/signop.h
  b4c90fe064bba484ce5c18adb1a9e544  gcc/simple-diagnostic-path.cc
  7affe31db6f7cb9c7fc77937feef0758  gcc/simple-diagnostic-path.h
! 77599861077f8a8a713192f2cd0feda0  gcc/simplify-rtx.cc
  d1aec926a9488869692e8fe2f61ca75f  gcc/sort.cc
  7daa38cb1d09a2f88958f00a965d40a1  gcc/sparseset.cc
  3883b6ff1845dcec7b2822124018ab05  gcc/sparseset.h
--- 8650,8656 ----
  3f3d94e6f52cc07f64e195e1a75dc485  gcc/signop.h
  b4c90fe064bba484ce5c18adb1a9e544  gcc/simple-diagnostic-path.cc
  7affe31db6f7cb9c7fc77937feef0758  gcc/simple-diagnostic-path.h
! 1454a72474707f3f7056d0b36bc370c3  gcc/simplify-rtx.cc
  d1aec926a9488869692e8fe2f61ca75f  gcc/sort.cc
  7daa38cb1d09a2f88958f00a965d40a1  gcc/sparseset.cc
  3883b6ff1845dcec7b2822124018ab05  gcc/sparseset.h
*************** eff575b7caab0563e47a1f26ca4036bf  gcc/sy
*** 8691,8697 ****
  9c644ae81295f2ecf22a4f54c7144e34  gcc/symtab-clones.h
  e1899978827cfd0d1570e61a7c30d94a  gcc/symtab-thunks.cc
  9f6e7e9cd1feccb68765288812751504  gcc/symtab-thunks.h
! 74c8816df6f189cfaf94cca29a845119  gcc/symtab.cc
  aa4c1d56c6974e4059ea89c2e315974f  gcc/sync-builtins.def
  f3ad4ab6a47ec1756160d39374ae0576  gcc/system.h
  53f5e973b2158c80ba4a144b03350c73  gcc/target-def.h
--- 8691,8697 ----
  9c644ae81295f2ecf22a4f54c7144e34  gcc/symtab-clones.h
  e1899978827cfd0d1570e61a7c30d94a  gcc/symtab-thunks.cc
  9f6e7e9cd1feccb68765288812751504  gcc/symtab-thunks.h
! 2c2ee71cfd64c2e66f7b793fd04713e4  gcc/symtab.cc
  aa4c1d56c6974e4059ea89c2e315974f  gcc/sync-builtins.def
  f3ad4ab6a47ec1756160d39374ae0576  gcc/system.h
  53f5e973b2158c80ba4a144b03350c73  gcc/target-def.h
*************** b21c32de4ac41afaa112df92995fbc7b  gcc/ta
*** 8704,8710 ****
  bf20a6542e361b29f15f9f2b47d47e2f  gcc/targhooks.cc
  b1068b0d3d77d5a55802a29a9f8a08d7  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 1fb0400e4fa250e660f5b8376e85395e  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8704,8710 ----
  bf20a6542e361b29f15f9f2b47d47e2f  gcc/targhooks.cc
  b1068b0d3d77d5a55802a29a9f8a08d7  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 602df3453981ee004894cc413d1f6fda  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** c8eec5b6a8cb02fdf4b8fc3672950275  gcc/te
*** 11913,11919 ****
  05a5719220f88bc16adf5f7d5f2eb478  gcc/testsuite/ada/acats-3/tests/c3/c3a0022.a
  d395a766d1e83cd40c121d287e8dc401  gcc/testsuite/ada/acats-3/tests/c3/c3a0023.a
  18c72364756781cf037aaa928e0aaf6b  gcc/testsuite/ada/acats-3/tests/c3/c3a0024.a
! 5b7c36b7749cfc424cb0c256201cf255  gcc/testsuite/ada/acats-3/tests/c3/c3a0025.a
  87c70d07250a7103f096a337328bbc92  gcc/testsuite/ada/acats-3/tests/c3/c3a0026.a
  607293a26ce7e3e441968e95c9ccbba2  gcc/testsuite/ada/acats-3/tests/c3/c3a0027.a
  2ddeb89db87fb985e7c9ddfcf080e693  gcc/testsuite/ada/acats-3/tests/c3/c3a0028.a
--- 11913,11919 ----
  05a5719220f88bc16adf5f7d5f2eb478  gcc/testsuite/ada/acats-3/tests/c3/c3a0022.a
  d395a766d1e83cd40c121d287e8dc401  gcc/testsuite/ada/acats-3/tests/c3/c3a0023.a
  18c72364756781cf037aaa928e0aaf6b  gcc/testsuite/ada/acats-3/tests/c3/c3a0024.a
! 5e91b5fba2c184aab9fe2701a160940a  gcc/testsuite/ada/acats-3/tests/c3/c3a0025.a
  87c70d07250a7103f096a337328bbc92  gcc/testsuite/ada/acats-3/tests/c3/c3a0026.a
  607293a26ce7e3e441968e95c9ccbba2  gcc/testsuite/ada/acats-3/tests/c3/c3a0027.a
  2ddeb89db87fb985e7c9ddfcf080e693  gcc/testsuite/ada/acats-3/tests/c3/c3a0028.a
*************** c8eec5b6a8cb02fdf4b8fc3672950275  gcc/te
*** 14673,14679 ****
  05a5719220f88bc16adf5f7d5f2eb478  gcc/testsuite/ada/acats-4/tests/c3/c3a0022.a
  d395a766d1e83cd40c121d287e8dc401  gcc/testsuite/ada/acats-4/tests/c3/c3a0023.a
  18c72364756781cf037aaa928e0aaf6b  gcc/testsuite/ada/acats-4/tests/c3/c3a0024.a
! 5b7c36b7749cfc424cb0c256201cf255  gcc/testsuite/ada/acats-4/tests/c3/c3a0025.a
  87c70d07250a7103f096a337328bbc92  gcc/testsuite/ada/acats-4/tests/c3/c3a0026.a
  607293a26ce7e3e441968e95c9ccbba2  gcc/testsuite/ada/acats-4/tests/c3/c3a0027.a
  2ddeb89db87fb985e7c9ddfcf080e693  gcc/testsuite/ada/acats-4/tests/c3/c3a0028.a
--- 14673,14679 ----
  05a5719220f88bc16adf5f7d5f2eb478  gcc/testsuite/ada/acats-4/tests/c3/c3a0022.a
  d395a766d1e83cd40c121d287e8dc401  gcc/testsuite/ada/acats-4/tests/c3/c3a0023.a
  18c72364756781cf037aaa928e0aaf6b  gcc/testsuite/ada/acats-4/tests/c3/c3a0024.a
! 5e91b5fba2c184aab9fe2701a160940a  gcc/testsuite/ada/acats-4/tests/c3/c3a0025.a
  87c70d07250a7103f096a337328bbc92  gcc/testsuite/ada/acats-4/tests/c3/c3a0026.a
  607293a26ce7e3e441968e95c9ccbba2  gcc/testsuite/ada/acats-4/tests/c3/c3a0027.a
  2ddeb89db87fb985e7c9ddfcf080e693  gcc/testsuite/ada/acats-4/tests/c3/c3a0028.a
*************** a8e646bd6e333b7d40ea2b9682585404  gcc/te
*** 17332,17337 ****
--- 17332,17338 ----
  262d159d55127a301907c2ee423b12d2  gcc/testsuite/algol68/execute/flex-3.a68
  12d973435b00a6a45aacc8f2c9549124  gcc/testsuite/algol68/execute/flex-4.a68
  69ab0639a45032fbe4d62731467d1f4a  gcc/testsuite/algol68/execute/flex-5.a68
+ 85bdfb6f3eb5e72e0332dce3487524bc  gcc/testsuite/algol68/execute/float-1.a68
  0e012b24ffa70dc57520cb70ec140c6a  gcc/testsuite/algol68/execute/formula-1.a68
  2bd0bebf0a4ff2cd7f515ca5adfb38bc  gcc/testsuite/algol68/execute/formula-2.a68
  b9aae346a615c572bb38b3752df2e4a4  gcc/testsuite/algol68/execute/fsize-1.a68
*************** a00ad027485af688f31ddcf5b822ad9e  gcc/te
*** 17524,17534 ****
  4d122e5a57e1d21a9b17f9f8f8dbf2ca  gcc/testsuite/algol68/execute/modules/program-6.a68
  ca3ee436ba2d2f6b312280612d6b4faa  gcc/testsuite/algol68/execute/modules/program-7.a68
  d4492021f16108b406a1eccac228712e  gcc/testsuite/algol68/execute/modules/program-8.a68
! a81f53b48af4e3b1ae21a38f4b306726  gcc/testsuite/algol68/execute/mult-char-1.a68
  9938e4a6def695b9ebb313bea35be215  gcc/testsuite/algol68/execute/mult-int-1.a68
! b08b081b1c1906059423123344abcd9b  gcc/testsuite/algol68/execute/mult-string-1.a68
! 5d0a358e47e5ed7d1caee2eb832a6588  gcc/testsuite/algol68/execute/mult-string-2.a68
! 8c508ae2958e322ce672fee110a449f1  gcc/testsuite/algol68/execute/mult-string-3.a68
  8749c1ed6e0c6d460d693f6e78caa073  gcc/testsuite/algol68/execute/mult-string-4.a68
  56ff07d3d2975e5caa5b8b840dd48e79  gcc/testsuite/algol68/execute/multab-1.a68
  d19358708e815a3e017ab3bc2287b391  gcc/testsuite/algol68/execute/multab-2.a68
--- 17525,17535 ----
  4d122e5a57e1d21a9b17f9f8f8dbf2ca  gcc/testsuite/algol68/execute/modules/program-6.a68
  ca3ee436ba2d2f6b312280612d6b4faa  gcc/testsuite/algol68/execute/modules/program-7.a68
  d4492021f16108b406a1eccac228712e  gcc/testsuite/algol68/execute/modules/program-8.a68
! 8aed3cfb8427244c7140d36ba70099bc  gcc/testsuite/algol68/execute/mult-char-1.a68
  9938e4a6def695b9ebb313bea35be215  gcc/testsuite/algol68/execute/mult-int-1.a68
! 4d73a319b4140ae9fc8d03ad20730bdf  gcc/testsuite/algol68/execute/mult-string-1.a68
! 903ec23ebdca13a63262a1b81a2f453f  gcc/testsuite/algol68/execute/mult-string-2.a68
! b26d372bbc1cc6c13aa380008358d736  gcc/testsuite/algol68/execute/mult-string-3.a68
  8749c1ed6e0c6d460d693f6e78caa073  gcc/testsuite/algol68/execute/mult-string-4.a68
  56ff07d3d2975e5caa5b8b840dd48e79  gcc/testsuite/algol68/execute/multab-1.a68
  d19358708e815a3e017ab3bc2287b391  gcc/testsuite/algol68/execute/multab-2.a68
*************** a1e493fe52a51c424874f946c2d4dd19  gcc/te
*** 23304,23310 ****
  65ab5ab52798f9e0c1e79f85739017e5  gcc/testsuite/g++.dg/coroutines/torture/local-var-05-awaitable.C
  64cae1ecb87704f989e3edaeb243c993  gcc/testsuite/g++.dg/coroutines/torture/local-var-06-structured-binding.C
  fbfa3478c3cb149485c72122eda6811b  gcc/testsuite/g++.dg/coroutines/torture/mid-suspend-destruction-0.C
! 071a68722f4173f2f5200bdf87e9aff8  gcc/testsuite/g++.dg/coroutines/torture/pr103953.C
  d70e1067c46528fe83662185c66bef45  gcc/testsuite/g++.dg/coroutines/torture/pr105104.C
  ab314765ac0eb201bb3e11222207ee40  gcc/testsuite/g++.dg/coroutines/torture/pr109867.C
  25fa35420b604bea9857061f35656b5b  gcc/testsuite/g++.dg/coroutines/torture/pr113773.C
--- 23305,23311 ----
  65ab5ab52798f9e0c1e79f85739017e5  gcc/testsuite/g++.dg/coroutines/torture/local-var-05-awaitable.C
  64cae1ecb87704f989e3edaeb243c993  gcc/testsuite/g++.dg/coroutines/torture/local-var-06-structured-binding.C
  fbfa3478c3cb149485c72122eda6811b  gcc/testsuite/g++.dg/coroutines/torture/mid-suspend-destruction-0.C
! 6a8cfa17261ced2af232f482be80d5b0  gcc/testsuite/g++.dg/coroutines/torture/pr103953.C
  d70e1067c46528fe83662185c66bef45  gcc/testsuite/g++.dg/coroutines/torture/pr105104.C
  ab314765ac0eb201bb3e11222207ee40  gcc/testsuite/g++.dg/coroutines/torture/pr109867.C
  25fa35420b604bea9857061f35656b5b  gcc/testsuite/g++.dg/coroutines/torture/pr113773.C
*************** e884bf1c365eb117bddb8cf25bb61944  gcc/te
*** 26052,26057 ****
--- 26053,26059 ----
  18a5617c6a56b06d2e51299f84183279  gcc/testsuite/g++.dg/cpp0x/static_assert15.C
  53545b7342e66ae87c68f3a770b6a193  gcc/testsuite/g++.dg/cpp0x/static_assert16.C
  a763580664ce585f23dcbf8cf13cab6a  gcc/testsuite/g++.dg/cpp0x/static_assert17.C
+ 0b478e7b19ce99e25e3b117a78dbd54a  gcc/testsuite/g++.dg/cpp0x/static_assert18.C
  7c94507411d8f0fcd4964618204cd929  gcc/testsuite/g++.dg/cpp0x/static_assert2.C
  f24eae3c4070d37d2bbcb3f45a386807  gcc/testsuite/g++.dg/cpp0x/static_assert3.C
  09c6459c722f7fda152e22ef59d4e30c  gcc/testsuite/g++.dg/cpp0x/static_assert4.C
*************** e0c740066bd9b5db23ad119756a191dc  gcc/te
*** 27565,27570 ****
--- 27567,27573 ----
  11546fc7df8f740e330fb3c4689e9ec3  gcc/testsuite/g++.dg/cpp1z/decomp65.C
  4267cc2db929f2666c1c5449e017a94a  gcc/testsuite/g++.dg/cpp1z/decomp66.C
  d87e0f686f9f58fa2c8ea0990e82c1b3  gcc/testsuite/g++.dg/cpp1z/decomp67.C
+ 8625552f27dfff4523582699ba42a835  gcc/testsuite/g++.dg/cpp1z/decomp68.C
  09468d9aa8e4fe8ac0677b17a3c509a2  gcc/testsuite/g++.dg/cpp1z/decomp7.C
  0d7ba62c8322f4f98a085026e3ac529a  gcc/testsuite/g++.dg/cpp1z/decomp8.C
  20aa008483ed89882491910be20354b8  gcc/testsuite/g++.dg/cpp1z/decomp9.C
*************** d3a5a9df5514968709862976635c8094  gcc/te
*** 27981,27986 ****
--- 27984,27990 ----
  4882304f120b6e2ec91e0db6c07d5eb4  gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda19.C
  87abca8eb660254fbf201e771eef3751  gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda2.C
  15806046d4b84c665a24477e28c66de8  gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda20.C
+ 53a006b53f4f642ce54703dcb0679625  gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda21.C
  e8adbb443f8b231b244ffbcd64ee7da2  gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda3.C
  0a50eb80a181d4196ff68849d37d2615  gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda4.C
  cb8eabd8ed2aec8d2d6ba1aa825f9307  gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda5.C
*************** abac21de83ec6f3c8535a8e4fde29e90  gcc/te
*** 28162,28167 ****
--- 28166,28172 ----
  f462246786df8652f2409939354d0c38  gcc/testsuite/g++.dg/cpp26/decomp24.C
  f03ab32088d0fea8cefc516352c939d2  gcc/testsuite/g++.dg/cpp26/decomp25.C
  dd3131ab1dbc85f08ebd66eda08bd240  gcc/testsuite/g++.dg/cpp26/decomp26.C
+ 5bf4ccd33ee7b05990e311ad63e2c51b  gcc/testsuite/g++.dg/cpp26/decomp27.C
  04625a49d6c21164c6f7e075e578b4d2  gcc/testsuite/g++.dg/cpp26/decomp3.C
  e0331653ca37862860617d90def1c2d9  gcc/testsuite/g++.dg/cpp26/decomp4.C
  2765a6ddd9be5099086c5f772077d8d1  gcc/testsuite/g++.dg/cpp26/decomp5.C
*************** e59f63d278e1f049c181594746f34930  gcc/te
*** 29266,29271 ****
--- 29271,29277 ----
  ed8e374c7099be5062508b2798dc6a58  gcc/testsuite/g++.dg/cpp2a/lambda-uneval28.C
  c3d9ded980076b7db82a63c086636931  gcc/testsuite/g++.dg/cpp2a/lambda-uneval29.C
  95297857429ac8850dbeb5773639ea6b  gcc/testsuite/g++.dg/cpp2a/lambda-uneval3.C
+ 56e3e8d11a55552a749cc9a73432a46d  gcc/testsuite/g++.dg/cpp2a/lambda-uneval30.C
  2f7bd1774e5f890e65ee937419a29669  gcc/testsuite/g++.dg/cpp2a/lambda-uneval4.C
  8e6b610dd3dab06841943bfa5f325489  gcc/testsuite/g++.dg/cpp2a/lambda-uneval5.C
  91159fd20af1b89a4545ef0450293574  gcc/testsuite/g++.dg/cpp2a/lambda-uneval6.C
*************** aedb0bd74d236b797fb016d0b7034db4  gcc/te
*** 30766,30775 ****
  6090149115c2b20514a8f0eea93988bf  gcc/testsuite/g++.dg/ext/constexpr-builtin1.C
  82959c15178dd64163f4b94c212354d8  gcc/testsuite/g++.dg/ext/constexpr-diag1.C
  0ead8c89fb896b414174ed2bf5f7f332  gcc/testsuite/g++.dg/ext/constexpr-diag2.C
! 0320c130d5418ef90eba21582c97ee41  gcc/testsuite/g++.dg/ext/constexpr-diag3.C
  83266baeb49828c4a2192df7f9b87bb8  gcc/testsuite/g++.dg/ext/constexpr-diag4.C
  4b2f787854343fced14c6d76a49245b1  gcc/testsuite/g++.dg/ext/constexpr-diag5.C
! 4ba81a8857261d6dce1efa3185b92028  gcc/testsuite/g++.dg/ext/constexpr-diag6.C
  6f06936a70e143d2d4010948b821e19a  gcc/testsuite/g++.dg/ext/constexpr-pr82781.C
  3f1e0d73980f7d0ad16399fb51512b7b  gcc/testsuite/g++.dg/ext/constexpr-pr93549.C
  e6a4da2462b7d9932c6f217b19f03ac9  gcc/testsuite/g++.dg/ext/constexpr-vla1.C
--- 30772,30782 ----
  6090149115c2b20514a8f0eea93988bf  gcc/testsuite/g++.dg/ext/constexpr-builtin1.C
  82959c15178dd64163f4b94c212354d8  gcc/testsuite/g++.dg/ext/constexpr-diag1.C
  0ead8c89fb896b414174ed2bf5f7f332  gcc/testsuite/g++.dg/ext/constexpr-diag2.C
! 20e173e2c2515f7ecb977ead78a8525b  gcc/testsuite/g++.dg/ext/constexpr-diag3.C
  83266baeb49828c4a2192df7f9b87bb8  gcc/testsuite/g++.dg/ext/constexpr-diag4.C
  4b2f787854343fced14c6d76a49245b1  gcc/testsuite/g++.dg/ext/constexpr-diag5.C
! 6779c851cb30320fb704ee3523910375  gcc/testsuite/g++.dg/ext/constexpr-diag6.C
! 627bf98875dcb46c4708f3c991386f80  gcc/testsuite/g++.dg/ext/constexpr-diag7.C
  6f06936a70e143d2d4010948b821e19a  gcc/testsuite/g++.dg/ext/constexpr-pr82781.C
  3f1e0d73980f7d0ad16399fb51512b7b  gcc/testsuite/g++.dg/ext/constexpr-pr93549.C
  e6a4da2462b7d9932c6f217b19f03ac9  gcc/testsuite/g++.dg/ext/constexpr-vla1.C
*************** d2b21cb5491477a86d440aab9f68213d  gcc/te
*** 31496,31501 ****
--- 31503,31509 ----
  6a2ed5ca795d47c333efae7c155c43b1  gcc/testsuite/g++.dg/gcov/gcov.py
  28167c93ffea74cb328ff3cd087d643a  gcc/testsuite/g++.dg/gcov/gcovpart-12b.C
  8c449724d16163830d78af38ba4455c4  gcc/testsuite/g++.dg/gcov/loop.C
+ 846b716c8d89f3775a07258c6c25f3fc  gcc/testsuite/g++.dg/gcov/pr124462.C
  2f5a9e562f6775f48039bc0b20af1608  gcc/testsuite/g++.dg/gcov/pr16855-priority.C
  f7c0f628057aeb696ed37337ef71f0cc  gcc/testsuite/g++.dg/gcov/pr16855.C
  a110e4ab4e3ab6eb91d6fce957fd398f  gcc/testsuite/g++.dg/gcov/pr84548.C
*************** ca15311ea1da0659039c9b25689b0b27  gcc/te
*** 32524,32530 ****
  bed36d1818630d74b5d7e001ed0f2563  gcc/testsuite/g++.dg/ipa/devirt-12.C
  e56f74042aa8aa5dbbb9f60f5673507c  gcc/testsuite/g++.dg/ipa/devirt-13.C
  44c79b746a024dc0af4c9cb2a65b99ee  gcc/testsuite/g++.dg/ipa/devirt-14.C
! 3a165818e702466a10e261787ba32023  gcc/testsuite/g++.dg/ipa/devirt-15.C
  a3ef5649648039007c89bf5cb9fe814b  gcc/testsuite/g++.dg/ipa/devirt-16.C
  6dcf4578bc9c92f114c8c61ef2660571  gcc/testsuite/g++.dg/ipa/devirt-17.C
  4b23a4e562c19810f0c55f0817916933  gcc/testsuite/g++.dg/ipa/devirt-18.C
--- 32532,32538 ----
  bed36d1818630d74b5d7e001ed0f2563  gcc/testsuite/g++.dg/ipa/devirt-12.C
  e56f74042aa8aa5dbbb9f60f5673507c  gcc/testsuite/g++.dg/ipa/devirt-13.C
  44c79b746a024dc0af4c9cb2a65b99ee  gcc/testsuite/g++.dg/ipa/devirt-14.C
! 36d9d10b20c283292d43ee3a688bb8fa  gcc/testsuite/g++.dg/ipa/devirt-15.C
  a3ef5649648039007c89bf5cb9fe814b  gcc/testsuite/g++.dg/ipa/devirt-16.C
  6dcf4578bc9c92f114c8c61ef2660571  gcc/testsuite/g++.dg/ipa/devirt-17.C
  4b23a4e562c19810f0c55f0817916933  gcc/testsuite/g++.dg/ipa/devirt-18.C
*************** cedd15f6c5ea2087db7309f8e58574a4  gcc/te
*** 33618,33623 ****
--- 33626,33636 ----
  de9e83ce6d7d5406399b3d0d434e98a7  gcc/testsuite/g++.dg/modules/class-10_b.C
  7e67b5528c5e59e88bd6a3254c0f232a  gcc/testsuite/g++.dg/modules/class-11_a.H
  3de8f8b02a4295fb5ddf207cc3bdf8d8  gcc/testsuite/g++.dg/modules/class-11_b.C
+ 435674ba0af1e1205b05738b90105781  gcc/testsuite/g++.dg/modules/class-12_a.C
+ da6bdd6dbd466e2daa6dfec12ddb380c  gcc/testsuite/g++.dg/modules/class-12_b.C
+ ec7e1f1b923378786413dd69e4c7d804  gcc/testsuite/g++.dg/modules/class-12_c.C
+ ff7ae950957b6e0673304a67c3be9dfc  gcc/testsuite/g++.dg/modules/class-13_a.C
+ 05c1de8b0f2fe206eef546cf5e946727  gcc/testsuite/g++.dg/modules/class-13_b.C
  86586d456dae6a665b6dc0eea845c1d2  gcc/testsuite/g++.dg/modules/class-1_a.C
  52c0c896346bdeeeb006d315251b80a8  gcc/testsuite/g++.dg/modules/class-1_b.C
  10b7bdfdbc0bf357572444729f4dafc4  gcc/testsuite/g++.dg/modules/class-1_c.C
*************** bc38928c9f8a6800dafc162f6e6f58fb  gcc/te
*** 33639,33645 ****
  28c5aa4a4d4042fde977d983f2877a82  gcc/testsuite/g++.dg/modules/class-7_b.C
  928857b618d675c87816a776ca3df35b  gcc/testsuite/g++.dg/modules/class-7_c.C
  7b6003994dfc085b0c0b40260c5903bf  gcc/testsuite/g++.dg/modules/class-8_a.C
! 4cda6e81598164c1353e6d8587668d7d  gcc/testsuite/g++.dg/modules/class-8_b.C
  9a40295b4a00f16692a24e36675f272b  gcc/testsuite/g++.dg/modules/class-9_a.H
  fddd8f40a7321e1f9eae3f84076aa16d  gcc/testsuite/g++.dg/modules/class-9_b.H
  794a6e564f1eb40945ca175d2083e2d2  gcc/testsuite/g++.dg/modules/class-9_c.C
--- 33652,33658 ----
  28c5aa4a4d4042fde977d983f2877a82  gcc/testsuite/g++.dg/modules/class-7_b.C
  928857b618d675c87816a776ca3df35b  gcc/testsuite/g++.dg/modules/class-7_c.C
  7b6003994dfc085b0c0b40260c5903bf  gcc/testsuite/g++.dg/modules/class-8_a.C
! dcebf8cd10d2bf9032d37f10467e0626  gcc/testsuite/g++.dg/modules/class-8_b.C
  9a40295b4a00f16692a24e36675f272b  gcc/testsuite/g++.dg/modules/class-9_a.H
  fddd8f40a7321e1f9eae3f84076aa16d  gcc/testsuite/g++.dg/modules/class-9_b.H
  794a6e564f1eb40945ca175d2083e2d2  gcc/testsuite/g++.dg/modules/class-9_c.C
*************** ba983ce4c51c5220267205b32b9a3909  gcc/te
*** 33895,33900 ****
--- 33908,33914 ----
  a71ad222ec453dfae941cc6a9d0495d6  gcc/testsuite/g++.dg/modules/friend-11_b.C
  95ac1711696c30b44bd143d707a63055  gcc/testsuite/g++.dg/modules/friend-12_a.C
  7207ee63d7d3c126dd8553f8489901a4  gcc/testsuite/g++.dg/modules/friend-12_b.C
+ b96b999afff648452f8c6ddbd790814b  gcc/testsuite/g++.dg/modules/friend-13.C
  8fcab2cff53b2d8a5b252819cfc97930  gcc/testsuite/g++.dg/modules/friend-1_a.C
  965df98a384b69dc039aa01146450993  gcc/testsuite/g++.dg/modules/friend-1_b.C
  7cf2445dd7db33a1920c890fa101e827  gcc/testsuite/g++.dg/modules/friend-1_c.C
*************** c1a2a3390492a95192a3736b25423528  gcc/te
*** 33973,33978 ****
--- 33987,33998 ----
  31c69886ec946d62cf0667dbcbdc7e4f  gcc/testsuite/g++.dg/modules/imp-member-4_a.C
  f27466c6fc70ce46e080f3b2c7fb7050  gcc/testsuite/g++.dg/modules/imp-member-4_b.C
  a191f79da591f001f65a3282e2d9da6e  gcc/testsuite/g++.dg/modules/imp-member-4_c.C
+ cc4377d64aa450d22e3845ae90b5bca9  gcc/testsuite/g++.dg/modules/imp-member-5_a.C
+ e3449d3f559db7103b7862066f6b2a5a  gcc/testsuite/g++.dg/modules/imp-member-5_b.C
+ fca6376f7a6015f262933d16975d3636  gcc/testsuite/g++.dg/modules/imp-member-5_c.C
+ 1ce9665694491544677caf7fb120522d  gcc/testsuite/g++.dg/modules/imp-member-6_a.C
+ 29565c161ea129a1230997693b9d092c  gcc/testsuite/g++.dg/modules/imp-member-6_b.C
+ de7fd0ca25f91de1936a68b1f607fd30  gcc/testsuite/g++.dg/modules/imp-member-6_c.C
  1f7d51f903fe6c300810c1d8d856401e  gcc/testsuite/g++.dg/modules/import-1_a.C
  cd504ebaf4fc289e921acc9934ead55f  gcc/testsuite/g++.dg/modules/import-1_b.C
  7dc13fb6d933fb23dc0f7251fa928bde  gcc/testsuite/g++.dg/modules/import-1_c.C
*************** c55f90e5ef6f7ab3992f6606da04c6d7  gcc/te
*** 34341,34346 ****
--- 34361,34370 ----
  58b4bbec16747150dd0024d73a591543  gcc/testsuite/g++.dg/modules/merge-20.h
  778fe9cb18c40b1afc49a8e5a2f0aef5  gcc/testsuite/g++.dg/modules/merge-20_a.H
  6f0d50489a391402d2cbd19055ca5d0a  gcc/testsuite/g++.dg/modules/merge-20_b.C
+ be8c261cfa813b26cb16b8b3aebaf9ec  gcc/testsuite/g++.dg/modules/merge-21_a.C
+ 7cd3f2e8de05b1dd669c3ff993d03b3a  gcc/testsuite/g++.dg/modules/merge-21_b.C
+ c7141313017295f3b98183a39be9dfd2  gcc/testsuite/g++.dg/modules/merge-21_c.C
+ a9756c1c5ac2dc00c4b157e7951cb465  gcc/testsuite/g++.dg/modules/merge-21_d.C
  4f1ab1a658f8fe8b82d453787cd70235  gcc/testsuite/g++.dg/modules/merge-2_a.H
  8cdb66c1a7c6fd5f699a54755e0262c3  gcc/testsuite/g++.dg/modules/merge-2_b.C
  bafe05354251f1f0df54dbb55d13354f  gcc/testsuite/g++.dg/modules/merge-3_a.H
*************** afab773c25b7dd1da9c63c46a8e56b96  gcc/te
*** 34537,34542 ****
--- 34561,34571 ----
  035af910866cb4d5ef467691a00390ef  gcc/testsuite/g++.dg/modules/part-10_b.C
  61c11bba6e9e0d2acb6c526bdf45a817  gcc/testsuite/g++.dg/modules/part-10_c.C
  45aaddfd6bcadefc6a897cad2f3c8bbb  gcc/testsuite/g++.dg/modules/part-10_d.C
+ 48a8472ca96b0f63e66d537146468c1b  gcc/testsuite/g++.dg/modules/part-11_a.C
+ 589ef0f7ed3e54007bef1bc3e4786e79  gcc/testsuite/g++.dg/modules/part-11_b.C
+ 0968ac1c13f417b9bf3cb86f09e51e4d  gcc/testsuite/g++.dg/modules/part-11_c.C
+ b214bb9855a87606d5686f0f7ac8c52b  gcc/testsuite/g++.dg/modules/part-11_d.C
+ 083aa9d1e97214e4158f7220127517ea  gcc/testsuite/g++.dg/modules/part-11_e.C
  c05001e1ed1bc8701ae61710ad3585cd  gcc/testsuite/g++.dg/modules/part-1_a.C
  8cc6c00af73d534c5bcd66d9d7757f8c  gcc/testsuite/g++.dg/modules/part-1_b.C
  103cfc3318415410b659f66bfb16f1bf  gcc/testsuite/g++.dg/modules/part-1_c.C
*************** c612aa7562a08eee08fd881b3b27fee6  gcc/te
*** 34685,34690 ****
--- 34714,34721 ----
  1b9a9e771ff94ed09a2f483d4eb9b884  gcc/testsuite/g++.dg/modules/pr122053_b.C
  2b317cc9d17067098caad41a9ab4b86e  gcc/testsuite/g++.dg/modules/pr122922_a.C
  acc8849da8a5b2d5ba59c3913e5a6714  gcc/testsuite/g++.dg/modules/pr122922_b.C
+ ce200ee8e54e28186fa57d5c31f18364  gcc/testsuite/g++.dg/modules/pr124485_a.C
+ b53027aecd2fdb64d47f59c4def0b8d9  gcc/testsuite/g++.dg/modules/pr124485_b.C
  56ba9e2a41b995724a511df79d8df541  gcc/testsuite/g++.dg/modules/pr98531-1.h
  7155fba8679861dc6ac8879b5f49a6eb  gcc/testsuite/g++.dg/modules/pr98531-1_a.H
  db36409e89afb58e627178caf0f3d7d5  gcc/testsuite/g++.dg/modules/pr98531-1_b.C
*************** c6e1edb52b5891ae1f08bf6d3cf18168  gcc/te
*** 34837,34842 ****
--- 34868,34879 ----
  9c1772c0b13c48601f0ed1233cc497f1  gcc/testsuite/g++.dg/modules/printf-1_b.C
  b41e83b0fbbe80aa3d6788f61b378834  gcc/testsuite/g++.dg/modules/reflect-1_a.H
  2400f655fe26c75ad6acf92a914b4d13  gcc/testsuite/g++.dg/modules/reflect-1_b.C
+ c64c2927735efa85bfebeebc7ee18116  gcc/testsuite/g++.dg/modules/reflect-2_a.H
+ 22927d822ec062f7e7777855b3baaa11  gcc/testsuite/g++.dg/modules/reflect-2_b.C
+ 13a3787901cb1f5cc96ae40f4cf1ebd4  gcc/testsuite/g++.dg/modules/reflect-2_c.C
+ 4a4b748a9a64af00a57a343b42ac8204  gcc/testsuite/g++.dg/modules/reflect-3_a.H
+ 8986c11936084abe8a2318c4948930a6  gcc/testsuite/g++.dg/modules/reflect-3_b.C
+ a14758aa576615ac598562e690667136  gcc/testsuite/g++.dg/modules/reflect-3_c.C
  5cd56fd1bbc5b89cb15ebc8d548cfaa0  gcc/testsuite/g++.dg/modules/reparent-1_a.C
  da0cfcb5ac1aec80b1194aff6f469086  gcc/testsuite/g++.dg/modules/reparent-1_b.C
  80377818c6b4a03409e16213b4ffc90a  gcc/testsuite/g++.dg/modules/reparent-1_c.C
*************** e322c3e2e2a5b94fb9e669c285d188b4  gcc/te
*** 35223,35228 ****
--- 35260,35267 ----
  32bda9067b266262f4e1131abc94bca8  gcc/testsuite/g++.dg/modules/warn-spec-3_a.C
  3043cd59d7e332d6f4e8f61c6bb432d8  gcc/testsuite/g++.dg/modules/warn-spec-3_b.C
  952c780f52f4b4b510d04d6b1c74dd28  gcc/testsuite/g++.dg/modules/warn-spec-3_c.C
+ 4a95f9f95cc176fb103da75a87383e40  gcc/testsuite/g++.dg/modules/warn-spec-4_a.C
+ fb2cb7f453ee44770338d0f4c1ece654  gcc/testsuite/g++.dg/modules/warn-spec-4_b.C
  1f4f7d511678a6fe4008c486952c066e  gcc/testsuite/g++.dg/modules/xtreme-header-1.h
  5884b00638991ff8efb1f358bc696bca  gcc/testsuite/g++.dg/modules/xtreme-header-1_a.H
  2f9d3bf7b6222aa9a7879d98c3921af8  gcc/testsuite/g++.dg/modules/xtreme-header-1_b.C
*************** db186235554be9b7c4c4cd1d64102448  gcc/te
*** 37291,37298 ****
  11bc606636185e720abfec102a446450  gcc/testsuite/g++.dg/reflect/annotations1.C
  e0ee95e9b95793ee4d57f8204bf8645d  gcc/testsuite/g++.dg/reflect/annotations10.C
  f6da6bc220f84f52571fc202af3e6006  gcc/testsuite/g++.dg/reflect/annotations11.C
! 34282065614c60c1eeb497cec04d2977  gcc/testsuite/g++.dg/reflect/annotations2.C
! fb8ce2f40d098f2bd078b7384d6665b6  gcc/testsuite/g++.dg/reflect/annotations3.C
  95036b72f565c8ac8e22eb21a94626f1  gcc/testsuite/g++.dg/reflect/annotations4.C
  fe0836ae8bc2eae4db9cf55e6fe58e5e  gcc/testsuite/g++.dg/reflect/annotations5.C
  52183ac252419247bd1a55d28d356534  gcc/testsuite/g++.dg/reflect/annotations6.C
--- 37330,37339 ----
  11bc606636185e720abfec102a446450  gcc/testsuite/g++.dg/reflect/annotations1.C
  e0ee95e9b95793ee4d57f8204bf8645d  gcc/testsuite/g++.dg/reflect/annotations10.C
  f6da6bc220f84f52571fc202af3e6006  gcc/testsuite/g++.dg/reflect/annotations11.C
! d0688f26f2ebb5828f6f48cc79bc7f61  gcc/testsuite/g++.dg/reflect/annotations12.C
! 8d81fca4d65c911f50361a306552693f  gcc/testsuite/g++.dg/reflect/annotations13.C
! cde9ad9488133ece9333eb048f65f1e1  gcc/testsuite/g++.dg/reflect/annotations2.C
! b31ed4442038ed211b83481f0c6b097f  gcc/testsuite/g++.dg/reflect/annotations3.C
  95036b72f565c8ac8e22eb21a94626f1  gcc/testsuite/g++.dg/reflect/annotations4.C
  fe0836ae8bc2eae4db9cf55e6fe58e5e  gcc/testsuite/g++.dg/reflect/annotations5.C
  52183ac252419247bd1a55d28d356534  gcc/testsuite/g++.dg/reflect/annotations6.C
*************** cf1ce97bd56b5845905e4696d6e21793  gcc/te
*** 37316,37321 ****
--- 37357,37363 ----
  487cfa186771c9640f8860d544bb7f50  gcc/testsuite/g++.dg/reflect/common_type1.C
  cd206cb5ea84f41a1db6f893297a8a28  gcc/testsuite/g++.dg/reflect/compare1.C
  eb84036c2fb391317cdd8fb25e15cd20  gcc/testsuite/g++.dg/reflect/compare10.C
+ 69b694ff95906eceb103f53ff258b9aa  gcc/testsuite/g++.dg/reflect/compare11.C
  77f46ccfa338c4f9a75ef678d7ba5555  gcc/testsuite/g++.dg/reflect/compare2.C
  7c0c70816017268061a751c3bdbd538f  gcc/testsuite/g++.dg/reflect/compare3.C
  43bc2faf991123b2c587dad97132a94c  gcc/testsuite/g++.dg/reflect/compare4.C
*************** c904467a71b469ad19ac245ff86a688f  gcc/te
*** 37330,37337 ****
  787273832fdeace9aa387d16b45d5acc  gcc/testsuite/g++.dg/reflect/constant_of2.C
  6dce9c471620ac11e8a1153d76aa0a38  gcc/testsuite/g++.dg/reflect/constant_of3.C
  1c22ff6e7c79248772173a4ea6a2ab41  gcc/testsuite/g++.dg/reflect/constant_of4.C
! 53293a79e433bd8b974e2ca5d0276809  gcc/testsuite/g++.dg/reflect/constant_of5.C
! c73e698fa8ee3f17a355c1b70c0b4408  gcc/testsuite/g++.dg/reflect/constant_of6.C
  edd0d59ec76c7c78594e6927a836e933  gcc/testsuite/g++.dg/reflect/constant_of7.C
  5e07eb68edac99f52a53cce16ac70187  gcc/testsuite/g++.dg/reflect/constant_of8.C
  7673ffd369326cd2652da80b94a78095  gcc/testsuite/g++.dg/reflect/constant_of9.C
--- 37372,37379 ----
  787273832fdeace9aa387d16b45d5acc  gcc/testsuite/g++.dg/reflect/constant_of2.C
  6dce9c471620ac11e8a1153d76aa0a38  gcc/testsuite/g++.dg/reflect/constant_of3.C
  1c22ff6e7c79248772173a4ea6a2ab41  gcc/testsuite/g++.dg/reflect/constant_of4.C
! 1d4b479547e165a5412e14a9326aa4cf  gcc/testsuite/g++.dg/reflect/constant_of5.C
! 3d9b10f1a2d3aca6f83b412c5a85a79d  gcc/testsuite/g++.dg/reflect/constant_of6.C
  edd0d59ec76c7c78594e6927a836e933  gcc/testsuite/g++.dg/reflect/constant_of7.C
  5e07eb68edac99f52a53cce16ac70187  gcc/testsuite/g++.dg/reflect/constant_of8.C
  7673ffd369326cd2652da80b94a78095  gcc/testsuite/g++.dg/reflect/constant_of9.C
*************** f9e6bc494fdb593194e70adcd9d4b105  gcc/te
*** 37373,37379 ****
  bb13d688f1deb2ff9d5bf3af088bfaec  gcc/testsuite/g++.dg/reflect/define_static_array1.C
  388f1c5706640dbdf3b8e6017b3e4834  gcc/testsuite/g++.dg/reflect/define_static_array2.C
  76b6ad1540a13225c11e60306e2fe45c  gcc/testsuite/g++.dg/reflect/define_static_array3.C
! 86d501d353abd9444f8b525bd99cf177  gcc/testsuite/g++.dg/reflect/define_static_array4.C
  29f60cd4f06a2aeaa33d6d03cd800fb1  gcc/testsuite/g++.dg/reflect/define_static_object1.C
  2f43e04330db46fe9e841fa7d43b1c5a  gcc/testsuite/g++.dg/reflect/define_static_object2.C
  b7ed52abe86f4f7c8db2ebf610edeae3  gcc/testsuite/g++.dg/reflect/define_static_string1.C
--- 37415,37422 ----
  bb13d688f1deb2ff9d5bf3af088bfaec  gcc/testsuite/g++.dg/reflect/define_static_array1.C
  388f1c5706640dbdf3b8e6017b3e4834  gcc/testsuite/g++.dg/reflect/define_static_array2.C
  76b6ad1540a13225c11e60306e2fe45c  gcc/testsuite/g++.dg/reflect/define_static_array3.C
! 8f4ed059665ea7a94243fa99cb792e98  gcc/testsuite/g++.dg/reflect/define_static_array4.C
! c02515caef100c916d56859e612c414f  gcc/testsuite/g++.dg/reflect/define_static_array5.C
  29f60cd4f06a2aeaa33d6d03cd800fb1  gcc/testsuite/g++.dg/reflect/define_static_object1.C
  2f43e04330db46fe9e841fa7d43b1c5a  gcc/testsuite/g++.dg/reflect/define_static_object2.C
  b7ed52abe86f4f7c8db2ebf610edeae3  gcc/testsuite/g++.dg/reflect/define_static_string1.C
*************** c383f7bdf34cc8248e3fb9c61011574a  gcc/te
*** 37395,37409 ****
  32ccc692cd8f4f800d5b7cf0f8c10e82  gcc/testsuite/g++.dg/reflect/diag3.C
  1533eb5d112721a72e26e68b9d092170  gcc/testsuite/g++.dg/reflect/diag4.C
  20539bb1e62472f10fa8334f10ff9cd3  gcc/testsuite/g++.dg/reflect/diag5.C
! 33dbfbabd9276fa16216f8481beefd2b  gcc/testsuite/g++.dg/reflect/display_string_of1.C
  471074284711fdd57cea87c822da502f  gcc/testsuite/g++.dg/reflect/eh1.C
  47e795f9117d64bb20ad3346d6279726  gcc/testsuite/g++.dg/reflect/eh2.C
  1f1e3e76e5396dd5212128aa8d5efd8a  gcc/testsuite/g++.dg/reflect/eh3.C
  3e46ad73df6f3ebee6a89f0408144e7e  gcc/testsuite/g++.dg/reflect/eh4.C
  2d8332fa4e636235f83374acfbf34a3e  gcc/testsuite/g++.dg/reflect/eh5.C
  38a234dee576194a3715a8e511d1426f  gcc/testsuite/g++.dg/reflect/eh6.C
  921aab29773ecf5634effce9886572e5  gcc/testsuite/g++.dg/reflect/eh7.C
! 1668f4ad5663287d74a9eec42178fefb  gcc/testsuite/g++.dg/reflect/eh8.C
  63da1b212dc6641e5f3a67e84ed1a68f  gcc/testsuite/g++.dg/reflect/eh9.C
  2b40a02f1ed53b6bab1a344d5edd8aa2  gcc/testsuite/g++.dg/reflect/enumerators_of1.C
  04d9a22b5b43c4289de935dbccac2ed6  gcc/testsuite/g++.dg/reflect/error1.C
--- 37438,37453 ----
  32ccc692cd8f4f800d5b7cf0f8c10e82  gcc/testsuite/g++.dg/reflect/diag3.C
  1533eb5d112721a72e26e68b9d092170  gcc/testsuite/g++.dg/reflect/diag4.C
  20539bb1e62472f10fa8334f10ff9cd3  gcc/testsuite/g++.dg/reflect/diag5.C
! d2ba3e99f820933f56802a4f4a486019  gcc/testsuite/g++.dg/reflect/display_string_of1.C
  471074284711fdd57cea87c822da502f  gcc/testsuite/g++.dg/reflect/eh1.C
+ 8cab0986acf9fb4bd447cea1a90ab571  gcc/testsuite/g++.dg/reflect/eh10.C
  47e795f9117d64bb20ad3346d6279726  gcc/testsuite/g++.dg/reflect/eh2.C
  1f1e3e76e5396dd5212128aa8d5efd8a  gcc/testsuite/g++.dg/reflect/eh3.C
  3e46ad73df6f3ebee6a89f0408144e7e  gcc/testsuite/g++.dg/reflect/eh4.C
  2d8332fa4e636235f83374acfbf34a3e  gcc/testsuite/g++.dg/reflect/eh5.C
  38a234dee576194a3715a8e511d1426f  gcc/testsuite/g++.dg/reflect/eh6.C
  921aab29773ecf5634effce9886572e5  gcc/testsuite/g++.dg/reflect/eh7.C
! faafb1e5e8bfafbcd2e2ae683d5c5f07  gcc/testsuite/g++.dg/reflect/eh8.C
  63da1b212dc6641e5f3a67e84ed1a68f  gcc/testsuite/g++.dg/reflect/eh9.C
  2b40a02f1ed53b6bab1a344d5edd8aa2  gcc/testsuite/g++.dg/reflect/enumerators_of1.C
  04d9a22b5b43c4289de935dbccac2ed6  gcc/testsuite/g++.dg/reflect/error1.C
*************** b6e5358e929ecce99496e00535aeba9d  gcc/te
*** 37419,37429 ****
  9c8bebf2a51bdac66f56ebcd8d2e79b5  gcc/testsuite/g++.dg/reflect/error9.C
  b8eb86b029a2ffb0d23c96945ba35e78  gcc/testsuite/g++.dg/reflect/expansion-stmt1.C
  d0c3aa9a3c90bdcdec43e03e5dbf0a42  gcc/testsuite/g++.dg/reflect/expansion-stmt2.C
  92058e6db958dd512a0f906581bd91a8  gcc/testsuite/g++.dg/reflect/expr1.C
  a8a15705ab8187b001c195f1cec551cf  gcc/testsuite/g++.dg/reflect/expr10.C
  dd2e7162c7d5dd2ca76a4c15861d9607  gcc/testsuite/g++.dg/reflect/expr11.C
  37a868e08a2fb9d0c6b2664b9ccdd800  gcc/testsuite/g++.dg/reflect/expr12.C
! d09ceac0ed381b8e6d87478d7da5ecea  gcc/testsuite/g++.dg/reflect/expr13.C
  cb62b6f411eaa0edabe6a10520d7652c  gcc/testsuite/g++.dg/reflect/expr14.C
  7d931bd0fd71d114fa6a17dce607e802  gcc/testsuite/g++.dg/reflect/expr15.C
  8a9b940805893540797936869da281d7  gcc/testsuite/g++.dg/reflect/expr2.C
--- 37463,37474 ----
  9c8bebf2a51bdac66f56ebcd8d2e79b5  gcc/testsuite/g++.dg/reflect/error9.C
  b8eb86b029a2ffb0d23c96945ba35e78  gcc/testsuite/g++.dg/reflect/expansion-stmt1.C
  d0c3aa9a3c90bdcdec43e03e5dbf0a42  gcc/testsuite/g++.dg/reflect/expansion-stmt2.C
+ ef71588876bf0ee65b0798ae88ee95e0  gcc/testsuite/g++.dg/reflect/expansion-stmt3.C
  92058e6db958dd512a0f906581bd91a8  gcc/testsuite/g++.dg/reflect/expr1.C
  a8a15705ab8187b001c195f1cec551cf  gcc/testsuite/g++.dg/reflect/expr10.C
  dd2e7162c7d5dd2ca76a4c15861d9607  gcc/testsuite/g++.dg/reflect/expr11.C
  37a868e08a2fb9d0c6b2664b9ccdd800  gcc/testsuite/g++.dg/reflect/expr12.C
! d9fff53183f3cbc21c2786ee54aac085  gcc/testsuite/g++.dg/reflect/expr13.C
  cb62b6f411eaa0edabe6a10520d7652c  gcc/testsuite/g++.dg/reflect/expr14.C
  7d931bd0fd71d114fa6a17dce607e802  gcc/testsuite/g++.dg/reflect/expr15.C
  8a9b940805893540797936869da281d7  gcc/testsuite/g++.dg/reflect/expr2.C
*************** e84593bf159c34f20e485a74c1b6a95e  gcc/te
*** 37442,37448 ****
  515a58bb25a97ee5979dc2cc0a4acce9  gcc/testsuite/g++.dg/reflect/extract3.C
  31ce562c358fd306cdee178e270282ea  gcc/testsuite/g++.dg/reflect/extract4.C
  a6e387dcf0ed9a031e5cfe55cef693b1  gcc/testsuite/g++.dg/reflect/extract5.C
! ae57ae6702f3164f6068801c355ebccb  gcc/testsuite/g++.dg/reflect/extract6.C
  a8d56dba67d3e38c69cd73989942b6f9  gcc/testsuite/g++.dg/reflect/extract7.C
  90a098a09645b4fdee9a2712e997fdbc  gcc/testsuite/g++.dg/reflect/extract8.C
  dd2227984481efc068df9fad2db70d23  gcc/testsuite/g++.dg/reflect/extract9.C
--- 37487,37493 ----
  515a58bb25a97ee5979dc2cc0a4acce9  gcc/testsuite/g++.dg/reflect/extract3.C
  31ce562c358fd306cdee178e270282ea  gcc/testsuite/g++.dg/reflect/extract4.C
  a6e387dcf0ed9a031e5cfe55cef693b1  gcc/testsuite/g++.dg/reflect/extract5.C
! 6938f681b7c80a76c17efc98dc5f3ce2  gcc/testsuite/g++.dg/reflect/extract6.C
  a8d56dba67d3e38c69cd73989942b6f9  gcc/testsuite/g++.dg/reflect/extract7.C
  90a098a09645b4fdee9a2712e997fdbc  gcc/testsuite/g++.dg/reflect/extract8.C
  dd2227984481efc068df9fad2db70d23  gcc/testsuite/g++.dg/reflect/extract9.C
*************** e0239469386941b146064cb464bd03c8  gcc/te
*** 37587,37592 ****
--- 37632,37638 ----
  d7bf4b2b4a12e0e7c5f568c235fe50c9  gcc/testsuite/g++.dg/reflect/member19.C
  8ebf4e8f059ee7695e3d2f4523f941e8  gcc/testsuite/g++.dg/reflect/member2.C
  5a76580cb5157802057a41baaeb6e392  gcc/testsuite/g++.dg/reflect/member20.C
+ 181521b03df5dc478a1ac9257c71682a  gcc/testsuite/g++.dg/reflect/member21.C
  15ab3614f7ae1299d4e7d568ee2727f4  gcc/testsuite/g++.dg/reflect/member3.C
  70bee80f7f1e470fddab439ae8fdc529  gcc/testsuite/g++.dg/reflect/member4.C
  6fe67e7658a6bcb1550c6e320e9b1cb3  gcc/testsuite/g++.dg/reflect/member5.C
*************** eeea9a3cb3222c174ae79fde2539c7f7  gcc/te
*** 37605,37610 ****
--- 37651,37658 ----
  a34036db3004285985809be77695e11a  gcc/testsuite/g++.dg/reflect/members_of8.C
  169c8d5cfb9f547eba5a0e6a93850eb7  gcc/testsuite/g++.dg/reflect/members_of9.C
  5dfe729351628682329b585f411b52cb  gcc/testsuite/g++.dg/reflect/metafn-ptr1.C
+ 0c252e6ce559f33e421b9e84cf6b5a37  gcc/testsuite/g++.dg/reflect/no-exceptions1.C
+ 7c4ac5668a4ab5ce81ebe2774d6394b7  gcc/testsuite/g++.dg/reflect/no-exceptions2.C
  7ea29fd9a046e870ea501c8573ded819  gcc/testsuite/g++.dg/reflect/ns1.C
  ad7d207d3074d99c1a99266c5b2127f9  gcc/testsuite/g++.dg/reflect/ns2.C
  5bed6b939e587040c075e70083201181  gcc/testsuite/g++.dg/reflect/ns3.C
*************** ff22c9122c2c0fa7a5a06f539fcb9abe  gcc/te
*** 37621,37626 ****
--- 37669,37676 ----
  655256ebf0d921eb7e5600d6494c42e0  gcc/testsuite/g++.dg/reflect/object_of3.C
  6f855a2823d74e720da5dd0986bd2163  gcc/testsuite/g++.dg/reflect/odr1.C
  09f2262749d7e8a324ecc271ec93e9ef  gcc/testsuite/g++.dg/reflect/offset_of1.C
+ 60f05f5be2c37cfef3de42182f69eb4e  gcc/testsuite/g++.dg/reflect/omp_depend1.C
+ 4cd54aaf4e23e6f2094814d7392296e8  gcc/testsuite/g++.dg/reflect/omp_taskwait1.C
  019759857338107cc6359f1fb1e6f013  gcc/testsuite/g++.dg/reflect/operator_of1.C
  2b0f744432e465559b5b58287819bbc2  gcc/testsuite/g++.dg/reflect/override1.C
  7dde213d58e8c1daafbfbfd5af17e5d5  gcc/testsuite/g++.dg/reflect/p2996-1.C
*************** b1714ceceb7e0124f79215552325258d  gcc/te
*** 37636,37642 ****
  922ffbde1e1334493256d8bd37992afa  gcc/testsuite/g++.dg/reflect/p2996-19.C
  abe6014fb8c7f438570842d11c32af7d  gcc/testsuite/g++.dg/reflect/p2996-2.C
  4baf88fa735613b6429392065c80f061  gcc/testsuite/g++.dg/reflect/p2996-20.C
! c6b9ef51e65252b828273284fddd3be9  gcc/testsuite/g++.dg/reflect/p2996-21.C
  380a351dd42d378245189d701e554ac4  gcc/testsuite/g++.dg/reflect/p2996-3.C
  eec5e622402895b1825771f818559221  gcc/testsuite/g++.dg/reflect/p2996-4.C
  7660dc545dd65b782812f90cd7e599f0  gcc/testsuite/g++.dg/reflect/p2996-5.C
--- 37686,37692 ----
  922ffbde1e1334493256d8bd37992afa  gcc/testsuite/g++.dg/reflect/p2996-19.C
  abe6014fb8c7f438570842d11c32af7d  gcc/testsuite/g++.dg/reflect/p2996-2.C
  4baf88fa735613b6429392065c80f061  gcc/testsuite/g++.dg/reflect/p2996-20.C
! 4ea1963c6976a08dcebd218bceb27637  gcc/testsuite/g++.dg/reflect/p2996-21.C
  380a351dd42d378245189d701e554ac4  gcc/testsuite/g++.dg/reflect/p2996-3.C
  eec5e622402895b1825771f818559221  gcc/testsuite/g++.dg/reflect/p2996-4.C
  7660dc545dd65b782812f90cd7e599f0  gcc/testsuite/g++.dg/reflect/p2996-5.C
*************** d6715d284c87d041e08a5fbebff9821e  gcc/te
*** 37661,37667 ****
  55769fcd329e50bcfdf1c40931b35db5  gcc/testsuite/g++.dg/reflect/parm1.C
  ee2a5065f194d0c1d1360c2d2a8f5d8b  gcc/testsuite/g++.dg/reflect/parm2.C
  20137ba8760da5d42ba55a0ab0d862fe  gcc/testsuite/g++.dg/reflect/parm3.C
! 94dc78db487e798fab48a81afe367971  gcc/testsuite/g++.dg/reflect/parm4.C
  5c2ff0b11bd0883a8da358feed43b5ee  gcc/testsuite/g++.dg/reflect/parm5.C
  45bdac50580e4c40dbd5ec689fbf5f3e  gcc/testsuite/g++.dg/reflect/parse1.C
  c8112e4afd5ef66c1289210e075fbec4  gcc/testsuite/g++.dg/reflect/parse2.C
--- 37711,37717 ----
  55769fcd329e50bcfdf1c40931b35db5  gcc/testsuite/g++.dg/reflect/parm1.C
  ee2a5065f194d0c1d1360c2d2a8f5d8b  gcc/testsuite/g++.dg/reflect/parm2.C
  20137ba8760da5d42ba55a0ab0d862fe  gcc/testsuite/g++.dg/reflect/parm3.C
! 092c4aaf815b9da7b48dab330b6ce09d  gcc/testsuite/g++.dg/reflect/parm4.C
  5c2ff0b11bd0883a8da358feed43b5ee  gcc/testsuite/g++.dg/reflect/parm5.C
  45bdac50580e4c40dbd5ec689fbf5f3e  gcc/testsuite/g++.dg/reflect/parse1.C
  c8112e4afd5ef66c1289210e075fbec4  gcc/testsuite/g++.dg/reflect/parse2.C
*************** f95ce0044b4db49d5f146e5fbe45875c  gcc/te
*** 37690,37698 ****
  61d0a64ce5f607baeb67ce80bb50f4d7  gcc/testsuite/g++.dg/reflect/reflect_constant_array1.C
  b1917b5ba841920599e01cb07bcd5bbe  gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C
  50112030f94d83d432e32d44f823fcb3  gcc/testsuite/g++.dg/reflect/reflect_constant_array3.C
! b981cebf1d46c91fde1199693b32aca6  gcc/testsuite/g++.dg/reflect/reflect_constant_array4.C
  b29f09bce5fedc3211b6eb400cc62e72  gcc/testsuite/g++.dg/reflect/reflect_constant_array5.C
  10cca31db14cf9dbc2eb39aa6b5c7046  gcc/testsuite/g++.dg/reflect/reflect_constant_array6.C
  7282880efced8bee225c43aec4c50a71  gcc/testsuite/g++.dg/reflect/reflect_constant_string1.C
  cc8c2137143cd854b6630dc3dcd4973f  gcc/testsuite/g++.dg/reflect/reflect_constant_string2.C
  1e3345a57a06ffa1bd23a544151f8b02  gcc/testsuite/g++.dg/reflect/reflect_function1.C
--- 37740,37750 ----
  61d0a64ce5f607baeb67ce80bb50f4d7  gcc/testsuite/g++.dg/reflect/reflect_constant_array1.C
  b1917b5ba841920599e01cb07bcd5bbe  gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C
  50112030f94d83d432e32d44f823fcb3  gcc/testsuite/g++.dg/reflect/reflect_constant_array3.C
! 5142cc73273428503aa2dbaf27e9128d  gcc/testsuite/g++.dg/reflect/reflect_constant_array4.C
  b29f09bce5fedc3211b6eb400cc62e72  gcc/testsuite/g++.dg/reflect/reflect_constant_array5.C
  10cca31db14cf9dbc2eb39aa6b5c7046  gcc/testsuite/g++.dg/reflect/reflect_constant_array6.C
+ 8e6f55ab6834dd537136aaffcee77d98  gcc/testsuite/g++.dg/reflect/reflect_constant_array7.C
+ 9801a13ac8ff3735afc5f6be337a0893  gcc/testsuite/g++.dg/reflect/reflect_constant_array8.C
  7282880efced8bee225c43aec4c50a71  gcc/testsuite/g++.dg/reflect/reflect_constant_string1.C
  cc8c2137143cd854b6630dc3dcd4973f  gcc/testsuite/g++.dg/reflect/reflect_constant_string2.C
  1e3345a57a06ffa1bd23a544151f8b02  gcc/testsuite/g++.dg/reflect/reflect_function1.C
*************** da5ef12464e2e90dfdfbebc6048074af  gcc/te
*** 37704,37710 ****
  3467b818a4428e27d79059fb69239f72  gcc/testsuite/g++.dg/reflect/return_type_of1.C
  0f44fc97754345cb42d2c2b6567feca7  gcc/testsuite/g++.dg/reflect/return_type_of2.C
  384bd4b8aef59f5885e5d97091cfaf54  gcc/testsuite/g++.dg/reflect/serialize1.C
! 59c250a44a0d375e0062c2596a42096e  gcc/testsuite/g++.dg/reflect/serialize2.C
  acdd73b149c3c54aa0d80b81c86a5a4c  gcc/testsuite/g++.dg/reflect/size_of1.C
  b54591a1a4cb544aba9831eba6b8174b  gcc/testsuite/g++.dg/reflect/source_location_of1.C
  82420344ec3910dc9c675d2a50b6dd1a  gcc/testsuite/g++.dg/reflect/source_location_of2.C
--- 37756,37763 ----
  3467b818a4428e27d79059fb69239f72  gcc/testsuite/g++.dg/reflect/return_type_of1.C
  0f44fc97754345cb42d2c2b6567feca7  gcc/testsuite/g++.dg/reflect/return_type_of2.C
  384bd4b8aef59f5885e5d97091cfaf54  gcc/testsuite/g++.dg/reflect/serialize1.C
! 39dc9b081eff03a935ca3c033af42d20  gcc/testsuite/g++.dg/reflect/serialize2.C
! f42afa22be98b32fdbba8bc038b1565e  gcc/testsuite/g++.dg/reflect/serialize3.C
  acdd73b149c3c54aa0d80b81c86a5a4c  gcc/testsuite/g++.dg/reflect/size_of1.C
  b54591a1a4cb544aba9831eba6b8174b  gcc/testsuite/g++.dg/reflect/source_location_of1.C
  82420344ec3910dc9c675d2a50b6dd1a  gcc/testsuite/g++.dg/reflect/source_location_of2.C
*************** c957460ae45089ece9b5352a7de1f5fc  gcc/te
*** 37769,37775 ****
  7c9280bc78006b6ed6b75ff5c1c9facc  gcc/testsuite/g++.dg/reflect/type_trait6.C
  0cb8ffc5aa03364efe260c9bc9c2a638  gcc/testsuite/g++.dg/reflect/type_trait8.C
  d9fed6fe6bccb0abd2890360744d1a95  gcc/testsuite/g++.dg/reflect/type_trait9.C
! 27227cc740684a3bed428aad7d9627d9  gcc/testsuite/g++.dg/reflect/u8display_string_of1.C
  069b12fc99736e061dda304c7240e4b0  gcc/testsuite/g++.dg/reflect/u8identifier_of1.C
  41ca774b408bb80d08217f17926a5cfd  gcc/testsuite/g++.dg/reflect/u8symbol_of1.C
  66e9924618e01c3871c0c6349d9353c8  gcc/testsuite/g++.dg/reflect/underlying_type1.C
--- 37822,37828 ----
  7c9280bc78006b6ed6b75ff5c1c9facc  gcc/testsuite/g++.dg/reflect/type_trait6.C
  0cb8ffc5aa03364efe260c9bc9c2a638  gcc/testsuite/g++.dg/reflect/type_trait8.C
  d9fed6fe6bccb0abd2890360744d1a95  gcc/testsuite/g++.dg/reflect/type_trait9.C
! ec7c886da63326b95102e27b6fbe6e27  gcc/testsuite/g++.dg/reflect/u8display_string_of1.C
  069b12fc99736e061dda304c7240e4b0  gcc/testsuite/g++.dg/reflect/u8identifier_of1.C
  41ca774b408bb80d08217f17926a5cfd  gcc/testsuite/g++.dg/reflect/u8symbol_of1.C
  66e9924618e01c3871c0c6349d9353c8  gcc/testsuite/g++.dg/reflect/underlying_type1.C
*************** f298eddbaaad3dfdc15f6cf9683ff08a  gcc/te
*** 39772,39777 ****
--- 39825,39831 ----
  736ee33c46ea4f87e83844e8cbe04d6c  gcc/testsuite/g++.dg/torture/pr119969.C
  34ccf862a19942e4a76e7409c03669c6  gcc/testsuite/g++.dg/torture/pr120119-1.C
  a7a00125ef903c9e5ba25788e8c60eab  gcc/testsuite/g++.dg/torture/pr120721.C
+ 4d68e68ec1a7391fe652111cdb89b309  gcc/testsuite/g++.dg/torture/pr120987-1.C
  75b55c517ba9c0f47c83851f084cb294  gcc/testsuite/g++.dg/torture/pr121870.C
  335f20fd55847f9861ff378b9be0f1bc  gcc/testsuite/g++.dg/torture/pr122589.C
  04115c46931023150cac2508ab43b9ff  gcc/testsuite/g++.dg/torture/pr122663.C
*************** eede5846406062fe63057e8df56a6ca6  gcc/te
*** 49264,49270 ****
  4fc9e57f7b945eb1b204095a3d029480  gcc/testsuite/gcc.c-torture/execute/pr17078-1.c
  dba3bcf10039bcb1ecc6bf45d0cd1bd8  gcc/testsuite/gcc.c-torture/execute/pr17133.c
  d3d985122f6386b1abb505ddf6992aca  gcc/testsuite/gcc.c-torture/execute/pr17252.c
! c2c1f07190241a4c0ba2cab43a1f718a  gcc/testsuite/gcc.c-torture/execute/pr17377.c
  5f75ea59963aba30c9a23d96579453f7  gcc/testsuite/gcc.c-torture/execute/pr19005.c
  aa9ab7b3132881e662d2a7075ddb4ec4  gcc/testsuite/gcc.c-torture/execute/pr19449.c
  2acb24beb962e468d2f1c1ea9dfc3777  gcc/testsuite/gcc.c-torture/execute/pr19515.c
--- 49318,49324 ----
  4fc9e57f7b945eb1b204095a3d029480  gcc/testsuite/gcc.c-torture/execute/pr17078-1.c
  dba3bcf10039bcb1ecc6bf45d0cd1bd8  gcc/testsuite/gcc.c-torture/execute/pr17133.c
  d3d985122f6386b1abb505ddf6992aca  gcc/testsuite/gcc.c-torture/execute/pr17252.c
! f26ffd56ec3e7b5355ec92cd9d40e27e  gcc/testsuite/gcc.c-torture/execute/pr17377.c
  5f75ea59963aba30c9a23d96579453f7  gcc/testsuite/gcc.c-torture/execute/pr19005.c
  aa9ab7b3132881e662d2a7075ddb4ec4  gcc/testsuite/gcc.c-torture/execute/pr19449.c
  2acb24beb962e468d2f1c1ea9dfc3777  gcc/testsuite/gcc.c-torture/execute/pr19515.c
*************** cdf915de6aa445e00b8a320d8b7b09dc  gcc/te
*** 50950,50955 ****
--- 51004,51011 ----
  35edd75cc1b9d2fe7a9c53aeed561185  gcc/testsuite/gcc.dg/analyzer/computed-goto-pr110529.c
  d21405ff7bef57360e2a0ce49f7b6578  gcc/testsuite/gcc.dg/analyzer/conditionals-3.c
  1c0a20304d7da2a80255211819446599  gcc/testsuite/gcc.dg/analyzer/conditionals-notrans.c
+ 6fa62fa4ce6b89f125994523d89747a3  gcc/testsuite/gcc.dg/analyzer/conditionals-pr124451-_Bool.c
+ f7f2f6440758ebcd9d9bdb513e1c1b24  gcc/testsuite/gcc.dg/analyzer/conditionals-pr124451-enum.c
  8cfdc88c0b5a96aa0b303a5409085dfc  gcc/testsuite/gcc.dg/analyzer/conditionals-trans.c
  a22df4e24cdaae6bb5e5e29c94ed2ad2  gcc/testsuite/gcc.dg/analyzer/data-model-1.c
  fbf171c2475c36b54306b4fa689eee97  gcc/testsuite/gcc.dg/analyzer/data-model-10.c
*************** fd6b9c1ae3833951eb92de84a938f778  gcc/te
*** 50969,50974 ****
--- 51025,51031 ----
  2b005f545877795663ba55a328aa9b60  gcc/testsuite/gcc.dg/analyzer/deref-before-check-macro.c
  452ca8a442483b2507962d0dd1d5efdc  gcc/testsuite/gcc.dg/analyzer/deref-before-check-pr113253.c
  64840faa76375f58a4f02239bbee2133  gcc/testsuite/gcc.dg/analyzer/describe-1.c
+ 712ec8c7393a23d983955c94ba653324  gcc/testsuite/gcc.dg/analyzer/divide-by-zero-ice-pr124433.c
  a70bd968ac0c129391eec81725101b61  gcc/testsuite/gcc.dg/analyzer/divide-by-zero-pr124195-1.c
  79f1ff0cd918a19b54f93e743e066e42  gcc/testsuite/gcc.dg/analyzer/doom-d_main-IdentifyVersion.c
  60ee6abfbc9b8a834263465dbfa1757b  gcc/testsuite/gcc.dg/analyzer/doom-s_sound-pr108867.c
*************** b29483f2758f47b95759473be5a64ba6  gcc/te
*** 51022,51027 ****
--- 51079,51086 ----
  5595310af02dfa91a81b62875727bbee  gcc/testsuite/gcc.dg/analyzer/ice-pr124055-1.c
  c30d5e3cc23b459e19c55fd156c02af1  gcc/testsuite/gcc.dg/analyzer/ice-pr124055-2.c
  ea5c7bdef4e00ca0b3adb38aa8d5887b  gcc/testsuite/gcc.dg/analyzer/ice-pr124104.c
+ 1832b1f205af8fe5f2253c3e3a8ffa57  gcc/testsuite/gcc.dg/analyzer/ice-pr124375-1.c
+ 60d93eb15cf72ca12df24f529bfd89cd  gcc/testsuite/gcc.dg/analyzer/ice-pr124375-2.c
  155a92eb05a1d79d891ec61b021a400d  gcc/testsuite/gcc.dg/analyzer/infinite-loop-1.c
  6656f307410ce53b848c53694a60327b  gcc/testsuite/gcc.dg/analyzer/malloc-1.c
  ad7c2c590985fadaba524fa5f6d48979  gcc/testsuite/gcc.dg/analyzer/malloc-4.c
*************** a40448e5fa79d5f463c4408a645a3bb7  gcc/te
*** 51581,51587 ****
  20673f6fc38505564ee86bd12ff52bee  gcc/testsuite/gcc.dg/attr-alloc_align-4.c
  97a9f10f1ebd5c89262aa838eb08f235  gcc/testsuite/gcc.dg/attr-alloc_align-5.c
  a2b6348e7f085fa83db64bd978c4e56c  gcc/testsuite/gcc.dg/attr-alloc_size-10.c
! c950b593ec7fd961a82b986a93037711  gcc/testsuite/gcc.dg/attr-alloc_size-11.c
  95ee9b201db957fb93ce07864f13b9b4  gcc/testsuite/gcc.dg/attr-alloc_size-12.c
  be16f6b71bd68991024f0ec321092a06  gcc/testsuite/gcc.dg/attr-alloc_size-13.c
  6e7b391534abc17673b1ce896f7c3a66  gcc/testsuite/gcc.dg/attr-alloc_size-2.c
--- 51640,51646 ----
  20673f6fc38505564ee86bd12ff52bee  gcc/testsuite/gcc.dg/attr-alloc_align-4.c
  97a9f10f1ebd5c89262aa838eb08f235  gcc/testsuite/gcc.dg/attr-alloc_align-5.c
  a2b6348e7f085fa83db64bd978c4e56c  gcc/testsuite/gcc.dg/attr-alloc_size-10.c
! 04b69ebba7dae09b619bb8e6345fa184  gcc/testsuite/gcc.dg/attr-alloc_size-11.c
  95ee9b201db957fb93ce07864f13b9b4  gcc/testsuite/gcc.dg/attr-alloc_size-12.c
  be16f6b71bd68991024f0ec321092a06  gcc/testsuite/gcc.dg/attr-alloc_size-13.c
  6e7b391534abc17673b1ce896f7c3a66  gcc/testsuite/gcc.dg/attr-alloc_size-2.c
*************** e3f3945c878b9cf4fa5b3f0074bd6302  gcc/te
*** 53239,53244 ****
--- 53298,53304 ----
  e781844c1655d36c9b6e04d59aad8996  gcc/testsuite/gcc.dg/const-float80.c
  46fd50d67e377613dde0e2f128244fd8  gcc/testsuite/gcc.dg/const-uniq-1.c
  45c05b0df046fbbbc9ea0cea8b6eca6a  gcc/testsuite/gcc.dg/constructor-1.c
+ 9ace5acfa86a758e14f176c294be8083  gcc/testsuite/gcc.dg/constructor-2.c
  79de76f1d9fe6810bc65fa1f39adc1dc  gcc/testsuite/gcc.dg/conv-1.c
  3a476a2d0c391587638c234c7b082c5a  gcc/testsuite/gcc.dg/conv-2.c
  89b18c0becd2933f025acc401a0aeaf8  gcc/testsuite/gcc.dg/conv-3.c
*************** d9f2439f176b4f73afa0c30baa468855  gcc/te
*** 57541,57547 ****
  72712f41dcc921ba1827000fc0809a9c  gcc/testsuite/gcc.dg/pie-link.c
  000d3a6c8dca7e54f5be771190d10f29  gcc/testsuite/gcc.dg/pie-static-1.c
  be052bceddbf752586b645bc9e048e9c  gcc/testsuite/gcc.dg/pie-static-2.c
! b23c1e5355cb757c15f1583734836933  gcc/testsuite/gcc.dg/plugin/analyzer_cpython_plugin.cc
  5867991ade2460ff758bf1c9acb53ea5  gcc/testsuite/gcc.dg/plugin/analyzer_gil_plugin.cc
  5ca0a78bc13a9f93219a600bd3f503b5  gcc/testsuite/gcc.dg/plugin/analyzer_kernel_plugin.cc
  03b55fa47d8cb58f8a5312a7e01558f2  gcc/testsuite/gcc.dg/plugin/analyzer_known_fns_plugin.cc
--- 57601,57607 ----
  72712f41dcc921ba1827000fc0809a9c  gcc/testsuite/gcc.dg/pie-link.c
  000d3a6c8dca7e54f5be771190d10f29  gcc/testsuite/gcc.dg/pie-static-1.c
  be052bceddbf752586b645bc9e048e9c  gcc/testsuite/gcc.dg/pie-static-2.c
! 9b9be0012df81682b4e3d530fd858332  gcc/testsuite/gcc.dg/plugin/analyzer_cpython_plugin.cc
  5867991ade2460ff758bf1c9acb53ea5  gcc/testsuite/gcc.dg/plugin/analyzer_gil_plugin.cc
  5ca0a78bc13a9f93219a600bd3f503b5  gcc/testsuite/gcc.dg/plugin/analyzer_kernel_plugin.cc
  03b55fa47d8cb58f8a5312a7e01558f2  gcc/testsuite/gcc.dg/plugin/analyzer_known_fns_plugin.cc
*************** d599542d2bc9679a29260101b5c82178  gcc/te
*** 57682,57688 ****
  96ff609825b6520f9e9cc6f866930933  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr83173.h
  7479ba64fd39bd986a4fcd1d7f758b35  gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.cc
  c323b7b4ac0cf2caa641c6bb31350375  gcc/testsuite/gcc.dg/plugin/must-tail-call-1.c
! 15d6ac5e32e6d81f4432170c9841a27a  gcc/testsuite/gcc.dg/plugin/must-tail-call-2.c
  4905199fc259967af414db22821f7f74  gcc/testsuite/gcc.dg/plugin/must_tail_call_plugin.cc
  adbc6d60d6e1474ca93af3b50208e741  gcc/testsuite/gcc.dg/plugin/one_time-test-1.c
  91500c30c78de7048ecb72b86a431e80  gcc/testsuite/gcc.dg/plugin/one_time_plugin.cc
--- 57742,57748 ----
  96ff609825b6520f9e9cc6f866930933  gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr83173.h
  7479ba64fd39bd986a4fcd1d7f758b35  gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.cc
  c323b7b4ac0cf2caa641c6bb31350375  gcc/testsuite/gcc.dg/plugin/must-tail-call-1.c
! b9fca9ae555d82d8d6ac6396e5ef2615  gcc/testsuite/gcc.dg/plugin/must-tail-call-2.c
  4905199fc259967af414db22821f7f74  gcc/testsuite/gcc.dg/plugin/must_tail_call_plugin.cc
  adbc6d60d6e1474ca93af3b50208e741  gcc/testsuite/gcc.dg/plugin/one_time-test-1.c
  91500c30c78de7048ecb72b86a431e80  gcc/testsuite/gcc.dg/plugin/one_time_plugin.cc
*************** e6de60b5642934aef50f416afd0dfef5  gcc/te
*** 58424,58429 ****
--- 58484,58490 ----
  afbbdc9160c7bbb463b8a9a0ccecc1ec  gcc/testsuite/gcc.dg/pr122756.c
  6f902818ec608b0949c72df134c134a3  gcc/testsuite/gcc.dg/pr122773.c
  7344e7d40edaaaf0a7feba4fc50f3e85  gcc/testsuite/gcc.dg/pr122898.c
+ 767fe71778f262976769acab2eec4cc7  gcc/testsuite/gcc.dg/pr122925.c
  acdecc3711a0a56635d3de4e2064206c  gcc/testsuite/gcc.dg/pr122947.c
  9f4094b7196b5eab8c79608995a96efc  gcc/testsuite/gcc.dg/pr122991.c
  9fcb8913b9a18055b2a811284d59780e  gcc/testsuite/gcc.dg/pr123018.c
*************** ce83c5e57a56f41479e8822e32d633ea  gcc/te
*** 58445,58450 ****
--- 58506,58512 ----
  4288ef3d117ee2b6aabf0d6303eeb663  gcc/testsuite/gcc.dg/pr123435-1.c
  4e3fe4e93ab76bd43ab7833b477c70e9  gcc/testsuite/gcc.dg/pr123435-2.c
  b2e314205231dfc3005d83207407379b  gcc/testsuite/gcc.dg/pr123447.c
+ 8777f8d696013813d0ef12bf2fd19ecd  gcc/testsuite/gcc.dg/pr123461-1.c
  0da2c71eea90fdad386d74777acfa661  gcc/testsuite/gcc.dg/pr123463.c
  6446106101a7a7ffa68140971682fb4f  gcc/testsuite/gcc.dg/pr123472.c
  e43dcd43531182c1839bc3842972ef9a  gcc/testsuite/gcc.dg/pr123475.c
*************** b64bff50aa325d3cdf648a6b7fec2e46  gcc/te
*** 58457,58462 ****
--- 58519,58525 ----
  c862a5d1aff47e4a5a9bc1b257f3fd19  gcc/testsuite/gcc.dg/pr123856.c
  5cd501fa005281d9c622810307478c79  gcc/testsuite/gcc.dg/pr123882.c
  f402be89e4891c76c691c8144fe168f7  gcc/testsuite/gcc.dg/pr124138.c
+ 32cf8bc03bc1ee1694db58a529d26406  gcc/testsuite/gcc.dg/pr124454-1.c
  bc5ddfbbc46f4e0cce1629d1b58d3090  gcc/testsuite/gcc.dg/pr12603.c
  72a2fca76cb69617ae36bab93c7ec0d7  gcc/testsuite/gcc.dg/pr12625-1.c
  6f0ef61e5a12db5f11da839b2988c5e1  gcc/testsuite/gcc.dg/pr13519-1.c
*************** c6c07c813f67e0f94f1352f2810dfcff  gcc/te
*** 62296,62301 ****
--- 62359,62365 ----
  0264a38a252a9bd05d889f4ee2e9545e  gcc/testsuite/gcc.dg/torture/pr123745-1.c
  2b277b12c644f4c0f67813086cbd7ef8  gcc/testsuite/gcc.dg/torture/pr123778-1.c
  053ce33a7901c282d6579ebfeeb644e7  gcc/testsuite/gcc.dg/torture/pr123799.c
+ 6e235fefa779bbc6fdeefda19a5dd44e  gcc/testsuite/gcc.dg/torture/pr123822-1.c
  50838f4736657229a26dc1b011faf8d3  gcc/testsuite/gcc.dg/torture/pr123864.c
  846de4745dc42cf6d9abe36308df2301  gcc/testsuite/gcc.dg/torture/pr123887-2.c
  45e84720260c50c6a2acdec6f8eec9ca  gcc/testsuite/gcc.dg/torture/pr123887.c
*************** e551c09a78d645c98f9a47869b65d718  gcc/te
*** 62304,62309 ****
--- 62368,62374 ----
  3512b1f432642c2b26467b9236415c88  gcc/testsuite/gcc.dg/torture/pr124062-1.c
  c1c484a49281243452ee6209dd770016  gcc/testsuite/gcc.dg/torture/pr124108.c
  d4f9bc1a728b13f9940b71ab03cc40fd  gcc/testsuite/gcc.dg/torture/pr124132.c
+ c71760bcf2c56e1252676a03c592c3b0  gcc/testsuite/gcc.dg/torture/pr124435.c
  ded4330fd1cd52783bd9b1761db038ef  gcc/testsuite/gcc.dg/torture/pr16104-1.c
  fc265ee05da2f29f0e92804661cd1f28  gcc/testsuite/gcc.dg/torture/pr17526.c
  01c583edb41b632b835aa892b9c1cb14  gcc/testsuite/gcc.dg/torture/pr17933-1.c
*************** df74a31199b32038f63b600b7a20a4f6  gcc/te
*** 65150,65156 ****
  a8e99357ccf139e15cb199f14791dd62  gcc/testsuite/gcc.dg/tree-ssa/pr89546.c
  2a36aca5f712a030aa778e7ae5777731  gcc/testsuite/gcc.dg/tree-ssa/pr89725.c
  e9230122742d9f2e19bb99dcd54db233  gcc/testsuite/gcc.dg/tree-ssa/pr89872.c
- 24ebfe1dee7fc73b4be4bbefa1356716  gcc/testsuite/gcc.dg/tree-ssa/pr90036.c
  949622721a13f8d39b8ba4050663f018  gcc/testsuite/gcc.dg/tree-ssa/pr90340-2.c
  6829d608ec13aeb0b992fceca2272113  gcc/testsuite/gcc.dg/tree-ssa/pr90340.c
  0db067193876ab56f78859b16096f74f  gcc/testsuite/gcc.dg/tree-ssa/pr90356-1.c
--- 65215,65220 ----
*************** dca9505b42b2f6c7239de3ce44690e1e  gcc/te
*** 70799,70805 ****
  d4ac8ae270bd6cc66c3f1a3fd58864e9  gcc/testsuite/gcc.target/aarch64/mingw/mingw.exp
  aac5b0a2d815cfee6d6e67caa6c7e72a  gcc/testsuite/gcc.target/aarch64/mingw/minimal_new_del.C
  7cfd292a52f5e9954493826946105c32  gcc/testsuite/gcc.target/aarch64/mingw/variadic_hfa.c
! 7b2c336fd8c7f0fe38dd21823360a36c  gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva.c
  5ae56c00b38446fe95b7db31dae48056  gcc/testsuite/gcc.target/aarch64/mingw/variadic_int.c
  1d85598730d5bd30a9357549e14379f6  gcc/testsuite/gcc.target/aarch64/mla_intrinsic_1.c
  9117b783d4f390342f3a6e2e9f2b230e  gcc/testsuite/gcc.target/aarch64/mls_intrinsic_1.c
--- 70863,70871 ----
  d4ac8ae270bd6cc66c3f1a3fd58864e9  gcc/testsuite/gcc.target/aarch64/mingw/mingw.exp
  aac5b0a2d815cfee6d6e67caa6c7e72a  gcc/testsuite/gcc.target/aarch64/mingw/minimal_new_del.C
  7cfd292a52f5e9954493826946105c32  gcc/testsuite/gcc.target/aarch64/mingw/variadic_hfa.c
! b06138d586b63a143c0e41f96d6b0d0d  gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva1.c
! 6ff64bc0b14295516d4e07a61038b406  gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva2.c
! f385eefce3409bb962d35cc652357cc3  gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva3.c
  5ae56c00b38446fe95b7db31dae48056  gcc/testsuite/gcc.target/aarch64/mingw/variadic_int.c
  1d85598730d5bd30a9357549e14379f6  gcc/testsuite/gcc.target/aarch64/mla_intrinsic_1.c
  9117b783d4f390342f3a6e2e9f2b230e  gcc/testsuite/gcc.target/aarch64/mls_intrinsic_1.c
*************** f79aeeb83d4a0d143dccfa2cb843cc52  gcc/te
*** 71163,71168 ****
--- 71229,71235 ----
  ec79fa3be7327c757d4abcecfe6afb40  gcc/testsuite/gcc.target/aarch64/pr123017_6.c
  3c99f5bd7556f75f513af4ccabe65c85  gcc/testsuite/gcc.target/aarch64/pr123017_7.c
  b15614b849a2403ba76800ef1356aab5  gcc/testsuite/gcc.target/aarch64/pr123026.c
+ c07ef6a79a7748d8a1cd83670cbc3173  gcc/testsuite/gcc.target/aarch64/pr123094-1.c
  98a4eb67a4078cb117ea1c80d44fee14  gcc/testsuite/gcc.target/aarch64/pr123206.c
  95306727ea8db0e2fdb8e199f754c587  gcc/testsuite/gcc.target/aarch64/pr123285-1.c
  3525a5777032197cdd1e39b2aad94c29  gcc/testsuite/gcc.target/aarch64/pr123294-1.c
*************** fdf31615d4c23a6cda30ff2ff1493fcd  gcc/te
*** 72070,72076 ****
  5a4e5012170fd731aad53e8a5e8ca2b0  gcc/testsuite/gcc.target/aarch64/sme/sibcall_7_ts.c
  c24e7b6e6657e7a0bc6f6c3324ca0e55  gcc/testsuite/gcc.target/aarch64/sme/sibcall_8.c
  b7e9ea35db65f1f9ab0129b6787b4aa1  gcc/testsuite/gcc.target/aarch64/sme/sibcall_9.c
! 474e35480cd904009962a6b25b99f50d  gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c
  c7c73b255f9579fb4fca5284ec152e31  gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c
  9ce9b56fcc81eccd70d155b7ba6b7628  gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_2.c
  fcf99b5d14963d6dc0b0c9a728fc8ac4  gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_3.c
--- 72137,72143 ----
  5a4e5012170fd731aad53e8a5e8ca2b0  gcc/testsuite/gcc.target/aarch64/sme/sibcall_7_ts.c
  c24e7b6e6657e7a0bc6f6c3324ca0e55  gcc/testsuite/gcc.target/aarch64/sme/sibcall_8.c
  b7e9ea35db65f1f9ab0129b6787b4aa1  gcc/testsuite/gcc.target/aarch64/sme/sibcall_9.c
! 4d9577c81fc117dbb22c930c6def7e07  gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c
  c7c73b255f9579fb4fca5284ec152e31  gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c
  9ce9b56fcc81eccd70d155b7ba6b7628  gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_2.c
  fcf99b5d14963d6dc0b0c9a728fc8ac4  gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_3.c
*************** a1f49719a6a2f5d52bed7574b5f19664  gcc/te
*** 75147,75153 ****
  60a6cb5f3583610557e9b4dde6cd5453  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cntd_pat_1.c
  2279605ca76a398874fa5ee6664d3d52  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cnth_pat_1.c
  ccec270f903888ca00fe8baba907fa5f  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cntw_pat_1.c
! 2c4b75f5af375e44324610f217676d50  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cops.c
  2c7b7b97a194070a3802ca49f8a03b57  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cops_bool.c
  fb0b99833eb0c168abc014e0554a156c  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cpy_1.c
  75a2cc5eaade2a1a499200b05ae5f53c  gcc/testsuite/gcc.target/aarch64/sve/acle/general/debug_1.c
--- 75214,75220 ----
  60a6cb5f3583610557e9b4dde6cd5453  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cntd_pat_1.c
  2279605ca76a398874fa5ee6664d3d52  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cnth_pat_1.c
  ccec270f903888ca00fe8baba907fa5f  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cntw_pat_1.c
! 3e73a503600e07b17bb8c9d3ecb3bef4  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cops.c
  2c7b7b97a194070a3802ca49f8a03b57  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cops_bool.c
  fb0b99833eb0c168abc014e0554a156c  gcc/testsuite/gcc.target/aarch64/sve/acle/general/cpy_1.c
  75a2cc5eaade2a1a499200b05ae5f53c  gcc/testsuite/gcc.target/aarch64/sve/acle/general/debug_1.c
*************** bc84b25bc522b6ed07bd7885605c00d7  gcc/te
*** 82048,82053 ****
--- 82115,82121 ----
  ac8dc8b9b19050248df37eef095827b0  gcc/testsuite/gcc.target/arm/pr121065.c
  863c5b161ff9984d5925d994f7529af0  gcc/testsuite/gcc.target/arm/pr121773.c
  28d64a7401aed8110aaad23c15c26372  gcc/testsuite/gcc.target/arm/pr122111.c
+ 82da20b2c4061a368f405dbeb1cdb341  gcc/testsuite/gcc.target/arm/pr123271.c
  8120924509f8b52f39137165dd663164  gcc/testsuite/gcc.target/arm/pr124134.c
  3ce2c6a399da67ae36390d522e1f1296  gcc/testsuite/gcc.target/arm/pr19599.c
  3425143e88f989a8f52f345e6237106a  gcc/testsuite/gcc.target/arm/pr26702.c
*************** cef1284423aca787e49645e6afbe043b  gcc/te
*** 82084,82092 ****
  aeba150bfdf5a821a1b2043e1f4af966  gcc/testsuite/gcc.target/arm/pr44999.c
  a4c4698a5fe84412c8b996b75146c2b1  gcc/testsuite/gcc.target/arm/pr45094.c
  6bf421f50d2e131c53639d3bf5eae6ab  gcc/testsuite/gcc.target/arm/pr45447.c
! 05ebe81bfef095b878b1e64ff7846f85  gcc/testsuite/gcc.target/arm/pr45701-1.c
! 9ac256e7126f169ab5ec39056a034e16  gcc/testsuite/gcc.target/arm/pr45701-2.c
! 18881ad8d2240959127b8e69c0334d9c  gcc/testsuite/gcc.target/arm/pr45701-3.c
  36686297e5d882e8e063d16c42dff77e  gcc/testsuite/gcc.target/arm/pr46329.c
  af020e627d5f93cc2c57a41e3bc37e28  gcc/testsuite/gcc.target/arm/pr46631.c
  60541329250f48e1676764a4d6b79d2f  gcc/testsuite/gcc.target/arm/pr46788.c
--- 82152,82160 ----
  aeba150bfdf5a821a1b2043e1f4af966  gcc/testsuite/gcc.target/arm/pr44999.c
  a4c4698a5fe84412c8b996b75146c2b1  gcc/testsuite/gcc.target/arm/pr45094.c
  6bf421f50d2e131c53639d3bf5eae6ab  gcc/testsuite/gcc.target/arm/pr45447.c
! 88cf4f9ca618d46c3a47015c701709e8  gcc/testsuite/gcc.target/arm/pr45701-1.c
! d009b3b2742a8ea5bbfd2aae8ef93ce4  gcc/testsuite/gcc.target/arm/pr45701-2.c
! 00b4c400a05b3d5c71ba0c742cc98cbb  gcc/testsuite/gcc.target/arm/pr45701-3.c
  36686297e5d882e8e063d16c42dff77e  gcc/testsuite/gcc.target/arm/pr46329.c
  af020e627d5f93cc2c57a41e3bc37e28  gcc/testsuite/gcc.target/arm/pr46631.c
  60541329250f48e1676764a4d6b79d2f  gcc/testsuite/gcc.target/arm/pr46788.c
*************** d7f2f60c2c464ec7133704d0b8deb86d  gcc/te
*** 83479,83484 ****
--- 83547,83554 ----
  d8fff2cc6bc3321095b7345915e98ec1  gcc/testsuite/gcc.target/frv/fr550-builtins-4.c
  4f94aea2a37f6adad09abfdbb47bb87e  gcc/testsuite/gcc.target/frv/fr550-builtins-5.c
  bc0a15683fdc05ad205021d1fec58d0e  gcc/testsuite/gcc.target/frv/frv.exp
+ 8c52cace4a5c79fc5928c5f5710f44d0  gcc/testsuite/gcc.target/gcn/addr-space-convert-1.c
+ 6ed451ec1919c43af0ebd88a92e05d05  gcc/testsuite/gcc.target/gcn/addr-space-convert-2.c
  b76010526d08e7c23f0e74cf91cf6e0c  gcc/testsuite/gcc.target/gcn/avgpr-mem-double.c
  25674c58995cafd26319f71daae6bc47  gcc/testsuite/gcc.target/gcn/avgpr-mem-int.c
  f1b50d3c7f006e6bcf86d5c49efa0b0d  gcc/testsuite/gcc.target/gcn/avgpr-mem-long.c
*************** e340633d8314dbf662caefa0f6a69c15  gcc/te
*** 83541,83546 ****
--- 83611,83617 ----
  f8c14281fa729687851e69729e7776c8  gcc/testsuite/gcc.target/gcn/math-builtins-1.c
  37943267e1d7063abbdffcb7bbe70b61  gcc/testsuite/gcc.target/gcn/pr113163.c
  d75a491a0b0343050793e6acdce8b787  gcc/testsuite/gcc.target/gcn/pr113199.c
+ 109519f971fcc4d089e6254b8b3f39af  gcc/testsuite/gcc.target/gcn/pr124044.c
  4e6c56ab172baa7aa93d0febfa33ccdf  gcc/testsuite/gcc.target/gcn/simd-math-1.c
  e44eff572cbf9d441776358c84f710c4  gcc/testsuite/gcc.target/gcn/simd-math-2.c
  4244ab42f721cbdd08bdae5d5b626e57  gcc/testsuite/gcc.target/gcn/simd-math-3-16.c
*************** ceabed34440a4d5e7379a87fe03c334e  gcc/te
*** 89010,89015 ****
--- 89081,89087 ----
  d4c716e20ab6e64d6bb29cc63dd65677  gcc/testsuite/gcc.target/i386/movq-2.c
  d7e128da4dee8caf6cd8d400af12d230  gcc/testsuite/gcc.target/i386/movq.c
  cb58a62e42c29816d18ea3d55ab4997d  gcc/testsuite/gcc.target/i386/movrs-1.c
+ e1f5575d42c42c2ad22430f9a18c058e  gcc/testsuite/gcc.target/i386/movrs-pr124461.c
  347dca8d249a46ac2f5892d9ffdc0337  gcc/testsuite/gcc.target/i386/movsd.c
  bb0703a0cfe126aeba12e7589d46db56  gcc/testsuite/gcc.target/i386/movsi-sm-1.c
  a563480a1082f387ca849ebdfa1078d1  gcc/testsuite/gcc.target/i386/movti-2.c
*************** fd0c95fcad577a49c3553f21604c3b61  gcc/te
*** 90152,90157 ****
--- 90224,90231 ----
  fbfd31ba28ddc5c31ac2fd9d714443bb  gcc/testsuite/gcc.target/i386/pr124056.c
  d27914ddcfa1d9a135c3e7189bd6af10  gcc/testsuite/gcc.target/i386/pr124098.c
  47cf91db1dea0c9b92db6c1fae08c91e  gcc/testsuite/gcc.target/i386/pr124194.c
+ dcd126d8cd1a8a25624089d6f707cc1e  gcc/testsuite/gcc.target/i386/pr124407-1.c
+ 101572df1dd23dde5382be2d1a1478fe  gcc/testsuite/gcc.target/i386/pr124407-2.c
  8951a1fa31f2d45ef9eacfff6a733f77  gcc/testsuite/gcc.target/i386/pr13366.c
  9a752a4b3b77930d91d3c8b0c8897b90  gcc/testsuite/gcc.target/i386/pr13685.c
  31ead0ee84b382ba03e3561931bc6e40  gcc/testsuite/gcc.target/i386/pr14289-1.c
*************** ab4a753420c7cc112326b8711285358c  gcc/te
*** 93404,93411 ****
  eff69bc35d048fa62601a9d8fcef96e4  gcc/testsuite/gcc.target/loongarch/attr-check-error-message.c
  6614f3555f96772a1c779329ac2439da  gcc/testsuite/gcc.target/loongarch/attr-check-error-message1.c
  5530609893948652dbab8e030453c29d  gcc/testsuite/gcc.target/loongarch/attr-check-error-message2.c
! f0bc17028b5d7e0015e6c97765168468  gcc/testsuite/gcc.target/loongarch/attr-check-error-message3.c
! 617e4326797856ee085559f10175d0d0  gcc/testsuite/gcc.target/loongarch/attr-check-error-message4.c
  33e69c3ecf0711abc4767f5a23874b67  gcc/testsuite/gcc.target/loongarch/attr-check-error-message5.c
  64c890914de64eca086414a511780c52  gcc/testsuite/gcc.target/loongarch/attr-check-error-message6.c
  b802a624eca3aa681adda2c112397671  gcc/testsuite/gcc.target/loongarch/attr-check-error-message7.c
--- 93478,93485 ----
  eff69bc35d048fa62601a9d8fcef96e4  gcc/testsuite/gcc.target/loongarch/attr-check-error-message.c
  6614f3555f96772a1c779329ac2439da  gcc/testsuite/gcc.target/loongarch/attr-check-error-message1.c
  5530609893948652dbab8e030453c29d  gcc/testsuite/gcc.target/loongarch/attr-check-error-message2.c
! aea81ea95bc6b967587d435009752975  gcc/testsuite/gcc.target/loongarch/attr-check-error-message3.c
! edc5a6df33394b986a07c146289a3cd0  gcc/testsuite/gcc.target/loongarch/attr-check-error-message4.c
  33e69c3ecf0711abc4767f5a23874b67  gcc/testsuite/gcc.target/loongarch/attr-check-error-message5.c
  64c890914de64eca086414a511780c52  gcc/testsuite/gcc.target/loongarch/attr-check-error-message6.c
  b802a624eca3aa681adda2c112397671  gcc/testsuite/gcc.target/loongarch/attr-check-error-message7.c
*************** f42f0801a44d06285cee316810947fb7  gcc/te
*** 94752,94762 ****
  a5fe054c259b2b857e58ca81fc2ee790  gcc/testsuite/gcc.target/mips/pr104914.c
  06ed58a6932750afce22db3b1b18fd17  gcc/testsuite/gcc.target/mips/pr106462.c
  f4c42702a09deae0e3423bd519f5d2eb  gcc/testsuite/gcc.target/mips/pr113179.c
! 1680497826ee74fae57dc31abdf1226e  gcc/testsuite/gcc.target/mips/pr118608-1.c
! 94d7f4c0d84f3c055072ff2af65360ef  gcc/testsuite/gcc.target/mips/pr118608-2.c
! f249a8f4522a3524f40f4b6a519b2743  gcc/testsuite/gcc.target/mips/pr118608-3.c
! 218a0cf921b5404775bb3432ea99cc83  gcc/testsuite/gcc.target/mips/pr118608-4.c
! c3ec6f4af4a37ac4a16cde974111ea0b  gcc/testsuite/gcc.target/mips/pr123833.c
  def76d72ccc4011afcc36f6a1668e0a5  gcc/testsuite/gcc.target/mips/pr26765.c
  a353694197fdff37f4981c3e510c5565  gcc/testsuite/gcc.target/mips/pr33256.c
  10ea730da40444dc72c89d6cde02220c  gcc/testsuite/gcc.target/mips/pr33635-1.c
--- 94826,94834 ----
  a5fe054c259b2b857e58ca81fc2ee790  gcc/testsuite/gcc.target/mips/pr104914.c
  06ed58a6932750afce22db3b1b18fd17  gcc/testsuite/gcc.target/mips/pr106462.c
  f4c42702a09deae0e3423bd519f5d2eb  gcc/testsuite/gcc.target/mips/pr113179.c
! 10df6ab6468540b3137b55bfa859aa2d  gcc/testsuite/gcc.target/mips/pr118608-1.c
! d94b3d17f04b0d29c304b6948a6267ba  gcc/testsuite/gcc.target/mips/pr118608-2.c
! 0917b16aeea28b9e3c8682c85f47e46e  gcc/testsuite/gcc.target/mips/pr123833.c
  def76d72ccc4011afcc36f6a1668e0a5  gcc/testsuite/gcc.target/mips/pr26765.c
  a353694197fdff37f4981c3e510c5565  gcc/testsuite/gcc.target/mips/pr33256.c
  10ea730da40444dc72c89d6cde02220c  gcc/testsuite/gcc.target/mips/pr33635-1.c
*************** e51815ddb1131553c1d3c8f51d41d185  gcc/te
*** 99034,99039 ****
--- 99106,99112 ----
  fd1ad27c6f6aa8e73524a95358b4fff8  gcc/testsuite/gcc.target/riscv/movsine-ventana.c
  529f76ee14377024369064d810c9dc2b  gcc/testsuite/gcc.target/riscv/movsine-zicond.c
  a253f6211e939c78d54f7413baa13d8c  gcc/testsuite/gcc.target/riscv/movsine.c
+ ace2cf4b0d86b2a712b3e98f816f1d75  gcc/testsuite/gcc.target/riscv/mvc-warning1.c
  b79b998aeb58db66bd0a67b99288020e  gcc/testsuite/gcc.target/riscv/nozicond-1.c
  2ac773c640cc233a0124069480b6f47d  gcc/testsuite/gcc.target/riscv/nozicond-2.c
  4925e10a6ae58d941956f63cfa564202  gcc/testsuite/gcc.target/riscv/nozicond-3.c
*************** c3ff223c334c03e16db45ce26e2eea4a  gcc/te
*** 113130,113136 ****
  b3ff2dff195429e6641177e464dacd90  gcc/testsuite/gfortran.dg/coarray/associate_1.f90
  21f18575fa619cf0b7fba877cb8db97f  gcc/testsuite/gfortran.dg/coarray/atomic_1.f90
  70b6826ced0aac4e971ce971d39be3d3  gcc/testsuite/gfortran.dg/coarray/atomic_2.f90
! 0d700473b62074ff142183e59e2be915  gcc/testsuite/gfortran.dg/coarray/caf.exp
  a1093e682d1d78384f50968f6210e05f  gcc/testsuite/gfortran.dg/coarray/class_1.f90
  efbd93f7ffe8fbf5291dda937b7e6f15  gcc/testsuite/gfortran.dg/coarray/co_reduce_string.f90
  88d3841a11fa3b39443f1e16cb47b9ec  gcc/testsuite/gfortran.dg/coarray/coarray_allocated.f90
--- 113203,113209 ----
  b3ff2dff195429e6641177e464dacd90  gcc/testsuite/gfortran.dg/coarray/associate_1.f90
  21f18575fa619cf0b7fba877cb8db97f  gcc/testsuite/gfortran.dg/coarray/atomic_1.f90
  70b6826ced0aac4e971ce971d39be3d3  gcc/testsuite/gfortran.dg/coarray/atomic_2.f90
! ad7091b1dd04bc290e97427ef774cf08  gcc/testsuite/gfortran.dg/coarray/caf.exp
  a1093e682d1d78384f50968f6210e05f  gcc/testsuite/gfortran.dg/coarray/class_1.f90
  efbd93f7ffe8fbf5291dda937b7e6f15  gcc/testsuite/gfortran.dg/coarray/co_reduce_string.f90
  88d3841a11fa3b39443f1e16cb47b9ec  gcc/testsuite/gfortran.dg/coarray/coarray_allocated.f90
*************** f5ecad1df1c3f9e7d4bf8d95be2b45a5  gcc/te
*** 117301,117307 ****
  2588a29b1e8d5e652dd511316facfa46  gcc/testsuite/gfortran.dg/pdt_36.f03
  9abf2f0827863994cae83f3e9a57bbe0  gcc/testsuite/gfortran.dg/pdt_37.f03
  bf9b6323f7816780db5e9b60fb1b8dee  gcc/testsuite/gfortran.dg/pdt_38.f03
! 0bbb66e970e4b2cc0b23cfac47a0a1e4  gcc/testsuite/gfortran.dg/pdt_39.f03
  26c6f55cb76e1a76617fc3167f296a53  gcc/testsuite/gfortran.dg/pdt_4.f03
  5a1a0909b561f7bfa9564d4a626d9f7c  gcc/testsuite/gfortran.dg/pdt_40.f03
  5061f7ef70cf2d270a5ff3643419a520  gcc/testsuite/gfortran.dg/pdt_41.f03
--- 117374,117380 ----
  2588a29b1e8d5e652dd511316facfa46  gcc/testsuite/gfortran.dg/pdt_36.f03
  9abf2f0827863994cae83f3e9a57bbe0  gcc/testsuite/gfortran.dg/pdt_37.f03
  bf9b6323f7816780db5e9b60fb1b8dee  gcc/testsuite/gfortran.dg/pdt_38.f03
! bec2533e5df9f9752162a8a81cc206d2  gcc/testsuite/gfortran.dg/pdt_39.f03
  26c6f55cb76e1a76617fc3167f296a53  gcc/testsuite/gfortran.dg/pdt_4.f03
  5a1a0909b561f7bfa9564d4a626d9f7c  gcc/testsuite/gfortran.dg/pdt_40.f03
  5061f7ef70cf2d270a5ff3643419a520  gcc/testsuite/gfortran.dg/pdt_41.f03
*************** f6695b4fb594606f02af64d62e1c0b75  gcc/te
*** 117352,117357 ****
--- 117425,117434 ----
  563711530085cf404f4c3314b360a937  gcc/testsuite/gfortran.dg/pdt_83.f03
  b4209f9f96c7dd6b54f255bf23c1dc15  gcc/testsuite/gfortran.dg/pdt_84.f03
  874410c75a218763c32521b445ecf6f0  gcc/testsuite/gfortran.dg/pdt_85.f03
+ 2ca21ac09e6b30c6b75c52a6caaa7b45  gcc/testsuite/gfortran.dg/pdt_86.f03
+ 549d910fb6edbb2f39bd52042f69ba19  gcc/testsuite/gfortran.dg/pdt_87.f03
+ f545f62c1e71dc7bd67638aeeb2db587  gcc/testsuite/gfortran.dg/pdt_88.f03
+ 9a4d72f9f692366ff871a56578313f20  gcc/testsuite/gfortran.dg/pdt_89.f03
  c621629f10feffbfa9fef1441a610e53  gcc/testsuite/gfortran.dg/pdt_9.f03
  ce217e87870d47796b72f99a0b0f46b7  gcc/testsuite/gfortran.dg/pdt_generic_1.f90
  4555f630cb01a40d0eaf421fd7ad9e77  gcc/testsuite/gfortran.dg/pointer_1.f90
*************** afe21b866be9162c6b654dc6771e6ead  gcc/te
*** 117477,117493 ****
--- 117554,117574 ----
  9689aaf0cb9d6642b812ab9cd61eff8a  gcc/testsuite/gfortran.dg/pr102180.f90
  47ed02e060fe8963c8b302d989d30b44  gcc/testsuite/gfortran.dg/pr102190.f90
  75ccec9005d1d4a2d9ed0cea1bf10434  gcc/testsuite/gfortran.dg/pr102332.f90
+ 0f742b974936fdac370e3cdae600e6ab  gcc/testsuite/gfortran.dg/pr102333.f90
  1dd53d463caf1e16e47d0fe9cbf2309f  gcc/testsuite/gfortran.dg/pr102366.f90
  85172103204e3a5e8205c18bba97977a  gcc/testsuite/gfortran.dg/pr102458.f90
  cbd40bc334c217d37c198b1f27373810  gcc/testsuite/gfortran.dg/pr102458b.f90
+ 44bc627bf6c28a64567fdb75fe688fdc  gcc/testsuite/gfortran.dg/pr102459.f90
  09759ba73ae30c3a54be532d97b7f526  gcc/testsuite/gfortran.dg/pr102520.f90
  73ad9dd0e1a553e17865bdfdf09510d0  gcc/testsuite/gfortran.dg/pr102532.f90
+ 4efde3b7d107b33c9c8792e23b683d17  gcc/testsuite/gfortran.dg/pr102596.f90
  c0ae1c78c693e1256c471360998b7568  gcc/testsuite/gfortran.dg/pr102597.f90
  c081e1f510a2d68ec176356111dab188  gcc/testsuite/gfortran.dg/pr102685.f90
  d99cea26823109c0bb853b42df152999  gcc/testsuite/gfortran.dg/pr102715.f90
  f28998ba16e7a78633a9de3d5eaf0667  gcc/testsuite/gfortran.dg/pr102816.f90
  cc6ac3aa934c104c85fad8e43ae6985d  gcc/testsuite/gfortran.dg/pr102817.f90
  84b1f0250b302af4fa41f4f4a5f8a679  gcc/testsuite/gfortran.dg/pr102860.f90
+ 2ea3fdef39f1131d6aa1210e7ea17513  gcc/testsuite/gfortran.dg/pr103139.f90
  95206e73bd86fd997d85643e08c24a44  gcc/testsuite/gfortran.dg/pr103258.f90
  4b404e5693e05cfd48ecd00e22ac323d  gcc/testsuite/gfortran.dg/pr103259.f90
  48782be659f3ec5c8d9cba03ca6cc43d  gcc/testsuite/gfortran.dg/pr103286.f90
*************** d4b65efea892e3a54acdb92a298fc582  gcc/te
*** 117559,117564 ****
--- 117640,117646 ----
  0677f2dac82b1b95cde8edf69efd60a9  gcc/testsuite/gfortran.dg/pr106918.f90
  09719e2d59fe58682ef7a737cdf01620  gcc/testsuite/gfortran.dg/pr106934.f90
  e1ccca85dc432ca649742c05520157d9  gcc/testsuite/gfortran.dg/pr106945.f90
+ 1b7098a64b99eb214b607f599b3eb32f  gcc/testsuite/gfortran.dg/pr106946.f90
  a9c6ba4d14cec93cd2edec54fda6a916  gcc/testsuite/gfortran.dg/pr106985.f90
  eb96b826eeaf84f157c8635706721d40  gcc/testsuite/gfortran.dg/pr106986.f90
  054c58cb24c0bee4ea0b5fcf3cdbf86d  gcc/testsuite/gfortran.dg/pr106999.f90
*************** f2965c649a5f8dcb271f4f49f656cfff  gcc/te
*** 117607,117612 ****
--- 117689,117695 ----
  898c3ea8360d1452c5f815b15dc6f6f8  gcc/testsuite/gfortran.dg/pr110221.f
  7e8f4bd708c5e8d2c848ebda68cfa3e5  gcc/testsuite/gfortran.dg/pr110224.f90
  998a85b06cf4402e9dcaa8e7dd203ee2  gcc/testsuite/gfortran.dg/pr110415.f90
+ 0aa416b9f025b96460e1495d9883e74c  gcc/testsuite/gfortran.dg/pr110877.f90
  47cd542147bf162109f2595723968363  gcc/testsuite/gfortran.dg/pr110996.f90
  8fee6a25342cd239d821dc8fef4eb847  gcc/testsuite/gfortran.dg/pr111022.f90
  65d07fd1935686cb66ec42fe6d001afd  gcc/testsuite/gfortran.dg/pr111853.f90
*************** b1cb2c9a52574c2df5df49bd13ee7e5d  gcc/te
*** 117670,117675 ****
--- 117753,117759 ----
  a01a62a01e9e7263ce5c3eb6b06e96a7  gcc/testsuite/gfortran.dg/pr121472.f90
  2c5769bb5fd02bd8b8791d960937aa78  gcc/testsuite/gfortran.dg/pr121475.f90
  6be9000a862f8c64a384c1727d879f04  gcc/testsuite/gfortran.dg/pr121627.f90
+ cf5eb5dbc3807278a7f8e6a11e5b41bf  gcc/testsuite/gfortran.dg/pr121743.f90
  6df685f9b4cb8f7874082b4e9d9e61f5  gcc/testsuite/gfortran.dg/pr122513-2.f90
  b6e7e7e8bea9878d7980ddcd5a97c5f5  gcc/testsuite/gfortran.dg/pr122513.f90
  b9c77c8cd78fcd9e57fbfafe732a8c95  gcc/testsuite/gfortran.dg/pr122936.f90
*************** f5fb3cbcb5e6e13e6a56fcf9422a2863  gcc/te
*** 117685,117690 ****
--- 117769,117775 ----
  348d095bf62be63000e464d805a812fb  gcc/testsuite/gfortran.dg/pr123952.f90
  39137ae7aabd3246fa806bae5346ef6a  gcc/testsuite/gfortran.dg/pr124208.f90
  2cb76d13b09d255f773e5188ba2693fa  gcc/testsuite/gfortran.dg/pr124235.f90
+ 5bfaeea8d13a5035cf46aaab485c2803  gcc/testsuite/gfortran.dg/pr124450.f90
  984f8307f36d56a0b48b5acce2dd5eb5  gcc/testsuite/gfortran.dg/pr12884.f
  64075248b9d1bffd6f380bb4e2a6eae0  gcc/testsuite/gfortran.dg/pr15129.f90
  2b5f18b773a5db29b0a2ee2d8cce767c  gcc/testsuite/gfortran.dg/pr15140.f90
*************** e338cfba2f466abedf9af92b52cd6fb3  gcc/te
*** 118140,118145 ****
--- 118225,118231 ----
  b6ff04901e3aee18765a74bf65804e38  gcc/testsuite/gfortran.dg/pr82253.f90
  344be7c0602202457870166d368441e0  gcc/testsuite/gfortran.dg/pr82314.f90
  7f04eca318ca64e1442ceabc31fab9fb  gcc/testsuite/gfortran.dg/pr82397.f
+ 9f2daedbf44298499832b2b6d72eb79f  gcc/testsuite/gfortran.dg/pr82721.f90
  5e9eb92684de357b4c23a7f04959db82  gcc/testsuite/gfortran.dg/pr82774.f90
  616772c135ee9b14c410dcd23fdbc3e4  gcc/testsuite/gfortran.dg/pr82973.f90
  0a918cecf6f52a31004b77728cb30038  gcc/testsuite/gfortran.dg/pr83113.f90
*************** a6b1d851f4c5b6cfffa8f56c8f9cd150  gcc/te
*** 118389,118394 ****
--- 118475,118481 ----
  d267294a3d8606296d53a310c654cb98  gcc/testsuite/gfortran.dg/pr95090.f90
  10a1157f7a9fa8f2042a563c98a25914  gcc/testsuite/gfortran.dg/pr95091.f90
  7d3e3457f90590b31740ffdd3a4866a3  gcc/testsuite/gfortran.dg/pr95104.f90
+ e11cb19990efd60513bbac52ee105f02  gcc/testsuite/gfortran.dg/pr95338.f90
  66c58770643ed3f1944820fa6790cc27  gcc/testsuite/gfortran.dg/pr95340.f90
  395135621c98fea610c5f2b17feb7637  gcc/testsuite/gfortran.dg/pr95342.f90
  b9d5894d240b89777d50d53e0cd60929  gcc/testsuite/gfortran.dg/pr95373_1.f90
*************** e09be876a1fe6d9ea8576e3b6017ca0a  gcc/te
*** 119587,119593 ****
  1623cb39a42976237e7817a8a94f1a4a  gcc/testsuite/gfortran.dg/unary_operator.f90
  0e692a977ecc4ab86f2eddee444794b4  gcc/testsuite/gfortran.dg/uncommon_block_data_1.f90
  8d8b1e5695194260d65475eee35e3cee  gcc/testsuite/gfortran.dg/uncommon_block_data_2.f90
! bfb56dc516c92e5cc58ec5609958de7f  gcc/testsuite/gfortran.dg/unconstrained_commons.f
  16b7f45a2d175a9540ec055c77edad2a  gcc/testsuite/gfortran.dg/underflow.f90
  a7494f7b00a8d4f7d5c77fd348f591b4  gcc/testsuite/gfortran.dg/unexp_attribute.f90
  39050472f0bc284f515f1898b0c79a2e  gcc/testsuite/gfortran.dg/unexpected_eof.f
--- 119674,119680 ----
  1623cb39a42976237e7817a8a94f1a4a  gcc/testsuite/gfortran.dg/unary_operator.f90
  0e692a977ecc4ab86f2eddee444794b4  gcc/testsuite/gfortran.dg/uncommon_block_data_1.f90
  8d8b1e5695194260d65475eee35e3cee  gcc/testsuite/gfortran.dg/uncommon_block_data_2.f90
! a3fe3d5aed286d45e58533ee6cd37dd9  gcc/testsuite/gfortran.dg/unconstrained_commons.f
  16b7f45a2d175a9540ec055c77edad2a  gcc/testsuite/gfortran.dg/underflow.f90
  a7494f7b00a8d4f7d5c77fd348f591b4  gcc/testsuite/gfortran.dg/unexp_attribute.f90
  39050472f0bc284f515f1898b0c79a2e  gcc/testsuite/gfortran.dg/unexpected_eof.f
*************** f8aa1b9b6d8605d6d8f8640d0af378d3  gcc/te
*** 122622,122627 ****
--- 122709,122715 ----
  1ab0ba269ad1e4ee5cc0b2651374a2a5  gcc/testsuite/gnat.dg/access1.adb
  6d63d89266459501cbab795f893986a6  gcc/testsuite/gnat.dg/access10.adb
  1fd18942315c2275f2f19f6664a7deea  gcc/testsuite/gnat.dg/access11.adb
+ 9e00b6c352fa4cf22e7a02928ac146cf  gcc/testsuite/gnat.dg/access12.adb
  943026829386ee6566add3daafeab5a1  gcc/testsuite/gnat.dg/access2.adb
  2fa4700bffd8945e6a0f90d0475d0d69  gcc/testsuite/gnat.dg/access3.adb
  85a2981071298449aa62b8862bba17d1  gcc/testsuite/gnat.dg/access3.ads
*************** d7604b4d2f401c17008d23ef48c7da56  gcc/te
*** 122738,122743 ****
--- 122826,122832 ----
  df440a8d2b7c252235b3f3f62f354573  gcc/testsuite/gnat.dg/ai12_0086_example.adb
  35031b3b1cfbf9db80dbdb131ad67e3e  gcc/testsuite/gnat.dg/aliased1.adb
  350ca7c5974d0f4a72eaff0670854d4b  gcc/testsuite/gnat.dg/aliased2.adb
+ 91df6592265b0ecc3368f0d1b3cbf8d2  gcc/testsuite/gnat.dg/aliased3.adb
  fc20c665ce493e3af920ca3b8b338e2e  gcc/testsuite/gnat.dg/aliased_prefix_accessibility.adb
  3a0cc839327fdbbc751e133fa95e98b4  gcc/testsuite/gnat.dg/aliasing1.adb
  a4902656656cf1933e27aa840c492aae  gcc/testsuite/gnat.dg/aliasing1.ads
*************** de9eeadec9703aff96169206e31a3a22  gcc/te
*** 127590,127596 ****
  275f7eb9618e6b097a58c1fba25cdb9c  gcc/testsuite/lib/scanwpaipa.exp
  9bc4cbcf0cb4f1aa30a8cf3142d157eb  gcc/testsuite/lib/target-libpath.exp
  ba9ca262f3c7ac3b9717ac474fa255b8  gcc/testsuite/lib/target-supports-dg.exp
! 87d5db7137e02f557dced6b1aab0d6ce  gcc/testsuite/lib/target-supports.exp
  b1eb2edcf4941bfb00c200eb000a0a7b  gcc/testsuite/lib/target-utils.exp
  98b890f6c455deafd6ca241993fc5d67  gcc/testsuite/lib/timeout-dg.exp
  0afb0c69501fa44908d13017be208db3  gcc/testsuite/lib/timeout.exp
--- 127679,127685 ----
  275f7eb9618e6b097a58c1fba25cdb9c  gcc/testsuite/lib/scanwpaipa.exp
  9bc4cbcf0cb4f1aa30a8cf3142d157eb  gcc/testsuite/lib/target-libpath.exp
  ba9ca262f3c7ac3b9717ac474fa255b8  gcc/testsuite/lib/target-supports-dg.exp
! ebf7003054c86ed8b78d0d6796cebae1  gcc/testsuite/lib/target-supports.exp
  b1eb2edcf4941bfb00c200eb000a0a7b  gcc/testsuite/lib/target-utils.exp
  98b890f6c455deafd6ca241993fc5d67  gcc/testsuite/lib/timeout-dg.exp
  0afb0c69501fa44908d13017be208db3  gcc/testsuite/lib/timeout.exp
*************** cbe90a107fcd179a95684d58982b5779  gcc/te
*** 130293,130299 ****
  092eef5e89ca84562a58ff0e91eaee48  gcc/timevar.cc
  ee4165de3d74b0fde5ca55a403c7f37b  gcc/timevar.def
  160bb6626a9562507750456253c82eb4  gcc/timevar.h
! 4815aa7e0102f83eef9e638939f57d05  gcc/topics/pass-events.h
  69fb7b48ead8734e47ad2a97e00725eb  gcc/toplev.cc
  4cc76bc48e83cd9bdd4f991959a6f230  gcc/toplev.h
  08a29208cd04c7f3a5f2b43bec77b277  gcc/tracer.cc
--- 130382,130388 ----
  092eef5e89ca84562a58ff0e91eaee48  gcc/timevar.cc
  ee4165de3d74b0fde5ca55a403c7f37b  gcc/timevar.def
  160bb6626a9562507750456253c82eb4  gcc/timevar.h
! af430d420eee56a4d869b7421ddb08b9  gcc/topics/pass-events.h
  69fb7b48ead8734e47ad2a97e00725eb  gcc/toplev.cc
  4cc76bc48e83cd9bdd4f991959a6f230  gcc/toplev.h
  08a29208cd04c7f3a5f2b43bec77b277  gcc/tracer.cc
*************** dea74d5dd62de97a94d9f3e749f5bd06  gcc/tr
*** 130316,130324 ****
  885e741c83d91ee864f9af2a1a079312  gcc/tree-data-ref.h
  89ef786b9c4639015bae3652c90fa60f  gcc/tree-dfa.cc
  e4c2f21e28741c793a32ae0fc8dbfa4c  gcc/tree-dfa.h
! 81ec51d2b70b7b15fbfc563a9cebfc58  gcc/tree-diagnostic-cfg.cc
  6249f69b6938f0c765dfd5c8b8919870  gcc/tree-diagnostic-client-data-hooks.cc
! 3932845e7b7aa2a4d88c4c75840411a6  gcc/tree-diagnostic-sink-extensions.h
  e034d1768d04fbcb8aefa0625b256dcd  gcc/tree-diagnostic.cc
  a6a0ac4b89f1e6240c0c94394b10339b  gcc/tree-diagnostic.h
  c3f03b9ec39a5dd9d9d6328f439b796c  gcc/tree-dump.cc
--- 130405,130413 ----
  885e741c83d91ee864f9af2a1a079312  gcc/tree-data-ref.h
  89ef786b9c4639015bae3652c90fa60f  gcc/tree-dfa.cc
  e4c2f21e28741c793a32ae0fc8dbfa4c  gcc/tree-dfa.h
! 0747c6d31b270b2ef08edf37adc78e96  gcc/tree-diagnostic-cfg.cc
  6249f69b6938f0c765dfd5c8b8919870  gcc/tree-diagnostic-client-data-hooks.cc
! d386999a86d3286d44906721ad4390cc  gcc/tree-diagnostic-sink-extensions.h
  e034d1768d04fbcb8aefa0625b256dcd  gcc/tree-diagnostic.cc
  a6a0ac4b89f1e6240c0c94394b10339b  gcc/tree-diagnostic.h
  c3f03b9ec39a5dd9d9d6328f439b796c  gcc/tree-dump.cc
*************** a24cff30baef257a999b4fac3ca47d5a  gcc/tr
*** 130355,130361 ****
  47856333edaecc32813dad93ecb96fbe  gcc/tree-pretty-print-markup.h
  45c5e55c37764fad83ea33411f4eb348  gcc/tree-pretty-print.cc
  c021bc7a8aa59f2b8184de8bff6b1d14  gcc/tree-pretty-print.h
! 901d83de1ee3ac4c63b85a576913a3e1  gcc/tree-profile.cc
  a39e1901dac55b45c25e4542501e20ff  gcc/tree-scalar-evolution.cc
  0ac41331ad8cbe754ee005d5ef9aff94  gcc/tree-scalar-evolution.h
  17c4c00ded2905c04437f79e44e63c75  gcc/tree-sra.cc
--- 130444,130450 ----
  47856333edaecc32813dad93ecb96fbe  gcc/tree-pretty-print-markup.h
  45c5e55c37764fad83ea33411f4eb348  gcc/tree-pretty-print.cc
  c021bc7a8aa59f2b8184de8bff6b1d14  gcc/tree-pretty-print.h
! 88c71d89922e91e7003038f3166556ee  gcc/tree-profile.cc
  a39e1901dac55b45c25e4542501e20ff  gcc/tree-scalar-evolution.cc
  0ac41331ad8cbe754ee005d5ef9aff94  gcc/tree-scalar-evolution.h
  17c4c00ded2905c04437f79e44e63c75  gcc/tree-sra.cc
*************** b36c3bd52f9df56746196a0cf2b3ac14  gcc/tr
*** 130372,130378 ****
  121090f76aa83f677c00129216885e7e  gcc/tree-ssa-copy.cc
  d5dba4b9ca0d7dfc67c9d53ec5273fb1  gcc/tree-ssa-dce.cc
  34546de59e69d1a125c3fa7747d7f0e2  gcc/tree-ssa-dce.h
! eb89d44da512216ee1bdb22db95fde59  gcc/tree-ssa-dom.cc
  ec31925fe8431d27258939fc79f1f02e  gcc/tree-ssa-dom.h
  0b20e0d5dab3b19262ec4287a2ad438b  gcc/tree-ssa-dse.cc
  1df01d660e0f98ade0ae7a3152aa33ed  gcc/tree-ssa-dse.h
--- 130461,130467 ----
  121090f76aa83f677c00129216885e7e  gcc/tree-ssa-copy.cc
  d5dba4b9ca0d7dfc67c9d53ec5273fb1  gcc/tree-ssa-dce.cc
  34546de59e69d1a125c3fa7747d7f0e2  gcc/tree-ssa-dce.h
! c1c4fe85c3abe80948e72eb9950ff189  gcc/tree-ssa-dom.cc
  ec31925fe8431d27258939fc79f1f02e  gcc/tree-ssa-dom.h
  0b20e0d5dab3b19262ec4287a2ad438b  gcc/tree-ssa-dse.cc
  1df01d660e0f98ade0ae7a3152aa33ed  gcc/tree-ssa-dse.h
*************** d38017eb69a50f24b5e47ee97928afde  gcc/tr
*** 130407,130413 ****
  82a2c700ac2e32f106bcbd11fc5cf152  gcc/tree-ssa-reassoc.h
  b8f792d089265598daea56500282890f  gcc/tree-ssa-sccvn.cc
  9b0da40767981c9bb917d64c14b2a7c1  gcc/tree-ssa-sccvn.h
! 63d4c594aab7735b6cef74a42e6481f0  gcc/tree-ssa-scopedtables.cc
  f9f30b312deca96b11a781af60153767  gcc/tree-ssa-scopedtables.h
  3b2415ac4cc87839b64bcb95bc5ba760  gcc/tree-ssa-sink.cc
  4dd8185895fd5c1053fa332226f68c8f  gcc/tree-ssa-strlen.cc
--- 130496,130502 ----
  82a2c700ac2e32f106bcbd11fc5cf152  gcc/tree-ssa-reassoc.h
  b8f792d089265598daea56500282890f  gcc/tree-ssa-sccvn.cc
  9b0da40767981c9bb917d64c14b2a7c1  gcc/tree-ssa-sccvn.h
! 43b66558734f8fe9fec03260c6814f6b  gcc/tree-ssa-scopedtables.cc
  f9f30b312deca96b11a781af60153767  gcc/tree-ssa-scopedtables.h
  3b2415ac4cc87839b64bcb95bc5ba760  gcc/tree-ssa-sink.cc
  4dd8185895fd5c1053fa332226f68c8f  gcc/tree-ssa-strlen.cc
*************** e316eddfbf9a02433a4ee93e648f3aa4  gcc/tr
*** 130440,130446 ****
  9d1d629a67b789d8cb739163675798bd  gcc/tree-vect-data-refs.cc
  a423c268d5ba9ac563732fd6d038c572  gcc/tree-vect-generic.cc
  5945009d0ba922b53aacbb6f724d3caf  gcc/tree-vect-loop-manip.cc
! 384d05f4e6601d24648a099b00f8abcc  gcc/tree-vect-loop.cc
  b65839ac30937104b9a0643233f69538  gcc/tree-vect-patterns.cc
  ef0b51a362b8764cf6b0628ed16b2dde  gcc/tree-vect-slp-patterns.cc
  9136f1f28ed76d0dd737074abc82bad2  gcc/tree-vect-slp.cc
--- 130529,130535 ----
  9d1d629a67b789d8cb739163675798bd  gcc/tree-vect-data-refs.cc
  a423c268d5ba9ac563732fd6d038c572  gcc/tree-vect-generic.cc
  5945009d0ba922b53aacbb6f724d3caf  gcc/tree-vect-loop-manip.cc
! 3c53ffe24391a7754e0cb8fe0186494d  gcc/tree-vect-loop.cc
  b65839ac30937104b9a0643233f69538  gcc/tree-vect-patterns.cc
  ef0b51a362b8764cf6b0628ed16b2dde  gcc/tree-vect-slp-patterns.cc
  9136f1f28ed76d0dd737074abc82bad2  gcc/tree-vect-slp.cc
*************** cffdeae41b78da05839b193e90188f55  libcod
*** 130786,130792 ****
  6419dfc879387358e95288142e569914  libcody/packet.cc
  688ece05c8b9d378b3df186808162e76  libcody/resolver.cc
  c94add0032978604acf65591bb86d2d6  libcody/server.cc
! ed74b91385aa14bf79726278d77b1a4e  libcpp/ChangeLog
  2bd831b17997584e38305782cebe6948  libcpp/ChangeLog.jit
  4f1e80b433907c013fc6e4eaf2b0e8aa  libcpp/Makefile.in
  b07c7863f0e7ad4e6a0915d66fc9e582  libcpp/aclocal.m4
--- 130875,130881 ----
  6419dfc879387358e95288142e569914  libcody/packet.cc
  688ece05c8b9d378b3df186808162e76  libcody/resolver.cc
  c94add0032978604acf65591bb86d2d6  libcody/server.cc
! d5ff9f3fdbcfece840d0943d41acca71  libcpp/ChangeLog
  2bd831b17997584e38305782cebe6948  libcpp/ChangeLog.jit
  4f1e80b433907c013fc6e4eaf2b0e8aa  libcpp/Makefile.in
  b07c7863f0e7ad4e6a0915d66fc9e582  libcpp/aclocal.m4
*************** ce84d633b2df3cc02e63c283e8c7cbd8  libcpp
*** 130798,130804 ****
  154834f1a6c5c86f0234b15fb1935611  libcpp/directives.cc
  e6648c5f8f4e111883be81dc9e8dd630  libcpp/errors.cc
  37523565269ad97ff6a5145be04df661  libcpp/expr.cc
! d40004862334aa2379d398f2a887e3ca  libcpp/files.cc
  d7530c9a36bef9a00a690083401e3c83  libcpp/generated_cpp_wcwidth.h
  bf0c57c21ee2aeaa654ee6781e41cad5  libcpp/identifiers.cc
  a72f35908cfbf53a2b400c41cc011477  libcpp/include/cpplib.h
--- 130887,130893 ----
  154834f1a6c5c86f0234b15fb1935611  libcpp/directives.cc
  e6648c5f8f4e111883be81dc9e8dd630  libcpp/errors.cc
  37523565269ad97ff6a5145be04df661  libcpp/expr.cc
! 68b59487adfb7aaadd47d0fe0808c171  libcpp/files.cc
  d7530c9a36bef9a00a690083401e3c83  libcpp/generated_cpp_wcwidth.h
  bf0c57c21ee2aeaa654ee6781e41cad5  libcpp/identifiers.cc
  a72f35908cfbf53a2b400c41cc011477  libcpp/include/cpplib.h
*************** eec01dea6d3427e2180f77d3002420b8  libcpp
*** 130815,130821 ****
  8fdce4dfce3a69798f4bcfddbc367465  libcpp/macro.cc
  d26583cbbddfb0c82d15d845129a84da  libcpp/makeucnid.cc
  513bef3dd142eee93a5ab0328c142287  libcpp/makeuname2c.cc
! 6544ec5e82ba4b4cf48c5cde6ecbd7e0  libcpp/mkdeps.cc
  a7f5b54d144fd860606986c00f6a78e9  libcpp/pch.cc
  4e2ca8cdca88ca04e838ff0cdbe3b523  libcpp/po/ChangeLog
  dad91056edfeea82b8282e6f9a27188e  libcpp/po/be.po
--- 130904,130910 ----
  8fdce4dfce3a69798f4bcfddbc367465  libcpp/macro.cc
  d26583cbbddfb0c82d15d845129a84da  libcpp/makeucnid.cc
  513bef3dd142eee93a5ab0328c142287  libcpp/makeuname2c.cc
! 41062cc2160022988a21f2594a674c19  libcpp/mkdeps.cc
  a7f5b54d144fd860606986c00f6a78e9  libcpp/pch.cc
  4e2ca8cdca88ca04e838ff0cdbe3b523  libcpp/po/ChangeLog
  dad91056edfeea82b8282e6f9a27188e  libcpp/po/be.po
*************** a3eb5dee2788fe0a6c42502ba658eddd  libffi
*** 131310,131316 ****
  0f3c94e520870e194cf525de7ec404dc  libffi/testsuite/libffi.go/ffitest.h
  6cfb66c1c00023abb2c2276d85f16e77  libffi/testsuite/libffi.go/go.exp
  189dc193fd0e627a2d55b2e84871edc5  libffi/testsuite/libffi.go/static-chain.h
! 9d62b12afc44ebac1bf8039caa8b0886  libga68/ChangeLog
  f95782f9b32b17d5d143a7e81c335a2f  libga68/Makefile.am
  686146919638ff3e31ef494a28f75855  libga68/Makefile.in
  e582170826a5049ebe5f76ccb66fe5f2  libga68/README
--- 131399,131405 ----
  0f3c94e520870e194cf525de7ec404dc  libffi/testsuite/libffi.go/ffitest.h
  6cfb66c1c00023abb2c2276d85f16e77  libffi/testsuite/libffi.go/go.exp
  189dc193fd0e627a2d55b2e84871edc5  libffi/testsuite/libffi.go/static-chain.h
! 60a80554da6b637bb90a55853e14b448  libga68/ChangeLog
  f95782f9b32b17d5d143a7e81c335a2f  libga68/Makefile.am
  686146919638ff3e31ef494a28f75855  libga68/Makefile.in
  e582170826a5049ebe5f76ccb66fe5f2  libga68/README
*************** ab4bfff29b367495b338f951fb77ffd9  libga6
*** 131325,131344 ****
  12f59efc2c02c8e22bec45f9a718e690  libga68/ga68-standenv.c
  7aca1e001fafa5f4c00e9f7b50aca002  libga68/ga68-unistr.c
  e0b2ba9a0bf41fccbcbd614e5674ef00  libga68/ga68.h
! ef155d31968dfc48b5571fa874488c26  libga68/ga68.map
  93e37daf5a03d1329323ba4894247de0  libga68/libga68.c
  5a99bd84e0794e311b25ab281d6c294a  libga68/libga68.spec.in
  6594537b1b235e3988700b7509cf7a42  libga68/libtool-version
  fc49680d0c6e77e437523ea496a6b8c4  libga68/m4/autoconf.m4
  095aff369c31681c96b933fbedd8e05f  libga68/posix.a68
  b0d017b83148520411f1c1ebdbf28b58  libga68/sppp.awk
! cd3da7bd958f98b310cbf50e009841c2  libga68/standard.a68.in
! de99c180067cb1260ee864c07de61d1a  libgcc/ChangeLog
  9ce0b8c50fec68eb0555ae800e4e457e  libgcc/Makefile.in
  2b9348444d9de49bc1530dca76b52015  libgcc/config.host
  46412830a2ee8a02503ccc921912c3cf  libgcc/config.in
  453dd2d1f5f7e9b0683ae1c960ef7eac  libgcc/config/aarch64/__aarch64_have_sme.c
! eb163fd195dca13a6d0d216955877234  libgcc/config/aarch64/__arm_get_current_vg.S
  7d502e88b830e778ab635542c94987fc  libgcc/config/aarch64/__arm_sme_state.S
  3d191b7f750c01d46058e6ae0cf0319f  libgcc/config/aarch64/__arm_tpidr2_restore.S
  b558b0fe1c1f3450c92a793927788906  libgcc/config/aarch64/__arm_tpidr2_save.S
--- 131414,131433 ----
  12f59efc2c02c8e22bec45f9a718e690  libga68/ga68-standenv.c
  7aca1e001fafa5f4c00e9f7b50aca002  libga68/ga68-unistr.c
  e0b2ba9a0bf41fccbcbd614e5674ef00  libga68/ga68.h
! 1e4f8c0bbb032cb590ceb9097061e959  libga68/ga68.map
  93e37daf5a03d1329323ba4894247de0  libga68/libga68.c
  5a99bd84e0794e311b25ab281d6c294a  libga68/libga68.spec.in
  6594537b1b235e3988700b7509cf7a42  libga68/libtool-version
  fc49680d0c6e77e437523ea496a6b8c4  libga68/m4/autoconf.m4
  095aff369c31681c96b933fbedd8e05f  libga68/posix.a68
  b0d017b83148520411f1c1ebdbf28b58  libga68/sppp.awk
! 4ad0dcaa2eb0b81efb58d47400b0933d  libga68/standard.a68.in
! 782897bfa81179c728eeff2aabc5fba4  libgcc/ChangeLog
  9ce0b8c50fec68eb0555ae800e4e457e  libgcc/Makefile.in
  2b9348444d9de49bc1530dca76b52015  libgcc/config.host
  46412830a2ee8a02503ccc921912c3cf  libgcc/config.in
  453dd2d1f5f7e9b0683ae1c960ef7eac  libgcc/config/aarch64/__aarch64_have_sme.c
! aee2000eefb98b188a6cd051fd4e1e72  libgcc/config/aarch64/__arm_get_current_vg.S
  7d502e88b830e778ab635542c94987fc  libgcc/config/aarch64/__arm_sme_state.S
  3d191b7f750c01d46058e6ae0cf0319f  libgcc/config/aarch64/__arm_tpidr2_restore.S
  b558b0fe1c1f3450c92a793927788906  libgcc/config/aarch64/__arm_tpidr2_save.S
*************** e5799142a016db71bbb9922e831ebc87  libgcc
*** 131446,131452 ****
  0d08a844e171001e58e9c22f1646b1a3  libgcc/config/arm/ieee754-df.S
  bbd1c56e7029818aaff9ae84f03d7041  libgcc/config/arm/ieee754-sf.S
  177413e16f12364bdcebfbb95023e6c5  libgcc/config/arm/lib1funcs.S
! a9802f661f8a05c637e955d0b5a5f395  libgcc/config/arm/libgcc-bpabi.ver
  06353acf2e31b13573c0e3e7e33e4b1e  libgcc/config/arm/libunwind.S
  34fe728d813280295b98732b81654866  libgcc/config/arm/linux-atomic-64bit.c
  a6083ea57a5ef546c5862c6c68a34e63  libgcc/config/arm/linux-atomic.c
--- 131535,131541 ----
  0d08a844e171001e58e9c22f1646b1a3  libgcc/config/arm/ieee754-df.S
  bbd1c56e7029818aaff9ae84f03d7041  libgcc/config/arm/ieee754-sf.S
  177413e16f12364bdcebfbb95023e6c5  libgcc/config/arm/lib1funcs.S
! d2fa85f1bc22d14c552031462b3944ce  libgcc/config/arm/libgcc-bpabi.ver
  06353acf2e31b13573c0e3e7e33e4b1e  libgcc/config/arm/libunwind.S
  34fe728d813280295b98732b81654866  libgcc/config/arm/linux-atomic-64bit.c
  a6083ea57a5ef546c5862c6c68a34e63  libgcc/config/arm/linux-atomic.c
*************** a86e3a4a0c8c3ead836f792603deed27  libgcc
*** 131464,131470 ****
  230e26f668e653d453f543f99cdbc374  libgcc/config/arm/t-linux-eabi
  2d31b2c95f5ce86c37c530027f6758ce  libgcc/config/arm/t-netbsd
  eb10bf2005ab426384c1efc127175521  libgcc/config/arm/t-netbsd-eabi
! dd1ccf1641e646fd2c36d154c45a78f3  libgcc/config/arm/t-softfp
  85c2b00db81a0aa187f2e2dfe5ace0b1  libgcc/config/arm/t-strongarm-elf
  fc87e45e073829d21e9427a38f435e3b  libgcc/config/arm/t-symbian
  943ce28c6268a08fe0811ea29b87d108  libgcc/config/arm/t-sync
--- 131553,131559 ----
  230e26f668e653d453f543f99cdbc374  libgcc/config/arm/t-linux-eabi
  2d31b2c95f5ce86c37c530027f6758ce  libgcc/config/arm/t-netbsd
  eb10bf2005ab426384c1efc127175521  libgcc/config/arm/t-netbsd-eabi
! 294383a4685d68c773d69b4f3d8b9ba6  libgcc/config/arm/t-softfp
  85c2b00db81a0aa187f2e2dfe5ace0b1  libgcc/config/arm/t-strongarm-elf
  fc87e45e073829d21e9427a38f435e3b  libgcc/config/arm/t-symbian
  943ce28c6268a08fe0811ea29b87d108  libgcc/config/arm/t-sync
*************** b542071feaa6f1914ec810a91b9f0e4c  libgcc
*** 132387,132393 ****
  196894f3e59520659e3b0ba14bb0a903  libgcc/config/riscv/crtn.S
  3e8b5b53e342b916e5c14f9af338c109  libgcc/config/riscv/div.S
  67914451f9c65710da65b5591b7258f9  libgcc/config/riscv/feature_bits.c
! 570db79df21c684f38dd05efb7ea6b97  libgcc/config/riscv/libgcc-riscv.ver
  ee6e30cc4a2ad7734a1c0eacad56a515  libgcc/config/riscv/linux-unwind.h
  fc4c3defc96f140cf5aa4a7b4a7dfc66  libgcc/config/riscv/muldi3.S
  6a68829fa4d831c59952a264493ef982  libgcc/config/riscv/multi3.c
--- 132476,132482 ----
  196894f3e59520659e3b0ba14bb0a903  libgcc/config/riscv/crtn.S
  3e8b5b53e342b916e5c14f9af338c109  libgcc/config/riscv/div.S
  67914451f9c65710da65b5591b7258f9  libgcc/config/riscv/feature_bits.c
! 3c665a373e2a4309fc79a25e5b436964  libgcc/config/riscv/libgcc-riscv.ver
  ee6e30cc4a2ad7734a1c0eacad56a515  libgcc/config/riscv/linux-unwind.h
  fc4c3defc96f140cf5aa4a7b4a7dfc66  libgcc/config/riscv/muldi3.S
  6a68829fa4d831c59952a264493ef982  libgcc/config/riscv/multi3.c
*************** a9287ad6b7fdfb20ff33210a47225c5c  libgcc
*** 132524,132535 ****
  5defb1b495fb879f9cf2caa04dd984c4  libgcc/config/s390/32/_fixunssfdi.c
  fd70b3c9f0caf175f5e2f1321b478aa3  libgcc/config/s390/32/_fixunstfdi.c
  6101649604e2b3fdd6179e1aa53066bf  libgcc/config/s390/32/t-floattodi
! e1d3cb16282b28a178fdfb43a97bfe3d  libgcc/config/s390/_dpd_dd_to_hf.c
! 65dfd59c3258ddef25ab22279b349b54  libgcc/config/s390/_dpd_hf_to_dd.c
! 695b6a6e62561f3cb51bf3bc8336e542  libgcc/config/s390/_dpd_hf_to_sd.c
! 316d51be2124a2a1295b241c77379214  libgcc/config/s390/_dpd_hf_to_td.c
! ca63f0227434b76c0eaa3dc4d91c93f6  libgcc/config/s390/_dpd_sd_to_hf.c
! 00a07a8b4cf9c321bd929262c275397a  libgcc/config/s390/_dpd_td_to_hf.c
  35e2a29d0b5449790b3d6bf986a3219b  libgcc/config/s390/gthr-tpf.h
  fb117289ee8148eccf8fca824a5afebd  libgcc/config/s390/libgcc-glibc.ver
  b9d76026e9b4a32ec5abeea952e67920  libgcc/config/s390/linux-unwind.h
--- 132613,132624 ----
  5defb1b495fb879f9cf2caa04dd984c4  libgcc/config/s390/32/_fixunssfdi.c
  fd70b3c9f0caf175f5e2f1321b478aa3  libgcc/config/s390/32/_fixunstfdi.c
  6101649604e2b3fdd6179e1aa53066bf  libgcc/config/s390/32/t-floattodi
! 8ab7e1ebe8eecf3039ed500965fbc901  libgcc/config/s390/_dpd_dd_to_hf.c
! 059ae505b5f6fe229f83bcd90ad6cb6e  libgcc/config/s390/_dpd_hf_to_dd.c
! 36dae53ac8e8b37ee6b5dea385d4a4e6  libgcc/config/s390/_dpd_hf_to_sd.c
! f2f887c98a90e240096bd5c7d9073820  libgcc/config/s390/_dpd_hf_to_td.c
! 73fe14c571f67378a5a7f1a6fd7e68bc  libgcc/config/s390/_dpd_sd_to_hf.c
! ff1ad91822a4ed7441b0ae894f5f6cf4  libgcc/config/s390/_dpd_td_to_hf.c
  35e2a29d0b5449790b3d6bf986a3219b  libgcc/config/s390/gthr-tpf.h
  fb117289ee8148eccf8fca824a5afebd  libgcc/config/s390/libgcc-glibc.ver
  b9d76026e9b4a32ec5abeea952e67920  libgcc/config/s390/linux-unwind.h
*************** e8371bc82ca9a6639545706b463f0fcf  libgfo
*** 133017,133047 ****
  c5e012ba3cb276dcf788c967b987a900  libgfortran/acinclude.m4
  0cd952008678ed894c7ee40d58f1e6d4  libgfortran/aclocal.m4
  6d4f5918ea5082a0bc3b9bbe3455b876  libgfortran/c99_protos.h
! e8e6cf5753ac243513b6f3fc70da9cb3  libgfortran/caf/caf_error.c
! b0ed6b27be7e83091c9d5373fe95f411  libgfortran/caf/caf_error.h
  6fff77d7036cbcb654bf998e6f610948  libgfortran/caf/libcaf.h
  a65e659c6604a4a7282acf69f4785519  libgfortran/caf/mpi.c
! 1adfe068d8875439c3bf36eaf96b3b81  libgfortran/caf/shmem.c
! 15dd1dd4ab088e78d44195cd2fac3c81  libgfortran/caf/shmem/alloc.c
! eae2125ae0daf2937d2a64a1a916c3f9  libgfortran/caf/shmem/alloc.h
! 5a8802bfe58af12f7ca0bd87b99bca32  libgfortran/caf/shmem/allocator.c
! 558d69137dd7ce2f019e5239073af2f7  libgfortran/caf/shmem/allocator.h
! 54899f37473b1d2d03ac0f6250e8e875  libgfortran/caf/shmem/collective_subroutine.c
! ebf5c1c3a8e1e5c5750ec00d6a3db5f2  libgfortran/caf/shmem/collective_subroutine.h
! 2f16b640cd7b55ea7637005a60509949  libgfortran/caf/shmem/counter_barrier.c
! 1af560fedc23042851aecb06f4b853b8  libgfortran/caf/shmem/counter_barrier.h
! 837c711c57953134789345afcb9434d2  libgfortran/caf/shmem/hashmap.c
! e7927e8ac37aadde10166d102f91e8c7  libgfortran/caf/shmem/hashmap.h
! 5b82673a763b4e2c7db4011cc0dbffbe  libgfortran/caf/shmem/shared_memory.c
! 32a2b4ba6f617c2bfb0f03bd996afc8c  libgfortran/caf/shmem/shared_memory.h
! 3552294349776026bacfc07236aff05b  libgfortran/caf/shmem/supervisor.c
! 7aca4f000daf6108f7739c66259f8fd4  libgfortran/caf/shmem/supervisor.h
! 42306556bde23093798070a6878ae066  libgfortran/caf/shmem/sync.c
! 998172b736d35eaa5b2f431248ffc781  libgfortran/caf/shmem/sync.h
! 2970d4dbc32ce39cc2ecccd93035b7cb  libgfortran/caf/shmem/teams_mgmt.c
! 8f91a3556b7b5cb8a302fb12a583b7c4  libgfortran/caf/shmem/teams_mgmt.h
! b2b65ee692b191d3ef51734a1316c6ab  libgfortran/caf/shmem/thread_support.c
! 80fb39bb4d1dde28283539a76db11ec0  libgfortran/caf/shmem/thread_support.h
  1e516cc9226f1e63c9fb8039a798a31e  libgfortran/caf/single.c
  7a6ec8aeacc22a6626157daea7f1fbfd  libgfortran/config.h.in
  c3cb798c6d9f19a5c854b16c133da31d  libgfortran/config/fpu-387.h
--- 133106,133136 ----
  c5e012ba3cb276dcf788c967b987a900  libgfortran/acinclude.m4
  0cd952008678ed894c7ee40d58f1e6d4  libgfortran/aclocal.m4
  6d4f5918ea5082a0bc3b9bbe3455b876  libgfortran/c99_protos.h
! f19a2f7e21d9c27c667b2b50004edf9b  libgfortran/caf/caf_error.c
! e184137391bc3069808e32155144d2ae  libgfortran/caf/caf_error.h
  6fff77d7036cbcb654bf998e6f610948  libgfortran/caf/libcaf.h
  a65e659c6604a4a7282acf69f4785519  libgfortran/caf/mpi.c
! 41b04fd6a6bdb7610c165dae58ab8276  libgfortran/caf/shmem.c
! 8996a74bd946e72fa4a2088b1431661b  libgfortran/caf/shmem/alloc.c
! 6f37f0a018efce4051dc559dee63e2db  libgfortran/caf/shmem/alloc.h
! 3a3e2211031c2d5d1fa19a718153e14d  libgfortran/caf/shmem/allocator.c
! 03432639a5e3f3cfc13e0b4b3b16062f  libgfortran/caf/shmem/allocator.h
! 3437aaede8b931b11b7b9ac7116b77ba  libgfortran/caf/shmem/collective_subroutine.c
! 817c2c1b3887972b7255f0ed6e0d97e8  libgfortran/caf/shmem/collective_subroutine.h
! c76fc917a72eed37e3dd2fbc54ccd383  libgfortran/caf/shmem/counter_barrier.c
! feff24e5582b1f94959aafc712f637d4  libgfortran/caf/shmem/counter_barrier.h
! ac03c96ad4b3cbfce74b31610170e681  libgfortran/caf/shmem/hashmap.c
! 70d12fdb2bcca3123d701486eff4406d  libgfortran/caf/shmem/hashmap.h
! 46fc71594dc8953cc2fd6851a062ad2a  libgfortran/caf/shmem/shared_memory.c
! 80716674e0dee09007ec088dc9b8bc75  libgfortran/caf/shmem/shared_memory.h
! e9be1397d0da3e3f08e6d83986128990  libgfortran/caf/shmem/supervisor.c
! db01f2637ed2e41d8d6ed00948dec908  libgfortran/caf/shmem/supervisor.h
! c39aaa0900c27c5e6d92245f822c0dbb  libgfortran/caf/shmem/sync.c
! 52739b468071f1350f84cce9ba280624  libgfortran/caf/shmem/sync.h
! 5bc507eff4211dcfd30e8c5b39b9bb89  libgfortran/caf/shmem/teams_mgmt.c
! 16d5016bdd691a4b23799faf247786e1  libgfortran/caf/shmem/teams_mgmt.h
! eda47643efe7014bcad84596ff05688c  libgfortran/caf/shmem/thread_support.c
! afca2bdd1b8b95cb70ca56c5cb073edb  libgfortran/caf/shmem/thread_support.h
  1e516cc9226f1e63c9fb8039a798a31e  libgfortran/caf/single.c
  7a6ec8aeacc22a6626157daea7f1fbfd  libgfortran/config.h.in
  c3cb798c6d9f19a5c854b16c133da31d  libgfortran/config/fpu-387.h
*************** db97a70a62d75baf7c6133362b383ccb  libobj
*** 143529,143535 ****
  d1e7c7c92a4c08557a1274ac25bac6e2  libobjc/selector.c
  029b66bb69dc70e347fe3849fc60cfd3  libobjc/sendmsg.c
  e968027639cc91f736aa2aeaee56682c  libobjc/thr.c
! 73cb9be003d37a228ee7af73ce3123c0  libphobos/ChangeLog
  958562279744f77373a0c5c9dc43b414  libphobos/Makefile.am
  a4ee57d4fc32508060fff33b4fc4f976  libphobos/Makefile.in
  ee88c20a7744a2305503e1670f3b7889  libphobos/README.gcc
--- 143618,143624 ----
  d1e7c7c92a4c08557a1274ac25bac6e2  libobjc/selector.c
  029b66bb69dc70e347fe3849fc60cfd3  libobjc/sendmsg.c
  e968027639cc91f736aa2aeaee56682c  libobjc/thr.c
! 2f9d0a00e52bdafce0c1427aab0569fb  libphobos/ChangeLog
  958562279744f77373a0c5c9dc43b414  libphobos/Makefile.am
  a4ee57d4fc32508060fff33b4fc4f976  libphobos/Makefile.in
  ee88c20a7744a2305503e1670f3b7889  libphobos/README.gcc
*************** a3782d3b8580d60ebaf89a70af7f468e  libpho
*** 144266,144272 ****
  d8f795902be376414e804c2210e0022a  libphobos/src/std/math/algebraic.d
  3cee3970cfe6bcde0d4b6c640b9aae04  libphobos/src/std/math/constants.d
  fdcb7091f61f288ffb5fddf180890949  libphobos/src/std/math/exponential.d
! e0c33ea9d408897be690f484f22beb74  libphobos/src/std/math/hardware.d
  2fc8b0285eab81bd86ec173718b442d0  libphobos/src/std/math/operations.d
  ffd91c7d720a05cc92297bfa00f7150d  libphobos/src/std/math/package.d
  88694133c2ab2068b6250dbc41d3cb48  libphobos/src/std/math/remainder.d
--- 144355,144361 ----
  d8f795902be376414e804c2210e0022a  libphobos/src/std/math/algebraic.d
  3cee3970cfe6bcde0d4b6c640b9aae04  libphobos/src/std/math/constants.d
  fdcb7091f61f288ffb5fddf180890949  libphobos/src/std/math/exponential.d
! a690b96d3dbba40fbd2f9c30258782ec  libphobos/src/std/math/hardware.d
  2fc8b0285eab81bd86ec173718b442d0  libphobos/src/std/math/operations.d
  ffd91c7d720a05cc92297bfa00f7150d  libphobos/src/std/math/package.d
  88694133c2ab2068b6250dbc41d3cb48  libphobos/src/std/math/remainder.d
*************** a73d560a3ba317c5ad0a7919d87b4b6d  libssp
*** 145197,145203 ****
  7d75fa0d30318408fe4cd91d9cbe3ac7  libssp/vsnprintf-chk.c
  e9ff0f4bdd1be75a507480ed1267459d  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 61f45687c3a5c9457d94d6916bdd8bdb  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 145286,145292 ----
  7d75fa0d30318408fe4cd91d9cbe3ac7  libssp/vsnprintf-chk.c
  e9ff0f4bdd1be75a507480ed1267459d  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 06f2f145187b4821fb253573f0a5a3ac  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** bb9a7ef31b4a9de3a402d0493d5862e9  libstd
*** 145873,145888 ****
  2f4121a38a68c1efce93c7dafa3b408a  libstdc++-v3/include/backward/strstream
  a7d1ee943a62851fe350ec2bafff68be  libstdc++-v3/include/bits/algorithmfwd.h
  bceed1a9b573696caadf95cf3ea8f02f  libstdc++-v3/include/bits/align.h
! dec832c4e096f15d10aafd4c825cc195  libstdc++-v3/include/bits/alloc_traits.h
  54d70975b96f74e9dab06dcfdeb88658  libstdc++-v3/include/bits/allocated_ptr.h
! 0165e84a80837de3ebdfeed0fa40ec8d  libstdc++-v3/include/bits/allocator.h
  cb3c342a58004596ce172b04ab44dc6d  libstdc++-v3/include/bits/atomic_base.h
  504ddf67fe31254fb67815770ee690ba  libstdc++-v3/include/bits/atomic_futex.h
  e901edfc8eef441d1adabd54be25b807  libstdc++-v3/include/bits/atomic_timed_wait.h
! f9d5ca9bad80a3b4725fbabfd0ff8318  libstdc++-v3/include/bits/atomic_wait.h
  65e262c95ca2a5021497a947a07b5d48  libstdc++-v3/include/bits/basic_ios.h
  e0d25c8ddeac5ee95a7b60861849f304  libstdc++-v3/include/bits/basic_ios.tcc
! 5aac3da5c30fd8bb58631508bd807a31  libstdc++-v3/include/bits/basic_string.h
  a178c445d0514403e5823ef8dbf9bef6  libstdc++-v3/include/bits/basic_string.tcc
  6577c59d5422a21dd9f45310f1a10b22  libstdc++-v3/include/bits/binders.h
  3bc144622d471efab1aef4ec705459d0  libstdc++-v3/include/bits/boost_concept_check.h
--- 145962,145977 ----
  2f4121a38a68c1efce93c7dafa3b408a  libstdc++-v3/include/backward/strstream
  a7d1ee943a62851fe350ec2bafff68be  libstdc++-v3/include/bits/algorithmfwd.h
  bceed1a9b573696caadf95cf3ea8f02f  libstdc++-v3/include/bits/align.h
! d76f8bdd16cfed23aa86ee76f79e7054  libstdc++-v3/include/bits/alloc_traits.h
  54d70975b96f74e9dab06dcfdeb88658  libstdc++-v3/include/bits/allocated_ptr.h
! 83be357751d0469bd9f29fc4a88961b1  libstdc++-v3/include/bits/allocator.h
  cb3c342a58004596ce172b04ab44dc6d  libstdc++-v3/include/bits/atomic_base.h
  504ddf67fe31254fb67815770ee690ba  libstdc++-v3/include/bits/atomic_futex.h
  e901edfc8eef441d1adabd54be25b807  libstdc++-v3/include/bits/atomic_timed_wait.h
! f41638ae591b6186af73109188707d22  libstdc++-v3/include/bits/atomic_wait.h
  65e262c95ca2a5021497a947a07b5d48  libstdc++-v3/include/bits/basic_ios.h
  e0d25c8ddeac5ee95a7b60861849f304  libstdc++-v3/include/bits/basic_ios.tcc
! 1d4e0f2cb0d287ab932cbacfdfd2356c  libstdc++-v3/include/bits/basic_string.h
  a178c445d0514403e5823ef8dbf9bef6  libstdc++-v3/include/bits/basic_string.tcc
  6577c59d5422a21dd9f45310f1a10b22  libstdc++-v3/include/bits/binders.h
  3bc144622d471efab1aef4ec705459d0  libstdc++-v3/include/bits/boost_concept_check.h
*************** ba88833f52a0518e73f3f865cd474fcd  libstd
*** 145936,145942 ****
  7d421045a2c29aed04d8138049f30a0f  libstdc++-v3/include/bits/mask_array.h
  3acac12c52dd020e88e494e9005a4e9f  libstdc++-v3/include/bits/max_size_type.h
  132af6fa95001b1f22942660000c3734  libstdc++-v3/include/bits/memory_resource.h
! 12d2d4ddc5c46d80662e0e8d9d9f3d1f  libstdc++-v3/include/bits/memoryfwd.h
  3cdf6345e89c49a55bd7c9be035d3729  libstdc++-v3/include/bits/mofunc_impl.h
  4169d644c2ef24f0668b2a257a0a5e54  libstdc++-v3/include/bits/monostate.h
  d6ef81b077325dc3d96b5c3b851f7c9a  libstdc++-v3/include/bits/move.h
--- 146025,146031 ----
  7d421045a2c29aed04d8138049f30a0f  libstdc++-v3/include/bits/mask_array.h
  3acac12c52dd020e88e494e9005a4e9f  libstdc++-v3/include/bits/max_size_type.h
  132af6fa95001b1f22942660000c3734  libstdc++-v3/include/bits/memory_resource.h
! d8251691b710967c63f24ecf3e8cad75  libstdc++-v3/include/bits/memoryfwd.h
  3cdf6345e89c49a55bd7c9be035d3729  libstdc++-v3/include/bits/mofunc_impl.h
  4169d644c2ef24f0668b2a257a0a5e54  libstdc++-v3/include/bits/monostate.h
  d6ef81b077325dc3d96b5c3b851f7c9a  libstdc++-v3/include/bits/move.h
*************** e9057d3a64660954bf7134e2fb721b51  libstd
*** 145956,145962 ****
  b745abd5614b31045999aba98b3d30c4  libstdc++-v3/include/bits/random.h
  31a18e44e4d45cb7f7b8463eed742716  libstdc++-v3/include/bits/random.tcc
  3a5b2c90b69b348c27562cf65e40b23f  libstdc++-v3/include/bits/range_access.h
! 3d90dd0f83ddfc9b34bf35f033370e7d  libstdc++-v3/include/bits/ranges_algo.h
  2376637350495a1dbd9c27901ed68027  libstdc++-v3/include/bits/ranges_algobase.h
  da131298f4587856e6f487548bdaee1d  libstdc++-v3/include/bits/ranges_base.h
  c04d8e83343df391a348af7cf384e792  libstdc++-v3/include/bits/ranges_cmp.h
--- 146045,146051 ----
  b745abd5614b31045999aba98b3d30c4  libstdc++-v3/include/bits/random.h
  31a18e44e4d45cb7f7b8463eed742716  libstdc++-v3/include/bits/random.tcc
  3a5b2c90b69b348c27562cf65e40b23f  libstdc++-v3/include/bits/range_access.h
! 0b2a4a5a8552148817067fd04c0dc935  libstdc++-v3/include/bits/ranges_algo.h
  2376637350495a1dbd9c27901ed68027  libstdc++-v3/include/bits/ranges_algobase.h
  da131298f4587856e6f487548bdaee1d  libstdc++-v3/include/bits/ranges_base.h
  c04d8e83343df391a348af7cf384e792  libstdc++-v3/include/bits/ranges_cmp.h
*************** d1cf5a35c4ad3820cb023d8f84762cc7  libstd
*** 146039,146046 ****
  ddd4bdc2fa29f8f2aa3386cead9ebcb2  libstdc++-v3/include/bits/valarray_array.tcc
  16c6db3f5b1e7b3e37c3febbf4dc4e8c  libstdc++-v3/include/bits/valarray_before.h
  5a7dd3eca21d4650e654ea51da466c59  libstdc++-v3/include/bits/vector.tcc
! 0f12b79a764775b656641d02a690ac9d  libstdc++-v3/include/bits/version.def
! 1ad240d3ca20aa82510bfd4ec723ac4b  libstdc++-v3/include/bits/version.h
  f92789aa59d1ed5207e13c936667059d  libstdc++-v3/include/bits/version.tpl
  d99b1b69e5f87e5a631c8a881d053766  libstdc++-v3/include/c/cassert
  7f5b12607c4d7cbbcf705b672613447b  libstdc++-v3/include/c/cctype
--- 146128,146135 ----
  ddd4bdc2fa29f8f2aa3386cead9ebcb2  libstdc++-v3/include/bits/valarray_array.tcc
  16c6db3f5b1e7b3e37c3febbf4dc4e8c  libstdc++-v3/include/bits/valarray_before.h
  5a7dd3eca21d4650e654ea51da466c59  libstdc++-v3/include/bits/vector.tcc
! 563bc86a5af5543766432f2646fc8178  libstdc++-v3/include/bits/version.def
! e8c25bd66f81ab5832e6ca6f99c8bd36  libstdc++-v3/include/bits/version.h
  f92789aa59d1ed5207e13c936667059d  libstdc++-v3/include/bits/version.tpl
  d99b1b69e5f87e5a631c8a881d053766  libstdc++-v3/include/c/cassert
  7f5b12607c4d7cbbcf705b672613447b  libstdc++-v3/include/c/cctype
*************** c623155558d82a21f1f31630a36eca85  libstd
*** 146156,146170 ****
  732aac16ab9dafe9252686005236d0fd  libstdc++-v3/include/debug/safe_iterator.tcc
  3f09c53b38ff607ff8a2eff86c38b166  libstdc++-v3/include/debug/safe_local_iterator.h
  86b787ce43f8d75f10315d2c404c22e4  libstdc++-v3/include/debug/safe_local_iterator.tcc
! 392e27915296eb29f6bdecbb19f55342  libstdc++-v3/include/debug/safe_sequence.h
! 8d1537993d217646970f1b966af4b73f  libstdc++-v3/include/debug/safe_sequence.tcc
  d50a83aff93b89a5438f2854774f452b  libstdc++-v3/include/debug/safe_unordered_base.h
  f91ad76fdf9c8fa108df1249c27a6a62  libstdc++-v3/include/debug/safe_unordered_container.h
  6d9dc6ce3be6995e0a3de56df57d843f  libstdc++-v3/include/debug/safe_unordered_container.tcc
  995ba6e76562637a31c8fa671052d734  libstdc++-v3/include/debug/set
  b922ccf9b7c37515224ce52d1fb1d177  libstdc++-v3/include/debug/set.h
  96d411ed834e01fdb383e36bfc0cec51  libstdc++-v3/include/debug/stl_iterator.h
! 0cd39d2918072d9eaee76a5aeaa86d29  libstdc++-v3/include/debug/string
  b493a4998a52a7ca9c12ee6a68a93611  libstdc++-v3/include/debug/unordered_map
  4774bf209805ae454bdffc2ab5328851  libstdc++-v3/include/debug/unordered_set
  6623cb54a3a91bb96aee3df30de2b717  libstdc++-v3/include/debug/vector
--- 146245,146259 ----
  732aac16ab9dafe9252686005236d0fd  libstdc++-v3/include/debug/safe_iterator.tcc
  3f09c53b38ff607ff8a2eff86c38b166  libstdc++-v3/include/debug/safe_local_iterator.h
  86b787ce43f8d75f10315d2c404c22e4  libstdc++-v3/include/debug/safe_local_iterator.tcc
! e4403adce6d232421e34c8fe3059f294  libstdc++-v3/include/debug/safe_sequence.h
! 7dc511835c46701a6f5add97bf87657d  libstdc++-v3/include/debug/safe_sequence.tcc
  d50a83aff93b89a5438f2854774f452b  libstdc++-v3/include/debug/safe_unordered_base.h
  f91ad76fdf9c8fa108df1249c27a6a62  libstdc++-v3/include/debug/safe_unordered_container.h
  6d9dc6ce3be6995e0a3de56df57d843f  libstdc++-v3/include/debug/safe_unordered_container.tcc
  995ba6e76562637a31c8fa671052d734  libstdc++-v3/include/debug/set
  b922ccf9b7c37515224ce52d1fb1d177  libstdc++-v3/include/debug/set.h
  96d411ed834e01fdb383e36bfc0cec51  libstdc++-v3/include/debug/stl_iterator.h
! d9cb6ff2b57e6cc2ac9c8f14382b7007  libstdc++-v3/include/debug/string
  b493a4998a52a7ca9c12ee6a68a93611  libstdc++-v3/include/debug/unordered_map
  4774bf209805ae454bdffc2ab5328851  libstdc++-v3/include/debug/unordered_set
  6623cb54a3a91bb96aee3df30de2b717  libstdc++-v3/include/debug/vector
*************** f1c08a4c9a736109edfd3c39c60c1669  libstd
*** 146594,146600 ****
  085ec2d298f0be079b303330b81b05d1  libstdc++-v3/include/std/bit
  2f7194edee13481e4e56129caf4cc769  libstdc++-v3/include/std/bitset
  221c225c0ffb7ac1a214c4da510bfdcc  libstdc++-v3/include/std/charconv
! f626b898ff7fcaf45e839e0aaaf8b995  libstdc++-v3/include/std/chrono
  6250fdc57cc9fcf4c5cc699808a8871f  libstdc++-v3/include/std/codecvt
  841a79fbef033cbe8ca8c554dc66d5b9  libstdc++-v3/include/std/complex
  d2be6ad28181eee2feab5cac0a1cf141  libstdc++-v3/include/std/concepts
--- 146683,146689 ----
  085ec2d298f0be079b303330b81b05d1  libstdc++-v3/include/std/bit
  2f7194edee13481e4e56129caf4cc769  libstdc++-v3/include/std/bitset
  221c225c0ffb7ac1a214c4da510bfdcc  libstdc++-v3/include/std/charconv
! 628d0c85cbd1da341eb2fa74ae7ba30c  libstdc++-v3/include/std/chrono
  6250fdc57cc9fcf4c5cc699808a8871f  libstdc++-v3/include/std/codecvt
  841a79fbef033cbe8ca8c554dc66d5b9  libstdc++-v3/include/std/complex
  d2be6ad28181eee2feab5cac0a1cf141  libstdc++-v3/include/std/concepts
*************** a8e79cb6c591611cd6113eed355c3de6  libstd
*** 146608,146614 ****
  d1dc8325fc8c069a07bab71a935bced3  libstdc++-v3/include/std/filesystem
  f004e380db68bad2f1a8548323345a5c  libstdc++-v3/include/std/flat_map
  b384f6e8eb77f0d5747534b3ed9a89cb  libstdc++-v3/include/std/flat_set
! 07d19d4530594fef1e18b35cee16a02f  libstdc++-v3/include/std/format
  7e1c7765d1205d0a0571065e7e1f111d  libstdc++-v3/include/std/forward_list
  c85826e5073be733076e4825a96a991c  libstdc++-v3/include/std/fstream
  1a481560a4cf3d2ef6733f38a1afb84f  libstdc++-v3/include/std/functional
--- 146697,146703 ----
  d1dc8325fc8c069a07bab71a935bced3  libstdc++-v3/include/std/filesystem
  f004e380db68bad2f1a8548323345a5c  libstdc++-v3/include/std/flat_map
  b384f6e8eb77f0d5747534b3ed9a89cb  libstdc++-v3/include/std/flat_set
! b158371b447aece17b20aeb55af5df02  libstdc++-v3/include/std/format
  7e1c7765d1205d0a0571065e7e1f111d  libstdc++-v3/include/std/forward_list
  c85826e5073be733076e4825a96a991c  libstdc++-v3/include/std/fstream
  1a481560a4cf3d2ef6733f38a1afb84f  libstdc++-v3/include/std/functional
*************** be169e901166777d5be3e557682b7af2  libstd
*** 146627,146635 ****
  979d756bd9149a01a697b92c921e75a0  libstdc++-v3/include/std/locale
  b9368104d884bddd988db2b9e69ab485  libstdc++-v3/include/std/map
  d32f4d5de93df38e266253ca53ae1f89  libstdc++-v3/include/std/mdspan
! 78c1d1dab9dcd12a4cb99d5911d27568  libstdc++-v3/include/std/memory
  ea0d67f29f1a73f1ccdade0115646a1c  libstdc++-v3/include/std/memory_resource
! 835ab4aae71198c529ee0ec064e78d8a  libstdc++-v3/include/std/meta
  6042ceb95043702de02a8354f2507317  libstdc++-v3/include/std/mutex
  98a3e25011c5fb2383b3824b1c349d43  libstdc++-v3/include/std/numbers
  6a44514a47e24df75405dc1d397afc69  libstdc++-v3/include/std/numeric
--- 146716,146724 ----
  979d756bd9149a01a697b92c921e75a0  libstdc++-v3/include/std/locale
  b9368104d884bddd988db2b9e69ab485  libstdc++-v3/include/std/map
  d32f4d5de93df38e266253ca53ae1f89  libstdc++-v3/include/std/mdspan
! 5439ce157f7c11ab4eddd8c04799fea4  libstdc++-v3/include/std/memory
  ea0d67f29f1a73f1ccdade0115646a1c  libstdc++-v3/include/std/memory_resource
! e93a63eb4300dec2e3d83195f0160e95  libstdc++-v3/include/std/meta
  6042ceb95043702de02a8354f2507317  libstdc++-v3/include/std/mutex
  98a3e25011c5fb2383b3824b1c349d43  libstdc++-v3/include/std/numbers
  6a44514a47e24df75405dc1d397afc69  libstdc++-v3/include/std/numeric
*************** a53d359dd7618cc0d3f2447f5f60fff3  libstd
*** 146646,146652 ****
  ef61193c582c0e8e18efb7f27f37f833  libstdc++-v3/include/std/set
  d9b30ac9f13a2d342a56ff319aca749e  libstdc++-v3/include/std/shared_mutex
  b3171714703fcfc5d8fe69ffe22d9cc8  libstdc++-v3/include/std/source_location
! b5619289ac9c606b19a5eaf5008fe7df  libstdc++-v3/include/std/span
  efdde6d8d883a91854d4ae616b627e53  libstdc++-v3/include/std/spanstream
  f00ff992c96a4a6422d964aad9315664  libstdc++-v3/include/std/sstream
  f5a5ebc7b6133572f8f361cde93ec52f  libstdc++-v3/include/std/stack
--- 146735,146741 ----
  ef61193c582c0e8e18efb7f27f37f833  libstdc++-v3/include/std/set
  d9b30ac9f13a2d342a56ff319aca749e  libstdc++-v3/include/std/shared_mutex
  b3171714703fcfc5d8fe69ffe22d9cc8  libstdc++-v3/include/std/source_location
! 72e2489e1fe102fd4cdc8596b867485b  libstdc++-v3/include/std/span
  efdde6d8d883a91854d4ae616b627e53  libstdc++-v3/include/std/spanstream
  f00ff992c96a4a6422d964aad9315664  libstdc++-v3/include/std/sstream
  f5a5ebc7b6133572f8f361cde93ec52f  libstdc++-v3/include/std/stack
*************** e6e7d75896bc3f784a372c70020e9d04  libstd
*** 146659,146665 ****
  f1890d5dbe9c9ef672c11e6397c881b9  libstdc++-v3/include/std/string_view
  2357e8bc64ed236c453da02aa0eab3ea  libstdc++-v3/include/std/syncstream
  0574b134b5132494e9294186a6a4511c  libstdc++-v3/include/std/system_error
! 608edef7344e2e25c7b00170df6fa9e6  libstdc++-v3/include/std/text_encoding
  0e55da688cfae6ed254c1328fad9c8ad  libstdc++-v3/include/std/thread
  bf9dc0b041052f9a9e59ac623efd295a  libstdc++-v3/include/std/tuple
  0b1c3fb907e580cb0afc67d1ca0268e0  libstdc++-v3/include/std/type_traits
--- 146748,146754 ----
  f1890d5dbe9c9ef672c11e6397c881b9  libstdc++-v3/include/std/string_view
  2357e8bc64ed236c453da02aa0eab3ea  libstdc++-v3/include/std/syncstream
  0574b134b5132494e9294186a6a4511c  libstdc++-v3/include/std/system_error
! 3de44f0df6167a88cbfda331087cb3e8  libstdc++-v3/include/std/text_encoding
  0e55da688cfae6ed254c1328fad9c8ad  libstdc++-v3/include/std/thread
  bf9dc0b041052f9a9e59ac623efd295a  libstdc++-v3/include/std/tuple
  0b1c3fb907e580cb0afc67d1ca0268e0  libstdc++-v3/include/std/type_traits
*************** fbb127f006c65ae37d591c627cc6235c  libstd
*** 146961,146967 ****
  04669634e7d7f19fae4baadedc6d0908  libstdc++-v3/src/c++17/uint128_t.h
  2667b57b71cdb4809c2d08103ab7a239  libstdc++-v3/src/c++20/Makefile.am
  8992329b44e206ac3d5b63e10bf82246  libstdc++-v3/src/c++20/Makefile.in
! ccf4239a6340788ca2b18d64e365b37c  libstdc++-v3/src/c++20/atomic.cc
  e017d47cedd4e843177ec9ff2c936541  libstdc++-v3/src/c++20/clock.cc
  94b3ab191e8fe566a951ac2b4f081c40  libstdc++-v3/src/c++20/format.cc
  c2bd27af25e57adce5807e0f01a2d0dc  libstdc++-v3/src/c++20/sstream-inst.cc
--- 147050,147056 ----
  04669634e7d7f19fae4baadedc6d0908  libstdc++-v3/src/c++17/uint128_t.h
  2667b57b71cdb4809c2d08103ab7a239  libstdc++-v3/src/c++20/Makefile.am
  8992329b44e206ac3d5b63e10bf82246  libstdc++-v3/src/c++20/Makefile.in
! 43a3cf7776f056b3aa5b8051a3d1bb40  libstdc++-v3/src/c++20/atomic.cc
  e017d47cedd4e843177ec9ff2c936541  libstdc++-v3/src/c++20/clock.cc
  94b3ab191e8fe566a951ac2b4f081c40  libstdc++-v3/src/c++20/format.cc
  c2bd27af25e57adce5807e0f01a2d0dc  libstdc++-v3/src/c++20/sstream-inst.cc
*************** e54d8bde5170276bc314bb62f562e74f  libstd
*** 147066,147072 ****
  5690517690fa69b441af6a1196b8c17c  libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc
  5b5b6629b7cac8c7374d577b37e995e9  libstdc++-v3/testsuite/17_intro/headers/c++2014/parallel_mode.cc
  15a80570bd72c0f9d4acbf4e2a5b3ca2  libstdc++-v3/testsuite/17_intro/headers/c++2017/parallel_mode.cc
! 01992034f18f4894ede6da8259fea60e  libstdc++-v3/testsuite/17_intro/names.cc
  d4446489cc9fd961dbc2f15b2b21fca7  libstdc++-v3/testsuite/17_intro/names_fortify.cc
  047ad714f0a1ac010ab86a084dfbeee7  libstdc++-v3/testsuite/17_intro/names_pstl.cc
  441838fc5a4a7a22a784014872e61926  libstdc++-v3/testsuite/17_intro/no_library_allocation.cc
--- 147155,147161 ----
  5690517690fa69b441af6a1196b8c17c  libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc
  5b5b6629b7cac8c7374d577b37e995e9  libstdc++-v3/testsuite/17_intro/headers/c++2014/parallel_mode.cc
  15a80570bd72c0f9d4acbf4e2a5b3ca2  libstdc++-v3/testsuite/17_intro/headers/c++2017/parallel_mode.cc
! 0396d413d39da2ebc362ab8978060923  libstdc++-v3/testsuite/17_intro/names.cc
  d4446489cc9fd961dbc2f15b2b21fca7  libstdc++-v3/testsuite/17_intro/names_fortify.cc
  047ad714f0a1ac010ab86a084dfbeee7  libstdc++-v3/testsuite/17_intro/names_pstl.cc
  441838fc5a4a7a22a784014872e61926  libstdc++-v3/testsuite/17_intro/no_library_allocation.cc
*************** c3633be19cc26ebd3041d6f7a8120295  libstd
*** 147364,147369 ****
--- 147453,147460 ----
  ae49058091ac2f31814de6246e958d6a  libstdc++-v3/testsuite/20_util/allocator/64135.cc
  3d6fd2416cfe20b40727679190a1acd5  libstdc++-v3/testsuite/20_util/allocator/8230.cc
  304feeda4411dd976033b709ad4dc9ed  libstdc++-v3/testsuite/20_util/allocator/89510.cc
+ 3dfa4bfcfdfadebf8e902ee535a79064  libstdc++-v3/testsuite/20_util/allocator/allocate_at_least.cc
+ efd50eb210f11e05083d51d5f197edce  libstdc++-v3/testsuite/20_util/allocator/allocate_at_least_neg.cc
  aee95679e97e16985af49532fadbba5c  libstdc++-v3/testsuite/20_util/allocator/lwg3190.cc
  af5ed7a07c56e8d2e5f768f47c861ba1  libstdc++-v3/testsuite/20_util/allocator/overaligned.cc
  354ae4e1acbe3664aa5db35df5685626  libstdc++-v3/testsuite/20_util/allocator/rebind_c++20.cc
*************** f100ecfcef3f79639fc5c07828bee8f2  libstd
*** 150710,150720 ****
  dbf6f28a87aa23623650f791adfaca62  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/canonical_slices.cc
  d8ea1f14ddbd6c1578d7cf9750fad6ba  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/canonical_slices_neg.cc
  75dcf76383a9e8f1226c23f8af9a325b  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/generic.cc
! ce8093884b0c73a497b2d4a3bca8b2e0  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left.cc
! afa930e77d75e7d1bdc49d8269088d56  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left_padded.cc
! 10441f07cd5a5e3795683e659b9bc8aa  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right.cc
! 7245b0935ad524af4b35326c16f65b28  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right_padded.cc
! c9e4a8bd28d2f23c7b2c2ac952c60efa  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/stride.cc
  b797f2b29fdc9e805ba051f07ad79780  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/testcases.h
  6d50e87bc82bd66db0d3bd10b0525a32  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/strided_slice.cc
  9bf970f0e760e969476983a9e58f4313  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/strided_slice_neg.cc
--- 150801,150811 ----
  dbf6f28a87aa23623650f791adfaca62  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/canonical_slices.cc
  d8ea1f14ddbd6c1578d7cf9750fad6ba  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/canonical_slices_neg.cc
  75dcf76383a9e8f1226c23f8af9a325b  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/generic.cc
! 5beafab2247372d8808eba8ea2470da5  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left.cc
! 320c7a19014594422581c98059449421  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left_padded.cc
! 98e5bb874b218c9ecd93d13b2c743953  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right.cc
! 8765797743fde1edc95a98d1d68d50ea  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right_padded.cc
! 5976cf404456fbbe6f2f13639760eee4  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/stride.cc
  b797f2b29fdc9e805ba051f07ad79780  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/testcases.h
  6d50e87bc82bd66db0d3bd10b0525a32  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/strided_slice.cc
  9bf970f0e760e969476983a9e58f4313  libstdc++-v3/testsuite/23_containers/mdspan/submdspan/strided_slice_neg.cc
*************** ed2f7d16ed6122b02949cf3ef4cfb78b  libstd
*** 151044,151049 ****
--- 151135,151141 ----
  407441710ce466addfbdb7524d8ac30b  libstdc++-v3/testsuite/23_containers/span/last_neg.cc
  01d00a6a60c37135634fbaf9be5a9ddb  libstdc++-v3/testsuite/23_containers/span/layout_compat.cc
  ccacf604f42070049e07877e4a8eca51  libstdc++-v3/testsuite/23_containers/span/lwg3255.cc
+ 9a8e3d5dad56a50054965c95655bcebb  libstdc++-v3/testsuite/23_containers/span/lwg4243.cc
  e45c1853ec6f098abc263746f2bf72fa  libstdc++-v3/testsuite/23_containers/span/nodiscard.cc
  2067203066f76dddaaa953130aab0344  libstdc++-v3/testsuite/23_containers/span/nothrow_cons.cc
  b12ff1bd91cb23bb26fb42109f969847  libstdc++-v3/testsuite/23_containers/span/subspan_2_assert_neg.cc
*************** df7735635039a7420ee7466b3f921eac  libstd
*** 152608,152613 ****
--- 152700,152706 ----
  25b6ddfafef448603fdcc377958dc2c1  libstdc++-v3/testsuite/25_algorithms/replace/1.cc
  88eefd6b2b96956e6af4c1e21cc34914  libstdc++-v3/testsuite/25_algorithms/replace/check_type.cc
  89a9967b71d63a5b8dc76aceadd2763a  libstdc++-v3/testsuite/25_algorithms/replace/constrained.cc
+ 2d6f156b73fd80f1fc465311847ff5ee  libstdc++-v3/testsuite/25_algorithms/replace/lwg4444.cc
  d46bd764e8e678045c8c6a8f19825933  libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/2.cc
  6f13166d6a120a735192d3d3a1b1673b  libstdc++-v3/testsuite/25_algorithms/replace/requirements/explicit_instantiation/pod.cc
  443a5eb09b60882cff1c4044f4f6b9da  libstdc++-v3/testsuite/25_algorithms/replace_copy/1.cc
*************** c043dbfa13d9de3df4f0bcc9e26f51c5  libstd
*** 152626,152631 ****
--- 152719,152725 ----
  7617145525f45a530d13c2d3c156beea  libstdc++-v3/testsuite/25_algorithms/replace_if/check_type.cc
  410ba4483d0a2ba1ede99561b5dc7f05  libstdc++-v3/testsuite/25_algorithms/replace_if/constexpr.cc
  8d75d305772b652cf215067adc8ee8a0  libstdc++-v3/testsuite/25_algorithms/replace_if/constrained.cc
+ 6420c0e151f951fc68af98eff7ce1156  libstdc++-v3/testsuite/25_algorithms/replace_if/lwg4444.cc
  c216203903de168738ef427fd700a833  libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc
  b4d7df0e885e1342a6cf4c1e44b3a352  libstdc++-v3/testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc
  01eb615b6b94d9d8808b71bb50d162b4  libstdc++-v3/testsuite/25_algorithms/reverse/constexpr.cc
diff -Nrcpad gcc-16-20260308/contrib/ChangeLog gcc-16-20260315/contrib/ChangeLog
*** gcc-16-20260308/contrib/ChangeLog	Sun Mar  8 22:32:04 2026
--- gcc-16-20260315/contrib/ChangeLog	Sun Mar 15 22:32:06 2026
***************
*** 1,3 ****
--- 1,13 ----
+ 2026-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR other/124508
+ 	* update-copyright.py: Add James Bohl. as another copyright.
+ 
+ 2026-03-09  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	* filter-clang-warnings.py (skip_warning): Also ingore
+ 	-Wimplicit-int-enum-cast in libiberty.
+ 
  2026-03-02  Jakub Jelinek  <jakub@redhat.com>
  
  	* gcc-changelog/git_update_version.py (ignored_commits): Add
diff -Nrcpad gcc-16-20260308/contrib/filter-clang-warnings.py gcc-16-20260315/contrib/filter-clang-warnings.py
*** gcc-16-20260308/contrib/filter-clang-warnings.py	Sun Mar  8 22:32:04 2026
--- gcc-16-20260315/contrib/filter-clang-warnings.py	Sun Mar 15 22:32:06 2026
*************** def skip_warning(filename, message):
*** 75,80 ****
--- 75,81 ----
              # except perhaps for this one, see
              # https://github.com/Rust-GCC/gccrs/issues/4441
              'rust/ast/rust-fmt.h': ['-Wreturn-type-c-linkage'],
+             'libiberty/': ["-Wimplicit-int-enum-cast"],
              'libiberty/sha1.c': ['-Wc23-extensions'],
              'libtool': ['']
      }
diff -Nrcpad gcc-16-20260308/contrib/update-copyright.py gcc-16-20260315/contrib/update-copyright.py
*** gcc-16-20260308/contrib/update-copyright.py	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/contrib/update-copyright.py	Sun Mar 15 22:32:06 2026
*************** class GCCCopyright (Copyright):
*** 749,754 ****
--- 749,755 ----
          self.add_external_author ('Hewlett-Packard Company')
          self.add_external_author ('Intel Corporation')
          self.add_external_author ('Information Technology Industry Council.')
+         self.add_external_author ('James Bohl.')
          self.add_external_author ('James Theiler, Brian Gough')
          self.add_external_author ('Jose E. Marchesi')
          self.add_external_author ('Jose E. Marchesi.')
diff -Nrcpad gcc-16-20260308/gcc/ChangeLog gcc-16-20260315/gcc/ChangeLog
*** gcc-16-20260308/gcc/ChangeLog	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/ChangeLog	Sun Mar 15 22:32:06 2026
***************
*** 1,3 ****
--- 1,397 ----
+ 2026-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR other/124508
+ 	* config/loongarch/genopts/gen-evolution.awk: Rename copyright_header
+ 	routine so that update-copyright.py isn't upset about it.
+ 
+ 2026-03-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR rtl-optimization/124454
+ 	* regcprop.cc (pass_cprop_hardreg::execute): If something
+ 	changed and non-call exceptions is on, call purge_all_dead_edges
+ 	and cleanup_cfg.
+ 
+ 2026-03-13  Vladimir N. Makarov  <vmakarov@redhat.com>
+ 
+ 	PR target/117182
+ 	* lra-constraints.cc (curr_insn_transform): Don't change an output
+ 	operand by constant or invariant equivalence.
+ 
+ 2026-03-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+ 
+ 	* config/arm/arm.cc (TARGET_C_BITINT_TYPE_INFO): New Macro.
+ 	(arm_return_in_memory): Return true for any _BitInt(N) where N > 64.
+ 	(arm_needs_doubleword_align): Return true for any _BitInt(N) where N > 32.
+ 	(arm_bitint_type_info): New.
+ 	* config/arm/arm-protos.h (arm_bitint_type_info): New declaration.
+ 
+ 2026-03-13  Saurabh Jha  <saurabh.jha@arm.com>
+ 
+ 	PR target/122953
+ 	* config/aarch64/aarch64-c.cc
+ 	(TARGET_AARCH64_MS_ABI): Explicitly set it to 0 if not on mingw.
+ 	(aarch64_define_unconditional_macros): Remove __ARM_PCS_AAPCS64
+ 	from here.
+ 	(aarch64_update_cpp_builtins): Define __ARM_PCS_AAPCS64 if not
+ 	on Windows ABI.
+ 	---
+ 	Hey,
+ 	Regression tested on aarch64-linux-gnu and found no regressions.
+ 	Built for arch64-w64-mingw32, ran target dependent tests, and
+ 	found no regressions.
+ 	Ok for master?
+ 	Thanks,
+ 	Saurabh
+ 
+ 2026-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tree-profile.cc (struct conds_ctx): Formatting fixes.
+ 	Rename B1, B2, G1, G2 and G3 members to b1, b2, g1, g2 and g3.
+ 	Adjust all uses.
+ 	(topological_cmp, topological_src_cmp, index_of, single_p,
+ 	single_edge, contract_edge_up): Formatting fixes.
+ 	(struct outcomes): Likewise.
+ 	(conditional_succs, condition_index, condition_uid,
+ 	masking_vectors, emit_assign, emit_bitwise_op): Likewise.
+ 	(make_top_index_visit, make_top_index): Likewise.  Rename
+ 	L argument to l.
+ 	(paths_between): Formatting fixes.
+ 	(struct condcov): Likewise.
+ 	(cov_length, cov_blocks, cov_masks, cov_maps, cov_free): Likewise.
+ 	(find_conditions): Likewise.  Don't start warning_at message with
+ 	uppercase letter.
+ 	(struct counters): Formatting fixes.
+ 	(find_counters, resolve_counter, resolve_counters,
+ 	instrument_decisions): Likewise.
+ 	(init_ic_make_global_vars): Comment formatting fixes.
+ 	(gimple_init_gcov_profiler): Formatting fixes.
+ 
+ 2026-03-13  Jørgen Kvalsvik  <j@lambda.is>
+ 
+ 	PR ipa/124462
+ 	* tree-profile.cc (masking_vectors): Skip blocks with less than
+ 	2 non-complex incoming edges.
+ 
+ 2026-03-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+ 
+ 	* config/xtensa/xtensa.cc (constantsynth_pass1):
+ 	Change the comparison between src and SET_SRC(pat) to be performed
+ 	using rtx_equal_p rather than between references (pointer values)
+ 	directly, and adjust the destination of changes in validate_change
+ 	to eliminate the need to call gen_rtx_SET.
+ 	(constantsynth_pass2):
+ 	Fill in missing spacing in one place and changes dump file output
+ 	slightly.
+ 
+ 2026-03-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+ 
+ 	* config/xtensa/xtensa.cc (xtensa_split_operand_pair)
+ 	Move the common code from the split part of movd[if]_internal
+ 	MD patterns into this function, since this function is only
+ 	called from the split part of that patterns.
+ 	Also, during non-debug optimization, re-register new literal
+ 	pool entries with the split values themselves instead of
+ 	splitting the memory reference of the source numeric constant
+ 	placed in the pool.
+ 	(split_DI_SF_DF_const):
+ 	Rename to convert_SF_const and remove the split function of
+ 	D[IF]mode constant assignment.
+ 	(do_largeconst2):
+ 	Change the call from split_DI_SF_DF_const to convert_SF_const.
+ 	* config/xtensa/xtensa.md (movdi_internal, movdf_internal):
+ 	Reduce their split parts to just a call to xtensa_split_operand_pair.
+ 
+ 2026-03-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+ 
+ 	* config/xtensa/xtensa.cc (FPreg_neg_scaled_simm12b_1):
+ 	Change the test to determine whether REAL_VALUE_TYPE is a non-
+ 	zero finite value to whether it is normal.
+ 	(FPreg_neg_scaled_simm12b):
+ 	Place the call to FPreg_neg_scaled_simm12b_1 last in the
+ 	expression to improve performance, and change the dump file
+ 	output slightly.
+ 
+ 2026-03-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+ 
+ 	* config/xtensa/xtensa-passes.def (pass_xtensa_largeconst):
+ 	Rename to pass_xtensa_largeconst1.
+ 	(pass_xtensa_largeconst2): New target-specific pass.
+ 	* config/xtensa/xtensa-protos.h (make_pass_xtensa_largeconst):
+ 	Rename to make_pass_xtensa_largeconst1.
+ 	(make_pass_xtensa_largeconst2): New function prototype.
+ 	* config/xtensa/xtensa.cc (litpool_set_src_1):
+ 	Change to process large numeric constant assignments to DImode
+ 	as well as [SH]Imode.
+ 	(do_largeconst):
+ 	Rename it to do_largeconst1 and leave only the mandatory insn
+ 	transformation process.
+ 	(do_largeconst2): New function that inherits the optional insn
+ 	transformation processes from the old do_largeconst.
+ 	(rest_of_handle_largeconst):
+ 	Rename to rest_of_handle_largeconst1 and change to call
+ 	do_largeconst1.
+ 	(rest_of_handle_largeconst2): New function that calls
+ 	do_largeconst2.
+ 	(pass_data_xtensa_largeconst)
+ 	Rename to pass_data_xtensa_largeconst1.
+ 	(pass_xtensa_largeconst):
+ 	Rename to pass_xtensa_largeconst1 and change to call
+ 	rest_of_handle_largeconst1.
+ 	(pass_data_xtensa_largeconst2): New opt_pass data.
+ 	(pass_xtensa_largeconst2):
+ 	New rtl_opt_pass that runs rest_of_handle_largeconst2 when non-
+ 	debug optimizations are enabled.
+ 	(make_pass_xtensa_largeconst):
+ 	Rename to make_pass_xtensa_largeconst1.
+ 	(make_pass_xtensa_largeconst2): New function definition.
+ 
+ 2026-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/124461
+ 	* config/i386/i386.md (movrs<mode>): Use <imodesuffix> only for
+ 	-masm=att, not for -masm=intel.
+ 
+ 2026-03-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR rtl-optimization/123822
+ 	* simplify-rtx.cc (simplify_context::simplify_subreg): Check the
+ 	mode of the part to be non-VOIDmode before calling gen_rtx_SUBREG.
+ 
+ 2026-03-12  Vladimir N. Makarov  <vmakarov@redhat.com>
+ 
+ 	PR rtl-optimization/124452
+ 	* lra-constraints.cc (curr_insn_transform): Move return on the
+ 	postponed insn before any reload generation.
+ 
+ 2026-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	Revert:
+ 	2026-02-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	* configure.ac (gnu_ld_flag): Move $gcc_cv_ld --version check into
+ 	AC_ARG_WITH(gnu-ld).
+ 	(gcc_cv_ld): Set before gnu_ld_flag.
+ 	(gas_flag): Move $gcc_cv_ld --version check into AC_ARG_WITH(gnu-ld).
+ 	(gcc_cv_as): Set before gas_flag.
+ 	* configure: Regenerate.
+ 
+ 2026-03-12  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR objc/124260
+ 	* ipa-prop.cc (ipa_analyze_var_static_initializer): Skip a constructor
+ 	entry if its index is NULL.
+ 
+ 2026-03-12  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR bootstrap/124406
+ 	* ipa-pure-const.cc (skip_function_for_local_pure_const):
+ 	Do not analyze interposable functions when LTO is enabled.
+ 
+ 2026-03-12  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR target/122925
+ 	PR target/119979
+ 	* config/sh/sh.cc (TARGET_PROMOTE_PROTOTYPES): Removed.
+ 
+ 2026-03-12  Philipp Tomsich  <philipp.tomsich@vrull.eu>
+ 
+ 	* fold-mem-offsets.cc (do_analysis): Revise comment.
+ 
+ 2026-03-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR middle-end/120030
+ 	* symtab.cc (symtab_node::set_init_priority): Better
+ 	handle the case of setting the priority back to default.
+ 	(cgraph_node::set_fini_priority): Likewise.
+ 
+ 2026-03-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	* doc/extend.texi (constructor/destructor): Add documentation
+ 	about multiple attributes here.
+ 
+ 2026-03-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	* doc/extend.texi (constructor/destructor): Document
+ 	the priority when none is supplied.
+ 
+ 2026-03-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR target/124409
+ 	* doc/install.texi: Increment the required binutils for
+ 	riscv to 2.40.
+ 
+ 2026-03-12  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/124397
+ 	* diagnostic.h (emitting_diagnostic_p): New.
+ 	* diagnostics/context.h (context::emitting_diagnostic_p): New.
+ 
+ 2026-03-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/124436
+ 	* genautomata.cc (output_dfa_insn_code_func): Use
+ 	MIN (INT_MAX, 2U * uid) instead of 2 * uid in dfa_insn_code_enlarge.
+ 
+ 2026-03-11  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR target/124407
+ 	* config/i386/i386-features.cc (ix86_place_single_vector_set):
+ 	Handle non-int load with integer constant.
+ 	(ix86_broadcast_inner): Convert const0_rtx to non-int mode.
+ 
+ 2026-03-11  Richard Sandiford  <rdsandiford@googlemail.com>
+ 
+ 	PR middle-end/124435
+ 	* expr.cc (store_field_updates_msb_p): Use GET_MODE_BITSIZE
+ 	instead of GET_MODE_SIZE.  Handle the two endiannesses separately.
+ 
+ 2026-03-11  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	Revert:
+ 	2026-02-27  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/90036
+ 	* tree-ssa-scopedtables.cc (avail_exprs_stack::record_cond): Always
+ 	record the new hash table entry.
+ 
+ 2026-03-11  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	Revert:
+ 	2026-02-28  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/90036
+ 	* tree-ssa-dom.cc (back_propagate_equivalences): Accept new
+ 	argument for available expression stack.  Lookup equivalences
+ 	in the expression hash table too.  If an expression hash a
+ 	known constant value, record it and recurse.
+ 	(record_temporary_equivalences): Back propagate for a subset of
+ 	edge equivalences.
+ 
+ 2026-03-11  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/123271
+ 	* config/arm/arm.md (subvsi3_intmin): Renamed to ...
+ 	(sub_cmpVsi3_intmin): ... this.
+ 	(subvsi3): Renamed to ...
+ 	(sub_cmpVsi3): ... this.
+ 	(subvsi3_imm1): Renamed to ...
+ 	(sub_cmpVsi3_imm1): ... this.
+ 	(usubvsi3_borrow): Renamed to ...
+ 	(usub_cmpVsi3_borrow): ... this.
+ 	(usubvsi3_borrow_imm): Renamed to ...
+ 	(usub_cmpVsi3_borrow_imm): ... this.
+ 	(subvsi3_borrow): Renamed to ...
+ 	(sub_cmpVsi3_borrow): ... this.
+ 	(subvsi3_borrow_imm): Renamed to ...
+ 	(sub_cmpVsi3_borrow_imm): ... this.
+ 
+ 2026-03-11  Arsen Arsenović  <aarsenovic@baylibre.com>
+ 
+ 	* config/gcn/gcn.cc (gcn_addr_space_convert): Use
+ 	SHARED_BASE_REG to find flat address space base of LDS.
+ 
+ 2026-03-11  Arsen Arsenović  <aarsenovic@baylibre.com>
+ 
+ 	PR target/124044
+ 	* config/gcn/gcn.cc (gcn_addr_space_resolve_default): New
+ 	function.  Converts from ADDR_SPACE_DEFAULT to
+ 	DEFAULT_ADDR_SPACE.
+ 	(gcn_addr_space_convert): Resolve from_type and to_type address
+ 	spaces.
+ 
+ 2026-03-11  Arsen Arsenović  <aarsenovic@baylibre.com>
+ 
+ 	* config/gcn/gcn.cc (gcn_regno_reg_class): Handle
+ 	MEMORY_APERTURE_REGS.
+ 	(gcn_hard_regno_rename_ok): Return false for memory aperture
+ 	regs.
+ 	(gcn_memory_move_cost): Handle memory aperture regs the same as
+ 	general registers.
+ 	(gcn_hard_regno_nregs): Handle MEMORY_APERTURE_REGS.
+ 	* config/gcn/gcn.h (SHARED_BASE_REG): Define.
+ 	(SHARED_LIMT_REG): Ditto.
+ 	(PRIVATE_BASE_REG): Ditto.
+ 	(PRIVATE_LIMT_REG): Ditto.
+ 	(MEMORY_APERTURE_REG_P): New macro.  Evaluates to non-zero if
+ 	parameter is one of the above registers.
+ 	(SSRC_REGNO_P): Also evaluate to non-zero for aperture regs, as
+ 	they can be sources to scalar instructions.
+ 	(enum reg_class): New class: MEMORY_APERTURE_REGS.
+ 	(REG_CLASS_NAMES): Provide name for that class.
+ 	(MEMORY_APERTURE_REGS_MASK): New helper macro.  Value of
+ 	NAMED_REG_MASK2 for each of the memory aperture regs.
+ 	(REG_CLASS_CONTENTS): Add the above registers to
+ 	MEMORY_APERTURE_REGS, SGPR_VOP_SRC_REGS, and SGPR_SRC_REGS.
+ 
+ 2026-03-11  Philipp Tomsich  <philipp.tomsich@vrull.eu>
+ 
+ 	* fold-mem-offsets.cc (do_check_validity): fix wrong mode
+ 	and rename arguments to avoid future confusion
+ 
+ 2026-03-10  Yangyu Chen  <cyy@cyyself.name>
+ 
+ 	* config/riscv/riscv.cc (riscv_check_target_clone_version):
+ 	Fix TARGET_CHECK_TARGET_CLONE_VERSION implementation.
+ 
+ 2026-03-10  Richard Biener  <rguenther@suse.de>
+ 
+ 	* tree-vect-loop.cc (vect_get_datarefs_in_loop): Add function
+ 	level comment.
+ 	(vect_analyze_loop_2): Fix comment.
+ 
+ 2026-03-10  Jan Hubicka  <jh@suse.cz>
+ 	    Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/120987
+ 	* ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Mask
+ 	off non const/pure/novops related flags when combining of outer
+ 	functions.
+ 
+ 2026-03-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR translation/124422
+ 	* config/loongarch/loongarch-target-attr.cc
+ 	(loongarch_parse_fmv_features): Fix spelling in diagnostics.
+ 	* params.opt (max-devirt-targets): Fix typo in description.
+ 
+ 2026-03-09  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR ipa/124291
+ 	* ipa-cp.cc (ipcp_val_replacement_ok_p): Allow more precise
+ 	contexts that what the clone was originally intended for.
+ 
+ 2026-03-09  Dhruv Chawla  <dhruvc@nvidia.com>
+ 
+ 	PR gcov-profile/124075
+ 	* config/aarch64/gcc-auto-profile: Add "-o perf.data" to perf
+ 	record invocation.
+ 	* config/i386/gcc-auto-profile: Likewise.
+ 
+ 2026-03-09  Dhruv Chawla  <dhruvc@nvidia.com>
+ 
+ 	PR gcov-profile/123923
+ 	* config/aarch64/gcc-auto-profile: Add --inherit to perf record flags.
+ 	* config/i386/gcc-auto-profile: Likewise.
+ 
+ 2026-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
+ 
+ 	PR middle-end/118608
+ 	* rtlanal.cc (truncated_to_mode): Revert a change made on 2026-02-03.
+ 	* config/mips/mips.md (*extenddi_truncate<mode>): Likewise.
+ 
+ 2026-03-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+ 
+ 	* config/xtensa/xtensa.md (movdi_internal, movdf_internal, *btrue,
+ 	*ubtrue, movsicc_internal0, movsicc_internal1, movsfcc_internal0,
+ 	movsfcc_internal1):
+ 	Rewrite in compact syntax.
+ 
+ 2026-03-08  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR target/124403
+ 	* config/riscv/riscv.cc (riscv_get_vls_cc_attr): Fix formating
+ 	of the diagnostic.
+ 
  2026-03-07  Sandra Loosemore  <sloosemore@baylibre.com>
  
  	PR driver/69367
diff -Nrcpad gcc-16-20260308/gcc/DATESTAMP gcc-16-20260315/gcc/DATESTAMP
*** gcc-16-20260308/gcc/DATESTAMP	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/DATESTAMP	Sun Mar 15 22:32:06 2026
***************
*** 1 ****
! 20260308
--- 1 ----
! 20260315
diff -Nrcpad gcc-16-20260308/gcc/ada/ChangeLog gcc-16-20260315/gcc/ada/ChangeLog
*** gcc-16-20260308/gcc/ada/ChangeLog	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/ada/ChangeLog	Sun Mar 15 22:32:06 2026
***************
*** 1,3 ****
--- 1,53 ----
+ 2026-03-14  Matthias Klose  <doko@gcc.gnu.org>
+ 
+ 	PR ada/107475
+ 	* Makefile.rtl (s390% linux%): Define MISCLIB.
+ 	(arm% linux-gnueabi%): Likewise.
+ 	(%x32 linux%): Likewise.
+ 
+ 2026-03-12  Steve Baird  <baird@adacore.com>
+ 
+ 	PR ada/124016
+ 	* libgnat/a-cbinho.adb (Create_Subpool): Handle the case where
+ 	the type Holder_Subpool has nontrivial finalization. Declare the
+ 	local variable Subpool with its Import aspect specified (to avoid
+ 	unwanted finalization), and make corresponding changes in order to
+ 	initialize that variable.
+ 	* libgnat/s-stposu.ads (_Adjust_Clone): New procedure.
+ 	* libgnat/s-stposu.adb (_Adjust_Clone): New body.
+ 
+ 2026-03-12  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/124369
+ 	* accessibility.adb (Accessibility_Message): Give an error instead
+ 	of a warning in an instance when No_Dynamic_Accessibility_Checks is
+ 	in effect.
+ 	(Innermost_Master_Scope_Depth): Restore the original computation of
+ 	the nearest enclosing dynamic scope.
+ 	* sem_attr.adb (Resolve_Attribute) <Attribute_Access>: Call the
+ 	Accessibility_Message routine in all cases to give accessibility
+ 	errors and do not return.  Call the Static_Accessibility_Level
+ 	function in all cases to compute static accessibility levels.
+ 	Add guard before calling Prefix_With_Safe_Accessibility_Level.
+ 
+ 2026-03-12  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/124376
+ 	* sem_res.adb (Resolve_Actuals.Check_Aliased_Parameter): Deal with
+ 	assignment statements.
+ 
+ 2026-03-12  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/124376
+ 	* accessibility.adb (Accessibility_Level): Minor formatting tweaks.
+ 	(Accessibility_Level.Function_Call_Or_Allocator_Level): Implement
+ 	AI12-0402.  Reimplement the loop climbing up the parent chain to
+ 	find an object being initialized.  Restrict the specific handling
+ 	of N_Assignment_Statement nodes to the anonymous access type case.
+ 	* doc/gnat_rm/implementation_of_ada_2022_features.rst: Adjust the
+ 	entries of AI12-0277, AI12-0345 & AI12-0372, add one for AI12-0402.
+ 	* gnat_rm.texi: Regenerate.
+ 
  2026-03-07  Eric Botcazou  <ebotcazou@gcc.gnu.org>
  
  	PR target/124336
diff -Nrcpad gcc-16-20260308/gcc/ada/Makefile.rtl gcc-16-20260315/gcc/ada/Makefile.rtl
*** gcc-16-20260308/gcc/ada/Makefile.rtl	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/ada/Makefile.rtl	Sun Mar 15 22:32:06 2026
*************** ifeq ($(strip $(filter-out s390% linux%,
*** 2036,2041 ****
--- 2036,2042 ----
    EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
    EH_MECHANISM=-gcc
    THREADSLIB = -lpthread
+   MISCLIB = -ldl
    GNATLIB_SHARED = gnatlib-shared-dual
    LIBRARY_VERSION := $(LIB_VERSION)
  endif
*************** ifeq ($(strip $(filter-out arm% linux-gn
*** 2529,2534 ****
--- 2530,2536 ----
    EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
    EH_MECHANISM=-arm
    THREADSLIB = -lpthread
+   MISCLIB = -ldl
    GNATLIB_SHARED = gnatlib-shared-dual
    GMEM_LIB = gmemlib
    LIBRARY_VERSION := $(LIB_VERSION)
*************** ifeq ($(strip $(filter-out %x32 linux%,$
*** 2968,2973 ****
--- 2970,2976 ----
    EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o
    EH_MECHANISM=-gcc
    THREADSLIB=-lpthread -lrt
+   MISCLIB = -ldl
    GNATLIB_SHARED=gnatlib-shared-dual
    GMEM_LIB = gmemlib
    LIBRARY_VERSION := $(LIB_VERSION)
diff -Nrcpad gcc-16-20260308/gcc/ada/accessibility.adb gcc-16-20260315/gcc/ada/accessibility.adb
*** gcc-16-20260308/gcc/ada/accessibility.adb	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/ada/accessibility.adb	Sun Mar 15 22:32:06 2026
*************** package body Accessibility is
*** 64,73 ****
  
     begin
        --  In an instance, this is a runtime check, but one we know will fail,
!       --  so generate an appropriate warning.
  
        if In_Instance_Body then
!          Error_Msg_Warn := SPARK_Mode /= On;
           Error_Msg_F
             ("non-local pointer cannot point to local object<<", P);
           Error_Msg_F ("\Program_Error [<<", P);
--- 64,76 ----
  
     begin
        --  In an instance, this is a runtime check, but one we know will fail,
!       --  so generate an appropriate warning. As usual, this kind of warning
!       --  is an error in SPARK mode or if No_Dynamic_Accessibility_Checks.
  
        if In_Instance_Body then
!          Error_Msg_Warn := SPARK_Mode /= On
!                              and then not
!                                No_Dynamic_Accessibility_Checks_Enabled (P);
           Error_Msg_F
             ("non-local pointer cannot point to local object<<", P);
           Error_Msg_F ("\Program_Error [<<", P);
*************** package body Accessibility is
*** 152,158 ****
        begin
           --  Locate the nearest enclosing node (by traversing Parents)
           --  that Defining_Entity can be applied to, and return the
!          --  depth of that entity's nearest enclosing scope.
  
           --  The RM 7.6.1(3) definition of "master" includes statements
           --  and conditions for loops among other things. Are these cases
--- 155,161 ----
        begin
           --  Locate the nearest enclosing node (by traversing Parents)
           --  that Defining_Entity can be applied to, and return the
!          --  depth of that entity's nearest enclosing dynamic scope.
  
           --  The RM 7.6.1(3) definition of "master" includes statements
           --  and conditions for loops among other things. Are these cases
*************** package body Accessibility is
*** 162,180 ****
              Ent := Defining_Entity_Or_Empty (Node_Par);
  
              if Present (Ent) then
!                --  X'Old is nested within the current subprogram, so we do not
!                --  want Find_Enclosing_Scope of that subprogram. If this is an
!                --  allocator, then we're looking for the innermost master of
!                --  the call, so again we do not want Find_Enclosing_Scope.
! 
!                if (Nkind (N) = N_Attribute_Reference
!                     and then Attribute_Name (N) = Name_Old)
!                  or else Nkind (N) = N_Allocator
!                then
!                   Encl_Scop := Ent;
!                else
!                   Encl_Scop := Find_Enclosing_Scope (Ent);
!                end if;
  
                 --  Ignore transient scopes made during expansion while also
                 --  taking into account certain expansions - like iterators
--- 165,171 ----
              Ent := Defining_Entity_Or_Empty (Node_Par);
  
              if Present (Ent) then
!                Encl_Scop := Nearest_Dynamic_Scope (Ent);
  
                 --  Ignore transient scopes made during expansion while also
                 --  taking into account certain expansions - like iterators
*************** package body Accessibility is
*** 255,262 ****
        --------------------------------------
  
        function Function_Call_Or_Allocator_Level (N : Node_Id) return Node_Id is
!          Par      : Node_Id;
!          Prev_Par : Node_Id;
        begin
           --  First deal with function calls in Ada 95
  
--- 246,256 ----
        --------------------------------------
  
        function Function_Call_Or_Allocator_Level (N : Node_Id) return Node_Id is
!          Prev_Par : Node_Id := Expr;
!          Par      : Node_Id := Parent (Expr);
!          --  Par and Prev_Par will be used for traversing the AST, while
!          --  maintaining an invariant that Par = Parent (Prev_Par).
! 
        begin
           --  First deal with function calls in Ada 95
  
*************** package body Accessibility is
*** 282,307 ****
              --  Otherwise the accessibility level of the innermost master
  
              else
!                return Make_Level_Literal
!                         (Innermost_Master_Scope_Depth (Expr));
              end if;
  
           --  We ignore coextensions as they cannot be implemented under the
!          --  "small-integer" model.
  
           elsif Nkind (N) = N_Allocator
             and then (Is_Static_Coextension (N)
                        or else Is_Dynamic_Coextension (N))
           then
              return Make_Level_Literal (Scope_Depth (Standard_Standard));
-          end if;
  
!          --  Named access types have a designated level
  
!          if Is_Named_Access_Type (Etype (N)) then
              return Make_Level_Literal (Typ_Access_Level (Etype (N)));
  
!          --  Otherwise, the level is dictated by RM 3.10.2 (10.7/3)
  
           else
              --  Check No_Dynamic_Accessibility_Checks restriction override for
--- 276,299 ----
              --  Otherwise the accessibility level of the innermost master
  
              else
!                return Make_Level_Literal (Innermost_Master_Scope_Depth (Expr));
              end if;
  
           --  We ignore coextensions as they cannot be implemented under the
!          --  "small integer" model.
  
           elsif Nkind (N) = N_Allocator
             and then (Is_Static_Coextension (N)
                        or else Is_Dynamic_Coextension (N))
           then
              return Make_Level_Literal (Scope_Depth (Standard_Standard));
  
!          --  Objects of a named access type get their level from their type
  
!          elsif Is_Named_Access_Type (Etype (N)) then
              return Make_Level_Literal (Typ_Access_Level (Etype (N)));
  
!          --  Function calls in Ada 2005 and later, and anonymous allocators
  
           else
              --  Check No_Dynamic_Accessibility_Checks restriction override for
*************** package body Accessibility is
*** 318,333 ****
                    return Make_Level_Literal (Typ_Access_Level (Etype (N)));
  
                 --  For function calls the level is that of the innermost
!                --  master, otherwise (for allocators etc.) we get the level
!                --  of the corresponding anonymous access type, which is
                 --  calculated through the normal path of execution.
  
                 elsif Nkind (N) = N_Function_Call then
!                   return Make_Level_Literal
!                            (Innermost_Master_Scope_Depth (Expr));
                 end if;
              end if;
  
              --  Dynamic checks are generated when we are within a return
              --  value or we are in a function call within an anonymous
              --  access discriminant constraint of a return object (signified
--- 310,336 ----
                    return Make_Level_Literal (Typ_Access_Level (Etype (N)));
  
                 --  For function calls the level is that of the innermost
!                --  master; otherwise, for allocators we get the level of
!                --  the corresponding anonymous access type, which is
                 --  calculated through the normal path of execution.
  
                 elsif Nkind (N) = N_Function_Call then
!                   return
!                     Make_Level_Literal (Innermost_Master_Scope_Depth (Expr));
                 end if;
              end if;
  
+             --  AI12-0402: The master of the function call for a function
+             --  whose result type is a scalar type is always the innermost
+             --  master invoking the function.
+ 
+             if Ada_Version >= Ada_2022
+               and then Nkind (N) = N_Function_Call
+               and then Is_Scalar_Type (Etype (N))
+             then
+                return Make_Level_Literal (Innermost_Master_Scope_Depth (Expr));
+             end if;
+ 
              --  Dynamic checks are generated when we are within a return
              --  value or we are in a function call within an anonymous
              --  access discriminant constraint of a return object (signified
*************** package body Accessibility is
*** 361,436 ****
                 end;
              end if;
  
!             --  When the call is being dereferenced the level is that of the
!             --  enclosing master of the dereferenced call.
  
!             if Nkind (Parent (N)) in N_Explicit_Dereference
!                                    | N_Indexed_Component
!                                    | N_Selected_Component
!             then
!                return Make_Level_Literal
!                         (Innermost_Master_Scope_Depth (Expr));
!             end if;
  
!             --  Find any relevant enclosing parent nodes that designate an
!             --  object being initialized.
  
!             --  Note: The above is only relevant if the result is used "in its
!             --  entirety" as RM 3.10.2 (10.2/3) states. However, this is
!             --  accounted for in the case statement in the main body of
!             --  Accessibility_Level for N_Selected_Component.
  
!             Par      := Parent (Expr);
!             Prev_Par := Empty;
!             while Present (Par) loop
!                --  Detect an expanded implicit conversion, typically this
!                --  occurs on implicitly converted actuals in calls.
  
!                --  Does this catch all implicit conversions ???
  
!                if Nkind (Par) = N_Type_Conversion
!                  and then Is_Named_Access_Type (Etype (Par))
!                then
!                   return Make_Level_Literal
!                            (Typ_Access_Level (Etype (Par)));
!                end if;
  
!                --  Jump out when we hit an object declaration or the right-hand
!                --  side of an assignment, or a construct such as an aggregate
!                --  subtype indication which would be the result is not used
!                --  "in its entirety."
  
!                exit when Nkind (Par) in N_Object_Declaration
!                            or else (Nkind (Par) = N_Assignment_Statement
!                                      and then Name (Par) /= Prev_Par);
  
!                Prev_Par := Par;
!                Par      := Parent (Par);
!             end loop;
  
!             --  Assignment statements are handled in a similar way in
!             --  accordance to the left-hand part. However, strictly speaking,
!             --  this is illegal according to the RM, but this change is needed
!             --  to pass an ACATS C-test and is useful in general ???
  
!             case Nkind (Par) is
!                when N_Object_Declaration =>
!                   return Make_Level_Literal
!                            (Scope_Depth
!                              (Scope (Defining_Identifier (Par))));
  
!                when N_Assignment_Statement =>
!                   --  Return the accessibility level of the left-hand part
  
!                   return Accessibility_Level
!                            (Expr              => Name (Par),
!                             Level             => Object_Decl_Level,
!                             In_Return_Context => In_Return_Context);
  
!                when others =>
!                   return Make_Level_Literal
!                            (Innermost_Master_Scope_Depth (Expr));
!             end case;
           end if;
        end Function_Call_Or_Allocator_Level;
  
--- 364,462 ----
                 end;
              end if;
  
!             --  Find any relevant parent nodes that designate an object being
!             --  initialized and stop when there is an inappropriate construct.
  
!             while Present (Par) loop
  
!                case Nkind (Par) is
  
!                   --  RM 3.10.2 (10.2/5) is relevant only if the result is used
!                   --  to "directly initialize" the object.
  
!                   when N_Explicit_Dereference | N_Function_Call | N_Op =>
!                      exit;
  
!                   --  RM 3.10.2 (10.2/5) is relevant only if the result is used
!                   --  "in its entirety".
  
!                   when N_Indexed_Component | N_Selected_Component | N_Slice =>
!                      exit;
  
!                   --  Accept operative constituents
  
!                   when N_Case_Expression =>
!                      exit when Prev_Par = Expression (Par);
  
!                   when N_If_Expression =>
!                      exit when Prev_Par = First (Expressions (Par));
  
!                   when N_Case_Expression_Alternative
!                      | N_Qualified_Expression
!                      | N_Unchecked_Type_Conversion
!                   =>
!                      null;
  
!                   --  Detect an expanded implicit conversion, typically this
!                   --  occurs on implicitly converted actuals in calls.
  
!                   --  Does this catch all implicit conversions ???
  
!                   when N_Type_Conversion  =>
!                      if Is_Named_Access_Type (Etype (Par)) then
!                         return
!                           Make_Level_Literal (Typ_Access_Level (Etype (Par)));
!                      end if;
  
!                   --  For the (static) declaration of an object, return the
!                   --  accessibility level of the master of the object.
! 
!                   when N_Object_Declaration =>
!                      return
!                        Make_Level_Literal
!                          (Scope_Depth (Scope (Defining_Identifier (Par))));
! 
!                   --  For the dynamic allocation of an object, return the
!                   --  accessibility level of the allocator.
! 
!                   when N_Allocator =>
!                      return Accessibility_Level (Par);
! 
!                   --  RM 3.10.2(10.3/5): If the result is of an anonymous
!                   --  access type and is converted to a (named or anonymous)
!                   --  access type, the master is determined following the
!                   --  rules given for determining the master of an object
!                   --  created by an allocator.
! 
!                   --  The conversion can be an implicit subtype conversion,
!                   --  in particular the one in an assignment (RM 5.2(11/5)).
! 
!                   --  For an anonymous allocator in an assignment, return the
!                   --  accessibility level of the name (RM 3.10.2(14/6)).
! 
!                   when N_Assignment_Statement =>
!                      exit when Prev_Par = Name (Par)
!                        or else not Is_Anonymous_Access_Type (Etype (N));
! 
!                      return Accessibility_Level
!                               (Expr              => Name (Par),
!                                Level             => Object_Decl_Level,
!                                In_Return_Context => In_Return_Context);
! 
!                   when others =>
!                      --  Prevent the search from going too far
! 
!                      exit when Is_Statement (Par)
!                        or else Is_Body_Or_Package_Declaration (Par);
!                end case;
! 
!                Prev_Par := Par;
!                Par := Parent (Par);
!             end loop;
! 
!             --  Return the accessibility level of the innermost master
! 
!             return Make_Level_Literal (Innermost_Master_Scope_Depth (Expr));
           end if;
        end Function_Call_Or_Allocator_Level;
  
*************** package body Accessibility is
*** 544,551 ****
                 --  Named access types
  
                 if Is_Named_Access_Type (Etype (Pre)) then
!                   return Make_Level_Literal
!                            (Typ_Access_Level (Etype (Pre)));
  
                 --  Anonymous access types
  
--- 570,576 ----
                 --  Named access types
  
                 if Is_Named_Access_Type (Etype (Pre)) then
!                   return Make_Level_Literal (Typ_Access_Level (Etype (Pre)));
  
                 --  Anonymous access types
  
*************** package body Accessibility is
*** 698,708 ****
              then
                 return Accessibility_Level (Renamed_Entity_Or_Object (E));
  
!             --  Named access types get their level from their associated type
  
              elsif Is_Named_Access_Type (Etype (E)) then
!                return Make_Level_Literal
!                         (Typ_Access_Level (Etype (E)));
  
              --  Check if E is an expansion-generated renaming of an iterator
              --  by examining Related_Expression. If so, determine the
--- 723,732 ----
              then
                 return Accessibility_Level (Renamed_Entity_Or_Object (E));
  
!             --  Objects of a named access type get their level from their type
  
              elsif Is_Named_Access_Type (Etype (E)) then
!                return Make_Level_Literal (Typ_Access_Level (Etype (E)));
  
              --  Check if E is an expansion-generated renaming of an iterator
              --  by examining Related_Expression. If so, determine the
*************** package body Accessibility is
*** 758,773 ****
              --  of the named access type in the prefix.
  
              elsif Is_Named_Access_Type (Etype (Pre)) then
!                return Make_Level_Literal
!                         (Typ_Access_Level (Etype (Pre)));
  
              --  The current expression is a named access type, so there is no
              --  reason to look at the prefix. Instead obtain the level of E's
              --  named access type.
  
              elsif Is_Named_Access_Type (Etype (E)) then
!                return Make_Level_Literal
!                         (Typ_Access_Level (Etype (E)));
  
              --  A nondiscriminant selected component where the component
              --  is an anonymous access type means that its associated
--- 782,795 ----
              --  of the named access type in the prefix.
  
              elsif Is_Named_Access_Type (Etype (Pre)) then
!                return Make_Level_Literal (Typ_Access_Level (Etype (Pre)));
  
              --  The current expression is a named access type, so there is no
              --  reason to look at the prefix. Instead obtain the level of E's
              --  named access type.
  
              elsif Is_Named_Access_Type (Etype (E)) then
!                return Make_Level_Literal (Typ_Access_Level (Etype (E)));
  
              --  A nondiscriminant selected component where the component
              --  is an anonymous access type means that its associated
*************** package body Accessibility is
*** 809,822 ****
                   and then No_Dynamic_Accessibility_Checks_Enabled (E)
                   and then Debug_Flag_Underscore_B
                 then
!                   return Make_Level_Literal
!                            (Typ_Access_Level (Etype (E)));
                 end if;
  
                 --  Otherwise proceed normally
  
!                return Make_Level_Literal
!                         (Typ_Access_Level (Etype (Prefix (E))));
  
              --  The accessibility calculation routine that handles function
              --  calls (Function_Call_Level) assumes, in the case the
--- 831,843 ----
                   and then No_Dynamic_Accessibility_Checks_Enabled (E)
                   and then Debug_Flag_Underscore_B
                 then
!                   return Make_Level_Literal (Typ_Access_Level (Etype (E)));
                 end if;
  
                 --  Otherwise proceed normally
  
!                return
!                  Make_Level_Literal (Typ_Access_Level (Etype (Prefix (E))));
  
              --  The accessibility calculation routine that handles function
              --  calls (Function_Call_Level) assumes, in the case the
*************** package body Accessibility is
*** 862,869 ****
  
           when N_Qualified_Expression =>
              if Is_Named_Access_Type (Etype (E)) then
!                return Make_Level_Literal
!                         (Typ_Access_Level (Etype (E)));
              else
                 return Accessibility_Level (Expression (E));
              end if;
--- 883,889 ----
  
           when N_Qualified_Expression =>
              if Is_Named_Access_Type (Etype (E)) then
!                return Make_Level_Literal (Typ_Access_Level (Etype (E)));
              else
                 return Accessibility_Level (Expression (E));
              end if;
*************** package body Accessibility is
*** 908,915 ****
              --  access type.
  
              elsif Is_Named_Access_Type (Etype (E)) then
!                return Make_Level_Literal
!                         (Typ_Access_Level (Etype (E)));
  
              --  In section RM 3.10.2 (10/4) the accessibility rules for
              --  aggregates and value conversions are outlined. Are these
--- 928,934 ----
              --  access type.
  
              elsif Is_Named_Access_Type (Etype (E)) then
!                return Make_Level_Literal (Typ_Access_Level (Etype (E)));
  
              --  In section RM 3.10.2 (10/4) the accessibility rules for
              --  aggregates and value conversions are outlined. Are these
diff -Nrcpad gcc-16-20260308/gcc/ada/doc/gnat_rm/implementation_of_ada_2022_features.rst gcc-16-20260315/gcc/ada/doc/gnat_rm/implementation_of_ada_2022_features.rst
*** gcc-16-20260308/gcc/ada/doc/gnat_rm/implementation_of_ada_2022_features.rst	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/ada/doc/gnat_rm/implementation_of_ada_2022_features.rst	Sun Mar 15 22:32:06 2026
*************** http://www.ada-auth.org/AI12-SUMMARY.HTM
*** 1627,1633 ****
  
  .. index:: AI12-0277 (Ada 2022 feature)
  
! * *AI12-0277 The meaning of "accessibility level of the body of F" (0000-00-00)*
  
    Clarify that the only time that an explicitly aliased formal parameter has different accessibility properties than an aliased part of a "normal" parameter is for the accessibility checking associated with a return statement.
  
--- 1627,1633 ----
  
  .. index:: AI12-0277 (Ada 2022 feature)
  
! * *AI12-0277 The meaning of "accessibility level of the body of F" (2020-09-09)*
  
    Clarify that the only time that an explicitly aliased formal parameter has different accessibility properties than an aliased part of a "normal" parameter is for the accessibility checking associated with a return statement.
  
*************** http://www.ada-auth.org/AI12-SUMMARY.HTM
*** 1943,1949 ****
  
  .. index:: AI12-0345 (Ada 2022 feature)
  
! * *AI12-0345 Dynamic accessibility of explicitly aliased parameters (0000-00-00)*
  
    Further clarify (after AI12-0277) accessibility rules for explicitly aliased parameters.
  
--- 1943,1949 ----
  
  .. index:: AI12-0345 (Ada 2022 feature)
  
! * *AI12-0345 Dynamic accessibility of explicitly aliased parameters (2020-09-09)*
  
    Further clarify (after AI12-0277) accessibility rules for explicitly aliased parameters.
  
*************** http://www.ada-auth.org/AI12-SUMMARY.HTM
*** 2038,2044 ****
  
  .. index:: AI12-0372 (Ada 2022 feature)
  
! * *AI12-0372 Static accessibility of "master of the call" (0000-00-00)*
  
    Add an extra compile-time accessibility check for explicitly aliased parameters needed to prevent dangling references.
  
--- 2038,2044 ----
  
  .. index:: AI12-0372 (Ada 2022 feature)
  
! * *AI12-0372 Static accessibility of "master of the call" (2020-09-09)*
  
    Add an extra compile-time accessibility check for explicitly aliased parameters needed to prevent dangling references.
  
*************** http://www.ada-auth.org/AI12-SUMMARY.HTM
*** 2201,2206 ****
--- 2201,2216 ----
  
    RM references: 3.03 (23.2/3) 8.05.01 (4.7/5) 8.05.01 (5/3)
  
+ .. index:: AI12-0402 (Ada 2022 feature)
+ 
+ * *AI12-0402 Master of a function call with elementary result type (2026-01-07)*
+ 
+   This AI restricts the rule that makes the master of a function call, which
+   is used to directly initialize part of an object, that of the object being
+   initialized, to the case where the result type of the function is composite.
+ 
+   RM references: 3.10.2 (10.2/5)
+ 
  .. index:: AI12-0409 (Ada 2022 feature)
  
  * *AI12-0409 Preelaborable_Initialization and bounded containers (2021-06-23)*
diff -Nrcpad gcc-16-20260308/gcc/ada/gnat_rm.texi gcc-16-20260315/gcc/ada/gnat_rm.texi
*** gcc-16-20260308/gcc/ada/gnat_rm.texi	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/ada/gnat_rm.texi	Sun Mar 15 22:32:06 2026
*************** RM references: 8.05.01 (2/3) 8.05.01 (3/
*** 29745,29751 ****
  @itemize *
  
  @item 
! `AI12-0277 The meaning of “accessibility level of the body of F” (0000-00-00)'
  
  Clarify that the only time that an explicitly aliased formal parameter has different accessibility properties than an aliased part of a “normal” parameter is for the accessibility checking associated with a return statement.
  
--- 29745,29751 ----
  @itemize *
  
  @item 
! `AI12-0277 The meaning of “accessibility level of the body of F” (2020-09-09)'
  
  Clarify that the only time that an explicitly aliased formal parameter has different accessibility properties than an aliased part of a “normal” parameter is for the accessibility checking associated with a return statement.
  
*************** RM references: 6.05 (5.12/5) 6.05 (8/4)
*** 30226,30232 ****
  @itemize *
  
  @item 
! `AI12-0345 Dynamic accessibility of explicitly aliased parameters (0000-00-00)'
  
  Further clarify (after AI12-0277) accessibility rules for explicitly aliased parameters.
  
--- 30226,30232 ----
  @itemize *
  
  @item 
! `AI12-0345 Dynamic accessibility of explicitly aliased parameters (2020-09-09)'
  
  Further clarify (after AI12-0277) accessibility rules for explicitly aliased parameters.
  
*************** RM references: D.07 (1.3/5) D.07 (10.12/
*** 30376,30382 ****
  @itemize *
  
  @item 
! `AI12-0372 Static accessibility of “master of the call” (0000-00-00)'
  
  Add an extra compile-time accessibility check for explicitly aliased parameters needed to prevent dangling references.
  
--- 30376,30382 ----
  @itemize *
  
  @item 
! `AI12-0372 Static accessibility of “master of the call” (2020-09-09)'
  
  Add an extra compile-time accessibility check for explicitly aliased parameters needed to prevent dangling references.
  
*************** the operand is a constant, or the target
*** 30620,30625 ****
--- 30620,30640 ----
  RM references: 3.03 (23.2/3) 8.05.01 (4.7/5) 8.05.01 (5/3)
  @end itemize
  
+ @geindex AI12-0402 (Ada 2022 feature)
+ 
+ 
+ @itemize *
+ 
+ @item
+ `AI12-0402 Master of a function call with elementary result type (2026-01-07)'
+ 
+ This AI restricts the rule that makes the master of a function call, which
+ is used to directly initialize part of an object, that of the object being
+ initialized, to the case where the result type of the function is composite.
+ 
+ RM references: 3.10.2 (10.2/5)
+ @end itemize
+ 
  @geindex AI12-0409 (Ada 2022 feature)
  
  
diff -Nrcpad gcc-16-20260308/gcc/ada/libgnat/a-cbinho.adb gcc-16-20260315/gcc/ada/libgnat/a-cbinho.adb
*** gcc-16-20260308/gcc/ada/libgnat/a-cbinho.adb	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/ada/libgnat/a-cbinho.adb	Sun Mar 15 22:32:06 2026
*************** package body Ada.Containers.Bounded_Inde
*** 298,310 ****
             Subpool_Start + Holder_Subpool'Max_Size_In_Storage_Elements;
              --  Will deal with alignment on allocation
  
!          Subpool : aliased Holder_Subpool :=
!            (Root_Subpool with Start => Element_Start)
!            with Address => Subpool_Start;
!           --  We depend here on the type Holder_Subpool not having nontrivial
!           --  finalization (if it did then this local object would be
!           --  finalized earlier than what we want).
        begin
           Set_Pool_Of_Subpool (Subpool'Unchecked_Access, Pool);
           --  Return the handle
           return Subpool'Unchecked_Access;
--- 298,334 ----
             Subpool_Start + Holder_Subpool'Max_Size_In_Storage_Elements;
              --  Will deal with alignment on allocation
  
!          Subpool : aliased Holder_Subpool
!            with Address => Subpool_Start, Import;
!          --  Import is specified to avoid unwanted early finalization.
!          --  But that also prevents initialization (via either default
!          --  initialization or an explicit initial value expression) ...
        begin
+          --  ... so instead initialize Subpool via overlays. But that
+          --  assumes a representation where copying bytes works, and that
+          --  assumption doesn't hold for self-referential pointers.
+          --  So we also call Subpools._Adjust_Clone (sic). Ugly.
+ 
+          declare
+             use System;
+ 
+             Subpool_Init_Source : aliased Holder_Subpool :=
+               (Root_Subpool with Start => Element_Start);
+ 
+             pragma Assert (Holder_Subpool'Size mod Storage_Unit = 0);
+ 
+             subtype Holder_Subpool_Storage is
+               Storage_Array (1 .. Holder_Subpool'Size / Storage_Unit);
+             Source : Holder_Subpool_Storage with Import,
+               Address => Subpool_Init_Source'Address;
+             Target : Holder_Subpool_Storage with Import,
+               Address => Subpool'Address;
+          begin
+             Target := Source;
+             --  leading underscore is deliberate
+             _Adjust_Clone (Root_Subpool (Subpool));
+          end;
+ 
           Set_Pool_Of_Subpool (Subpool'Unchecked_Access, Pool);
           --  Return the handle
           return Subpool'Unchecked_Access;
diff -Nrcpad gcc-16-20260308/gcc/ada/libgnat/s-stposu.adb gcc-16-20260315/gcc/ada/libgnat/s-stposu.adb
*** gcc-16-20260308/gcc/ada/libgnat/s-stposu.adb	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/ada/libgnat/s-stposu.adb	Sun Mar 15 22:32:06 2026
*************** package body System.Storage_Pools.Subpoo
*** 695,698 ****
--- 695,707 ----
        Attach (N_Ptr, To.Subpools'Unchecked_Access);
     end Set_Pool_Of_Subpool;
  
+    -------------------
+    -- _Adjust_Clone --
+    -------------------
+ 
+    procedure _Adjust_Clone (Subpool : in out Root_Subpool) is
+    begin
+       Finalization_Primitives.Initialize (Subpool.Collection);
+    end _Adjust_Clone;
+ 
  end System.Storage_Pools.Subpools;
diff -Nrcpad gcc-16-20260308/gcc/ada/libgnat/s-stposu.ads gcc-16-20260315/gcc/ada/libgnat/s-stposu.ads
*** gcc-16-20260308/gcc/ada/libgnat/s-stposu.ads	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/ada/libgnat/s-stposu.ads	Sun Mar 15 22:32:06 2026
*************** package System.Storage_Pools.Subpools is
*** 131,136 ****
--- 131,148 ----
     is
        (System.Storage_Elements.Storage_Count'Last);
  
+    procedure _Adjust_Clone (Subpool : in out Root_Subpool);
+    --  After copying the value of an initialized (but otherwise unused)
+    --  Root_Subpool object into another subpool object using unchecked
+    --  techniques (an assignment statement would be illegal), this
+    --  procedure is called to fixup the copy (in particular, it fixes up
+    --  self-referential access values contained therein).
+    --
+    --  The leading underscore is intentional. We don't want a user-visible
+    --  declaration that is not mentioned in the spec for this package that
+    --  is given in the Ada RM. This subprogram is called only from the body
+    --  of Ada.Containers.Bounded_Indefinite_Holders.
+ 
  private
     --  SP_Nodes are created on the heap, while collection nodes and associated
     --  objects are created on the pool_with_subpools.
diff -Nrcpad gcc-16-20260308/gcc/ada/sem_attr.adb gcc-16-20260315/gcc/ada/sem_attr.adb
*** gcc-16-20260308/gcc/ada/sem_attr.adb	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/ada/sem_attr.adb	Sun Mar 15 22:32:06 2026
*************** package body Sem_Attr is
*** 12043,12071 ****
                     Static_Accessibility_Level (N, Zero_On_Dynamic_Level) >
                       Deepest_Type_Access_Level (Btyp)
                 then
!                   --  In an instance, this is a runtime check, but one we know
!                   --  will fail, so generate an appropriate warning. As usual,
!                   --  this kind of warning is an error in SPARK mode.
! 
!                   if In_Instance_Body then
!                      Error_Msg_Warn :=
!                        SPARK_Mode /= On
!                          and then
!                            not No_Dynamic_Accessibility_Checks_Enabled (P);
! 
!                      Error_Msg_F
!                        ("non-local pointer cannot point to local object<<", P);
!                      Error_Msg_F ("\Program_Error [<<", P);
! 
!                      Rewrite (N,
!                        Make_Raise_Program_Error (Loc,
!                          Reason => PE_Accessibility_Check_Failed));
!                      Set_Etype (N, Typ);
! 
!                   else
!                      Error_Msg_F
!                        ("non-local pointer cannot point to local object", P);
!                   end if;
                 end if;
  
                 if Attr_Id /= Attribute_Unrestricted_Access
--- 12043,12049 ----
                     Static_Accessibility_Level (N, Zero_On_Dynamic_Level) >
                       Deepest_Type_Access_Level (Btyp)
                 then
!                   Accessibility_Message (N, Typ);
                 end if;
  
                 if Attr_Id /= Attribute_Unrestricted_Access
*************** package body Sem_Attr is
*** 12233,12254 ****
                                     and then Ekind (Btyp)
                                                = E_Anonymous_Access_Type)
  
-                     --  Call Accessibility_Level directly to avoid returning
-                     --  zero on cases where the prefix is an explicitly aliased
-                     --  parameter in a return statement, instead of using the
-                     --  normal Static_Accessibility_Level function.
- 
-                     --  Shouldn't this be handled somehow in
-                     --  Static_Accessibility_Level ???
- 
-                     and then Nkind (Accessibility_Level (P, Dynamic_Level))
-                                = N_Integer_Literal
                      and then
!                       Intval (Accessibility_Level (P, Dynamic_Level))
!                         > Deepest_Type_Access_Level (Btyp)
                    then
                       Accessibility_Message (N, Typ);
-                      return;
                    end if;
                 end;
              end if;
--- 12211,12221 ----
                                     and then Ekind (Btyp)
                                                = E_Anonymous_Access_Type)
  
                      and then
!                       Static_Accessibility_Level (N, Zero_On_Dynamic_Level) >
!                         Deepest_Type_Access_Level (Btyp)
                    then
                       Accessibility_Message (N, Typ);
                    end if;
                 end;
              end if;
*************** package body Sem_Attr is
*** 12274,12280 ****
                   and then Attr_Id /= Attribute_Unrestricted_Access
                 then
                    Accessibility_Message (N, Typ);
-                   return;
  
                 --  AI05-0225: If the context is not an access to protected
                 --  function, the prefix must be a variable, given that it may
--- 12241,12246 ----
*************** package body Sem_Attr is
*** 12424,12432 ****
              --  array type since a value conversion is like an aggregate with
              --  respect to determining accessibility level (RM 3.10.2).
  
!             if not Prefix_With_Safe_Accessibility_Level (N, Typ) then
                 Accessibility_Message (N, Typ);
-                return;
              end if;
  
              --  Mark that address of entity is taken in case of
--- 12390,12399 ----
              --  array type since a value conversion is like an aggregate with
              --  respect to determining accessibility level (RM 3.10.2).
  
!             if Nkind (N) /= N_Raise_Program_Error
!               and then not Prefix_With_Safe_Accessibility_Level (N, Typ)
!             then
                 Accessibility_Message (N, Typ);
              end if;
  
              --  Mark that address of entity is taken in case of
diff -Nrcpad gcc-16-20260308/gcc/ada/sem_res.adb gcc-16-20260315/gcc/ada/sem_res.adb
*** gcc-16-20260308/gcc/ada/sem_res.adb	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/ada/sem_res.adb	Sun Mar 15 22:32:06 2026
*************** package body Sem_Res is
*** 3799,3804 ****
--- 3799,3812 ----
              then
                 Accessibility_Error ("conversion");
  
+             elsif Ekind (Etype (Nam)) = E_Anonymous_Access_Type
+               and then Nkind (Parent (N)) = N_Assignment_Statement
+               and then Static_Accessibility_Level
+                          (Name (Parent (N)), Object_Decl_Level)
+                            < Static_Accessibility_Level (A, Object_Decl_Level)
+             then
+                Accessibility_Error ("assignment");
+ 
              elsif Nkind (Parent (N)) = N_Qualified_Expression
                and then Nkind (Parent (Parent (N))) = N_Allocator
                and then Type_Access_Level (Etype (Parent (Parent (N))))
*************** package body Sem_Res is
*** 3810,3816 ****
                and then Comes_From_Source (N)
                and then Subprogram_Access_Level (Current_Subprogram)
                           < Static_Accessibility_Level
!                             (A, Object_Decl_Level, In_Return_Context => True)
              then
                 Accessibility_Error ("return");
              end if;
--- 3818,3824 ----
                and then Comes_From_Source (N)
                and then Subprogram_Access_Level (Current_Subprogram)
                           < Static_Accessibility_Level
!                              (A, Object_Decl_Level, In_Return_Context => True)
              then
                 Accessibility_Error ("return");
              end if;
diff -Nrcpad gcc-16-20260308/gcc/algol68/ChangeLog gcc-16-20260315/gcc/algol68/ChangeLog
*** gcc-16-20260308/gcc/algol68/ChangeLog	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/algol68/ChangeLog	Sun Mar 15 22:32:07 2026
***************
*** 1,3 ****
--- 1,17 ----
+ 2026-03-14  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	* a68-low-strings.cc (a68_string_mult): Adjust to RR semantics for
+ 	negative or zero factor argument.
+ 	* ga68.texi (String operators): Adjust documentation accordingly.
+ 
+ 2026-03-08  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	PR algol68/124372
+ 	* a68-low-units.cc (a68_lower_denotation): Call to strtoull if
+ 	INT64_T_IS_LONG is not defined, strtol otherwise.
+ 	* a68-parser-scanner.cc (get_next_token): Use strtoul for radix
+ 	instead of strtol.
+ 
  2026-03-05  Jose E. Marchesi  <jemarch@gnu.org>
  
  	PR algol68/124322
diff -Nrcpad gcc-16-20260308/gcc/algol68/a68-low-strings.cc gcc-16-20260315/gcc/algol68/a68-low-strings.cc
*** gcc-16-20260308/gcc/algol68/a68-low-strings.cc	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/algol68/a68-low-strings.cc	Sun Mar 15 22:32:07 2026
*************** a68_string_mult (tree str, tree factor)
*** 191,206 ****
  
    str = save_expr (str);
    tree ssize_one_node = ssize_int (1);
!   tree res = a68_lower_tmpvar ("res%", CTYPE (M_STRING), str);
    tree index = a68_lower_tmpvar ("index%", ssizetype, ssize_one_node);
  
    /* Begin of loop body.  */
    a68_push_range (NULL);
  
!   /* if (index == FACTOR) break;  */
    a68_add_stmt (fold_build1 (EXIT_EXPR,
  			     void_type_node,
! 			     fold_build2 (GE_EXPR, ssizetype,
  					  index,
  					  fold_convert (ssizetype, factor))));
  
--- 191,209 ----
  
    str = save_expr (str);
    tree ssize_one_node = ssize_int (1);
!   tree res = a68_lower_tmpvar ("res%", CTYPE (M_STRING),
! 			       fold_build1 (INDIRECT_REF, CTYPE(M_STRING),
! 					    a68_low_gen (M_STRING, 0, NULL,
! 							 false /* use_heap */)));
    tree index = a68_lower_tmpvar ("index%", ssizetype, ssize_one_node);
  
    /* Begin of loop body.  */
    a68_push_range (NULL);
  
!   /* if (index > FACTOR) break;  */
    a68_add_stmt (fold_build1 (EXIT_EXPR,
  			     void_type_node,
! 			     fold_build2 (GT_EXPR, ssizetype,
  					  index,
  					  fold_convert (ssizetype, factor))));
  
diff -Nrcpad gcc-16-20260308/gcc/algol68/ga68.texi gcc-16-20260315/gcc/algol68/ga68.texi
*** gcc-16-20260308/gcc/algol68/ga68.texi	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/algol68/ga68.texi	Sun Mar 15 22:32:07 2026
*************** Dyadic operator that yields the concaten
*** 2754,2762 ****
  
  @deftypefn Operator {} {*} (= (@B{int} a, @B{string} b) @B{string})
  @deftypefnx Operator {} {*} (= (@B{string} b, @B{int} a) @B{string})
! Dyadic operator that yields the string @code{a} concatenated @code{a}
! times to itself.  If @code{a} is less than zero then it is interpreted
! to be zero.
  @end deftypefn
  
  @subsection Composition combined with assignation
--- 2754,2762 ----
  
  @deftypefn Operator {} {*} (= (@B{int} a, @B{string} b) @B{string})
  @deftypefnx Operator {} {*} (= (@B{string} b, @B{int} a) @B{string})
! Dyadic operator that yields the string composed of @code{a}
! concatenated copies of @code{b}.  If @code{a} is less than zero then
! it is interpreted to be zero.
  @end deftypefn
  
  @subsection Composition combined with assignation
diff -Nrcpad gcc-16-20260308/gcc/analyzer/ChangeLog gcc-16-20260315/gcc/analyzer/ChangeLog
*** gcc-16-20260308/gcc/analyzer/ChangeLog	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/analyzer/ChangeLog	Sun Mar 15 22:32:07 2026
***************
*** 1,3 ****
--- 1,35 ----
+ 2026-03-12  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/124451
+ 	* region-model-manager.cc
+ 	(region_model_manager::maybe_invert_comparison_in_unaryop): New,
+ 	adapted from...
+ 	(region_model_manager::maybe_fold_unaryop): ...here, splitting out
+ 	the comparison inversion case for TRUTH_NOT_EXPR.  Add a case for
+ 	BIT_NOT_EXPR, reusing the inversion logic when dealing with
+ 	boolean types.
+ 	* region-model-manager.h
+ 	(region_model_manager::maybe_invert_comparison_in_unaryop): New decl.
+ 
+ 2026-03-12  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/124375
+ 	* ops.cc (ggoto_edge_op::apply_constraints): Ensure that we write
+ 	back a rejected_constraint if the edge is infeasible.
+ 	* region-model.cc (region_model::add_constraint): Convert
+ 	rejected_op_constraint from tree to const svalue *.
+ 	(rejected_op_constraint::dump_to_pp): Likewise.
+ 	* region-model.h (class rejected_op_constraint): Likewise.
+ 
+ 2026-03-12  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/124433
+ 	* region-model-manager.cc
+ 	(region_model_manager::maybe_fold_binop): When checking for
+ 	division by zero, use the value range of the divisor, rather
+ 	than merely checking for constant 0.
+ 	* region-model.cc (region_model::get_gassign_result): Likewise.
+ 
  2026-03-06  David Malcolm  <dmalcolm@redhat.com>
  
  	PR testsuite/112520
diff -Nrcpad gcc-16-20260308/gcc/analyzer/ops.cc gcc-16-20260315/gcc/analyzer/ops.cc
*** gcc-16-20260308/gcc/analyzer/ops.cc	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/analyzer/ops.cc	Sun Mar 15 22:32:07 2026
*************** ggoto_edge_op::
*** 1481,1487 ****
  apply_constraints (const superedge *,
  		   region_model &model,
  		   region_model_context *ctxt,
! 		   std::unique_ptr<rejected_constraint> */*out_rc*/) const
  {
    const ggoto &goto_stmt = get_ggoto ();
    tree dest = gimple_goto_dest (&goto_stmt);
--- 1481,1487 ----
  apply_constraints (const superedge *,
  		   region_model &model,
  		   region_model_context *ctxt,
! 		   std::unique_ptr<rejected_constraint> *out_rc) const
  {
    const ggoto &goto_stmt = get_ggoto ();
    tree dest = gimple_goto_dest (&goto_stmt);
*************** apply_constraints (const superedge *,
*** 1497,1503 ****
  	= mgr->get_ptr_svalue (ptr_type_node, dst_label_reg);
  
        if (!model.add_constraint (dest_sval, EQ_EXPR, dst_label_ptr, ctxt))
! 	return false;
      }
  
    return true;
--- 1497,1511 ----
  	= mgr->get_ptr_svalue (ptr_type_node, dst_label_reg);
  
        if (!model.add_constraint (dest_sval, EQ_EXPR, dst_label_ptr, ctxt))
! 	{
! 	  if (out_rc)
! 	    *out_rc
! 	      = std::make_unique <rejected_op_constraint> (model,
! 							   dest_sval,
! 							   EQ_EXPR,
! 							   dst_label_ptr);
! 	  return false;
! 	}
      }
  
    return true;
diff -Nrcpad gcc-16-20260308/gcc/analyzer/region-model-manager.cc gcc-16-20260315/gcc/analyzer/region-model-manager.cc
*** gcc-16-20260308/gcc/analyzer/region-model-manager.cc	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/analyzer/region-model-manager.cc	Sun Mar 15 22:32:07 2026
*************** region_model_manager::get_ptr_svalue (tr
*** 405,410 ****
--- 405,435 ----
    return sval;
  }
  
+ /* Subroutine of region_model_manager::maybe_fold_unaryop
+    when the arg is a binop_svalue.
+    Invert comparisons e.g. "!(x == y)" => "x != y".
+    Otherwise, return nullptr.  */
+ 
+ const svalue *
+ region_model_manager::
+ maybe_invert_comparison_in_unaryop (tree result_type,
+ 				    const binop_svalue *binop)
+ {
+   if (TREE_CODE_CLASS (binop->get_op ()) == tcc_comparison)
+     {
+       enum tree_code inv_op
+ 	= invert_tree_comparison (binop->get_op (),
+ 				  HONOR_NANS (binop->get_type ()));
+       if (inv_op != ERROR_MARK)
+ 	return get_or_create_cast
+ 	  (result_type,
+ 	   get_or_create_binop (binop->get_type (), inv_op,
+ 				binop->get_arg0 (),
+ 				binop->get_arg1 ()));
+     }
+   return nullptr;
+ }
+ 
  /* Subroutine of region_model_manager::get_or_create_unaryop.
     Attempt to fold the inputs and return a simpler svalue *.
     Otherwise, return nullptr.  */
*************** region_model_manager::maybe_fold_unaryop
*** 470,485 ****
        {
  	/* Invert comparisons e.g. "!(x == y)" => "x != y".  */
  	if (const binop_svalue *binop = arg->dyn_cast_binop_svalue ())
! 	  if (TREE_CODE_CLASS (binop->get_op ()) == tcc_comparison)
! 	    {
! 	      enum tree_code inv_op
! 		= invert_tree_comparison (binop->get_op (),
! 					  HONOR_NANS (binop->get_type ()));
! 	      if (inv_op != ERROR_MARK)
! 		return get_or_create_binop (binop->get_type (), inv_op,
! 					    binop->get_arg0 (),
! 					    binop->get_arg1 ());
! 	    }
        }
        break;
      case NEGATE_EXPR:
--- 495,503 ----
        {
  	/* Invert comparisons e.g. "!(x == y)" => "x != y".  */
  	if (const binop_svalue *binop = arg->dyn_cast_binop_svalue ())
! 	  if (const svalue *folded
! 		= maybe_invert_comparison_in_unaryop (type, binop))
! 	    return folded;
        }
        break;
      case NEGATE_EXPR:
*************** region_model_manager::maybe_fold_unaryop
*** 493,498 ****
--- 511,529 ----
  	    return unaryop->get_arg ();
        }
        break;
+     case BIT_NOT_EXPR:
+       {
+ 	/* Invert comparisons for e.g. "~(x == y)" => "x != y".  */
+ 	if (type
+ 	    && TREE_CODE (type) == BOOLEAN_TYPE
+ 	    && arg->get_type ()
+ 	    && TREE_CODE (arg->get_type ()) == BOOLEAN_TYPE)
+ 	  if (const binop_svalue *binop = arg->dyn_cast_binop_svalue ())
+ 	    if (const svalue *folded
+ 		= maybe_invert_comparison_in_unaryop (type, binop))
+ 	      return folded;
+       }
+       break;
      }
  
    /* Constants.  */
*************** region_model_manager::maybe_fold_binop (
*** 803,810 ****
      case ROUND_MOD_EXPR:
      case RDIV_EXPR:
      case EXACT_DIV_EXPR:
!       if (cst1 && zerop (cst1))
! 	return get_or_create_unknown_svalue (type);
        break;
      }
  
--- 834,845 ----
      case ROUND_MOD_EXPR:
      case RDIV_EXPR:
      case EXACT_DIV_EXPR:
!       {
! 	value_range arg1_vr;
! 	if (arg1->maybe_get_value_range (arg1_vr))
! 	  if (arg1_vr.zero_p ())
! 	    return get_or_create_unknown_svalue (type);
!       }
        break;
      }
  
diff -Nrcpad gcc-16-20260308/gcc/analyzer/region-model-manager.h gcc-16-20260315/gcc/analyzer/region-model-manager.h
*** gcc-16-20260308/gcc/analyzer/region-model-manager.h	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/analyzer/region-model-manager.h	Sun Mar 15 22:32:07 2026
*************** private:
*** 181,186 ****
--- 181,189 ----
    bool too_complex_p (const complexity &c) const;
    bool reject_if_too_complex (svalue *sval);
  
+   const svalue *
+   maybe_invert_comparison_in_unaryop (tree type,
+ 				      const binop_svalue *binop);
    const svalue *maybe_fold_unaryop (tree type, enum tree_code op,
  				    const svalue *arg);
    const svalue *maybe_fold_sub_svalue (tree type,
diff -Nrcpad gcc-16-20260308/gcc/analyzer/region-model.cc gcc-16-20260315/gcc/analyzer/region-model.cc
*** gcc-16-20260308/gcc/analyzer/region-model.cc	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/analyzer/region-model.cc	Sun Mar 15 22:32:07 2026
*************** region_model::get_gassign_result (const
*** 1365,1372 ****
  		|| op == RDIV_EXPR
  		|| op == EXACT_DIV_EXPR))
  	  {
! 	    if (const tree rhs2_cst = rhs2_sval->maybe_get_constant ())
! 	      if (zerop (rhs2_cst))
  		{
  		  /* Ideally we should issue a warning here;
  		     see PR analyzer/124217.  */
--- 1365,1373 ----
  		|| op == RDIV_EXPR
  		|| op == EXACT_DIV_EXPR))
  	  {
! 	    value_range rhs_vr;
! 	    if (rhs2_sval->maybe_get_value_range (rhs_vr))
! 	      if (rhs_vr.zero_p ())
  		{
  		  /* Ideally we should issue a warning here;
  		     see PR analyzer/124217.  */
*************** region_model::add_constraint (tree lhs,
*** 5805,5811 ****
  {
    bool sat = add_constraint (lhs, op, rhs, ctxt);
    if (!sat && out)
!     *out = std::make_unique <rejected_op_constraint> (*this, lhs, op, rhs);
    return sat;
  }
  
--- 5806,5817 ----
  {
    bool sat = add_constraint (lhs, op, rhs, ctxt);
    if (!sat && out)
!     {
!       const svalue *lhs_sval = get_rvalue (lhs, nullptr);
!       const svalue *rhs_sval = get_rvalue (rhs, nullptr);
!       *out = std::make_unique <rejected_op_constraint> (*this,
! 							lhs_sval, op, rhs_sval);
!     }
    return sat;
  }
  
*************** void
*** 7622,7632 ****
  rejected_op_constraint::dump_to_pp (pretty_printer *pp) const
  {
    region_model m (m_model);
!   const svalue *lhs_sval = m.get_rvalue (m_lhs, nullptr);
!   const svalue *rhs_sval = m.get_rvalue (m_rhs, nullptr);
!   lhs_sval->dump_to_pp (pp, true);
    pp_printf (pp, " %s ", op_symbol_code (m_op));
!   rhs_sval->dump_to_pp (pp, true);
  }
  
  /* class rejected_default_case : public rejected_constraint.  */
--- 7628,7636 ----
  rejected_op_constraint::dump_to_pp (pretty_printer *pp) const
  {
    region_model m (m_model);
!   m_lhs->dump_to_pp (pp, true);
    pp_printf (pp, " %s ", op_symbol_code (m_op));
!   m_rhs->dump_to_pp (pp, true);
  }
  
  /* class rejected_default_case : public rejected_constraint.  */
diff -Nrcpad gcc-16-20260308/gcc/analyzer/region-model.h gcc-16-20260315/gcc/analyzer/region-model.h
*** gcc-16-20260308/gcc/analyzer/region-model.h	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/analyzer/region-model.h	Sun Mar 15 22:32:07 2026
*************** class rejected_op_constraint : public re
*** 1268,1283 ****
  {
  public:
    rejected_op_constraint (const region_model &model,
! 			  tree lhs, enum tree_code op, tree rhs)
    : rejected_constraint (model),
      m_lhs (lhs), m_op (op), m_rhs (rhs)
    {}
  
    void dump_to_pp (pretty_printer *pp) const final override;
  
!   tree m_lhs;
    enum tree_code m_op;
!   tree m_rhs;
  };
  
  class rejected_default_case : public rejected_constraint
--- 1268,1283 ----
  {
  public:
    rejected_op_constraint (const region_model &model,
! 			  const svalue *lhs, enum tree_code op, const svalue *rhs)
    : rejected_constraint (model),
      m_lhs (lhs), m_op (op), m_rhs (rhs)
    {}
  
    void dump_to_pp (pretty_printer *pp) const final override;
  
!   const svalue *m_lhs;
    enum tree_code m_op;
!   const svalue *m_rhs;
  };
  
  class rejected_default_case : public rejected_constraint
diff -Nrcpad gcc-16-20260308/gcc/asm-toplevel.cc gcc-16-20260315/gcc/asm-toplevel.cc
*** gcc-16-20260308/gcc/asm-toplevel.cc	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/asm-toplevel.cc	Sun Mar 15 22:32:07 2026
***************
*** 1,5 ****
  /* Toplevel assembly.
!    Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Michal Jires <mjires@suse.cz>
  
  This file is part of GCC.
--- 1,5 ----
  /* Toplevel assembly.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Michal Jires <mjires@suse.cz>
  
  This file is part of GCC.
diff -Nrcpad gcc-16-20260308/gcc/c/ChangeLog gcc-16-20260315/gcc/c/ChangeLog
*** gcc-16-20260308/gcc/c/ChangeLog	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/c/ChangeLog	Sun Mar 15 22:32:07 2026
***************
*** 1,3 ****
--- 1,9 ----
+ 2026-03-10  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR c/123461
+ 	* c-decl.cc (declspecs_add_type): Move mark_decl_used
+ 	call after the check for error mark node.
+ 
  2026-03-06  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
  
  	PR c/97991
diff -Nrcpad gcc-16-20260308/gcc/c/c-decl.cc gcc-16-20260315/gcc/c/c-decl.cc
*** gcc-16-20260308/gcc/c/c-decl.cc	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/c/c-decl.cc	Sun Mar 15 22:32:07 2026
*************** declspecs_add_type (location_t loc, stru
*** 13065,13074 ****
      error_at (loc, "two or more data types in declaration specifiers");
    else if (TREE_CODE (type) == TYPE_DECL)
      {
-       mark_decl_used (type, false);
        specs->type = TREE_TYPE (type);
        if (TREE_TYPE (type) != error_mark_node)
  	{
  	  specs->decl_attr = DECL_ATTRIBUTES (type);
  	  specs->typedef_p = true;
  	  specs->explicit_signed_p = C_TYPEDEF_EXPLICITLY_SIGNED (type);
--- 13065,13074 ----
      error_at (loc, "two or more data types in declaration specifiers");
    else if (TREE_CODE (type) == TYPE_DECL)
      {
        specs->type = TREE_TYPE (type);
        if (TREE_TYPE (type) != error_mark_node)
  	{
+ 	  mark_decl_used (type, false);
  	  specs->decl_attr = DECL_ATTRIBUTES (type);
  	  specs->typedef_p = true;
  	  specs->explicit_signed_p = C_TYPEDEF_EXPLICITLY_SIGNED (type);
diff -Nrcpad gcc-16-20260308/gcc/c-family/ChangeLog gcc-16-20260315/gcc/c-family/ChangeLog
*** gcc-16-20260308/gcc/c-family/ChangeLog	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/c-family/ChangeLog	Sun Mar 15 22:32:07 2026
***************
*** 1,3 ****
--- 1,9 ----
+ 2026-03-12  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/124447
+ 	* c-opts.cc (c_common_post_options): Error if -freflection is used
+ 	without -std=c++26 or -std=gnu++26.
+ 
  2026-03-07  Martin Uecker  <uecker@tugraz.at>
  
  	PR c/123856
diff -Nrcpad gcc-16-20260308/gcc/c-family/c-opts.cc gcc-16-20260315/gcc/c-family/c-opts.cc
*** gcc-16-20260308/gcc/c-family/c-opts.cc	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/c-family/c-opts.cc	Sun Mar 15 22:32:07 2026
*************** c_common_post_options (const char **pfil
*** 1265,1270 ****
--- 1265,1274 ----
    if (flag_immediate_escalation && cxx_dialect < cxx20)
      flag_immediate_escalation = 0;
  
+   if (flag_reflection && cxx_dialect < cxx26)
+     error ("%<-freflection%> only supported with %<-std=c++26%> or "
+ 	   "%<-std=gnu++26%>");
+ 
    if (num_in_fnames > 1)
      error ("too many filenames given; type %<%s %s%> for usage",
  	   progname, "--help");
diff -Nrcpad gcc-16-20260308/gcc/channels.h gcc-16-20260315/gcc/channels.h
*** gcc-16-20260308/gcc/channels.h	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/channels.h	Sun Mar 15 22:32:07 2026
***************
*** 1,5 ****
  /* channels.h - Publish/Subscribe channels on compiler-specific topics.
!    Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
--- 1,5 ----
  /* channels.h - Publish/Subscribe channels on compiler-specific topics.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
diff -Nrcpad gcc-16-20260308/gcc/config/aarch64/aarch64-c.cc gcc-16-20260315/gcc/config/aarch64/aarch64-c.cc
*** gcc-16-20260308/gcc/config/aarch64/aarch64-c.cc	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/config/aarch64/aarch64-c.cc	Sun Mar 15 22:32:07 2026
***************
*** 37,42 ****
--- 37,46 ----
  #define builtin_define(TXT) cpp_define (pfile, TXT)
  #define builtin_assert(TXT) cpp_assert (pfile, TXT)
  
+ /* Not on Windows ABI unless explicitly set.  */
+ #ifndef TARGET_AARCH64_MS_ABI
+ #define TARGET_AARCH64_MS_ABI 0
+ #endif
  
  static void
  aarch64_def_or_undef (bool def_p, const char *macro, cpp_reader *pfile)
*************** aarch64_define_unconditional_macros (cpp
*** 73,79 ****
    builtin_define ("__ARM_FEATURE_CLZ");
    builtin_define ("__ARM_FEATURE_IDIV");
    builtin_define ("__ARM_FEATURE_UNALIGNED");
-   builtin_define ("__ARM_PCS_AAPCS64");
    builtin_define_with_int_value ("__ARM_SIZEOF_WCHAR_T", WCHAR_TYPE_SIZE / 8);
  
    builtin_define ("__GCC_ASM_FLAG_OUTPUTS__");
--- 77,82 ----
*************** aarch64_update_cpp_builtins (cpp_reader
*** 147,152 ****
--- 150,156 ----
  
    aarch64_def_or_undef (TARGET_FLOAT, "__ARM_FEATURE_FMA", pfile);
  
+   aarch64_def_or_undef (!TARGET_AARCH64_MS_ABI, "__ARM_PCS_AAPCS64", pfile);
    if (TARGET_FLOAT)
      {
        builtin_define_with_int_value ("__ARM_FP", 0x0E);
diff -Nrcpad gcc-16-20260308/gcc/config/aarch64/gcc-auto-profile gcc-16-20260315/gcc/config/aarch64/gcc-auto-profile
*** gcc-16-20260308/gcc/config/aarch64/gcc-auto-profile	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/config/aarch64/gcc-auto-profile	Sun Mar 15 22:32:07 2026
*************** if [ "$use_brbe" = true ] ; then
*** 43,53 ****
      echo >&2 "Warning: branch profiling may not be functional in VMs"
    fi
    set -x
!   perf record -j any,$FLAGS "$@"
    set +x
  else
    echo >&2 "Warning: branch profiling may not be functional without BRBE"
    set -x
!   perf record "$@"
    set +x
  fi
--- 43,53 ----
      echo >&2 "Warning: branch profiling may not be functional in VMs"
    fi
    set -x
!   perf record --inherit -o perf.data -j any,$FLAGS "$@"
    set +x
  else
    echo >&2 "Warning: branch profiling may not be functional without BRBE"
    set -x
!   perf record --inherit -o perf.data "$@"
    set +x
  fi
diff -Nrcpad gcc-16-20260308/gcc/config/arm/arm-protos.h gcc-16-20260315/gcc/config/arm/arm-protos.h
*** gcc-16-20260308/gcc/config/arm/arm-protos.h	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/config/arm/arm-protos.h	Sun Mar 15 22:32:07 2026
*************** extern bool arm_pad_reg_upward (machine_
*** 209,214 ****
--- 209,215 ----
  #endif
  extern int arm_apply_result_size (void);
  extern opt_machine_mode arm_get_mask_mode (machine_mode mode);
+ extern bool arm_bitint_type_info (int, struct bitint_info *);
  extern bool arm_noce_conversion_profitable_p (rtx_insn *,struct noce_if_info *);
  
  #endif /* RTX_CODE */
diff -Nrcpad gcc-16-20260308/gcc/config/arm/arm.cc gcc-16-20260315/gcc/config/arm/arm.cc
*** gcc-16-20260308/gcc/config/arm/arm.cc	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/config/arm/arm.cc	Sun Mar 15 22:32:07 2026
*************** static const scoped_attribute_specs *con
*** 842,847 ****
--- 842,850 ----
  
  #undef TARGET_FLAGS_REGNUM
  #define TARGET_FLAGS_REGNUM CC_REGNUM
+ 
+ #undef TARGET_C_BITINT_TYPE_INFO
+ #define TARGET_C_BITINT_TYPE_INFO arm_bitint_type_info
  
  /* Obstack for minipool constant handling.  */
  static struct obstack minipool_obstack;
*************** arm_return_in_memory (const_tree type, c
*** 6130,6135 ****
--- 6133,6140 ----
  	 We don't care about which register here, so we can short-cut
  	 some of the detail.  */
        if (!AGGREGATE_TYPE_P (type)
+ 	  /* A _BitInt(N) for N <= 64 is a simple, non-aggregate type.  */
+ 	  && !(TREE_CODE (type) == BITINT_TYPE && size > 8)
  	  && TREE_CODE (type) != VECTOR_TYPE
  	  && TREE_CODE (type) != COMPLEX_TYPE)
  	return false;
*************** arm_return_in_memory (const_tree type, c
*** 6159,6166 ****
    if (TREE_CODE (type) == VECTOR_TYPE)
      return (size < 0 || size > (4 * UNITS_PER_WORD));
  
!   if (!AGGREGATE_TYPE_P (type) &&
!       (TREE_CODE (type) != VECTOR_TYPE))
      /* All simple types are returned in registers.  */
      return false;
  
--- 6164,6173 ----
    if (TREE_CODE (type) == VECTOR_TYPE)
      return (size < 0 || size > (4 * UNITS_PER_WORD));
  
!   if (!AGGREGATE_TYPE_P (type)
!       /* A _BitInt(N) for N <= 64 is a simple, non-aggregate type.  */
!       && !(TREE_CODE (type) == BITINT_TYPE && size > 8)
!       && (TREE_CODE (type) != VECTOR_TYPE))
      /* All simple types are returned in registers.  */
      return false;
  
*************** arm_needs_doubleword_align (machine_mode
*** 7219,7224 ****
--- 7226,7239 ----
    if (!type)
      return GET_MODE_ALIGNMENT (mode) > PARM_BOUNDARY;
  
+   /* For any _BitInt(N) where N > 32 the ABI demands double word alignment.  */
+   if (TREE_CODE (type) == BITINT_TYPE)
+     {
+       if (int_size_in_bytes (type) > 4)
+ 	return 1;
+       return 0;
+     }
+ 
    /* Scalar and vector types: Use natural alignment, i.e. of base type.  */
    if (!AGGREGATE_TYPE_P (type))
      return TYPE_ALIGN (TYPE_MAIN_VARIANT (type)) > PARM_BOUNDARY;
*************** arm_get_mask_mode (machine_mode mode)
*** 35886,35891 ****
--- 35901,35942 ----
    return default_get_mask_mode (mode);
  }
  
+ 
+ /* Implement TARGET_C_BITINT_TYPE_INFO
+    Return true if _BitInt(N) is supported and fill its details into *INFO.  */
+ 
+ bool
+ arm_bitint_type_info (int n, struct bitint_info *info)
+ {
+   if (TARGET_BIG_END)
+     return false;
+ 
+   if (n <= 8)
+     info->limb_mode = QImode;
+   else if (n <= 16)
+     info->limb_mode = HImode;
+   else if (n <= 32)
+     info->limb_mode = SImode;
+   else if (n <= 64)
+     info->limb_mode = DImode;
+   else
+     /* The AAPCS for Arm defines _BitInt(N > 64) as an array with
+        type {signed,unsigned} __int64[M] where M = (N/64) + 1.  However, to be
+        able to use libgcc's implementation to support large _BitInt's we need
+        to use a LIMB_MODE that is no larger than 'long int'.  This is why we
+        use SImode for our internal LIMB_MODE and we define the ABI_LIMB_MODE to
+        be DImode to ensure we are ABI compliant.  */
+     info->limb_mode = SImode;
+ 
+   if (n > 64)
+     info->abi_limb_mode = DImode;
+   else
+     info->abi_limb_mode = info->limb_mode;
+   info->big_endian = TARGET_BIG_END;
+   info->extended = true;
+   return true;
+ }
+ 
  /* Helper function to determine whether SEQ represents a sequence of
     instructions representing the vsel<cond> floating point instructions.
     This is an heuristic to check whether the proposed optimisation is desired,
diff -Nrcpad gcc-16-20260308/gcc/config/arm/arm.md gcc-16-20260315/gcc/config/arm/arm.md
*** gcc-16-20260308/gcc/config/arm/arm.md	Sun Mar  8 22:32:05 2026
--- gcc-16-20260315/gcc/config/arm/arm.md	Sun Mar 15 22:32:07 2026
***************
*** 996,1002 ****
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "subvsi3_intmin"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	  (plus:DI
--- 996,1002 ----
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "sub_cmpVsi3_intmin"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	  (plus:DI
***************
*** 1416,1430 ****
        operands[2] = GEN_INT (-INTVAL (operands[2]));
        /* Special case for INT_MIN.  */
        if (INTVAL (operands[2]) == 0x80000000)
! 	emit_insn (gen_subvsi3_intmin (operands[0], operands[1]));
        else
  	emit_insn (gen_addsi3_compareV_imm (operands[0], operands[1],
! 					  operands[2]));
      }
    else if (CONST_INT_P (operands[1]))
!     emit_insn (gen_subvsi3_imm1 (operands[0], operands[1], operands[2]));
    else
!     emit_insn (gen_subvsi3 (operands[0], operands[1], operands[2]));
  
    arm_gen_unlikely_cbranch (NE, CC_Vmode, operands[3]);
    DONE;
--- 1416,1430 ----
        operands[2] = GEN_INT (-INTVAL (operands[2]));
        /* Special case for INT_MIN.  */
        if (INTVAL (operands[2]) == 0x80000000)
! 	emit_insn (gen_sub_cmpVsi3_intmin (operands[0], operands[1]));
        else
  	emit_insn (gen_addsi3_compareV_imm (operands[0], operands[1],
! 					    operands[2]));
      }
    else if (CONST_INT_P (operands[1]))
!     emit_insn (gen_sub_cmpVsi3_imm1 (operands[0], operands[1], operands[2]));
    else
!     emit_insn (gen_sub_cmpVsi3 (operands[0], operands[1], operands[2]));
  
    arm_gen_unlikely_cbranch (NE, CC_Vmode, operands[3]);
    DONE;
***************
*** 1497,1510 ****
      hi_op2 = force_reg (SImode, hi_op2);
    rtx ccreg = gen_rtx_REG (mode, CC_REGNUM);
    if (CONST_INT_P (hi_op2))
!     emit_insn (gen_subvsi3_borrow_imm (hi_result, hi_op1, hi_op2,
  				       gen_rtx_LTU (SImode, ccreg, const0_rtx),
  				       gen_rtx_LTU (DImode, ccreg,
  						    const0_rtx)));
-   else
-     emit_insn (gen_subvsi3_borrow (hi_result, hi_op1, hi_op2,
- 				   gen_rtx_LTU (SImode, ccreg, const0_rtx),
- 				   gen_rtx_LTU (DImode, ccreg, const0_rtx)));
    arm_gen_unlikely_cbranch (NE, CC_Vmode, operands[3]);
  
    DONE;
--- 1497,1512 ----
      hi_op2 = force_reg (SImode, hi_op2);
    rtx ccreg = gen_rtx_REG (mode, CC_REGNUM);
    if (CONST_INT_P (hi_op2))
!     emit_insn (gen_sub_cmpVsi3_borrow_imm (hi_result, hi_op1, hi_op2,
! 					   gen_rtx_LTU (SImode, ccreg,
! 							const0_rtx),
! 					   gen_rtx_LTU (DImode, ccreg,
! 							const0_rtx)));
!   else
!     emit_insn (gen_sub_cmpVsi3_borrow (hi_result, hi_op1, hi_op2,
  				       gen_rtx_LTU (SImode, ccreg, const0_rtx),
  				       gen_rtx_LTU (DImode, ccreg,
  						    const0_rtx)));
    arm_gen_unlikely_cbranch (NE, CC_Vmode, operands[3]);
  
    DONE;
***************
*** 1614,1628 ****
      hi_op2 = force_reg (SImode, hi_op2);
    rtx ccreg = gen_rtx_REG (mode, CC_REGNUM);
    if (CONST_INT_P (hi_op2))
!     emit_insn (gen_usubvsi3_borrow_imm (hi_result, hi_op1, hi_op2,
! 					GEN_INT (UINTVAL (hi_op2) & 0xffffffff),
  					gen_rtx_LTU (SImode, ccreg, const0_rtx),
  					gen_rtx_LTU (DImode, ccreg,
  						     const0_rtx)));
-   else
-     emit_insn (gen_usubvsi3_borrow (hi_result, hi_op1, hi_op2,
- 				    gen_rtx_LTU (SImode, ccreg, const0_rtx),
- 				    gen_rtx_LTU (DImode, ccreg, const0_rtx)));
    arm_gen_unlikely_cbranch (LTU, CC_Bmode, operands[3]);
  
    DONE;
--- 1616,1633 ----
      hi_op2 = force_reg (SImode, hi_op2);
    rtx ccreg = gen_rtx_REG (mode, CC_REGNUM);
    if (CONST_INT_P (hi_op2))
!     emit_insn (gen_usub_cmpVsi3_borrow_imm (hi_result, hi_op1, hi_op2,
! 					    GEN_INT (UINTVAL (hi_op2)
! 						     & 0xffffffff),
! 					    gen_rtx_LTU (SImode, ccreg,
! 							 const0_rtx),
! 					    gen_rtx_LTU (DImode, ccreg,
! 							 const0_rtx)));
!   else
!     emit_insn (gen_usub_cmpVsi3_borrow (hi_result, hi_op1, hi_op2,
  					gen_rtx_LTU (SImode, ccreg, const0_rtx),
  					gen_rtx_LTU (DImode, ccreg,
  						     const0_rtx)));
    arm_gen_unlikely_cbranch (LTU, CC_Bmode, operands[3]);
  
    DONE;
***************
*** 1641,1647 ****
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "subvsi3"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
--- 1646,1652 ----
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "sub_cmpVsi3"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
***************
*** 1658,1664 ****
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "subvsi3_imm1"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
--- 1663,1669 ----
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "sub_cmpVsi3_imm1"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
***************
*** 2115,2121 ****
     (set_attr "type" "alus_imm")]
  )
  
! (define_insn "usubvsi3_borrow"
    [(set (reg:CC_B CC_REGNUM)
  	(compare:CC_B
  	 (zero_extend:DI (match_operand:SI 1 "s_register_operand" "0,r"))
--- 2120,2126 ----
     (set_attr "type" "alus_imm")]
  )
  
! (define_insn "usub_cmpVsi3_borrow"
    [(set (reg:CC_B CC_REGNUM)
  	(compare:CC_B
  	 (zero_extend:DI (match_operand:SI 1 "s_register_operand" "0,r"))
***************
*** 2133,2139 ****
     (set_attr "length" "2,4")]
  )
  
! (define_insn "usubvsi3_borrow_imm"
    [(set (reg:CC_B CC_REGNUM)
  	(compare:CC_B
  	 (zero_extend:DI (match_operand:SI 1 "s_register_operand" "r,r"))
--- 2138,2144 ----
     (set_attr "length" "2,4")]
  )
  
! (define_insn "usub_cmpVsi3_borrow_imm"
    [(set (reg:CC_B CC_REGNUM)
  	(compare:CC_B
  	 (zero_extend:DI (match_operand:SI 1 "s_register_operand" "r,r"))
***************
*** 2152,2158 ****
     (set_attr "type" "alus_imm")]
  )
  
! (define_insn "subvsi3_borrow"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
--- 2157,2163 ----
     (set_attr "type" "alus_imm")]
  )
  
! (define_insn "sub_cmpVsi3_borrow"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
***************
*** 2173,2179 ****
     (set_attr "length" "2,4")]
  )
  
! (define_insn "subvsi3_borrow_imm"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
--- 2178,2184 ----
     (set_attr "length" "2,4")]
  )
  
! (define_insn "sub_cmpVsi3_borrow_imm"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
diff -Nrcpad gcc-16-20260308/gcc/config/gcn/gcn.cc gcc-16-20260315/gcc/config/gcn/gcn.cc
*** gcc-16-20260308/gcc/config/gcn/gcn.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/gcn/gcn.cc	Sun Mar 15 22:32:07 2026
*************** VnMODE (int n, machine_mode mode)
*** 505,510 ****
--- 505,515 ----
  static unsigned char
  gcn_class_max_nregs (reg_class_t rclass, machine_mode mode)
  {
+   /* The aperture registers always hold a 64-bit value, though they can be
+      accessed as either full registers or their lower half.  */
+   if (rclass == MEMORY_APERTURE_REGS)
+     return 1;
+ 
    /* Scalar registers are 32bit, vector registers are in fact tuples of
       64 lanes.  */
    if (rclass == VGPR_REGS || rclass == AVGPR_REGS
*************** gcn_hard_regno_mode_ok (unsigned int reg
*** 602,607 ****
--- 607,620 ----
      }
    if (regno == ARG_POINTER_REGNUM || regno == FRAME_POINTER_REGNUM)
      return true;
+ 
+   if (MEMORY_APERTURE_REG_P (regno))
+     /* Memory aperture registers are accessible either by their lower half
+        (that is always zero, but accessible anyway), or by their whole value.
+        We, for now, don't permit the former, since there's no use to those
+        values yet.  */
+     return mode == DImode;
+ 
    if (SGPR_REGNO_P (regno))
      /* We restrict double register values to aligned registers.  */
      return (sgpr_1reg_mode_p (mode)
*************** gcn_regno_reg_class (int regno)
*** 645,650 ****
--- 658,665 ----
      case EXEC_HI_REG:
        return EXEC_MASK_REG;
      }
+   if (MEMORY_APERTURE_REG_P (regno))
+     return MEMORY_APERTURE_REGS;
    if (VGPR_REGNO_P (regno))
      return VGPR_REGS;
    if (AVGPR_REGNO_P (regno))
*************** gcn_operand_part (machine_mode mode, rtx
*** 765,770 ****
--- 780,788 ----
        if (REG_P (op))
  	{
  	  gcc_assert (REGNO (op) + n < FIRST_PSEUDO_REGISTER);
+ 	  gcc_assert (!MEMORY_APERTURE_REG_P (REGNO (op))
+ 		      /* We can't access the higher parts of aperture regs.  */
+ 		      || n == 0);
  	  return gen_rtx_REG (vsimode, REGNO (op) + n);
  	}
        if (GET_CODE (op) == CONST_VECTOR)
*************** gcn_operand_part (machine_mode mode, rtx
*** 785,790 ****
--- 803,811 ----
    else if (GET_MODE_SIZE (mode) == 8 && REG_P (op))
      {
        gcc_assert (REGNO (op) + n < FIRST_PSEUDO_REGISTER);
+       gcc_assert (!MEMORY_APERTURE_REG_P (REGNO (op))
+ 		  /* We can't access the higher parts of aperture regs.  */
+ 		  || n == 0);
        return gen_rtx_REG (SImode, REGNO (op) + n);
      }
    else
*************** gcn_addr_space_subset_p (addr_space_t su
*** 1853,1858 ****
--- 1874,1888 ----
    return false;
  }
  
+ static addr_space_t
+ gcn_addr_space_resolve_default (addr_space_t as)
+ {
+   if (as != ADDR_SPACE_DEFAULT)
+     return as;
+ 
+   return DEFAULT_ADDR_SPACE;
+ }
+ 
  /* Convert from one address space to another.  */
  
  static rtx
*************** gcn_addr_space_convert (rtx op, tree fro
*** 1861,1886 ****
    gcc_assert (POINTER_TYPE_P (from_type));
    gcc_assert (POINTER_TYPE_P (to_type));
  
!   addr_space_t as_from = TYPE_ADDR_SPACE (TREE_TYPE (from_type));
!   addr_space_t as_to = TYPE_ADDR_SPACE (TREE_TYPE (to_type));
  
    if (AS_LDS_P (as_from) && AS_FLAT_P (as_to))
      {
!       /* The high bits of the QUEUE_PTR_ARG register are used by
! 	 GCN_BUILTIN_FIRST_CALL_THIS_THREAD_P, so mask them out.  */
!       rtx queue_reg = gen_rtx_REG (DImode,
! 				   cfun->machine->args.reg[QUEUE_PTR_ARG]);
!       rtx queue_ptr = gen_reg_rtx (DImode);
!       emit_insn (gen_anddi3 (queue_ptr, queue_reg, GEN_INT (0xffffffffffff)));
!       rtx group_seg_aperture_hi = gen_rtx_MEM (SImode,
! 				     gen_rtx_PLUS (DImode, queue_ptr,
! 						   gen_int_mode (64, SImode)));
!       rtx tmp = gen_reg_rtx (DImode);
  
!       emit_move_insn (gen_lowpart (SImode, tmp), op);
!       emit_move_insn (gen_highpart_mode (SImode, DImode, tmp),
! 		      group_seg_aperture_hi);
  
        return tmp;
      }
    else if (as_from == as_to)
--- 1891,1924 ----
    gcc_assert (POINTER_TYPE_P (from_type));
    gcc_assert (POINTER_TYPE_P (to_type));
  
!   addr_space_t as_from = (gcn_addr_space_resolve_default
! 			  (TYPE_ADDR_SPACE (TREE_TYPE (from_type))));
!   addr_space_t as_to = (gcn_addr_space_resolve_default
! 			  (TYPE_ADDR_SPACE (TREE_TYPE (to_type))));
  
    if (AS_LDS_P (as_from) && AS_FLAT_P (as_to))
      {
!       /* The LDS based pointer is held in SHARED_BASE.
  
! 	 Per:
  
+ 	   For GFX9-GFX11 the aperture base addresses are directly available as
+ 	   inline constant registers SRC_SHARED_BASE/LIMIT and
+ 	   SRC_PRIVATE_BASE/LIMIT. In 64-bit address mode the aperture sizes
+ 	   are 2^32 bytes and the base is aligned to 2^32 which makes it easier
+ 	   to convert from flat to segment or segment to flat.
+ 	   -- User Guide for AMDGPU Backend (LLVM)
+ 
+ 	 ... we can safely assume that the SImode low-part of SHARED_BASE_REG
+ 	 contains all zeroes.  As OP is an LDS address, it is 32-bit.  Ergo,
+ 	 SHARED_BASE_REG+OP is equivalent to SHARED_BASE_REG|OP.  If
+ 	 SHARED_BASE_REG is in r[N:N+1], then, writing OP to rN should suffice.
+ 	 Ergo, this conversion can be implemented as two moves.  */
+       rtx group_seg_aperture = gen_rtx_REG (Pmode, SHARED_BASE_REG);
+       rtx tmp = gen_reg_rtx (Pmode);
+ 
+       emit_move_insn (tmp, group_seg_aperture);
+       emit_move_insn (gen_lowpart (SImode, tmp), op);
        return tmp;
      }
    else if (as_from == as_to)
*************** gcn_hard_regno_rename_ok (unsigned int f
*** 3713,3719 ****
        || from_reg == EXEC_LO_REG || from_reg == EXEC_HI_REG
        || to_reg == SCC_REG
        || to_reg == VCC_LO_REG || to_reg == VCC_HI_REG
!       || to_reg == EXEC_LO_REG || to_reg == EXEC_HI_REG)
      return false;
  
    /* Allow the link register to be used if it was saved.  */
--- 3751,3758 ----
        || from_reg == EXEC_LO_REG || from_reg == EXEC_HI_REG
        || to_reg == SCC_REG
        || to_reg == VCC_LO_REG || to_reg == VCC_HI_REG
!       || to_reg == EXEC_LO_REG || to_reg == EXEC_HI_REG
!       || MEMORY_APERTURE_REG_P (to_reg))
      return false;
  
    /* Allow the link register to be used if it was saved.  */
*************** gcn_memory_move_cost (machine_mode mode,
*** 4008,4013 ****
--- 4047,4054 ----
      case SGPR_DST_REGS:
      case GENERAL_REGS:
      case AFP_REGS:
+       /* This one can't be written to.  */
+     case MEMORY_APERTURE_REGS:
        if (!in)
  	return (STORE_COST + 2) * nregs;
        return LOAD_COST * nregs;
*************** print_reg (FILE *file, rtx x)
*** 7018,7025 ****
    machine_mode mode = GET_MODE (x);
    if (VECTOR_MODE_P (mode))
      mode = GET_MODE_INNER (mode);
!   if (mode == BImode || mode == QImode || mode == HImode || mode == SImode
!       || mode == HFmode || mode == SFmode)
      fprintf (file, "%s", reg_names[REGNO (x)]);
    else if (mode == DImode || mode == DFmode)
      {
--- 7059,7071 ----
    machine_mode mode = GET_MODE (x);
    if (VECTOR_MODE_P (mode))
      mode = GET_MODE_INNER (mode);
!   if (MEMORY_APERTURE_REG_P (REGNO (x)))
!     {
!       gcc_assert (mode == DImode);
!       fprintf (file, "%s", reg_names[REGNO (x)]);
!     }
!   else if (mode == BImode || mode == QImode || mode == HImode || mode == SImode
! 	   || mode == HFmode || mode == SFmode)
      fprintf (file, "%s", reg_names[REGNO (x)]);
    else if (mode == DImode || mode == DFmode)
      {
diff -Nrcpad gcc-16-20260308/gcc/config/gcn/gcn.h gcc-16-20260315/gcc/config/gcn/gcn.h
*** gcc-16-20260308/gcc/config/gcn/gcn.h	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/gcn/gcn.h	Sun Mar 15 22:32:07 2026
*************** extern const struct gcn_device_def {
*** 169,175 ****
  #define EXECZ_REG	    128
  #define SCC_REG		    129
  
! /* 132-159 are reserved to simplify masks.  */
  
  #define FIRST_VGPR_REG	    160
  #define VGPR_REGNO(N)	    ((N)+FIRST_VGPR_REG)
--- 169,186 ----
  #define EXECZ_REG	    128
  #define SCC_REG		    129
  
! /* Memory aperture registers.  */
! #define SHARED_BASE_REG	    130
! #define SHARED_LIMT_REG	    131
! #define PRIVATE_BASE_REG    132
! #define PRIVATE_LIMT_REG    133
! #define MEMORY_APERTURE_REG_P(reg)		\
!   ((reg) == SHARED_BASE_REG			\
!    || (reg) == SHARED_LIMT_REG			\
!    || (reg) == PRIVATE_BASE_REG			\
!    || (reg) == PRIVATE_LIMT_REG)
! 
! /* 134-159 are reserved to simplify masks.  */
  
  #define FIRST_VGPR_REG	    160
  #define VGPR_REGNO(N)	    ((N)+FIRST_VGPR_REG)
*************** STATIC_ASSERT (LAST_AVGPR_REG + 1 - FIRS
*** 214,220 ****
  #define SGPR_REGNO_P(N)		(/*(N) >= FIRST_SGPR_REG &&*/ (N) <= LAST_SGPR_REG)
  #define VGPR_REGNO_P(N)		((N) >= FIRST_VGPR_REG && (N) <= LAST_VGPR_REG)
  #define AVGPR_REGNO_P(N)        ((N) >= FIRST_AVGPR_REG && (N) <= LAST_AVGPR_REG)
! #define SSRC_REGNO_P(N)		((N) <= SCC_REG && (N) != VCCZ_REG)
  #define SDST_REGNO_P(N)		((N) <= EXEC_HI_REG && (N) != VCCZ_REG)
  #define CC_REG_P(X)		(REG_P (X) && CC_REGNO_P (REGNO (X)))
  #define CC_REGNO_P(X)		((X) == SCC_REG || (X) == VCC_REG)
--- 225,231 ----
  #define SGPR_REGNO_P(N)		(/*(N) >= FIRST_SGPR_REG &&*/ (N) <= LAST_SGPR_REG)
  #define VGPR_REGNO_P(N)		((N) >= FIRST_VGPR_REG && (N) <= LAST_VGPR_REG)
  #define AVGPR_REGNO_P(N)        ((N) >= FIRST_AVGPR_REG && (N) <= LAST_AVGPR_REG)
! #define SSRC_REGNO_P(N)		((N) <= PRIVATE_LIMT_REG && (N) != VCCZ_REG)
  #define SDST_REGNO_P(N)		((N) <= EXEC_HI_REG && (N) != VCCZ_REG)
  #define CC_REG_P(X)		(REG_P (X) && CC_REGNO_P (REGNO (X)))
  #define CC_REGNO_P(X)		((X) == SCC_REG || (X) == VCC_REG)
*************** enum reg_class
*** 368,373 ****
--- 379,390 ----
    /* EXEC */
    EXEC_MASK_REG,
  
+   /* Memory aperture registers (SHARED_{BASE,LIM}, PRIVATE_{BASE,LIM}).
+      Though these are usable as sources to vector instructions (and ergo
+      nominally belong to Sv), they cannot be split into lower and upper half
+      accesses, and so, are left out of that constraint.  */
+   MEMORY_APERTURE_REGS,
+ 
    /* SGPR0-101 */
    SGPR_REGS,
  
*************** enum reg_class
*** 411,416 ****
--- 428,434 ----
     "EXECZ_CONDITIONAL_REG", \
     "ALL_CONDITIONAL_REGS",  \
     "EXEC_MASK_REG",	    \
+    "MEMORY_APERTURE_REGS"   \
     "SGPR_REGS",		    \
     "SGPR_EXEC_REGS",	    \
     "SGPR_VOP3A_SRC_REGS",   \
*************** enum reg_class
*** 430,435 ****
--- 448,460 ----
  #define NAMED_REG_MASK(N)  (1<<((N)-3*32))
  #define NAMED_REG_MASK2(N) (1<<((N)-4*32))
  
+ #define MEMORY_APERTURE_REGS_MASK		\
+   (NAMED_REG_MASK2 (SHARED_BASE_REG)		\
+    | NAMED_REG_MASK2 (SHARED_LIMT_REG)		\
+    | NAMED_REG_MASK2 (PRIVATE_BASE_REG)		\
+    | NAMED_REG_MASK2 (PRIVATE_LIMT_REG))
+ 
+ 
  #define REG_CLASS_CONTENTS {						   \
      /* NO_REGS.  */							   \
      {0, 0, 0, 0,							   \
*************** enum reg_class
*** 473,478 ****
--- 498,509 ----
       0, 0, 0, 0,							   \
       0, 0, 0, 0,							   \
       0, 0, 0, 0, 0, 0},							   \
+     /* MEMORY_APERTURE_REGS.  */					   \
+     {0, 0, 0, 0,							   \
+      MEMORY_APERTURE_REGS_MASK,  0, 0, 0,				   \
+      0, 0, 0, 0,							   \
+      0, 0, 0, 0,							   \
+      0, 0, 0, 0, 0, 0},							   \
      /* SGPR_REGS.  */							   \
      {0xffffffff, 0xffffffff, 0xffffffff, 0xf1,				   \
       0, 0, 0, 0,							   \
*************** enum reg_class
*** 510,516 ****
       0, 0, 0, 0, 0, 0},							   \
      /* SGPR_SRC_REGS.  */						   \
      {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,			   \
!      NAMED_REG_MASK2 (EXECZ_REG) | NAMED_REG_MASK2 (SCC_REG), 0, 0, 0,	   \
       0, 0, 0, 0,							   \
       0, 0, 0, 0,							   \
       0, 0, 0, 0, 0, 0},							   \
--- 541,548 ----
       0, 0, 0, 0, 0, 0},							   \
      /* SGPR_SRC_REGS.  */						   \
      {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,			   \
!      MEMORY_APERTURE_REGS_MASK | NAMED_REG_MASK2 (EXECZ_REG)		   \
!      | NAMED_REG_MASK2 (SCC_REG), 0, 0, 0,				   \
       0, 0, 0, 0,							   \
       0, 0, 0, 0,							   \
       0, 0, 0, 0, 0, 0},							   \
*************** enum gcn_address_spaces
*** 631,637 ****
      "ttmp0", "ttmp1", "ttmp2", "ttmp3", "ttmp4", "ttmp5", "ttmp6", "ttmp7", \
      "ttmp8", "ttmp9", "ttmp10", "ttmp11", "m0", "exec_lo", "exec_hi",	    \
      "execz", "scc",							    \
!     "res130", "res131", "res132", "res133", "res134", "res135", "res136",   \
      "res137", "res138", "res139", "res140", "res141", "res142", "res143",   \
      "res144", "res145", "res146", "res147", "res148", "res149", "res150",   \
      "res151", "res152", "res153", "res154", "res155", "res156", "res157",   \
--- 663,670 ----
      "ttmp0", "ttmp1", "ttmp2", "ttmp3", "ttmp4", "ttmp5", "ttmp6", "ttmp7", \
      "ttmp8", "ttmp9", "ttmp10", "ttmp11", "m0", "exec_lo", "exec_hi",	    \
      "execz", "scc",							    \
!     "shared_base", "shared_limit", "private_base", "private_limit",	    \
!     "res134", "res135", "res136",					    \
      "res137", "res138", "res139", "res140", "res141", "res142", "res143",   \
      "res144", "res145", "res146", "res147", "res148", "res149", "res150",   \
      "res151", "res152", "res153", "res154", "res155", "res156", "res157",   \
diff -Nrcpad gcc-16-20260308/gcc/config/i386/gcc-auto-profile gcc-16-20260315/gcc/config/i386/gcc-auto-profile
*** gcc-16-20260308/gcc/config/i386/gcc-auto-profile	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/i386/gcc-auto-profile	Sun Mar 15 22:32:07 2026
*************** echo >&2 "AMD CPU without support for ex
*** 117,129 ****
          fi ;;
  esac
  set -x
! if ! perf record -e $E -b "$@" ; then
    # PEBS may not actually be working even if the processor supports it
    # (e.g., in a virtual machine). Trying to run without /p.
    set +x
    echo >&2 "Retrying without /p."
    E="$(echo "${E}" | sed -e \'s/\/p/\//\ -e s/:p//)"
    set -x
!   exec perf record -e $E -b "$@"
   set +x
  fi
--- 117,129 ----
          fi ;;
  esac
  set -x
! if ! perf record --inherit -o perf.data -e $E -b "$@" ; then
    # PEBS may not actually be working even if the processor supports it
    # (e.g., in a virtual machine). Trying to run without /p.
    set +x
    echo >&2 "Retrying without /p."
    E="$(echo "${E}" | sed -e \'s/\/p/\//\ -e s/:p//)"
    set -x
!   exec perf record --inherit -o perf.data -e $E -b "$@"
   set +x
  fi
diff -Nrcpad gcc-16-20260308/gcc/config/i386/i386-features.cc gcc-16-20260315/gcc/config/i386/i386-features.cc
*** gcc-16-20260308/gcc/config/i386/i386-features.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/i386/i386-features.cc	Sun Mar 15 22:32:07 2026
*************** ix86_place_single_vector_set (rtx dest,
*** 3331,3339 ****
        rtx inner_scalar = load->val;
        /* Set the source in (vec_duplicate:V4SI (reg:SI 99)).  */
        rtx reg = XEXP (src, 0);
!       if ((REG_P (inner_scalar) || MEM_P (inner_scalar))
! 	  && GET_MODE (reg) != GET_MODE (inner_scalar))
! 	inner_scalar = gen_rtx_SUBREG (GET_MODE (reg), inner_scalar, 0);
        rtx set = gen_rtx_SET (reg, inner_scalar);
        insn = emit_insn_before (set, set_insn);
        if (dump_file)
--- 3331,3355 ----
        rtx inner_scalar = load->val;
        /* Set the source in (vec_duplicate:V4SI (reg:SI 99)).  */
        rtx reg = XEXP (src, 0);
!       machine_mode reg_mode = GET_MODE (reg);
!       if (reg_mode != GET_MODE (inner_scalar))
! 	{
! 	  if (REG_P (inner_scalar) || MEM_P (inner_scalar))
! 	    inner_scalar = gen_rtx_SUBREG (reg_mode, inner_scalar, 0);
! 	  else if (!SCALAR_INT_MODE_P (reg_mode))
! 	    {
! 	      /* For non-int load with integer constant, generate
! 
! 		 (set (subreg:SI (reg/v:SF 105 [ f ]) 0)
! 		      (const_int 1313486336 [0x4e4a3600]))
! 
! 	       */
! 	      gcc_assert (CONST_INT_P (inner_scalar));
! 	      unsigned int bits = GET_MODE_BITSIZE (reg_mode);
! 	      machine_mode mode = int_mode_for_size (bits, 0).require ();
! 	      reg = gen_rtx_SUBREG (mode, reg, 0);
! 	    }
! 	}
        rtx set = gen_rtx_SET (reg, inner_scalar);
        insn = emit_insn_before (set, set_insn);
        if (dump_file)
*************** ix86_broadcast_inner (rtx op, machine_mo
*** 3769,3774 ****
--- 3785,3797 ----
      {
        /* Handle sequences like
  
+ 	 (set (subreg:SI (reg/v:SF 105 [ f ]) 0)
+ 	      (const_int 0 [0]))
+ 	 (set (reg:V4SF 110)
+ 	      (vec_duplicate:V4SF (reg/v:SF 105 [ f ])))
+ 
+ 	 and
+ 
  	 (set (reg:SI 99)
  	       (const_int 34 [0x22]))
  	 (set (reg:V4SI 98)
*************** ix86_broadcast_inner (rtx op, machine_mo
*** 3777,3784 ****
  	 Set *INSN_P to nullptr and return SET_SRC if SET_SRC is an
  	 integer constant.  */
        op = src;
!       if (mode != GET_MODE (reg))
! 	op = gen_int_mode (INTVAL (src), mode);
        *insn_p = nullptr;
      }
    else
--- 3800,3812 ----
  	 Set *INSN_P to nullptr and return SET_SRC if SET_SRC is an
  	 integer constant.  */
        op = src;
!       if (SCALAR_INT_MODE_P (mode))
! 	{
! 	  if (mode != GET_MODE (reg))
! 	    op = gen_int_mode (INTVAL (src), mode);
! 	}
!       else if (op == const0_rtx)
! 	op = CONST0_RTX (mode);
        *insn_p = nullptr;
      }
    else
diff -Nrcpad gcc-16-20260308/gcc/config/i386/i386.md gcc-16-20260315/gcc/config/i386/i386.md
*** gcc-16-20260308/gcc/config/i386/i386.md	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/i386/i386.md	Sun Mar 15 22:32:07 2026
***************
*** 30796,30802 ****
        [(match_operand:SWI1248x 1 "memory_operand" "m")]
        UNSPECV_MOVRS))]
    "TARGET_MOVRS && TARGET_64BIT"
!   "movrs<imodesuffix>\t{%1, %0|%0, %1}"
    [(set_attr "prefix" "orig")
     (set_attr "type" "other")
     (set_attr "mode" "<MODE>")])
--- 30796,30802 ----
        [(match_operand:SWI1248x 1 "memory_operand" "m")]
        UNSPECV_MOVRS))]
    "TARGET_MOVRS && TARGET_64BIT"
!   "movrs{<imodesuffix>}\t{%1, %0|%0, %1}"
    [(set_attr "prefix" "orig")
     (set_attr "type" "other")
     (set_attr "mode" "<MODE>")])
diff -Nrcpad gcc-16-20260308/gcc/config/loongarch/genopts/gen-evolution.awk gcc-16-20260315/gcc/config/loongarch/genopts/gen-evolution.awk
*** gcc-16-20260308/gcc/config/loongarch/genopts/gen-evolution.awk	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/loongarch/genopts/gen-evolution.awk	Sun Mar 15 22:32:07 2026
*************** BEGIN {
*** 46,52 ****
      comment[NR] = $0
  }
  
! function copyright_header(from_year,to_year)
  {
      if (to_year == "")
        # The weird " " in the middle of a word is to make
--- 46,54 ----
      comment[NR] = $0
  }
  
! # copy_right rather than copyright also to make contrib/update_copyright.py
! # happy.
! function copy_right_header(from_year,to_year)
  {
      if (to_year == "")
        # The weird " " in the middle of a word is to make
*************** function gen_full_header()
*** 167,173 ****
      print "   Please do not edit this file directly."
      print ""
  
!     copyright_header(2023, 2026)
  
      print "*/"
      print ""
--- 169,175 ----
      print "   Please do not edit this file directly."
      print ""
  
!     copy_right_header(2023, 2026)
  
      print "*/"
      print ""
*************** function gen_full_source()
*** 203,209 ****
      print "   Please do not edit this file directly."
      print ""
  
!     copyright_header(2023, 2026)
  
      print "*/"
      print ""
--- 205,211 ----
      print "   Please do not edit this file directly."
      print ""
  
!     copy_right_header(2023, 2026)
  
      print "*/"
      print ""
*************** function gen_full_def()
*** 246,252 ****
      print "   Please do not edit this file directly."
      print ""
  
!     copyright_header(2025, 2026)
  
      print "*/"
      print ""
--- 248,254 ----
      print "   Please do not edit this file directly."
      print ""
  
!     copy_right_header(2025, 2026)
  
      print "*/"
      print ""
diff -Nrcpad gcc-16-20260308/gcc/config/loongarch/loongarch-target-attr.cc gcc-16-20260315/gcc/config/loongarch/loongarch-target-attr.cc
*** gcc-16-20260308/gcc/config/loongarch/loongarch-target-attr.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/loongarch/loongarch-target-attr.cc	Sun Mar 15 22:32:07 2026
*************** loongarch_parse_fmv_features (tree decl,
*** 553,559 ****
  
    if (attr_str.empty ())
      {
!       error_at (loc, "characher before %<;%> in attribute %qs cannot be empty",
  		attr_str.begin ());
        return false;
      }
--- 553,559 ----
  
    if (attr_str.empty ())
      {
!       error_at (loc, "character before %<;%> in attribute %qs cannot be empty",
  		attr_str.begin ());
        return false;
      }
*************** loongarch_parse_fmv_features (tree decl,
*** 573,579 ****
  
        if (str.is_valid ())
  	{
! 	  error_at (loc, "in attribute %qs the number of reatures "
  		    "cannot exceed two", attr_str.begin ());
  	  return false;
  	}
--- 573,579 ----
  
        if (str.is_valid ())
  	{
! 	  error_at (loc, "in attribute %qs the number of features "
  		    "cannot exceed two", attr_str.begin ());
  	  return false;
  	}
diff -Nrcpad gcc-16-20260308/gcc/config/mips/mips.md gcc-16-20260315/gcc/config/mips/mips.md
*** gcc-16-20260308/gcc/config/mips/mips.md	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/mips/mips.md	Sun Mar 15 22:32:07 2026
***************
*** 3952,3958 ****
  (define_insn_and_split "*extenddi_truncate<mode>"
    [(set (match_operand:DI 0 "register_operand" "=d")
  	(sign_extend:DI
! 	    (truncate:SUBDI (match_operand:DI 1 "register_operand" "d"))))]
    "TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS"
    "#"
    "&& reload_completed"
--- 3952,3958 ----
  (define_insn_and_split "*extenddi_truncate<mode>"
    [(set (match_operand:DI 0 "register_operand" "=d")
  	(sign_extend:DI
! 	    (truncate:SHORT (match_operand:DI 1 "register_operand" "d"))))]
    "TARGET_64BIT && !TARGET_MIPS16 && !ISA_HAS_EXTS"
    "#"
    "&& reload_completed"
diff -Nrcpad gcc-16-20260308/gcc/config/riscv/riscv.cc gcc-16-20260315/gcc/config/riscv/riscv.cc
*** gcc-16-20260308/gcc/config/riscv/riscv.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/riscv/riscv.cc	Sun Mar 15 22:32:07 2026
*************** riscv_compare_version_priority (tree dec
*** 15045,15060 ****
  bool
  riscv_check_target_clone_version (string_slice str, location_t *loc_p)
  {
!   struct riscv_feature_bits mask;
!   int prio;
  
!   /* Currently it is not possible to parse without emitting errors on failure
!      so do not reject on a failed parse, as this would then emit two
!      diagnostics.  Instead let errors be emitted which will halt
!      compilation.  */
!   parse_features_for_version (str, loc_p, mask, prio);
  
!   return true;
  }
  
  /* Implement TARGET_MANGLE_DECL_ASSEMBLER_NAME, to add function multiversioning
--- 15045,15073 ----
  bool
  riscv_check_target_clone_version (string_slice str, location_t *loc_p)
  {
!   if (str == "default")
!     return true;
  
!   struct cl_target_option cur_target;
!   cl_target_option_save (&cur_target, &global_options,
! 			 &global_options_set);
  
!   struct cl_target_option *default_opts
!     = TREE_TARGET_OPTION (target_option_default_node);
!   cl_target_option_restore (&global_options, &global_options_set,
! 			    default_opts);
! 
!   bool ok = riscv_process_target_version_str (str, NULL);
! 
!   cl_target_option_restore (&global_options, &global_options_set,
! 			    &cur_target);
! 
!   if (!ok && loc_p)
!     warning_at (*loc_p, OPT_Wattributes,
! 		"invalid version %qB for %<target_clones%> attribute",
! 		&str);
! 
!   return ok;
  }
  
  /* Implement TARGET_MANGLE_DECL_ASSEMBLER_NAME, to add function multiversioning
diff -Nrcpad gcc-16-20260308/gcc/config/sh/sh.cc gcc-16-20260315/gcc/config/sh/sh.cc
*** gcc-16-20260308/gcc/config/sh/sh.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/sh/sh.cc	Sun Mar 15 22:32:07 2026
*************** TARGET_GNU_ATTRIBUTES (sh_attribute_tabl
*** 506,513 ****
  #define TARGET_HAVE_TLS true
  #endif
  
- #undef TARGET_PROMOTE_PROTOTYPES
- #define TARGET_PROMOTE_PROTOTYPES sh_promote_prototypes
  #undef TARGET_PROMOTE_FUNCTION_MODE
  #define TARGET_PROMOTE_FUNCTION_MODE sh_promote_function_mode
  
--- 506,511 ----
diff -Nrcpad gcc-16-20260308/gcc/config/xtensa/xtensa-passes.def gcc-16-20260315/gcc/config/xtensa/xtensa-passes.def
*** gcc-16-20260308/gcc/config/xtensa/xtensa-passes.def	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/xtensa/xtensa-passes.def	Sun Mar 15 22:32:07 2026
*************** You should have received a copy of the G
*** 17,20 ****
  along with GCC; see the file COPYING3.  If not see
  <http://www.gnu.org/licenses/>.  */
  
! INSERT_PASS_AFTER (pass_postreload_cse, 1, pass_xtensa_largeconst);
--- 17,21 ----
  along with GCC; see the file COPYING3.  If not see
  <http://www.gnu.org/licenses/>.  */
  
! INSERT_PASS_AFTER (pass_postreload_cse, 1, pass_xtensa_largeconst1);
! INSERT_PASS_BEFORE (pass_regrename, 1, pass_xtensa_largeconst2);
diff -Nrcpad gcc-16-20260308/gcc/config/xtensa/xtensa-protos.h gcc-16-20260315/gcc/config/xtensa/xtensa-protos.h
*** gcc-16-20260308/gcc/config/xtensa/xtensa-protos.h	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/xtensa/xtensa-protos.h	Sun Mar 15 22:32:07 2026
*************** extern void xtensa_adjust_reg_alloc_orde
*** 80,85 ****
  extern enum reg_class xtensa_regno_to_class (int regno);
  extern HOST_WIDE_INT xtensa_initial_elimination_offset (int from, int to);
  extern const char **xtensa_get_config_strings (void);
! extern rtl_opt_pass *make_pass_xtensa_largeconst (gcc::context *);
  
  #endif /* !__XTENSA_PROTOS_H__ */
--- 80,86 ----
  extern enum reg_class xtensa_regno_to_class (int regno);
  extern HOST_WIDE_INT xtensa_initial_elimination_offset (int from, int to);
  extern const char **xtensa_get_config_strings (void);
! extern rtl_opt_pass *make_pass_xtensa_largeconst1 (gcc::context *);
! extern rtl_opt_pass *make_pass_xtensa_largeconst2 (gcc::context *);
  
  #endif /* !__XTENSA_PROTOS_H__ */
diff -Nrcpad gcc-16-20260308/gcc/config/xtensa/xtensa.cc gcc-16-20260315/gcc/config/xtensa/xtensa.cc
*** gcc-16-20260308/gcc/config/xtensa/xtensa.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/xtensa/xtensa.cc	Sun Mar 15 22:32:07 2026
*************** xtensa_expand_scc (rtx operands[4], mach
*** 1075,1080 ****
--- 1075,1082 ----
  void
  xtensa_split_operand_pair (rtx operands[4], machine_mode mode)
  {
+   rtx x;
+ 
    switch (GET_CODE (operands[1]))
      {
      case REG:
*************** xtensa_split_operand_pair (rtx operands[
*** 1085,1090 ****
--- 1087,1103 ----
      case MEM:
        operands[3] = adjust_address (operands[1], mode, GET_MODE_SIZE (mode));
        operands[2] = adjust_address (operands[1], mode, 0);
+       /* Split the pool entry as well as the pooled values themselves,
+ 	 when non-debug optimizing.  This improves the chances that the
+ 	 entries will be shared and subject to further optimization
+ 	 opportunities.  */
+       if (optimize && !optimize_debug && constantpool_mem_p (operands[2]))
+ 	{
+ 	  x = avoid_constant_pool_reference (operands[2]);
+ 	  operands[2] = force_const_mem (mode, x);
+ 	  x = avoid_constant_pool_reference (operands[3]);
+ 	  operands[3] = force_const_mem (mode, x);
+ 	}
        break;
  
      case CONST_INT:
*************** xtensa_split_operand_pair (rtx operands[
*** 1111,1116 ****
--- 1124,1135 ----
      default:
        gcc_unreachable ();
      }
+ 
+   if (reg_overlap_mentioned_p (operands[0], operands[3]))
+     {
+       std::swap (operands[0], operands[1]);
+       std::swap (operands[2], operands[3]);
+     }
  }
  
  
*************** FPreg_neg_scaled_simm12b_1 (const REAL_V
*** 5526,5533 ****
    REAL_VALUE_TYPE r;
    int shift;
  
!   /* Non-zero finite values can only be accepted.  */
!   if (! real_isfinite (rval) || rval->cl == rvc_zero)
      return false;
  
    /* Check whether the value multiplied by 32768 is an exact integer and
--- 5545,5553 ----
    REAL_VALUE_TYPE r;
    int shift;
  
!   /* Normal (i.e., neither zero, infinity nor NaN) values can only be
!      accepted.  */
!   if (rval->cl != rvc_normal)
      return false;
  
    /* Check whether the value multiplied by 32768 is an exact integer and
*************** FPreg_neg_scaled_simm12b (rtx_insn *insn
*** 5563,5577 ****
        && GET_MODE (dest) == SFmode
        && CONST_DOUBLE_P (src = avoid_constant_pool_reference (SET_SRC (pat)))
        && GET_MODE (src) == SFmode
-       && FPreg_neg_scaled_simm12b_1 (CONST_DOUBLE_REAL_VALUE (src),
- 				     v, scale)
        && (next = next_nonnote_nondebug_insn (insn))
        && NONJUMP_INSN_P (next)
        && GET_CODE (pat_1 = PATTERN (next)) == SET
        && REG_P (dest_1 = SET_DEST (pat_1)) && FP_REG_P (REGNO (dest_1))
        && GET_MODE (dest_1) == SFmode
        && rtx_equal_p (SET_SRC (pat_1), dest)
!       && (note = find_reg_note (next, REG_DEAD, dest)))
      {
        /* Estimate the costs of two matching insns.  */
        xt_full_rtx_costs costs;
--- 5583,5596 ----
        && GET_MODE (dest) == SFmode
        && CONST_DOUBLE_P (src = avoid_constant_pool_reference (SET_SRC (pat)))
        && GET_MODE (src) == SFmode
        && (next = next_nonnote_nondebug_insn (insn))
        && NONJUMP_INSN_P (next)
        && GET_CODE (pat_1 = PATTERN (next)) == SET
        && REG_P (dest_1 = SET_DEST (pat_1)) && FP_REG_P (REGNO (dest_1))
        && GET_MODE (dest_1) == SFmode
        && rtx_equal_p (SET_SRC (pat_1), dest)
!       && (note = find_reg_note (next, REG_DEAD, dest))
!       && FPreg_neg_scaled_simm12b_1 (CONST_DOUBLE_REAL_VALUE (src), v, scale))
      {
        /* Estimate the costs of two matching insns.  */
        xt_full_rtx_costs costs;
*************** FPreg_neg_scaled_simm12b (rtx_insn *insn
*** 5617,5623 ****
  	  if (dump_file)
  	    {
  	      fprintf (dump_file,
! 		       "FPreg_neg_scaled_simm12b: costs (%d,%d) -> (%d,%d)\n",
  		       costs.major (), costs.minor (),
  		       costs_1.major (), costs_1.minor ());
  	      dump_insn_slim (dump_file, insn);
--- 5636,5642 ----
  	  if (dump_file)
  	    {
  	      fprintf (dump_file,
! 		       "\t\t\treplacing, costs (%d,%d) -> (%d,%d)\n",
  		       costs.major (), costs.minor (),
  		       costs_1.major (), costs_1.minor ());
  	      dump_insn_slim (dump_file, insn);
*************** FPreg_neg_scaled_simm12b (rtx_insn *insn
*** 5630,5638 ****
    return false;
  }
  
! /* Split DI/SF/DFmode constant assignments into pairs of SImode ones.  This
!    is also the pre-processing for constantsynth optimization that follows
!    immediately after.
  
     Note that all constant values and assignments are treated as SImode
     because:
--- 5649,5657 ----
    return false;
  }
  
! /* Convert SFmode constant assignments into SImode ones.  This is also the
!    pre-processing for constantsynth optimization that follows immediately
!    after.
  
     Note that all constant values and assignments are treated as SImode
     because:
*************** FPreg_neg_scaled_simm12b (rtx_insn *insn
*** 5645,5729 ****
     returned true (the current and default configuration).  */
  
  static bool
! split_DI_SF_DF_const (rtx_insn *insn)
  {
!   rtx pat, dest, src, dest0, dest1, src0, src1, src0c, src1c;
!   int regno;
  
    if (GET_CODE (pat = PATTERN (insn)) != SET
!       || ! REG_P (dest = SET_DEST (pat)) || ! GP_REG_P (regno = REGNO (dest)))
      return false;
  
-   /* It is more efficient to assign SFmode literal constants using their
-      bit-equivalent SImode ones, thus we convert them so.  */
    src = avoid_constant_pool_reference (SET_SRC (pat));
!   if (GET_MODE (dest) == SFmode
!       && CONST_DOUBLE_P (src) && GET_MODE (src) == SFmode)
      {
        long l;
        REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (src), l);
!       src0 = GEN_INT ((int32_t)l), dest0 = gen_rtx_REG (SImode, regno);
!       if (dump_file)
! 	{
! 	  fputs ("split_DI_SF_DF_const: ", dump_file);
! 	  dump_value_slim (dump_file, src, 0);
! 	  fprintf (dump_file,
! 		   "f -> " HOST_WIDE_INT_PRINT_DEC " ("
! 		   HOST_WIDE_INT_PRINT_HEX ")\n",
! 		   INTVAL (src0), INTVAL (src0));
! 	}
!       src0c = NULL_RTX;
!       if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS
! 	  && ! xtensa_simm12b (INTVAL (src0)))
! 	src0c = src0, src0 = force_const_mem (SImode, src0);
!       remove_reg_equal_equiv_notes (insn);
!       validate_change (insn, &PATTERN (insn), gen_rtx_SET (dest0, src0), 0);
!       if (src0c)
! 	add_reg_note (insn, REG_EQUIV, copy_rtx (src0c));
!       return true;
      }
  
!   /* Splitting a D[IF]mode literal constant into two with split_double()
!      results in a pair of CONST_INTs, so they are assigned in SImode
!      regardless of the original source mode.  */
!   if ((GET_MODE (dest) == DImode && CONST_INT_P (src))
!       || (GET_MODE (dest) == DFmode
! 	  && CONST_DOUBLE_P (src) && GET_MODE (src) == DFmode))
      {
!       dest0 = gen_rtx_REG (SImode, regno);
!       dest1 = gen_rtx_REG (SImode, regno + 1);
!       split_double (src, &src0, &src1);
!       if (dump_file)
! 	{
! 	  fputs ("split_DI_SF_DF_const: ", dump_file);
! 	  dump_value_slim (dump_file, src, 0);
! 	  fprintf (dump_file,
! 		   " -> " HOST_WIDE_INT_PRINT_DEC " ("
! 		   HOST_WIDE_INT_PRINT_HEX "), "
! 		   HOST_WIDE_INT_PRINT_DEC " ("
! 		   HOST_WIDE_INT_PRINT_HEX ")\n",
! 		   INTVAL (src0), INTVAL (src0),
! 		   INTVAL (src1), INTVAL (src1));
! 	}
!       src1c = src0c = NULL_RTX;
!       if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS)
! 	{
! 	  if (! xtensa_simm12b (INTVAL (src0)))
! 	    src0c = src0, src0 = force_const_mem (SImode, src0);
! 	  if (! xtensa_simm12b (INTVAL (src1)))
! 	    src1c = src1, src1 = force_const_mem (SImode, src1);
! 	}
!       remove_reg_equal_equiv_notes (insn);
!       validate_change (insn, &PATTERN (insn), gen_rtx_SET (dest0, src0), 0);
!       if (src0c)
! 	add_reg_note (insn, REG_EQUIV, copy_rtx (src0c));
!       insn = emit_insn_after (gen_rtx_SET (dest1, src1), insn);
!       if (src1c)
! 	add_reg_note (insn, REG_EQUIV, copy_rtx (src1c));
!       return true;
      }
  
!   return false;
  }
  
  /* The constant-synthesis optimization (constantsynth for short).
--- 5664,5717 ----
     returned true (the current and default configuration).  */
  
  static bool
! convert_SF_const (rtx_insn *insn)
  {
!   rtx pat, dest, src, dest0, src0, src0c;
  
+   /* It is more efficient to assign SFmode literal constants using their
+      bit-equivalent SImode ones, thus we convert them so.  */
    if (GET_CODE (pat = PATTERN (insn)) != SET
!       || ! REG_P (dest = SET_DEST (pat)) || ! GP_REG_P (REGNO (dest))
!       || GET_MODE (dest) != SFmode)
      return false;
  
    src = avoid_constant_pool_reference (SET_SRC (pat));
!   if (CONST_INT_P (src))
!     src0 = src;
!   else if (CONST_DOUBLE_P (src) && GET_MODE (src) == SFmode)
      {
        long l;
        REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (src), l);
!       src0 = GEN_INT ((int32_t)l);
      }
+   else
+     return false;
  
!   dest0 = gen_rtx_REG (SImode, REGNO (dest));
!   if (dump_file)
      {
!       fputs ("convert_SF_const: ", dump_file);
!       dump_value_slim (dump_file, src, 0);
!       if (CONST_DOUBLE_P (src))
! 	fputc ('f', dump_file);
!       fprintf (dump_file,
! 	       " -> " HOST_WIDE_INT_PRINT_DEC
! 	       " (" HOST_WIDE_INT_PRINT_HEX ")\n",
! 	       INTVAL (src0), INTVAL (src0));
!       dump_insn_slim (dump_file, insn);
      }
+   src0c = NULL_RTX;
+   if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS
+       && ! xtensa_simm12b (INTVAL (src0)))
+     src0c = src0, src0 = force_const_mem (SImode, src0);
+   remove_reg_equal_equiv_notes (insn);
+   validate_change (insn, &PATTERN (insn), gen_rtx_SET (dest0, src0), 0);
+   if (src0c)
+     add_reg_note (insn, REG_EQUIV, copy_rtx (src0c));
+   if (dump_file)
+     dump_insn_slim (dump_file, insn);
  
!   return true;
  }
  
  /* The constant-synthesis optimization (constantsynth for short).
*************** constantsynth_pass1 (rtx_insn *insn, con
*** 6018,6034 ****
  
    if (xtensa_simm12b (INTVAL (src)))
      {
!       if (src != SET_SRC (pat))
  	{
  	  remove_reg_equal_equiv_notes (insn);
! 	  validate_change (insn, &PATTERN (insn),
! 			   gen_rtx_SET (dest, src), 0);
  	}
        if (dump_file)
! 	fprintf (dump_file,
! 		 "constantsynth_pass1: immediate, " HOST_WIDE_INT_PRINT_DEC
! 		 " (" HOST_WIDE_INT_PRINT_HEX ")\n",
! 		 INTVAL (src), INTVAL (src));
      }
    else
      {
--- 6006,6024 ----
  
    if (xtensa_simm12b (INTVAL (src)))
      {
!       if (! rtx_equal_p (src, SET_SRC (pat)))
  	{
  	  remove_reg_equal_equiv_notes (insn);
! 	  validate_change (insn, &SET_SRC (pat), src, 0);
  	}
        if (dump_file)
! 	{
! 	  fprintf (dump_file,
! 		   "constantsynth_pass1: immediate, " HOST_WIDE_INT_PRINT_DEC
! 		   " (" HOST_WIDE_INT_PRINT_HEX ")\n",
! 		   INTVAL (src), INTVAL (src));
! 	  dump_insn_slim (dump_file, insn);
! 	}
      }
    else
      {
*************** constantsynth_pass2 (constantsynth_info
*** 6131,6137 ****
  				    "value mismatch, "
  				    "expected %wd (%wx) "
  				    "synthesized %wd (%wx)", name,
! 				    v, v,INTVAL (cst), INTVAL (cst));
  		}
  
  	      for (last = min_seq; NEXT_INSN (last);
--- 6121,6127 ----
  				    "value mismatch, "
  				    "expected %wd (%wx) "
  				    "synthesized %wd (%wx)", name,
! 				    v, v, INTVAL (cst), INTVAL (cst));
  		}
  
  	      for (last = min_seq; NEXT_INSN (last);
*************** constantsynth_pass2 (constantsynth_info
*** 6145,6154 ****
  			   HOST_WIDE_INT_PRINT_DEC " (",
  			   name, v);
  		  dump_value_slim (dump_file, src, 0);
! 		  fprintf (dump_file, ")\n");
  		  dump_insn_slim (dump_file, insn);
  		  fprintf (dump_file,
! 			   "constantsynth_pass2: costs (%d,%d) -> (%d,%d)\n",
  			   info.costs.major (), info.costs.minor (),
  			   min_costs.major (), min_costs.minor ());
  		  dump_rtl_slim (dump_file, min_seq, NULL, -1, 0);
--- 6135,6144 ----
  			   HOST_WIDE_INT_PRINT_DEC " (",
  			   name, v);
  		  dump_value_slim (dump_file, src, 0);
! 		  fputs (")\n", dump_file);
  		  dump_insn_slim (dump_file, insn);
  		  fprintf (dump_file,
! 			   "\t\t\treplacing, costs (%d,%d) -> (%d,%d)\n",
  			   info.costs.major (), info.costs.minor (),
  			   min_costs.major (), min_costs.minor ());
  		  dump_rtl_slim (dump_file, min_seq, NULL, -1, 0);
*************** constantsynth_pass2 (constantsynth_info
*** 6160,6172 ****
  	    }
  	}
  
!       /* Large constants that are not subject to synthesize are left in
! 	 the literal pool.  */
        if (dump_file)
! 	fprintf (dump_file,
! 		 "constantsynth_pass2: litpool, " HOST_WIDE_INT_PRINT_DEC
! 		 " (" HOST_WIDE_INT_PRINT_HEX ")\n",
! 		 v, v);
      }
  
    if (dump_file)
--- 6150,6165 ----
  	    }
  	}
  
!       /* Large constants that are not subject to synthesize are left as
! 	 they are.  */
        if (dump_file)
! 	{
! 	  fprintf (dump_file,
! 		   "constantsynth_pass2: as-is, " HOST_WIDE_INT_PRINT_DEC
! 		   " (" HOST_WIDE_INT_PRINT_HEX ")\n",
! 		   v, v);
! 	  dump_insn_slim (dump_file, insn);
! 	}
      }
  
    if (dump_file)
*************** constantsynth_pass2 (constantsynth_info
*** 6180,6187 ****
      }
  }
  
! /* Replace the source of [SH]Imode allocation whose value does not fit
!    into signed 12 bits with a reference to litpool entry.  */
  
  static bool
  litpool_set_src_1 (rtx_insn *insn, rtx set, bool in_group)
--- 6173,6181 ----
      }
  }
  
! /* Replace both the sources of [SH]Imode assignments with values that do
!    not fit into a signed 12-bit, and DImode ones with arbitrary values,
!    with references to litpool entries.  */
  
  static bool
  litpool_set_src_1 (rtx_insn *insn, rtx set, bool in_group)
*************** litpool_set_src_1 (rtx_insn *insn, rtx s
*** 6189,6198 ****
    rtx dest, src;
    enum machine_mode mode;
  
!   if (REG_P (dest = SET_DEST (set))
!       && ((mode = GET_MODE (dest)) == SImode || mode == HImode)
!       && CONST_INT_P (src = SET_SRC (set))
!       && ! xtensa_simm12b (INTVAL (src)))
      {
        remove_reg_equal_equiv_notes (insn);
        validate_change (insn, &SET_SRC (set),
--- 6183,6192 ----
    rtx dest, src;
    enum machine_mode mode;
  
!   if (REG_P (dest = SET_DEST (set)) && CONST_INT_P (src = SET_SRC (set))
!       && ((((mode = GET_MODE (dest)) == SImode || mode == HImode)
! 	   && ! xtensa_simm12b (INTVAL (src)))
! 	  || mode == DImode))
      {
        remove_reg_equal_equiv_notes (insn);
        validate_change (insn, &SET_SRC (set),
*************** litpool_set_src (rtx_insn *insn)
*** 6234,6293 ****
  }
  
  /* Replace all occurrences of large immediate values in assignment sources
!    that were permitted for convenience with their legitimate forms, or
!    more efficient representations if possible.  */
  
  static void
! do_largeconst (void)
  {
-   bool replacing_required = !TARGET_CONST16 && !TARGET_AUTO_LITPOOLS;
-   bool optimize_enabled = optimize && !optimize_debug;
    rtx_insn *insn;
    constantsynth_info cs_info;
  
!   /* Verify the legitimacy of replacing constant assignments in
!      DI/SF/DFmode with those in SImode.  */
    gcc_assert (targetm.can_change_mode_class
  		== hook_bool_mode_mode_reg_class_t_true);
  
    for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
      if (NONJUMP_INSN_P (insn))
        {
! 	/* Optimize assignment of negatively scaled (up to the minus
! 	   15th power of two) signed 12-bit immediate values to hardware
  	   floating-point registers.  */
! 	if (optimize_enabled
! 	    && FPreg_neg_scaled_simm12b (insn))
  	  continue;
  
! 	/* Replace the source of [SH]Imode allocation whose value does not
! 	   fit into signed 12 bits with a reference to litpool entry.  */
! 	if (replacing_required)
! 	  litpool_set_src (insn);
! 
! 	/* Split DI/SF/DFmode constant assignments into pairs of SImode
! 	   ones.  This is also the pre-processing for constantsynth opti-
! 	   mization that follows immediately after.  */
! 	split_DI_SF_DF_const (insn);
  
  	/* constantsynth pass 1.
  	   Detect and record large constant assignments within a function.  */
! 	if (optimize_enabled)
! 	  constantsynth_pass1 (insn, cs_info);
        }
  
    /* constantsynth pass 2.
       For each large constant value assignment collected in pass 1, try to
       find a more efficient way to derive the value than referencing a literal
       pool entry, and if found, replace the assignment with it.  */
!   if (optimize_enabled)
!     constantsynth_pass2 (cs_info);
  }
  
  /* Convert assignments for large constants.  */
  
  static unsigned int
! rest_of_handle_largeconst (void)
  {
    /* Until this flag becomes true, all RTL expressions that assign integer
       (not symbol nor floating-point) constants to [SH]Imode registers are
--- 6228,6292 ----
  }
  
  /* Replace all occurrences of large immediate values in assignment sources
!    that were permitted for convenience with their legitimate forms.  */
  
  static void
! do_largeconst1 (void)
! {
!   rtx_insn *insn;
! 
!   /* Replace both the sources of [SH]Imode assignments with values that do
!      not fit into a signed 12-bit, and DImode ones with arbitrary values,
!      with references to litpool entries.  */
!   for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
!     if (NONJUMP_INSN_P (insn))
!       litpool_set_src (insn);
! }
! 
! /* Replace large immediate values ​​in allocation sources with more efficient
!    representations if possible.  */
! 
! static void
! do_largeconst2 (void)
  {
    rtx_insn *insn;
    constantsynth_info cs_info;
  
!   /* Verify the legitimacy of replacing constant assignments in SFmode
!      with those in SImode.  */
    gcc_assert (targetm.can_change_mode_class
  		== hook_bool_mode_mode_reg_class_t_true);
  
    for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
      if (NONJUMP_INSN_P (insn))
        {
! 	/* Optimize assignment of negatively scaled (up to the minus 15th
! 	   power of two) signed 12-bit immediate values to hardware
  	   floating-point registers.  */
! 	if (FPreg_neg_scaled_simm12b (insn))
  	  continue;
  
! 	/* Convert SFmode constant assignments into SImode ones.  This is
! 	   also the pre-processing for constantsynth optimization that
! 	   follows immediately after.  */
! 	convert_SF_const (insn);
  
  	/* constantsynth pass 1.
  	   Detect and record large constant assignments within a function.  */
! 	constantsynth_pass1 (insn, cs_info);
        }
  
    /* constantsynth pass 2.
       For each large constant value assignment collected in pass 1, try to
       find a more efficient way to derive the value than referencing a literal
       pool entry, and if found, replace the assignment with it.  */
!   constantsynth_pass2 (cs_info);
  }
  
  /* Convert assignments for large constants.  */
  
  static unsigned int
! rest_of_handle_largeconst1 (void)
  {
    /* Until this flag becomes true, all RTL expressions that assign integer
       (not symbol nor floating-point) constants to [SH]Imode registers are
*************** rest_of_handle_largeconst (void)
*** 6321,6343 ****
       is no longer needed, so such assignments must now be all converted
       back to references to literal pool entries (the original legitimate
       form) if neither TARGET_CONST16 nor TARGET_AUTO_LITPOOLS is enabled.
!      See the function do_largeconst() called below.  */
    cfun->machine->postreload_completed = true;
  
    df_set_flags (DF_DEFER_INSN_RESCAN);
    df_note_add_problem ();
    df_analyze ();
  
    /* Do the process.  */
!   do_largeconst ();
  
    return 0;
  }
  
! const pass_data pass_data_xtensa_largeconst =
  {
    RTL_PASS, /* type */
!   "xt_largeconst", /* name */
    OPTGROUP_NONE, /* optinfo_flags */
    TV_MACH_DEP, /* tv_id */
    0, /* properties_required */
--- 6320,6358 ----
       is no longer needed, so such assignments must now be all converted
       back to references to literal pool entries (the original legitimate
       form) if neither TARGET_CONST16 nor TARGET_AUTO_LITPOOLS is enabled.
!      See the function do_largeconst1() called below.  */
    cfun->machine->postreload_completed = true;
  
+   /* Do the process, only if the conditions are met.  */
+   if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS)
+     {
+       df_set_flags (DF_DEFER_INSN_RESCAN);
+ 
+       do_largeconst1 ();
+     }
+ 
+   return 0;
+ }
+ 
+ static unsigned int
+ rest_of_handle_largeconst2 (void)
+ {
    df_set_flags (DF_DEFER_INSN_RESCAN);
+ 
+   /* The latest reg-notes are required later.  */
    df_note_add_problem ();
    df_analyze ();
  
    /* Do the process.  */
!   do_largeconst2 ();
  
    return 0;
  }
  
! const pass_data pass_data_xtensa_largeconst1 =
  {
    RTL_PASS, /* type */
!   "xt_largeconst1", /* name */
    OPTGROUP_NONE, /* optinfo_flags */
    TV_MACH_DEP, /* tv_id */
    0, /* properties_required */
*************** const pass_data pass_data_xtensa_largeco
*** 6347,6373 ****
    TODO_df_finish, /* todo_flags_finish */
  };
  
! class pass_xtensa_largeconst : public rtl_opt_pass
  {
  public:
!   pass_xtensa_largeconst (gcc::context *ctxt)
!     : rtl_opt_pass (pass_data_xtensa_largeconst, ctxt)
    {}
  
    /* opt_pass methods: */
    unsigned int execute (function *) final override
    {
!     return rest_of_handle_largeconst ();
    }
  
! };  // class pass_xtensa_largeconst
  
  } // anon namespace
  
  rtl_opt_pass *
! make_pass_xtensa_largeconst (gcc::context *ctxt)
  {
!   return new pass_xtensa_largeconst (ctxt);
  }
  
  #include "gt-xtensa.h"
--- 6362,6428 ----
    TODO_df_finish, /* todo_flags_finish */
  };
  
! class pass_xtensa_largeconst1 : public rtl_opt_pass
  {
  public:
!   pass_xtensa_largeconst1 (gcc::context *ctxt)
!     : rtl_opt_pass (pass_data_xtensa_largeconst1, ctxt)
    {}
  
    /* opt_pass methods: */
    unsigned int execute (function *) final override
    {
!     return rest_of_handle_largeconst1 ();
    }
  
! };  // class pass_xtensa_largeconst1
! 
! const pass_data pass_data_xtensa_largeconst2 =
! {
!   RTL_PASS, /* type */
!   "xt_largeconst2", /* name */
!   OPTGROUP_NONE, /* optinfo_flags */
!   TV_MACH_DEP, /* tv_id */
!   0, /* properties_required */
!   0, /* properties_provided */
!   0, /* properties_destroyed */
!   0, /* todo_flags_start */
!   TODO_df_finish, /* todo_flags_finish */
! };
! 
! class pass_xtensa_largeconst2 : public rtl_opt_pass
! {
! public:
!   pass_xtensa_largeconst2 (gcc::context *ctxt)
!     : rtl_opt_pass (pass_data_xtensa_largeconst2, ctxt)
!   {}
! 
!   /* opt_pass methods: */
!   bool gate (function *) final override
!   {
!     return optimize && !optimize_debug;
!   }
! 
!   /* opt_pass methods: */
!   unsigned int execute (function *) final override
!   {
!     return rest_of_handle_largeconst2 ();
!   }
! 
! };  // class pass_xtensa_largeconst2
  
  } // anon namespace
  
  rtl_opt_pass *
! make_pass_xtensa_largeconst1 (gcc::context *ctxt)
  {
!   return new pass_xtensa_largeconst1 (ctxt);
! }
! 
! rtl_opt_pass *
! make_pass_xtensa_largeconst2 (gcc::context *ctxt)
! {
!   return new pass_xtensa_largeconst2 (ctxt);
  }
  
  #include "gt-xtensa.h"
diff -Nrcpad gcc-16-20260308/gcc/config/xtensa/xtensa.md gcc-16-20260315/gcc/config/xtensa/xtensa.md
*** gcc-16-20260308/gcc/config/xtensa/xtensa.md	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/config/xtensa/xtensa.md	Sun Mar 15 22:32:07 2026
***************
*** 1220,1244 ****
  })
  
  (define_insn_and_split "movdi_internal"
!   [(set (match_operand:DI 0 "nonimmed_operand" "=a,a,W,a,a,U")
! 	(match_operand:DI 1 "move_operand" "r,Y,i,T,U,r"))]
    "register_operand (operands[0], DImode)
     || register_operand (operands[1], DImode)"
!   "#"
    "&& reload_completed"
    [(set (match_dup 0) (match_dup 2))
     (set (match_dup 1) (match_dup 3))]
  {
    xtensa_split_operand_pair (operands, SImode);
-   if (reg_overlap_mentioned_p (operands[0], operands[3]))
-     {
-       std::swap (operands[0], operands[1]);
-       std::swap (operands[2], operands[3]);
-     }
  }
!   [(set_attr "type"	"move,load,move,load,load,store")
!    (set_attr "mode"	"DI")
!    (set_attr "length"	"6,6,12,6,6,6")])
  
  ;; 32-bit Integer moves
  
--- 1220,1244 ----
  })
  
  (define_insn_and_split "movdi_internal"
!   [(set (match_operand:DI 0 "nonimmed_operand")
! 	(match_operand:DI 1 "move_operand"))]
    "register_operand (operands[0], DImode)
     || register_operand (operands[1], DImode)"
!   {@ [cons: =0, 1; attrs: type, length]
!      [a, r; move,   6] #
!      [a, Y; load,   6] ^
!      [W, i; move,  12] ^
!      [a, T; load,   6] ^
!      [a, U; load,   6] ^
!      [U, r; store,  6] ^
!   }
    "&& reload_completed"
    [(set (match_dup 0) (match_dup 2))
     (set (match_dup 1) (match_dup 3))]
  {
    xtensa_split_operand_pair (operands, SImode);
  }
!   [(set_attr "mode" "DI")])
  
  ;; 32-bit Integer moves
  
***************
*** 1503,1527 ****
  })
  
  (define_insn_and_split "movdf_internal"
!   [(set (match_operand:DF 0 "nonimmed_operand" "=a,a,W,a,a,U")
! 	(match_operand:DF 1 "move_operand" "r,Y,iF,T,U,r"))]
    "register_operand (operands[0], DFmode)
     || register_operand (operands[1], DFmode)"
!   "#"
    "&& reload_completed"
    [(set (match_dup 0) (match_dup 2))
     (set (match_dup 1) (match_dup 3))]
  {
    xtensa_split_operand_pair (operands, SFmode);
-   if (reg_overlap_mentioned_p (operands[0], operands[3]))
-     {
-       std::swap (operands[0], operands[1]);
-       std::swap (operands[2], operands[3]);
-     }
  }
!   [(set_attr "type"	"move,load,move,load,load,store")
!    (set_attr "mode"	"DF")
!    (set_attr "length"	"6,6,12,6,6,6")])
  
  ;; Block moves
  
--- 1503,1527 ----
  })
  
  (define_insn_and_split "movdf_internal"
!   [(set (match_operand:DF 0 "nonimmed_operand")
! 	(match_operand:DF 1 "move_operand"))]
    "register_operand (operands[0], DFmode)
     || register_operand (operands[1], DFmode)"
!   {@ [cons: =0, 1; attrs: type, length]
!      [a,  r; move,   6] #
!      [a,  Y; load,   6] ^
!      [W, iF; move,  12] ^
!      [a,  T; load,   6] ^
!      [a,  U; load,   6] ^
!      [U,  r; store,  6] ^
!   }
    "&& reload_completed"
    [(set (match_dup 0) (match_dup 2))
     (set (match_dup 1) (match_dup 3))]
  {
    xtensa_split_operand_pair (operands, SFmode);
  }
!   [(set_attr "mode" "DF")])
  
  ;; Block moves
  
***************
*** 1859,1874 ****
  (define_insn "*btrue"
    [(set (pc)
  	(if_then_else (match_operator 3 "branch_operator"
! 			[(match_operand:SI 0 "register_operand" "r,r")
! 			 (match_operand:SI 1 "branch_operand" "K,?r")])
! 		      (label_ref (match_operand 2 "" ""))
  		      (pc)))]
    ""
! {
!   return xtensa_emit_branch (which_alternative == 0, operands);
! }
!   [(set_attr "type"	"jump,jump")
!    (set_attr "mode"	"none")
     (set (attr "length")
          (if_then_else (match_test "TARGET_DENSITY
  				   && CONST_INT_P (operands[1])
--- 1859,1874 ----
  (define_insn "*btrue"
    [(set (pc)
  	(if_then_else (match_operator 3 "branch_operator"
! 			[(match_operand:SI 0 "register_operand")
! 			 (match_operand:SI 1 "branch_operand")])
! 		      (label_ref (match_operand 2 ""))
  		      (pc)))]
    ""
!   {@ [cons: 0, 1, 2; attrs: type]
!      [r,  K, ; jump] << xtensa_emit_branch (true, operands);
!      [r, ?r, ; jump] << xtensa_emit_branch (false, operands);
!   }
!   [(set_attr "mode" "none")
     (set (attr "length")
          (if_then_else (match_test "TARGET_DENSITY
  				   && CONST_INT_P (operands[1])
***************
*** 1909,1925 ****
  (define_insn "*ubtrue"
    [(set (pc)
  	(if_then_else (match_operator 3 "ubranch_operator"
! 			[(match_operand:SI 0 "register_operand" "r,r")
! 			 (match_operand:SI 1 "ubranch_operand" "L,r")])
! 		      (label_ref (match_operand 2 "" ""))
  		      (pc)))]
    ""
! {
!   return xtensa_emit_branch (which_alternative == 0, operands);
! }
!   [(set_attr "type"	"jump,jump")
!    (set_attr "mode"	"none")
!    (set_attr "length"	"3,3")])
  
  ;; Branch patterns for bit testing
  
--- 1909,1924 ----
  (define_insn "*ubtrue"
    [(set (pc)
  	(if_then_else (match_operator 3 "ubranch_operator"
! 			[(match_operand:SI 0 "register_operand")
! 			 (match_operand:SI 1 "ubranch_operand")])
! 		      (label_ref (match_operand 2 ""))
  		      (pc)))]
    ""
!   {@ [cons: 0, 1, 2; attrs: type, length]
!      [r, L, ; jump, 3] << xtensa_emit_branch (true, operands);
!      [r, r, ; jump, 3] << xtensa_emit_branch (false, operands);
!   }
!   [(set_attr "mode" "none")])
  
  ;; Branch patterns for bit testing
  
***************
*** 2373,2438 ****
  })
  
  (define_insn "movsicc_internal0"
!   [(set (match_operand:SI 0 "register_operand" "=a,a")
  	(if_then_else:SI (match_operator 4 "branch_operator"
! 			   [(match_operand:SI 1 "register_operand" "r,r")
  			    (const_int 0)])
! 			 (match_operand:SI 2 "register_operand" "r,0")
! 			 (match_operand:SI 3 "register_operand" "0,r")))]
    ""
! {
!   return xtensa_emit_movcc (which_alternative == 1, false, false, operands);
! }
!   [(set_attr "type"	"move,move")
!    (set_attr "mode"	"SI")
!    (set_attr "length"	"3,3")])
  
  (define_insn "movsicc_internal1"
!   [(set (match_operand:SI 0 "register_operand" "=a,a")
  	(if_then_else:SI (match_operator 4 "boolean_operator"
! 			   [(match_operand:CC 1 "register_operand" "b,b")
  			    (const_int 0)])
! 			 (match_operand:SI 2 "register_operand" "r,0")
! 			 (match_operand:SI 3 "register_operand" "0,r")))]
    "TARGET_BOOLEANS"
! {
!   return xtensa_emit_movcc (which_alternative == 1, false, true, operands);
! }
!   [(set_attr "type"	"move,move")
!    (set_attr "mode"	"SI")
!    (set_attr "length"	"3,3")])
  
  (define_insn "movsfcc_internal0"
!   [(set (match_operand:SF 0 "register_operand" "=a,a,f,f")
  	(if_then_else:SF (match_operator 4 "branch_operator"
! 			   [(match_operand:SI 1 "register_operand" "r,r,r,r")
  			    (const_int 0)])
! 			 (match_operand:SF 2 "register_operand" "r,0,f,0")
! 			 (match_operand:SF 3 "register_operand" "0,r,0,f")))]
    ""
! {
!   return xtensa_emit_movcc ((which_alternative & 1) == 1,
! 			    which_alternative >= 2, false, operands);
! }
!   [(set_attr "type"	"move,move,move,move")
!    (set_attr "mode"	"SF")
!    (set_attr "length"	"3,3,3,3")])
  
  (define_insn "movsfcc_internal1"
!   [(set (match_operand:SF 0 "register_operand" "=a,a,f,f")
  	(if_then_else:SF (match_operator 4 "boolean_operator"
! 			   [(match_operand:CC 1 "register_operand" "b,b,b,b")
  			    (const_int 0)])
! 			 (match_operand:SF 2 "register_operand" "r,0,f,0")
! 			 (match_operand:SF 3 "register_operand" "0,r,0,f")))]
    "TARGET_BOOLEANS"
! {
!   return xtensa_emit_movcc ((which_alternative & 1) == 1,
! 			    which_alternative >= 2, true, operands);
! }
!   [(set_attr "type"	"move,move,move,move")
!    (set_attr "mode"	"SF")
!    (set_attr "length"	"3,3,3,3")])
  
  
  ;; Floating-point comparisons.
--- 2372,2435 ----
  })
  
  (define_insn "movsicc_internal0"
!   [(set (match_operand:SI 0 "register_operand")
  	(if_then_else:SI (match_operator 4 "branch_operator"
! 			   [(match_operand:SI 1 "register_operand")
  			    (const_int 0)])
! 			 (match_operand:SI 2 "register_operand")
! 			 (match_operand:SI 3 "register_operand")))]
    ""
!   {@ [cons: =0, 1, 2, 3; attrs: type, length]
!      [a, r, r, 0; move, 3] << xtensa_emit_movcc (false, false, false, operands);
!      [a, r, 0, r; move, 3] << xtensa_emit_movcc (true, false, false, operands);
!   }
!   [(set_attr "mode" "SI")])
  
  (define_insn "movsicc_internal1"
!   [(set (match_operand:SI 0 "register_operand")
  	(if_then_else:SI (match_operator 4 "boolean_operator"
! 			   [(match_operand:CC 1 "register_operand")
  			    (const_int 0)])
! 			 (match_operand:SI 2 "register_operand")
! 			 (match_operand:SI 3 "register_operand")))]
    "TARGET_BOOLEANS"
!   {@ [cons: =0, 1, 2, 3; attrs: type, length]
!      [a, b, r, 0; move, 3] << xtensa_emit_movcc (false, false, true, operands);
!      [a, b, 0, r; move, 3] << xtensa_emit_movcc (true, false, true, operands);
!   }
!   [(set_attr "mode" "SI")])
  
  (define_insn "movsfcc_internal0"
!   [(set (match_operand:SF 0 "register_operand")
  	(if_then_else:SF (match_operator 4 "branch_operator"
! 			   [(match_operand:SI 1 "register_operand")
  			    (const_int 0)])
! 			 (match_operand:SF 2 "register_operand")
! 			 (match_operand:SF 3 "register_operand")))]
    ""
!   {@ [cons: =0, 1, 2, 3; attrs: type, length]
!      [a, r, r, 0; move, 3] << xtensa_emit_movcc (false, false, false, operands);
!      [a, r, 0, r; move, 3] << xtensa_emit_movcc (true, false, false, operands);
!      [f, r, f, 0; move, 3] << xtensa_emit_movcc (false, true, false, operands);
!      [f, r, 0, f; move, 3] << xtensa_emit_movcc (true, true, false, operands);
!   }
!   [(set_attr "mode" "SF")])
  
  (define_insn "movsfcc_internal1"
!   [(set (match_operand:SF 0 "register_operand")
  	(if_then_else:SF (match_operator 4 "boolean_operator"
! 			   [(match_operand:CC 1 "register_operand")
  			    (const_int 0)])
! 			 (match_operand:SF 2 "register_operand")
! 			 (match_operand:SF 3 "register_operand")))]
    "TARGET_BOOLEANS"
!   {@ [cons: =0, 1, 2, 3; attrs: type, length]
!      [a, b, r, 0; move, 3] << xtensa_emit_movcc (false, false, true, operands);
!      [a, b, 0, r; move, 3] << xtensa_emit_movcc (true, false, true, operands);
!      [f, b, f, 0; move, 3] << xtensa_emit_movcc (false, true, true, operands);
!      [f, b, 0, f; move, 3] << xtensa_emit_movcc (true, true, true, operands);
!   }
!   [(set_attr "mode" "SF")])
  
  
  ;; Floating-point comparisons.
diff -Nrcpad gcc-16-20260308/gcc/configure gcc-16-20260315/gcc/configure
*** gcc-16-20260308/gcc/configure	Sun Mar  8 22:32:17 2026
--- gcc-16-20260315/gcc/configure	Sun Mar 15 22:32:19 2026
*************** with_gxx_include_dir
*** 969,977 ****
--- 969,979 ----
  with_gxx_libcxx_include_dir
  with_cpp_install_dir
  enable_generated_files_in_srcdir
+ with_gnu_ld
  with_ld
  with_demangler_in_ld
  with_dsymutil
+ with_gnu_as
  with_as
  with_windres
  enable_largefile
*************** with_picolibc
*** 1009,1015 ****
  with_zstd
  with_zstd_include
  with_zstd_lib
- with_gnu_ld
  enable_rpath
  with_libiconv_prefix
  with_libiconv_type
--- 1011,1016 ----
*************** enable_fast_install
*** 1032,1038 ****
  enable_libtool_lock
  enable_darwin_at_rpath
  with_darwin_extra_rpath
- with_gnu_as
  enable_ld
  enable_gold
  with_plugin_ld
--- 1033,1038 ----
*************** Optional Packages:
*** 1868,1877 ****
--- 1868,1879 ----
    --with-cpp-install-dir=DIR
                            install the user visible C preprocessor in DIR
                            (relative to PREFIX) as well as PREFIX/bin
+   --with-gnu-ld           arrange to work with GNU ld
    --with-ld               arrange to use the specified ld (full pathname)
    --with-demangler-in-ld  try to use demangler in GNU ld
    --with-dsymutil         arrange to use the specified dsymutil (full
                            pathname)
+   --with-gnu-as           arrange to work with GNU as
    --with-as               arrange to use the specified as (full pathname)
    --with-windres          arrange to use the specified windres (full pathname)
    --with-stack-clash-protection-guard-size=size
*************** Optional Packages:
*** 1919,1926 ****
    --with-darwin-extra-rpath=[ARG]
                            Specify a runpath directory, additional to those
                            provided by the compiler
-   --with-gnu-as           arrange to work with GNU as
-   --with-gnu-ld           arrange to work with GNU ld
    --with-plugin-ld=[ARG]  specify the plugin linker
    --with-glibc-version=M.N
                            assume GCC used with glibc version M.N or later
--- 1921,1926 ----
*************** fi
*** 3925,3930 ****
--- 3925,3940 ----
  # Find default linker
  # -------------------
  
+ # With GNU ld
+ 
+ # Check whether --with-gnu-ld was given.
+ if test "${with_gnu_ld+set}" = set; then :
+   withval=$with_gnu_ld; gnu_ld_flag="$with_gnu_ld"
+ else
+   gnu_ld_flag=no
+ fi
+ 
+ 
  case $target in
      *darwin*)
  	ld64_flag=yes # Darwin can only use a ld64-compatible linker.
*************** fi
*** 4021,4026 ****
--- 4031,4046 ----
  # Find default assembler
  # ----------------------
  
+ # With GNU as
+ 
+ # Check whether --with-gnu-as was given.
+ if test "${with_gnu_as+set}" = set; then :
+   withval=$with_gnu_as; gas_flag="$with_gnu_as"
+ else
+   gas_flag=no
+ fi
+ 
+ 
  
  # Check whether --with-as was given.
  if test "${with_as+set}" = set; then :
*************** else
*** 21953,21959 ****
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 21956 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
--- 21973,21979 ----
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 21976 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
*************** else
*** 22059,22065 ****
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 22062 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
--- 22079,22085 ----
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
! #line 22082 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
*************** fi
*** 25476,25495 ****
  fi
  fi
  
- # With GNU as
- 
- # Check whether --with-gnu-as was given.
- if test "${with_gnu_as+set}" = set; then :
-   withval=$with_gnu_as; gas_flag="$with_gnu_as"
- else
-   if $gcc_cv_as --version 2>/dev/null | grep GNU > /dev/null; then
-    gas_flag=yes
-  else
-    gas_flag=no
- fi
- fi
- 
- 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking Solaris assembler" >&5
  $as_echo_n "checking Solaris assembler... " >&6; }
  case $target in
--- 25496,25501 ----
*************** case "$ORIGINAL_AS_FOR_TARGET" in
*** 25522,25527 ****
--- 25528,25542 ----
   ;;
  esac
  
+ # Check if we are using GNU as if not already set.
+ if test -z "$gas_flag"; then
+   if $gcc_cv_as --version 2>/dev/null | grep GNU > /dev/null; then
+     gas_flag=yes
+   else
+     gas_flag=no
+   fi
+ fi
+ 
  if $gcc_cv_as --help 2>&1 | grep -- --fatal-warnings > /dev/null; then
    fw_as_opt=--fatal-warnings
  fi
*************** fi
*** 25635,25654 ****
  fi
  fi
  
- # With GNU ld
- 
- # Check whether --with-gnu-ld was given.
- if test "${with_gnu_ld+set}" = set; then :
-   withval=$with_gnu_ld; gnu_ld_flag="$with_gnu_ld"
- else
-   if $gcc_cv_ld --version 2>/dev/null | grep GNU > /dev/null; then
-    gnu_ld_flag=yes
-  else
-    gnu_ld_flag=no
-  fi
- fi
- 
- 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking Solaris linker" >&5
  $as_echo_n "checking Solaris linker... " >&6; }
  case $target in
--- 25650,25655 ----
*************** cat >>confdefs.h <<_ACEOF
*** 25697,25702 ****
--- 25698,25712 ----
  _ACEOF
  
  
+ # Check if we are using GNU ld if not already set.
+ if test -z "$gnu_ld_flag"; then
+   if $gcc_cv_ld --version 2>/dev/null | grep GNU > /dev/null; then
+     gnu_ld_flag=yes
+   else
+     gnu_ld_flag=no
+   fi
+ fi
+ 
  case "$target:$gnu_ld_flag" in
    *-*-solaris2*:no)
      # While Solaris ld has -m32/-m64 it usually determines the ELF class
diff -Nrcpad gcc-16-20260308/gcc/configure.ac gcc-16-20260315/gcc/configure.ac
*** gcc-16-20260308/gcc/configure.ac	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/configure.ac	Sun Mar 15 22:32:07 2026
*************** AC_SUBST(GENINSRC)
*** 332,337 ****
--- 332,343 ----
  # Find default linker
  # -------------------
  
+ # With GNU ld
+ AC_ARG_WITH(gnu-ld,
+ [AS_HELP_STRING([--with-gnu-ld], [arrange to work with GNU ld])],
+ gnu_ld_flag="$with_gnu_ld",
+ gnu_ld_flag=no)
+ 
  case $target in
      *darwin*)
  	ld64_flag=yes # Darwin can only use a ld64-compatible linker.
*************** fi
*** 405,410 ****
--- 411,422 ----
  # Find default assembler
  # ----------------------
  
+ # With GNU as
+ AC_ARG_WITH(gnu-as,
+ [AS_HELP_STRING([--with-gnu-as], [arrange to work with GNU as])],
+ gas_flag="$with_gnu_as",
+ gas_flag=no)
+ 
  AC_ARG_WITH(as,
  [AS_HELP_STRING([--with-as], [arrange to use the specified as (full pathname)])],
  DEFAULT_ASSEMBLER="$with_as")
*************** else
*** 2726,2741 ****
          AC_PATH_PROG(gcc_cv_as, $AS_FOR_TARGET)
  fi])
  
- # With GNU as
- AC_ARG_WITH(gnu-as,
- [AS_HELP_STRING([--with-gnu-as], [arrange to work with GNU as])],
- gas_flag="$with_gnu_as",
- [if $gcc_cv_as --version 2>/dev/null | grep GNU > /dev/null; then
-    gas_flag=yes
-  else
-    gas_flag=no
- fi])
- 
  AC_MSG_CHECKING(Solaris assembler)
  case $target in
    *-*-solaris2*)
--- 2738,2743 ----
*************** case "$ORIGINAL_AS_FOR_TARGET" in
*** 2762,2767 ****
--- 2764,2778 ----
    *) AC_CONFIG_FILES(as:exec-tool.in, [chmod +x as]) ;;
  esac 
  
+ # Check if we are using GNU as if not already set.
+ if test -z "$gas_flag"; then
+   if $gcc_cv_as --version 2>/dev/null | grep GNU > /dev/null; then
+     gas_flag=yes
+   else
+     gas_flag=no
+   fi
+ fi
+ 
  if $gcc_cv_as --help 2>&1 | grep -- --fatal-warnings > /dev/null; then
    fw_as_opt=--fatal-warnings
  fi
*************** else
*** 2828,2843 ****
          AC_PATH_PROG(gcc_cv_ld, $LD_FOR_TARGET)
  fi])
  
- # With GNU ld
- AC_ARG_WITH(gnu-ld,
- [AS_HELP_STRING([--with-gnu-ld], [arrange to work with GNU ld])],
- gnu_ld_flag="$with_gnu_ld",
- [if $gcc_cv_ld --version 2>/dev/null | grep GNU > /dev/null; then
-    gnu_ld_flag=yes
-  else
-    gnu_ld_flag=no
-  fi])
- 
  AC_MSG_CHECKING(Solaris linker)
  case $target in
    *-*-solaris2*)
--- 2839,2844 ----
*************** AC_ARG_WITH(plugin-ld,
*** 2874,2879 ****
--- 2875,2889 ----
  AC_SUBST(ORIGINAL_PLUGIN_LD_FOR_TARGET)
  AC_DEFINE_UNQUOTED(PLUGIN_LD_SUFFIX, "$PLUGIN_LD_SUFFIX", [Specify plugin linker])
  
+ # Check if we are using GNU ld if not already set.
+ if test -z "$gnu_ld_flag"; then
+   if $gcc_cv_ld --version 2>/dev/null | grep GNU > /dev/null; then
+     gnu_ld_flag=yes
+   else
+     gnu_ld_flag=no
+   fi
+ fi
+ 
  case "$target:$gnu_ld_flag" in
    *-*-solaris2*:no)
      # While Solaris ld has -m32/-m64 it usually determines the ELF class
diff -Nrcpad gcc-16-20260308/gcc/configure.tgt gcc-16-20260315/gcc/configure.tgt
*** gcc-16-20260308/gcc/configure.tgt	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/configure.tgt	Sun Mar 15 22:32:07 2026
***************
*** 1,5 ****
  # -*- shell-script -*-
! #   Copyright (C) 2025 Free Software Foundation, Inc.
  
  # This program is free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
--- 1,5 ----
  # -*- shell-script -*-
! #   Copyright (C) 2025-2026 Free Software Foundation, Inc.
  
  # This program is free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
diff -Nrcpad gcc-16-20260308/gcc/cp/ChangeLog gcc-16-20260315/gcc/cp/ChangeLog
*** gcc-16-20260308/gcc/cp/ChangeLog	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/ChangeLog	Sun Mar 15 22:32:07 2026
***************
*** 1,3 ****
--- 1,175 ----
+ 2026-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124399
+ 	* decl.cc (grokdeclarator): If both *attrlist and
+ 	declarator->std_attributes list contain annotations, chainon
+ 	declarator->std_attributes to tail of copy_list (*attrlist)
+ 	rather than *attrlist to tail of declarator->std_attributes.
+ 
+ 2026-03-14  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124485
+ 	* cp-tree.h (lazy_load_pendings): Declare new overload.
+ 	* module.cc (lazy_load_pendings): Define it.
+ 	* name-lookup.cc (lookup_elaborated_type): Load pending entities
+ 	with given name before doing namespace-scope lookup.
+ 	(pushtag): Remove no-longer-needed pending load.
+ 
+ 2026-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124456
+ 	* pt.cc (tsubst_pack_expansion): For structured binding pack
+ 	with type dependent pack set arg_pack to NULL_TREE.
+ 
+ 2026-03-14  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124478
+ 	* cp-tree.h (lazily_declare_fn): Make return type void.
+ 	* method.cc (is_lazy_special_member): New function.
+ 	(implicitly_declare_fn): Bail early if we lazy loaded the member
+ 	we're trying to declare.
+ 	(lazily_declare_fn): Likewise.
+ 
+ 2026-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* Make-lang.in (check-c++-all): Also test c++26.
+ 
+ 2026-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124388
+ 	* reflect.cc (eval_display_string_of): Only print <unnmamed bit-field>
+ 	for DECL_UNNAMED_BIT_FIELD, for anon union print <anonymous union>,
+ 	otherwise print <unnamed member>.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 	    Thomas Berger  <loki+gcc@loki.codes>
+ 
+ 	PR c++/124200
+ 	* name-lookup.h (walk_namespace_bindings): Declare.
+ 	* name-lookup.cc (walk_namespace_bindings): New function.
+ 	* reflect.cc (namespace_members_of): Use it.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124309
+ 	* module.cc (enum module_directness): Fix inconsistent
+ 	capitalisation.
+ 	(module_state::read_imports): Reparent module locations newly
+ 	seen as direct via partition.
+ 
+ 2026-03-12  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/124440
+ 	* parser.cc (cp_parser_postfix_dot_deref_expression): Pass
+ 	parser->scope to adjust_result_of_qualified_name_lookup even
+ 	when splice_p.  Assign the result of
+ 	adjust_result_of_qualified_name_lookup to name.
+ 	* pt.cc (tsubst_expr): Call adjust_result_of_qualified_name_lookup
+ 	for BASELINKs in splice-expressions.
+ 	* search.cc (adjust_result_of_qualified_name_lookup): Return early
+ 	if decl is not a BASELINK.  If qualifying_scope is null, use decl's
+ 	binfo.  Set BASELINK_QUALIFIED_P only if qualifying_scope wasn't
+ 	null.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124459
+ 	* module.cc (module_state::read_initial): Move
+ 	read_diagnostic_classification after read_macro_maps.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124311
+ 	* module.cc (trees_in::key_mergeable): Check DECL_DEFAULTED_FN
+ 	instead of DECL_ARTIFICIAL.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	* decl.cc (start_decl): Check module_may_redeclare for members.
+ 	(grokfndecl): Likewise.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	* semantics.cc (begin_class_definition): Move
+ 	module_may_redeclare check to...
+ 	* parser.cc (cp_parser_class_head): ...here.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124390
+ 	* module.cc (depset::hash::add_binding_entity): Don't create
+ 	bindings for hidden friends.
+ 
+ 2026-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* reflect.cc (check_out_of_consteval_use_r): Don't walk BLOCK
+ 	subtrees.
+ 
+ 2026-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* parser.cc (cp_parser_omp_taskwait): Set TREE_TYPE of OMP_TASK
+ 	to void_type_node rather than void_node.
+ 	(cp_parser_omp_dispatch): Likewise.
+ 
+ 2026-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124425
+ 	* reflect.cc (get_range_elts): Handle proxy iterators.  Call
+ 	fold_build_cleanup_point_expr on both deref and inc.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124431
+ 	* module.cc (trees_in::key_mergeable): Allow merging members of
+ 	template specialisations.
+ 
+ 2026-03-12  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/124397
+ 	* pt.cc (tsubst_lambda_expr): Don't override complain when emitting
+ 	diagnostics.
+ 
+ 2026-03-11  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/120285
+ 	* init.cc (build_vec_init): Only build up a CONSTRUCTOR for
+ 	arrays, otherwise use a TREE_LIST like prior to r15-3933.
+ 
+ 2026-03-11  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/124331
+ 	* pt.cc (tsubst_qualified_id): New name_lookup_p parameter.  Don't
+ 	call adjust_result_of_qualified_name_lookup and
+ 	finish_qualified_id_expr if name_lookup_p is false.
+ 	(tsubst_expr) <case REFLECT_EXPR>: Handle SCOPE_REF specially by
+ 	calling tsubst_qualified_id with name_lookup_p=false.
+ 
+ 2026-03-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124417
+ 	* reflect.cc (get_meta_exception_object): Add CTX argument.  For
+ 	!flag_exceptions emit error unless ctx->quiet, set *non_constant_p
+ 	to true and return NULL_TREE instead of throwing an exception.
+ 	(throw_exception): Adjust get_meta_exception_object caller.
+ 
+ 2026-03-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124404
+ 	* constexpr.cc (cxx_eval_constexpr_diag): Call convert_from_reference
+ 	on arguments.
+ 
+ 2026-03-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124399
+ 	* reflect.cc (compare_reflections): For REFLECT_ANNOTATION, compare
+ 	TREE_VALUE of lhs and rhs instead of lhs and rhs.
+ 
+ 2026-03-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124399
+ 	* reflect.cc (eval_annotations_of): Call complete_type on r if it
+ 	is a type.
+ 
  2026-03-07  Jason Merrill  <jason@redhat.com>
  	     <mtxn@duck.com>
  
diff -Nrcpad gcc-16-20260308/gcc/cp/Make-lang.in gcc-16-20260315/gcc/cp/Make-lang.in
*** gcc-16-20260308/gcc/cp/Make-lang.in	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/Make-lang.in	Sun Mar 15 22:32:07 2026
*************** check-c++17:
*** 300,306 ****
  
  # Run the testsuite in all standard conformance levels.
  check-c++-all:
! 	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) --stds=98,11,14,17,20,23,impcx" check-g++
  
  # Run the testsuite with garbage collection at every opportunity.
  check-g++-strict-gc:
--- 300,306 ----
  
  # Run the testsuite in all standard conformance levels.
  check-c++-all:
! 	$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) --stds=98,11,14,17,20,23,26,impcx" check-g++
  
  # Run the testsuite with garbage collection at every opportunity.
  check-g++-strict-gc:
diff -Nrcpad gcc-16-20260308/gcc/cp/constexpr.cc gcc-16-20260315/gcc/cp/constexpr.cc
*** gcc-16-20260308/gcc/cp/constexpr.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/constexpr.cc	Sun Mar 15 22:32:07 2026
*************** cxx_eval_constexpr_diag (const constexpr
*** 2350,2356 ****
    tree args[3];
    for (int i = 0; i < 3; ++i)
      {
!       tree arg = CALL_EXPR_ARG (t, i);
        arg = cxx_eval_constant_expression (ctx, arg,
  					  (i == 0
  					   || POINTER_TYPE_P (TREE_TYPE (arg)))
--- 2350,2356 ----
    tree args[3];
    for (int i = 0; i < 3; ++i)
      {
!       tree arg = convert_from_reference (CALL_EXPR_ARG (t, i));
        arg = cxx_eval_constant_expression (ctx, arg,
  					  (i == 0
  					   || POINTER_TYPE_P (TREE_TYPE (arg)))
diff -Nrcpad gcc-16-20260308/gcc/cp/cp-tree.h gcc-16-20260315/gcc/cp/cp-tree.h
*** gcc-16-20260308/gcc/cp/cp-tree.h	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/cp-tree.h	Sun Mar 15 22:32:07 2026
*************** extern bool deduce_inheriting_ctor		(tre
*** 7879,7885 ****
  extern bool decl_remember_implicit_trigger_p	(tree);
  extern void synthesize_method			(tree);
  extern void maybe_synthesize_method		(tree);
! extern tree lazily_declare_fn			(special_function_kind,
  						 tree);
  extern tree skip_artificial_parms_for		(const_tree, tree);
  extern int num_artificial_parms_for		(const_tree);
--- 7879,7885 ----
  extern bool decl_remember_implicit_trigger_p	(tree);
  extern void synthesize_method			(tree);
  extern void maybe_synthesize_method		(tree);
! extern void lazily_declare_fn			(special_function_kind,
  						 tree);
  extern tree skip_artificial_parms_for		(const_tree, tree);
  extern int num_artificial_parms_for		(const_tree);
*************** extern void mangle_module (int m, bool i
*** 7997,8002 ****
--- 7997,8003 ----
  extern void mangle_module_fini ();
  extern void lazy_load_binding (unsigned mod, tree ns, tree id,
  			       binding_slot *bslot);
+ extern void lazy_load_pendings (tree ns, tree name);
  extern void lazy_load_pendings (tree decl);
  extern module_state *preprocess_module (module_state *, location_t,
  					bool in_purview,
diff -Nrcpad gcc-16-20260308/gcc/cp/decl.cc gcc-16-20260315/gcc/cp/decl.cc
*** gcc-16-20260308/gcc/cp/decl.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/decl.cc	Sun Mar 15 22:32:07 2026
*************** start_decl (const cp_declarator *declara
*** 6692,6697 ****
--- 6692,6701 ----
  			       context, DECL_NAME (decl));
  		  DECL_CONTEXT (decl) = DECL_CONTEXT (field);
  		}
+ 
+ 	      if (modules_p () && !module_may_redeclare (field))
+ 		return error_mark_node;
+ 
  	      /* Static data member are tricky; an in-class initialization
  		 still doesn't provide a definition, so the in-class
  		 declaration will have DECL_EXTERNAL set, but will have an
*************** grokfndecl (tree ctype,
*** 12677,12682 ****
--- 12681,12689 ----
  	      return NULL_TREE;
  	    }
  
+ 	  if (modules_p () && !module_may_redeclare (old_decl))
+ 	    return NULL_TREE;
+ 
  	  /* Since we've smashed OLD_DECL to its
  	     DECL_TEMPLATE_RESULT, we must do the same to DECL.  */
  	  if (TREE_CODE (decl) == TEMPLATE_DECL)
*************** grokdeclarator (const cp_declarator *dec
*** 15885,15891 ****
        /* [dcl.meaning]/1: The optional attribute-specifier-seq following
  	 a declarator-id appertains to the entity that is declared.  */
        if (declarator->std_attributes != error_mark_node)
! 	*attrlist = attr_chainon (declarator->std_attributes, *attrlist);
        else
  	/* We should have already diagnosed the issue (c++/78344).  */
  	gcc_assert (seen_error ());
--- 15892,15912 ----
        /* [dcl.meaning]/1: The optional attribute-specifier-seq following
  	 a declarator-id appertains to the entity that is declared.  */
        if (declarator->std_attributes != error_mark_node)
! 	{
! 	  if (flag_reflection
! 	      && declarator->std_attributes != error_mark_node
! 	      && lookup_attribute ("internal ", "annotation ",
! 				   declarator->std_attributes)
! 	      && *attrlist != error_mark_node
! 	      && lookup_attribute ("internal ", "annotation ", *attrlist))
! 	    /* If there are annotations in both lists, ensure
! 	       declarator->std_attributes go after *attrlist.  See
! 	       PR124399.  */
! 	    *attrlist = chainon (copy_list (*attrlist),
! 				 declarator->std_attributes);
! 	  else
! 	    *attrlist = attr_chainon (declarator->std_attributes, *attrlist);
! 	}
        else
  	/* We should have already diagnosed the issue (c++/78344).  */
  	gcc_assert (seen_error ());
diff -Nrcpad gcc-16-20260308/gcc/cp/init.cc gcc-16-20260315/gcc/cp/init.cc
*** gcc-16-20260308/gcc/cp/init.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/init.cc	Sun Mar 15 22:32:07 2026
*************** build_vec_init (tree base, tree maxindex
*** 5079,5089 ****
  		from = move (from);
  	      if (direct_init)
  		{
! 		  /* Wrap the initializer in a CONSTRUCTOR so that
! 		     build_vec_init recognizes it as direct-initialization.  */
! 		  from = build_constructor_single (init_list_type_node,
! 						   NULL_TREE, from);
! 		  CONSTRUCTOR_IS_DIRECT_INIT (from) = true;
  		}
  	    }
  	  else
--- 5079,5095 ----
  		from = move (from);
  	      if (direct_init)
  		{
! 		  if (TREE_CODE (type) == ARRAY_TYPE)
! 		    {
! 		      /* Wrap the initializer in a CONSTRUCTOR so that
! 			 build_vec_init recognizes it as
! 			 direct-initialization.  */
! 		      from = build_constructor_single (init_list_type_node,
! 						       NULL_TREE, from);
! 		      CONSTRUCTOR_IS_DIRECT_INIT (from) = true;
! 		    }
! 		  else
! 		    from = build_tree_list (NULL_TREE, from);
  		}
  	    }
  	  else
diff -Nrcpad gcc-16-20260308/gcc/cp/method.cc gcc-16-20260315/gcc/cp/method.cc
*** gcc-16-20260308/gcc/cp/method.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/method.cc	Sun Mar 15 22:32:07 2026
*************** deduce_inheriting_ctor (tree decl)
*** 3356,3366 ****
    return true;
  }
  
  /* Implicitly declare the special function indicated by KIND, as a
     member of TYPE.  For copy constructors and assignment operators,
     CONST_P indicates whether these functions should take a const
     reference argument or a non-const reference.
!    Returns the FUNCTION_DECL for the implicitly declared function.  */
  
  tree
  implicitly_declare_fn (special_function_kind kind, tree type,
--- 3356,3393 ----
    return true;
  }
  
+ /* Returns whether SFK is currently lazy within TYPE, i.e., it hasn't
+    yet been declared.  */
+ 
+ static bool
+ is_lazy_special_member (special_function_kind sfk, tree type)
+ {
+   switch (sfk)
+     {
+     case sfk_constructor:
+       return CLASSTYPE_LAZY_DEFAULT_CTOR (type);
+     case sfk_copy_constructor:
+       return CLASSTYPE_LAZY_COPY_CTOR (type);
+     case sfk_move_constructor:
+       return CLASSTYPE_LAZY_MOVE_CTOR (type);
+     case sfk_copy_assignment:
+       return CLASSTYPE_LAZY_COPY_ASSIGN (type);
+     case sfk_move_assignment:
+       return CLASSTYPE_LAZY_MOVE_ASSIGN (type);
+     case sfk_destructor:
+       return CLASSTYPE_LAZY_DESTRUCTOR (type);
+     default:
+       return false;
+     }
+ }
+ 
  /* Implicitly declare the special function indicated by KIND, as a
     member of TYPE.  For copy constructors and assignment operators,
     CONST_P indicates whether these functions should take a const
     reference argument or a non-const reference.
!    Returns the FUNCTION_DECL for the new implicitly declared function,
!    or NULL_TREE if we just discovered the function already exists.
!    Currently this can only happen for lazy implicit members.  */
  
  tree
  implicitly_declare_fn (special_function_kind kind, tree type,
*************** implicitly_declare_fn (special_function_
*** 3484,3489 ****
--- 3511,3517 ----
      }
  
    bool trivial_p = false;
+   bool was_lazy = is_lazy_special_member (kind, type);
  
    if (inherited_ctor)
      {
*************** implicitly_declare_fn (special_function_
*** 3504,3509 ****
--- 3532,3545 ----
      synthesized_method_walk (type, kind, const_p, &raises, &trivial_p,
  			     &deleted_p, &constexpr_p, false,
  			     &inherited_ctor, inherited_parms);
+ 
+   /* The above walk may have indirectly loaded a lazy decl we're
+      about to build from a module, let's not build it again.  */
+   if (modules_p ()
+       && was_lazy
+       && !is_lazy_special_member (kind, type))
+     return NULL_TREE;
+ 
    /* Don't bother marking a deleted constructor as constexpr.  */
    if (deleted_p)
      constexpr_p = false;
*************** defaultable_fn_check (tree fn)
*** 3918,3934 ****
  }
  
  /* Add an implicit declaration to TYPE for the kind of function
!    indicated by SFK.  Return the FUNCTION_DECL for the new implicit
!    declaration.  */
  
! tree
  lazily_declare_fn (special_function_kind sfk, tree type)
  {
!   tree fn;
    /* Whether or not the argument has a const reference type.  */
!   bool const_p = false;
  
!   type = TYPE_MAIN_VARIANT (type);
  
    switch (sfk)
      {
--- 3954,3979 ----
  }
  
  /* Add an implicit declaration to TYPE for the kind of function
!    indicated by SFK.  */
  
! void
  lazily_declare_fn (special_function_kind sfk, tree type)
  {
!   type = TYPE_MAIN_VARIANT (type);
! 
    /* Whether or not the argument has a const reference type.  */
!   bool const_p = ((sfk == sfk_copy_constructor
! 		   && TYPE_HAS_CONST_COPY_CTOR (type))
! 		  || (sfk == sfk_copy_assignment
! 		      && TYPE_HAS_CONST_COPY_ASSIGN (type)));
  
!   /* Declare the function.  */
!   tree fn = implicitly_declare_fn (sfk, type, const_p, NULL, NULL);
! 
!   /* We may have indirectly acquired the function from a module,
!      if so there's nothing else to do.  */
!   if (!fn)
!     return;
  
    switch (sfk)
      {
*************** lazily_declare_fn (special_function_kind
*** 3936,3949 ****
        CLASSTYPE_LAZY_DEFAULT_CTOR (type) = 0;
        break;
      case sfk_copy_constructor:
-       const_p = TYPE_HAS_CONST_COPY_CTOR (type);
        CLASSTYPE_LAZY_COPY_CTOR (type) = 0;
        break;
      case sfk_move_constructor:
        CLASSTYPE_LAZY_MOVE_CTOR (type) = 0;
        break;
      case sfk_copy_assignment:
-       const_p = TYPE_HAS_CONST_COPY_ASSIGN (type);
        CLASSTYPE_LAZY_COPY_ASSIGN (type) = 0;
        break;
      case sfk_move_assignment:
--- 3981,3992 ----
*************** lazily_declare_fn (special_function_kind
*** 3956,3964 ****
        gcc_unreachable ();
      }
  
-   /* Declare the function.  */
-   fn = implicitly_declare_fn (sfk, type, const_p, NULL, NULL);
- 
    /* [class.copy]/8 If the class definition declares a move constructor or
       move assignment operator, the implicitly declared copy constructor is
       defined as deleted.... */
--- 3999,4004 ----
*************** lazily_declare_fn (special_function_kind
*** 4011,4018 ****
       check_bases_and_members, but we must also inject them here for deferred
       lazily-declared functions.  */
    maybe_propagate_warmth_attributes (fn, type);
- 
-   return fn;
  }
  
  /* Given a FUNCTION_DECL FN and a chain LIST, skip as many elements of LIST
--- 4051,4056 ----
diff -Nrcpad gcc-16-20260308/gcc/cp/module.cc gcc-16-20260315/gcc/cp/module.cc
*** gcc-16-20260308/gcc/cp/module.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/module.cc	Sun Mar 15 22:32:07 2026
*************** enum module_directness {
*** 3735,3741 ****
    MD_NONE,  		/* Not direct.  */
    MD_PARTITION_DIRECT,	/* Direct import of a partition.  */
    MD_DIRECT,		/* Direct import.  */
!   MD_PURVIEW_DIRECT,	/* direct import in purview.  */
  };
  
  /* State of a particular module. */
--- 3735,3741 ----
    MD_NONE,  		/* Not direct.  */
    MD_PARTITION_DIRECT,	/* Direct import of a partition.  */
    MD_DIRECT,		/* Direct import.  */
!   MD_PURVIEW_DIRECT,	/* Direct import in purview.  */
  };
  
  /* State of a particular module. */
*************** trees_in::key_mergeable (int tag, merge_
*** 12321,12332 ****
  
  	  case TYPE_DECL:
  	    gcc_checking_assert (!is_imported_temploid_friend);
  	    if (is_attached && !(state->is_module () || state->is_partition ())
! 		/* Implicit member functions can come from
! 		   anywhere.  */
! 		&& !(DECL_ARTIFICIAL (decl)
! 		     && TREE_CODE (decl) == FUNCTION_DECL
! 		     && !DECL_THUNK_P (decl)))
  	      kind = "unique";
  	    else
  	      {
--- 12321,12337 ----
  
  	  case TYPE_DECL:
  	    gcc_checking_assert (!is_imported_temploid_friend);
+ 	    int use_tmpl = 0;
  	    if (is_attached && !(state->is_module () || state->is_partition ())
! 		/* Implicit or in-class defaulted member functions
! 		   can come from anywhere.  */
! 		&& !(TREE_CODE (decl) == FUNCTION_DECL
! 		     && !DECL_THUNK_P (decl)
! 		     && DECL_DEFAULTED_FN (decl)
! 		     && !DECL_DEFAULTED_OUTSIDE_CLASS_P (decl))
! 		/* As can members of template specialisations.  */
! 		&& !(node_template_info (container, use_tmpl)
! 		     && use_tmpl != 0))
  	      kind = "unique";
  	    else
  	      {
*************** depset::hash::add_binding_entity (tree d
*** 14918,14923 ****
--- 14923,14938 ----
  	   than trying to clear out bindings after the fact.  */
  	return false;
  
+       if ((flags & WMB_Hidden)
+ 	  && DECL_LANG_SPECIFIC (inner)
+ 	  && DECL_UNIQUE_FRIEND_P (inner))
+ 	/* Hidden friends will be found via ADL on the class type,
+ 	   and so do not need to have bindings.  Anticipated builtin
+ 	   functions and the hidden decl underlying a DECL_LOCAL_DECL_P
+ 	   also don't need exporting, but we should create a binding
+ 	   anyway so that we can have a common decl to match against.  */
+ 	return false;
+ 
        bool internal_decl = false;
        if (!header_module_p () && is_tu_local_entity (decl))
  	{
*************** module_state::read_imports (bytes_in &se
*** 16959,16966 ****
  
  	  if (is_partition ())
  	    {
! 	      if (!imp->is_direct ())
! 		imp->directness = MD_PARTITION_DIRECT;
  	      if (exportedness > 0)
  		imp->exported_p = true;
  	    }
--- 16974,16984 ----
  
  	  if (is_partition ())
  	    {
! 	      if (!imp->is_direct () && !imp->is_partition_direct ())
! 		{
! 		  imp->directness = MD_PARTITION_DIRECT;
! 		  linemap_module_reparent (line_table, imp->loc, floc);
! 		}
  	      if (exportedness > 0)
  		imp->exported_p = true;
  	    }
*************** module_state::read_initial (cpp_reader *
*** 21202,21211 ****
    else if (!read_ordinary_maps (config.ordinary_locs, config.loc_range_bits))
      ok = false;
  
-   if (ok && have_locs && config.ordinary_locs
-       && !read_diagnostic_classification (global_dc))
-     ok = false;
- 
    /* Allocate the REMAP vector.  */
    slurp->alloc_remap (config.num_imports);
  
--- 21220,21225 ----
*************** module_state::read_initial (cpp_reader *
*** 21266,21271 ****
--- 21280,21291 ----
    else if (!read_macro_maps (config.macro_locs))
      ok = false;
  
+   /* Diagnostic classification streaming needs to come after reading
+      macro maps to handle _Pragmas in macros.  */
+   if (ok && have_locs && config.ordinary_locs
+       && !read_diagnostic_classification (global_dc))
+     ok = false;
+ 
    /* Note whether there's an active initializer.  */
    active_init_p = !is_header () && bool (config.active_init);
  
*************** lazy_load_binding (unsigned mod, tree ns
*** 22557,22575 ****
  	    module->get_flatname ());
  }
  
! /* Load any pending entities keyed to the top-key of DECL.  */
  
  void
! lazy_load_pendings (tree decl)
  {
    /* Make sure lazy loading from a template context behaves as if
       from a non-template context.  */
    processing_template_decl_sentinel ptds;
  
-   tree key_decl;
    pending_key key;
!   key.ns = find_pending_key (decl, &key_decl);
!   key.id = DECL_NAME (key_decl);
  
    auto *pending_vec = pending_table ? pending_table->get (key) : nullptr;
    if (!pending_vec)
--- 22577,22595 ----
  	    module->get_flatname ());
  }
  
! /* Load any pending entities keyed to NS and NAME.
!    Used to find pending types if we don't yet have a decl built.  */
  
  void
! lazy_load_pendings (tree ns, tree name)
  {
    /* Make sure lazy loading from a template context behaves as if
       from a non-template context.  */
    processing_template_decl_sentinel ptds;
  
    pending_key key;
!   key.ns = ns;
!   key.id = name;
  
    auto *pending_vec = pending_table ? pending_table->get (key) : nullptr;
    if (!pending_vec)
*************** lazy_load_pendings (tree decl)
*** 22622,22627 ****
--- 22642,22657 ----
  	    key.ns, &"::"[key.ns == global_namespace ? 2 : 0], key.id);
  }
  
+ /* Load any pending entities keyed to the top-key of DECL.  */
+ 
+ void
+ lazy_load_pendings (tree decl)
+ {
+   tree key_decl;
+   tree ns = find_pending_key (decl, &key_decl);
+   return lazy_load_pendings (ns, DECL_NAME (key_decl));
+ }
+ 
  static void
  direct_import (module_state *import, cpp_reader *reader)
  {
diff -Nrcpad gcc-16-20260308/gcc/cp/name-lookup.cc gcc-16-20260315/gcc/cp/name-lookup.cc
*** gcc-16-20260308/gcc/cp/name-lookup.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/name-lookup.cc	Sun Mar 15 22:32:07 2026
*************** ovl_iterator::exporting_p () const
*** 4340,4345 ****
--- 4340,4459 ----
    return OVL_EXPORT_P (ovl);
  }
  
+ /* Given a namespace NS, walk all of its bindings, calling CALLBACK
+    for all visible decls.  Any lazy module bindings will be loaded
+    at this point.  */
+ 
+ void
+ walk_namespace_bindings (tree ns, void (*callback) (tree decl, void *data),
+ 			 void *data)
+ {
+   for (tree o : *DECL_NAMESPACE_BINDINGS (ns))
+     if (TREE_CODE (o) == BINDING_VECTOR)
+       {
+ 	/* Modules may have duplicate entities on the binding slot.
+ 	   Keep track of this as needed, and ensure we only call
+ 	   the callback once per entity.  */
+ 	hash_set<tree> seen;
+ 	const auto callback_maybe_dup = [&](tree decl)
+ 	  {
+ 	    if (!seen.add (decl))
+ 	      callback (decl, data);
+ 	  };
+ 
+ 	/* First the current module.  There should be no dups yet,
+ 	   but track anything that might be dup'd later.  */
+ 	binding_cluster *cluster = BINDING_VECTOR_CLUSTER_BASE (o);
+ 	if (tree bind = cluster->slots[BINDING_SLOT_CURRENT])
+ 	  {
+ 	    tree value = bind;
+ 	    if (STAT_HACK_P (bind))
+ 	      {
+ 		if (STAT_TYPE (bind) && !STAT_TYPE_HIDDEN_P (bind))
+ 		  callback_maybe_dup (STAT_TYPE (bind));
+ 		if (STAT_DECL_HIDDEN_P (bind))
+ 		  value = NULL_TREE;
+ 		else
+ 		  value = STAT_DECL (bind);
+ 	      }
+ 	    value = ovl_skip_hidden (value);
+ 	    for (tree decl : ovl_range (value))
+ 	      callback_maybe_dup (decl);
+ 	  }
+ 
+ 	/* Now the imported bindings.  */
+ 	/* FIXME: We probably want names visible from the outermost point of
+ 	   constant evaluation, regardless of instantiations.  */
+ 	bitmap imports = get_import_bitmap ();
+ 	tree name = BINDING_VECTOR_NAME (o);
+ 
+ 	unsigned ix = BINDING_VECTOR_NUM_CLUSTERS (o);
+ 	if (BINDING_VECTOR_SLOTS_PER_CLUSTER == BINDING_SLOTS_FIXED)
+ 	  {
+ 	    ix--;
+ 	    cluster++;
+ 	  }
+ 
+ 	/* Do this in forward order, so we load modules in an order
+ 	   the user expects.  */
+ 	for (; ix--; cluster++)
+ 	  for (unsigned jx = 0; jx != BINDING_VECTOR_SLOTS_PER_CLUSTER; jx++)
+ 	    {
+ 	      /* Are we importing this module?  */
+ 	      if (unsigned base = cluster->indices[jx].base)
+ 		if (unsigned span = cluster->indices[jx].span)
+ 		  do
+ 		    if (bitmap_bit_p (imports, base))
+ 		      goto found;
+ 		  while (++base, --span);
+ 	      continue;
+ 
+ 	    found:;
+ 	      /* Is it loaded?  */
+ 	      unsigned mod = cluster->indices[jx].base;
+ 	      if (cluster->slots[jx].is_lazy ())
+ 		{
+ 		  gcc_assert (cluster->indices[jx].span == 1);
+ 		  lazy_load_binding (mod, ns, name, &cluster->slots[jx]);
+ 		}
+ 
+ 	      tree bind = cluster->slots[jx];
+ 	      if (!bind)
+ 		/* Load errors could mean there's nothing here.  */
+ 		continue;
+ 
+ 	      /* Extract what we can see from here.  If there's no
+ 		 stat_hack, then everything was exported.  */
+ 	      tree value = bind;
+ 	      if (STAT_HACK_P (bind))
+ 		{
+ 		  if (STAT_TYPE_VISIBLE_P (bind))
+ 		    callback_maybe_dup (STAT_TYPE (bind));
+ 		  value = STAT_VISIBLE (bind);
+ 		}
+ 	      value = ovl_skip_hidden (value);
+ 	      for (tree decl : ovl_range (value))
+ 		callback_maybe_dup (decl);
+ 	    }
+       }
+     else
+       {
+ 	tree bind = o;
+ 	if (STAT_HACK_P (bind))
+ 	  {
+ 	    if (STAT_TYPE (bind) && !STAT_TYPE_HIDDEN_P (bind))
+ 	      callback (STAT_TYPE (bind), data);
+ 	    if (STAT_DECL_HIDDEN_P (bind))
+ 	      bind = NULL_TREE;
+ 	    else
+ 	      bind = STAT_DECL (bind);
+ 	  }
+ 	bind = ovl_skip_hidden (bind);
+ 	for (tree decl : ovl_range (bind))
+ 	  callback (decl, data);
+       }
+ }
+ 
  /* Given a namespace-level binding BINDING, walk it, calling CALLBACK
     for all decls of the current module.  When partitions are involved,
     decls might be mentioned more than once.   Return the accumulation of
*************** lookup_elaborated_type (tree name, TAG_h
*** 8376,8381 ****
--- 8490,8502 ----
  
    /* Look in the innermost namespace.  */
    tree ns = b->this_entity;
+ 
+   /* If an import is going to provide a definition for this tag,
+      load it now so that we don't get confused later when processing
+      this tag's definition.  */
+   if (modules_p ())
+     lazy_load_pendings (ns, name);
+ 
    if (tree *slot = find_namespace_slot (ns, name))
      {
        tree bind = *slot;
*************** pushtag (tree name, tree type, TAG_how h
*** 8682,8693 ****
  	}
        else
  	{
- 	  /* If an import is going to provide a definition for this tag,
- 	     load it now so that we don't get confused later when processing
- 	     this tag's definition.  */
- 	  if (modules_p ())
- 	    lazy_load_pendings (decl);
- 
  	  decl = do_pushdecl_with_scope
  	    (decl, b, /*hiding=*/(how == TAG_how::HIDDEN_FRIEND));
  	  if (decl == error_mark_node)
--- 8803,8808 ----
diff -Nrcpad gcc-16-20260308/gcc/cp/name-lookup.h gcc-16-20260315/gcc/cp/name-lookup.h
*** gcc-16-20260308/gcc/cp/name-lookup.h	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/name-lookup.h	Sun Mar 15 22:32:07 2026
*************** extern bool maybe_push_to_top_level (tre
*** 521,526 ****
--- 521,529 ----
  extern void maybe_pop_from_top_level (bool);
  extern void push_using_decl_bindings (tree, tree);
  extern void expose_existing_namespace (tree);
+ extern void walk_namespace_bindings (tree ns,
+ 				     void (*callback) (tree, void *data),
+ 				     void *data);
  
  /* Lower level interface for modules. */
  extern tree *mergeable_namespace_slots (tree ns, tree name, bool is_attached,
diff -Nrcpad gcc-16-20260308/gcc/cp/parser.cc gcc-16-20260315/gcc/cp/parser.cc
*** gcc-16-20260308/gcc/cp/parser.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/parser.cc	Sun Mar 15 22:32:07 2026
*************** cp_parser_postfix_dot_deref_expression (
*** 9733,9746 ****
  	      parser->object_scope = NULL_TREE;
  	    }
  	  if ((parser->scope || splice_p) && name && BASELINK_P (name))
! 	    adjust_result_of_qualified_name_lookup
! 	      (name,
! 	       /* For obj->[:^^R:] we won't have parser->scope, but we still
! 		  have to perform this adjustment.  */
! 	       (splice_p
! 		? BINFO_TYPE (BASELINK_ACCESS_BINFO (name))
! 		: parser->scope),
! 	       scope);
  	  postfix_expression
  	    = finish_class_member_access_expr (postfix_expression, name,
  					       template_p,
--- 9733,9742 ----
  	      parser->object_scope = NULL_TREE;
  	    }
  	  if ((parser->scope || splice_p) && name && BASELINK_P (name))
! 	    /* For obj->[:^^R:] we won't have parser->scope, but we still
! 	       have to perform this adjustment.  */
! 	    name = (adjust_result_of_qualified_name_lookup
! 		    (name, parser->scope, scope));
  	  postfix_expression
  	    = finish_class_member_access_expr (postfix_expression, name,
  					       template_p,
*************** cp_parser_class_head (cp_parser* parser,
*** 30624,30629 ****
--- 30620,30637 ----
    if (type && type != error_mark_node)
      start_lambda_scope (TYPE_NAME (type));
  
+   /* Check that it's valid to declare this type here.  */
+   if (modules_p () && type)
+     {
+       if (module_may_redeclare (TYPE_NAME (type)))
+ 	{
+ 	  set_instantiating_module (TYPE_NAME (type));
+ 	  set_defining_module (TYPE_NAME (type));
+ 	}
+       else
+ 	type = NULL_TREE;
+     }
+ 
    /* We will have entered the scope containing the class; the names of
       base classes should be looked up in that context.  For example:
  
*************** cp_parser_omp_taskwait (cp_parser *parse
*** 51106,51112 ****
    if (clauses)
      {
        tree stmt = make_node (OMP_TASK);
!       TREE_TYPE (stmt) = void_node;
        OMP_TASK_CLAUSES (stmt) = clauses;
        OMP_TASK_BODY (stmt) = NULL_TREE;
        SET_EXPR_LOCATION (stmt, pragma_tok->location);
--- 51114,51120 ----
    if (clauses)
      {
        tree stmt = make_node (OMP_TASK);
!       TREE_TYPE (stmt) = void_type_node;
        OMP_TASK_CLAUSES (stmt) = clauses;
        OMP_TASK_BODY (stmt) = NULL_TREE;
        SET_EXPR_LOCATION (stmt, pragma_tok->location);
*************** cp_parser_omp_dispatch (cp_parser *parse
*** 53461,53467 ****
    if (depend_clauses != NULL_TREE)
      {
        tree stmt = make_node (OMP_TASK);
!       TREE_TYPE (stmt) = void_node;
        OMP_TASK_CLAUSES (stmt) = depend_clauses;
        OMP_TASK_BODY (stmt) = NULL_TREE;
        SET_EXPR_LOCATION (stmt, loc);
--- 53469,53475 ----
    if (depend_clauses != NULL_TREE)
      {
        tree stmt = make_node (OMP_TASK);
!       TREE_TYPE (stmt) = void_type_node;
        OMP_TASK_CLAUSES (stmt) = depend_clauses;
        OMP_TASK_BODY (stmt) = NULL_TREE;
        SET_EXPR_LOCATION (stmt, loc);
diff -Nrcpad gcc-16-20260308/gcc/cp/pt.cc gcc-16-20260315/gcc/cp/pt.cc
*** gcc-16-20260308/gcc/cp/pt.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/pt.cc	Sun Mar 15 22:32:07 2026
*************** tsubst_pack_expansion (tree t, tree args
*** 14135,14146 ****
  	    return error_mark_node;
  	  gcc_assert (DECL_HAS_VALUE_EXPR_P (orig_arg));
  	  arg_pack = DECL_VALUE_EXPR (orig_arg);
! 	  tree vec = make_tree_vec (TREE_VEC_LENGTH (arg_pack) - 2);
! 	  if (TREE_VEC_LENGTH (vec))
! 	    memcpy (TREE_VEC_BEGIN (vec), &TREE_VEC_ELT (arg_pack, 2),
! 		    TREE_VEC_LENGTH (vec) * sizeof (tree));
! 	  arg_pack = make_node (NONTYPE_ARGUMENT_PACK);
! 	  ARGUMENT_PACK_ARGS (arg_pack) = vec;
  	}
        else
          {
--- 14135,14162 ----
  	    return error_mark_node;
  	  gcc_assert (DECL_HAS_VALUE_EXPR_P (orig_arg));
  	  arg_pack = DECL_VALUE_EXPR (orig_arg);
! 	  if (TREE_CODE (arg_pack) != ARRAY_REF)
! 	    {
! 	      /* Structured binding packs when initializer is non-dependent
! 		 should have their DECL_VALUE_EXPR set to a TREE_VEC.  See
! 		 cp_finish_decomp comment above the packv variable for
! 		 details.  */
! 	      tree vec = make_tree_vec (TREE_VEC_LENGTH (arg_pack) - 2);
! 	      if (TREE_VEC_LENGTH (vec))
! 		memcpy (TREE_VEC_BEGIN (vec), &TREE_VEC_ELT (arg_pack, 2),
! 			TREE_VEC_LENGTH (vec) * sizeof (tree));
! 	      arg_pack = make_node (NONTYPE_ARGUMENT_PACK);
! 	      ARGUMENT_PACK_ARGS (arg_pack) = vec;
! 	    }
! 	  else
! 	    {
! 	      /* If the structured binding pack has type dependent
! 		 base, we can't expand it yet.  */
! 	      tree base = TREE_OPERAND (arg_pack, 0);
! 	      gcc_assert (VAR_P (base)
! 			  && type_dependent_expression_p (base));
! 	      arg_pack = NULL_TREE;
! 	    }
  	}
        else
          {
*************** tsubst_baselink (tree baselink, tree obj
*** 18069,18080 ****
     true if the qualified-id will be a postfix-expression in-and-of
     itself; false if more of the postfix-expression follows the
     QUALIFIED_ID.  ADDRESS_P is true if the qualified-id is the operand
!    of "&".  */
  
  static tree
  tsubst_qualified_id (tree qualified_id, tree args,
  		     tsubst_flags_t complain, tree in_decl,
! 		     bool done, bool address_p)
  {
    tree expr;
    tree scope;
--- 18085,18096 ----
     true if the qualified-id will be a postfix-expression in-and-of
     itself; false if more of the postfix-expression follows the
     QUALIFIED_ID.  ADDRESS_P is true if the qualified-id is the operand
!    of "&".  NAME_LOOKUP_P is true if we intend to perform name lookup.  */
  
  static tree
  tsubst_qualified_id (tree qualified_id, tree args,
  		     tsubst_flags_t complain, tree in_decl,
! 		     bool done, bool address_p, bool name_lookup_p = true)
  {
    tree expr;
    tree scope;
*************** tsubst_qualified_id (tree qualified_id,
*** 18197,18203 ****
    if (expr == error_mark_node && complain & tf_error)
      qualified_name_lookup_error (scope, TREE_OPERAND (qualified_id, 1),
  				 expr, input_location);
!   else if (TYPE_P (scope))
      {
        expr = (adjust_result_of_qualified_name_lookup
  	      (expr, scope, current_nonlambda_class_type ()));
--- 18213,18221 ----
    if (expr == error_mark_node && complain & tf_error)
      qualified_name_lookup_error (scope, TREE_OPERAND (qualified_id, 1),
  				 expr, input_location);
!   /* For ^^S::mem, we do not want to create the dummy object that
!      finish_non_static_data_member would give us.  */
!   else if (TYPE_P (scope) && name_lookup_p)
      {
        expr = (adjust_result_of_qualified_name_lookup
  	      (expr, scope, current_nonlambda_class_type ()));
*************** tsubst_lambda_expr (tree t, tree args, t
*** 21049,21055 ****
        /* [temp.deduct] A lambda-expression appearing in a function type or a
  	 template parameter is not considered part of the immediate context for
  	 the purposes of template argument deduction. */
!       complain = tf_warning_or_error;
  
        tree saved = DECL_SAVED_TREE (oldfn);
        if (TREE_CODE (saved) == BIND_EXPR && BIND_EXPR_BODY_BLOCK (saved))
--- 21067,21074 ----
        /* [temp.deduct] A lambda-expression appearing in a function type or a
  	 template parameter is not considered part of the immediate context for
  	 the purposes of template argument deduction. */
!       if (!emitting_diagnostic_p ())
! 	complain = tf_warning_or_error;
  
        tree saved = DECL_SAVED_TREE (oldfn);
        if (TREE_CODE (saved) == BIND_EXPR && BIND_EXPR_BODY_BLOCK (saved))
*************** tsubst_expr (tree t, tree args, tsubst_f
*** 22430,22435 ****
--- 22449,22455 ----
  	object_type = TREE_TYPE (object);
  
  	member = TREE_OPERAND (t, 1);
+ 	const bool splice_p = dependent_splice_p (member);
  	if (BASELINK_P (member))
  	  member = tsubst_baselink (member,
  				    non_reference (TREE_TYPE (object)),
*************** tsubst_expr (tree t, tree args, tsubst_f
*** 22525,22530 ****
--- 22545,22556 ----
  	      }
  	    RETURN (error_mark_node);
  	  }
+ 	else if (splice_p && BASELINK_P (member))
+ 	  /* We need to call adjust_result_of_qualified_name_lookup when
+ 	     we have obj->[:^^T::fn:], but we don't set BASELINK_QUALIFIED_P
+ 	     so that we still get virtual function binding.  */
+ 	  member = (adjust_result_of_qualified_name_lookup
+ 		    (member, NULL_TREE, object_type));
  
  	r = finish_class_member_access_expr (object, member,
  					     /*template_p=*/false,
*************** tsubst_expr (tree t, tree args, tsubst_f
*** 23155,23160 ****
--- 23181,23190 ----
  	     instantiated entities and so no need to tsubst the annotation
  	     attribute and we rely on pointer equality of that.  */
  	  ;
+ 	else if (TREE_CODE (h) == SCOPE_REF)
+ 	  h = tsubst_qualified_id (h, args, complain, in_decl,
+ 				   /*done=*/true, /*address_p=*/false,
+ 				   /*name_lookup_p=*/false);
  	else
  	  {
  	    /* [expr.reflect] The id-expression of a reflect-expression is
diff -Nrcpad gcc-16-20260308/gcc/cp/reflect.cc gcc-16-20260315/gcc/cp/reflect.cc
*** gcc-16-20260308/gcc/cp/reflect.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/reflect.cc	Sun Mar 15 22:32:07 2026
*************** get_range_elts (location_t loc, const co
*** 872,886 ****
        *non_constant_p = true;
        return NULL_TREE;
      }
-   // TODO: For REFLECT_CONSTANT_* handle proxy iterators.
    if (TYPE_MAIN_VARIANT (TREE_TYPE (deref)) != valuet)
      {
!       if (!cxx_constexpr_quiet_p (ctx))
! 	error_at (loc, "unexpected type %qT of iterator dereference",
! 		  TREE_TYPE (deref));
!       *non_constant_p = true;
!       return NULL_TREE;
      }
    retvec.truncate (0);
    /* while (begin != end) { push (*begin); ++begin; }  */
    do
--- 872,897 ----
        *non_constant_p = true;
        return NULL_TREE;
      }
    if (TYPE_MAIN_VARIANT (TREE_TYPE (deref)) != valuet)
      {
!       deref = perform_implicit_conversion (valuet, deref, tf_warning_or_error);
!       if (error_operand_p (deref))
! 	{
! 	  *non_constant_p = true;
! 	  return NULL_TREE;
! 	}
!       if (CLASS_TYPE_P (valuet))
! 	{
! 	  deref = force_target_expr (valuet, deref, tf_warning_or_error);
! 	  if (error_operand_p (deref))
! 	    {
! 	      *non_constant_p = true;
! 	      return NULL_TREE;
! 	    }
! 	}
      }
+   deref = fold_build_cleanup_point_expr (TREE_TYPE (deref), deref);
+   inc = fold_build_cleanup_point_expr (void_type_node, inc);
    retvec.truncate (0);
    /* while (begin != end) { push (*begin); ++begin; }  */
    do
*************** get_info_vec (location_t loc, const cons
*** 929,945 ****
     and FROM is the info for from().  */
  
  static tree
! get_meta_exception_object (location_t loc, const char *what, tree from,
! 			   bool *non_constant_p)
  {
    /* Don't throw in a template.  */
-   // TODO For -fno-exceptions, report an error.
    if (processing_template_decl)
      {
        *non_constant_p = true;
        return NULL_TREE;
      }
  
    tree type = lookup_qualified_name (std_meta_node, "exception",
  				     LOOK_want::TYPE, /*complain*/true);
    if (TREE_CODE (type) != TYPE_DECL || !CLASS_TYPE_P (TREE_TYPE (type)))
--- 940,969 ----
     and FROM is the info for from().  */
  
  static tree
! get_meta_exception_object (location_t loc, const constexpr_ctx *ctx,
! 			   const char *what, tree from, bool *non_constant_p)
  {
    /* Don't throw in a template.  */
    if (processing_template_decl)
      {
        *non_constant_p = true;
        return NULL_TREE;
      }
  
+   /* Don't try to throw exceptions with -fno-exceptions.  */
+   if (!flag_exceptions)
+     {
+       if (!cxx_constexpr_quiet_p (ctx))
+ 	{
+ 	  auto_diagnostic_group d;
+ 	  error_at (loc, "%qD should throw %qs; %<what()%>: %qs",
+ 		    from, "std::meta::exception", _(what));
+ 	  inform (loc, "exceptions are disabled, treating as non-constant");
+ 	}
+       *non_constant_p = true;
+       return NULL_TREE;
+     }
+ 
    tree type = lookup_qualified_name (std_meta_node, "exception",
  				     LOOK_want::TYPE, /*complain*/true);
    if (TREE_CODE (type) != TYPE_DECL || !CLASS_TYPE_P (TREE_TYPE (type)))
*************** static tree
*** 984,990 ****
  throw_exception (location_t loc, const constexpr_ctx *ctx, const char *msgid,
  		 tree from, bool *non_constant_p, tree *jump_target)
  {
!   if (tree obj = get_meta_exception_object (loc, msgid, from, non_constant_p))
      *jump_target = cxa_allocate_and_throw_exception (loc, ctx, obj);
    return NULL_TREE;
  }
--- 1008,1015 ----
  throw_exception (location_t loc, const constexpr_ctx *ctx, const char *msgid,
  		 tree from, bool *non_constant_p, tree *jump_target)
  {
!   if (tree obj = get_meta_exception_object (loc, ctx, msgid, from,
! 					    non_constant_p))
      *jump_target = cxa_allocate_and_throw_exception (loc, ctx, obj);
    return NULL_TREE;
  }
*************** eval_display_string_of (location_t loc,
*** 3604,3610 ****
    else if (DECL_P (r) && (DECL_NAME (r) || TREE_CODE (r) == NAMESPACE_DECL))
      pp_printf (&pp, "%D", r);
    else if (TREE_CODE (r) == FIELD_DECL)
!     pp_printf (&pp, "%T::<unnamed bit-field>", DECL_CONTEXT (r));
    else if (kind == REFLECT_BASE)
      {
        tree d = direct_base_derived (r);
--- 3629,3642 ----
    else if (DECL_P (r) && (DECL_NAME (r) || TREE_CODE (r) == NAMESPACE_DECL))
      pp_printf (&pp, "%D", r);
    else if (TREE_CODE (r) == FIELD_DECL)
!     {
!       if (DECL_UNNAMED_BIT_FIELD (r))
! 	pp_printf (&pp, "%T::<unnamed bit-field>", DECL_CONTEXT (r));
!       else if (ANON_UNION_TYPE_P (TREE_TYPE (r)))
! 	pp_printf (&pp, "%T::<anonymous union>", DECL_CONTEXT (r));
!       else
! 	pp_printf (&pp, "%T::<unnamed member>", DECL_CONTEXT (r));
!     }
    else if (kind == REFLECT_BASE)
      {
        tree d = direct_base_derived (r);
*************** eval_annotations_of (location_t loc, con
*** 3800,3805 ****
--- 3832,3838 ----
      }
    else if (TYPE_P (r))
      {
+       complete_type (r);
        if (typedef_variant_p (r))
  	r = DECL_ATTRIBUTES (TYPE_NAME (r));
        else
*************** members_cmp (const void *a, const void *
*** 6484,6568 ****
  static vec<constructor_elt, va_gc> *
  namespace_members_of (location_t loc, tree ns)
  {
!   vec<constructor_elt, va_gc> *elts = nullptr;
!   hash_set<tree> *seen = nullptr;
!   for (tree o : *DECL_NAMESPACE_BINDINGS (ns))
      {
!       if (STAT_HACK_P (o))
  	{
! 	  if (STAT_TYPE (o) && !STAT_TYPE_HIDDEN_P (o))
! 	    {
! 	      tree m = TREE_TYPE (STAT_TYPE (o));
! 	      if (members_of_representable_p (ns, m))
! 		CONSTRUCTOR_APPEND_ELT (elts, NULL_TREE,
! 					get_reflection_raw (loc, m));
! 	    }
! 	  if (STAT_DECL_HIDDEN_P (o) || !STAT_DECL (o))
! 	    continue;
! 	  o = STAT_DECL (o);
  	}
-       for (ovl_iterator iter (o); iter; ++iter)
- 	{
- 	  if (iter.hidden_p ())
- 	    continue;
- 	  tree b = *iter;
- 	  tree m = b;
  
! 	  if (VAR_P (b) && DECL_ANON_UNION_VAR_P (b))
! 	    {
! 	      /* TODO: This doesn't handle namespace N { static union {}; }
! 		 but we pedwarn on that, so perhaps it doesn't need to be
! 		 handled.  */
! 	      tree v = DECL_VALUE_EXPR (b);
! 	      gcc_assert (v && TREE_CODE (v) == COMPONENT_REF);
! 	      tree var = TREE_OPERAND (v, 0);
! 	      tree type = TREE_TYPE (var);
! 	      if (!seen)
! 		seen = new hash_set<tree>;
! 	      if (members_of_representable_p (ns, type) && !seen->add (type))
! 		CONSTRUCTOR_APPEND_ELT (elts, NULL_TREE,
! 					get_reflection_raw (loc, type));
! 	      if (members_of_representable_p (ns, var) && !seen->add (var))
! 		CONSTRUCTOR_APPEND_ELT (elts, NULL_TREE,
! 					get_reflection_raw (loc, var));
! 	      continue;
! 	    }
! 	  if (TREE_CODE (b) == TYPE_DECL)
! 	    m = TREE_TYPE (b);
! 	  if (!members_of_representable_p (ns, m))
! 	    continue;
! 	  if (DECL_DECOMPOSITION_P (m) && !DECL_DECOMP_IS_BASE (m))
! 	    {
! 	      tree base = DECL_DECOMP_BASE (m);
! 	      if (!seen)
! 		seen = new hash_set<tree>;
! 	      if (members_of_representable_p (ns, base) && !seen->add (base))
! 		CONSTRUCTOR_APPEND_ELT (elts, NULL_TREE,
! 					get_reflection_raw (loc, base));
! 	      if (!DECL_HAS_VALUE_EXPR_P (m))
! 		CONSTRUCTOR_APPEND_ELT (elts, NULL_TREE,
! 					get_reflection_raw (loc, m,
! 							    REFLECT_VAR));
! 	      continue;
! 	    }
! 	  /* eval_is_accessible should be always true for namespace members,
! 	     so don't bother calling it here.  */
! 	  CONSTRUCTOR_APPEND_ELT (elts, NULL_TREE,
! 				  get_reflection_raw (loc, m));
! 	  /* For typedef struct { ... } S; include both the S type
! 	     alias (added above) and dealias of that for the originally
! 	     unnamed type (added below).  */
! 	  if (TREE_CODE (b) == TYPE_DECL
! 	      && TYPE_DECL_FOR_LINKAGE_PURPOSES_P (b))
! 	    CONSTRUCTOR_APPEND_ELT (elts, NULL_TREE,
! 				    get_reflection_raw (loc,
! 							strip_typedefs (m)));
  	}
!     }
!   delete seen;
!   if (elts)
!     elts->qsort (members_cmp);
!   return elts;
  }
  
  /* Enumerate members of class R for eval_*members_of.  KIND is
--- 6517,6602 ----
  static vec<constructor_elt, va_gc> *
  namespace_members_of (location_t loc, tree ns)
  {
!   struct data_t {
!     location_t loc = UNKNOWN_LOCATION;
!     tree ns = NULL_TREE;
!     vec<constructor_elt, va_gc> *elts = nullptr;
!     hash_set<tree> *seen = nullptr;
! 
!     data_t (location_t loc, tree ns) : loc (loc), ns (ns) {}
!     ~data_t () { delete seen; }
!   };
! 
!   const auto walker = [](tree b, void *data_)
      {
!       auto *data = static_cast<data_t *>(data_);
!       tree m = b;
! 
!       if (VAR_P (b) && DECL_ANON_UNION_VAR_P (b))
  	{
! 	  /* TODO: This doesn't handle namespace N { static union {}; }
! 	     but we pedwarn on that, so perhaps it doesn't need to be
! 	     handled.  */
! 	  tree v = DECL_VALUE_EXPR (b);
! 	  gcc_assert (v && TREE_CODE (v) == COMPONENT_REF);
! 	  tree var = TREE_OPERAND (v, 0);
! 	  tree type = TREE_TYPE (var);
! 	  if (!data->seen)
! 	    data->seen = new hash_set<tree>;
! 	  if (members_of_representable_p (data->ns, type)
! 	      && !data->seen->add (type))
! 	    CONSTRUCTOR_APPEND_ELT (data->elts, NULL_TREE,
! 				    get_reflection_raw (data->loc, type));
! 	  if (members_of_representable_p (data->ns, var)
! 	      && !data->seen->add (var))
! 	    CONSTRUCTOR_APPEND_ELT (data->elts, NULL_TREE,
! 				    get_reflection_raw (data->loc, var));
! 	  return;
  	}
  
!       if (TREE_CODE (b) == TYPE_DECL)
! 	m = TREE_TYPE (b);
! 
!       if (!members_of_representable_p (data->ns, m))
! 	return;
! 
!       if (DECL_DECOMPOSITION_P (m) && !DECL_DECOMP_IS_BASE (m))
! 	{
! 	  tree base = DECL_DECOMP_BASE (m);
! 	  if (!data->seen)
! 	    data->seen = new hash_set<tree>;
! 	  if (members_of_representable_p (data->ns, base)
! 	      && !data->seen->add (base))
! 	    CONSTRUCTOR_APPEND_ELT (data->elts, NULL_TREE,
! 				    get_reflection_raw (data->loc, base));
! 	  if (!DECL_HAS_VALUE_EXPR_P (m))
! 	    CONSTRUCTOR_APPEND_ELT (data->elts, NULL_TREE,
! 				    get_reflection_raw (data->loc, m,
! 							REFLECT_VAR));
! 	  return;
  	}
! 
!       /* eval_is_accessible should be always true for namespace members,
! 	 so don't bother calling it here.  */
!       CONSTRUCTOR_APPEND_ELT (data->elts, NULL_TREE,
! 			      get_reflection_raw (data->loc, m));
! 
!       /* For typedef struct { ... } S; include both the S type
! 	 alias (added above) and dealias of that for the originally
! 	 unnamed type (added below).  */
!       if (TREE_CODE (b) == TYPE_DECL
! 	  && TYPE_DECL_FOR_LINKAGE_PURPOSES_P (b))
! 	CONSTRUCTOR_APPEND_ELT (data->elts, NULL_TREE,
! 				get_reflection_raw (data->loc,
! 						    strip_typedefs (m)));
!     };
! 
!   data_t data (loc, ns);
!   walk_namespace_bindings (ns, walker, &data);
! 
!   if (data.elts)
!     data.elts->qsort (members_cmp);
!   return data.elts;
  }
  
  /* Enumerate members of class R for eval_*members_of.  KIND is
*************** check_out_of_consteval_use_r (tree *tp,
*** 8141,8147 ****
  	 member initializers.  */
        || TREE_CODE (t) == INIT_EXPR
        /* And don't recurse on DECL_EXPRs.  */
!       || TREE_CODE (t) == DECL_EXPR)
      {
        *walk_subtrees = false;
        return NULL_TREE;
--- 8175,8184 ----
  	 member initializers.  */
        || TREE_CODE (t) == INIT_EXPR
        /* And don't recurse on DECL_EXPRs.  */
!       || TREE_CODE (t) == DECL_EXPR
!       /* Blocks can appear in the TREE_VEC operand of OpenMP
! 	 depend/affinity/map/to/from OMP_CLAUSEs when using iterators.  */
!       || TREE_CODE (t) == BLOCK)
      {
        *walk_subtrees = false;
        return NULL_TREE;
*************** compare_reflections (tree lhs, tree rhs)
*** 8333,8339 ****
  				   TREE_VEC_ELT (rhs, 3))
  	    && TREE_VEC_ELT (lhs, 4) == TREE_VEC_ELT (rhs, 4));
    else if (lkind == REFLECT_ANNOTATION)
!     return lhs == rhs;
    else if (TYPE_P (lhs) && TYPE_P (rhs))
      {
        /* Given "using A = int;", "^^int != ^^A" should hold.  */
--- 8370,8376 ----
  				   TREE_VEC_ELT (rhs, 3))
  	    && TREE_VEC_ELT (lhs, 4) == TREE_VEC_ELT (rhs, 4));
    else if (lkind == REFLECT_ANNOTATION)
!     return TREE_VALUE (lhs) == TREE_VALUE (rhs);
    else if (TYPE_P (lhs) && TYPE_P (rhs))
      {
        /* Given "using A = int;", "^^int != ^^A" should hold.  */
diff -Nrcpad gcc-16-20260308/gcc/cp/search.cc gcc-16-20260315/gcc/cp/search.cc
*** gcc-16-20260308/gcc/cp/search.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/search.cc	Sun Mar 15 22:32:07 2026
*************** adjust_result_of_qualified_name_lookup (
*** 1465,1485 ****
  					tree qualifying_scope,
  					tree context_class)
  {
!   if (context_class && context_class != error_mark_node
        && CLASS_TYPE_P (context_class)
        && CLASS_TYPE_P (qualifying_scope)
!       && DERIVED_FROM_P (qualifying_scope, context_class)
!       && BASELINK_P (decl))
      {
-       tree base;
- 
        /* Look for the QUALIFYING_SCOPE as a base of the CONTEXT_CLASS.
  	 Because we do not yet know which function will be chosen by
  	 overload resolution, we cannot yet check either accessibility
  	 or ambiguity -- in either case, the choice of a static member
  	 function might make the usage valid.  */
!       base = lookup_base (context_class, qualifying_scope,
! 			  ba_unique, NULL, tf_none);
        if (base && base != error_mark_node)
  	{
  	  BASELINK_ACCESS_BINFO (decl) = base;
--- 1465,1490 ----
  					tree qualifying_scope,
  					tree context_class)
  {
!   if (!BASELINK_P (decl))
!     return decl;
! 
!   const bool qualified_p = qualifying_scope != NULL_TREE;
!   if (!qualified_p)
!     qualifying_scope = BINFO_TYPE (BASELINK_ACCESS_BINFO (decl));
! 
!   if (context_class
!       && context_class != error_mark_node
        && CLASS_TYPE_P (context_class)
        && CLASS_TYPE_P (qualifying_scope)
!       && DERIVED_FROM_P (qualifying_scope, context_class))
      {
        /* Look for the QUALIFYING_SCOPE as a base of the CONTEXT_CLASS.
  	 Because we do not yet know which function will be chosen by
  	 overload resolution, we cannot yet check either accessibility
  	 or ambiguity -- in either case, the choice of a static member
  	 function might make the usage valid.  */
!       tree base = lookup_base (context_class, qualifying_scope,
! 			       ba_unique, NULL, tf_none);
        if (base && base != error_mark_node)
  	{
  	  BASELINK_ACCESS_BINFO (decl) = base;
*************** adjust_result_of_qualified_name_lookup (
*** 1491,1498 ****
  	}
      }
  
!   if (BASELINK_P (decl))
!     BASELINK_QUALIFIED_P (decl) = true;
  
    return decl;
  }
--- 1496,1502 ----
  	}
      }
  
!   BASELINK_QUALIFIED_P (decl) = qualified_p;
  
    return decl;
  }
diff -Nrcpad gcc-16-20260308/gcc/cp/semantics.cc gcc-16-20260315/gcc/cp/semantics.cc
*** gcc-16-20260308/gcc/cp/semantics.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/cp/semantics.cc	Sun Mar 15 22:32:07 2026
*************** begin_class_definition (tree t)
*** 4207,4220 ****
        pushtag (TYPE_IDENTIFIER (t), t);
      }
  
-   if (modules_p ())
-     {
-       if (!module_may_redeclare (TYPE_NAME (t)))
- 	return error_mark_node;
-       set_instantiating_module (TYPE_NAME (t));
-       set_defining_module (TYPE_NAME (t));
-     }
- 
    maybe_process_partial_specialization (t);
    pushclass (t);
    TYPE_BEING_DEFINED (t) = 1;
--- 4207,4212 ----
diff -Nrcpad gcc-16-20260308/gcc/custom-sarif-properties/cfg.cc gcc-16-20260315/gcc/custom-sarif-properties/cfg.cc
*** gcc-16-20260308/gcc/custom-sarif-properties/cfg.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/custom-sarif-properties/cfg.cc	Sun Mar 15 22:32:07 2026
***************
*** 1,5 ****
  /* Extra properties for digraphs in SARIF property bags.
!    Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
--- 1,5 ----
  /* Extra properties for digraphs in SARIF property bags.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
diff -Nrcpad gcc-16-20260308/gcc/custom-sarif-properties/cfg.h gcc-16-20260315/gcc/custom-sarif-properties/cfg.h
*** gcc-16-20260308/gcc/custom-sarif-properties/cfg.h	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/custom-sarif-properties/cfg.h	Sun Mar 15 22:32:07 2026
***************
*** 1,5 ****
  /* Extra properties for CFGs in SARIF property bags.
!    Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
--- 1,5 ----
  /* Extra properties for CFGs in SARIF property bags.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
diff -Nrcpad gcc-16-20260308/gcc/diagnostic.h gcc-16-20260315/gcc/diagnostic.h
*** gcc-16-20260308/gcc/diagnostic.h	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/diagnostic.h	Sun Mar 15 22:32:07 2026
*************** option_unspecified_p (diagnostics::optio
*** 272,277 ****
--- 272,283 ----
    return global_dc->option_unspecified_p (opt_id);
  }
  
+ inline bool
+ emitting_diagnostic_p ()
+ {
+   return global_dc->emitting_diagnostic_p ();
+ }
+ 
  namespace diagnostics {
  
  /* Compute the number of digits in the decimal representation of an integer.  */
diff -Nrcpad gcc-16-20260308/gcc/diagnostics/context.h gcc-16-20260315/gcc/diagnostics/context.h
*** gcc-16-20260308/gcc/diagnostics/context.h	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/diagnostics/context.h	Sun Mar 15 22:32:07 2026
*************** public:
*** 313,318 ****
--- 313,323 ----
      return m_option_classifier.option_unspecified_p (opt_id);
    }
  
+   bool emitting_diagnostic_p () const
+   {
+     return m_lock > 0;
+   }
+ 
    bool emit_diagnostic_with_group (enum kind kind,
  				   rich_location &richloc,
  				   const metadata *metadata,
diff -Nrcpad gcc-16-20260308/gcc/diagnostics/digraphs-to-dot-from-cfg.cc gcc-16-20260315/gcc/diagnostics/digraphs-to-dot-from-cfg.cc
*** gcc-16-20260308/gcc/diagnostics/digraphs-to-dot-from-cfg.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/diagnostics/digraphs-to-dot-from-cfg.cc	Sun Mar 15 22:32:07 2026
***************
*** 1,5 ****
  /* Presentation tweaks for generating .dot from digraphs for GCC CFGs.
!    Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
--- 1,5 ----
  /* Presentation tweaks for generating .dot from digraphs for GCC CFGs.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
diff -Nrcpad gcc-16-20260308/gcc/diagnostics/digraphs-to-dot.cc gcc-16-20260315/gcc/diagnostics/digraphs-to-dot.cc
*** gcc-16-20260308/gcc/diagnostics/digraphs-to-dot.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/diagnostics/digraphs-to-dot.cc	Sun Mar 15 22:32:07 2026
***************
*** 1,5 ****
  /* Converting directed graphs to dot.
!    Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
--- 1,5 ----
  /* Converting directed graphs to dot.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
diff -Nrcpad gcc-16-20260308/gcc/diagnostics/digraphs-to-dot.h gcc-16-20260315/gcc/diagnostics/digraphs-to-dot.h
*** gcc-16-20260308/gcc/diagnostics/digraphs-to-dot.h	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/diagnostics/digraphs-to-dot.h	Sun Mar 15 22:32:07 2026
***************
*** 1,5 ****
  /* Converting directed graphs to dot.
!    Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>
  
  This file is part of GCC.
--- 1,5 ----
  /* Converting directed graphs to dot.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>
  
  This file is part of GCC.
diff -Nrcpad gcc-16-20260308/gcc/doc/extend.texi gcc-16-20260315/gcc/doc/extend.texi
*** gcc-16-20260308/gcc/doc/extend.texi	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/doc/extend.texi	Sun Mar 15 22:32:07 2026
*************** a larger priority number; the opposite r
*** 2461,2466 ****
--- 2461,2468 ----
  So, if you have a constructor that
  allocates a resource and a destructor that deallocates the same
  resource, both functions typically have the same priority.
+ Note without an argument, the @var{priority} argument is equivalent to
+ 65535.
  
  The order in which constructors for C++ objects with static storage
  duration are invoked relative to functions decorated with attribute
*************** supported is rejected with an error.  On
*** 2477,2482 ****
--- 2479,2487 ----
  those not using ELF object format, or the GNU linker) reject this
  usage.
  
+ When multiple attributes of this type is supplied, the last one
+ is what sets the priority.
+ 
  @atindex @code{copy}
  @item copy
  @itemx copy (@var{name})
diff -Nrcpad gcc-16-20260308/gcc/doc/install.texi gcc-16-20260315/gcc/doc/install.texi
*** gcc-16-20260308/gcc/doc/install.texi	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/doc/install.texi	Sun Mar 15 22:32:07 2026
*************** This configuration is intended for embed
*** 4950,4956 ****
  @heading riscv32-*-elf
  The RISC-V RV32 instruction set.
  This configuration is intended for embedded systems.
! This (and all other RISC-V) targets require the binutils 2.30 release.
  
  @html
  <hr />
--- 4950,4956 ----
  @heading riscv32-*-elf
  The RISC-V RV32 instruction set.
  This configuration is intended for embedded systems.
! This (and all other RISC-V) targets require the binutils 2.40 release.
  
  @html
  <hr />
*************** This (and all other RISC-V) targets requ
*** 4958,4964 ****
  @anchor{riscv32-x-linux}
  @heading riscv32-*-linux
  The RISC-V RV32 instruction set running GNU/Linux.
! This (and all other RISC-V) targets require the binutils 2.30 release.
  
  @html
  <hr />
--- 4958,4964 ----
  @anchor{riscv32-x-linux}
  @heading riscv32-*-linux
  The RISC-V RV32 instruction set running GNU/Linux.
! This (and all other RISC-V) targets require the binutils 2.40 release.
  
  @html
  <hr />
*************** This (and all other RISC-V) targets requ
*** 4967,4973 ****
  @heading riscv64-*-elf
  The RISC-V RV64 instruction set.
  This configuration is intended for embedded systems.
! This (and all other RISC-V) targets require the binutils 2.30 release.
  
  @html
  <hr />
--- 4967,4973 ----
  @heading riscv64-*-elf
  The RISC-V RV64 instruction set.
  This configuration is intended for embedded systems.
! This (and all other RISC-V) targets require the binutils 2.40 release.
  
  @html
  <hr />
*************** This (and all other RISC-V) targets requ
*** 4975,4981 ****
  @anchor{riscv64-x-linux}
  @heading riscv64-*-linux
  The RISC-V RV64 instruction set running GNU/Linux.
! This (and all other RISC-V) targets require the binutils 2.30 release.
  
  @html
  <hr />
--- 4975,4981 ----
  @anchor{riscv64-x-linux}
  @heading riscv64-*-linux
  The RISC-V RV64 instruction set running GNU/Linux.
! This (and all other RISC-V) targets require the binutils 2.40 release.
  
  @html
  <hr />
diff -Nrcpad gcc-16-20260308/gcc/expr.cc gcc-16-20260315/gcc/expr.cc
*** gcc-16-20260308/gcc/expr.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/expr.cc	Sun Mar 15 22:32:07 2026
*************** mem_ref_refers_to_non_mem_p (tree ref)
*** 5976,5984 ****
  static bool
  store_field_updates_msb_p (poly_int64 bitpos, poly_int64 bitsize, rtx to_rtx)
  {
!   poly_int64 to_size = GET_MODE_SIZE (GET_MODE (to_rtx));
!   poly_int64 bitnum = BYTES_BIG_ENDIAN ? to_size - bitsize - bitpos : bitpos;
!   return maybe_eq (bitnum + bitsize, to_size);
  }
  
  /* Expand an assignment that stores the value of FROM into TO.  If NONTEMPORAL
--- 5976,5984 ----
  static bool
  store_field_updates_msb_p (poly_int64 bitpos, poly_int64 bitsize, rtx to_rtx)
  {
!   return (BYTES_BIG_ENDIAN
! 	  ? maybe_le (bitpos, 0)
! 	  : maybe_ge (bitpos + bitsize, GET_MODE_BITSIZE (GET_MODE (to_rtx))));
  }
  
  /* Expand an assignment that stores the value of FROM into TO.  If NONTEMPORAL
diff -Nrcpad gcc-16-20260308/gcc/fold-mem-offsets.cc gcc-16-20260315/gcc/fold-mem-offsets.cc
*** gcc-16-20260308/gcc/fold-mem-offsets.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fold-mem-offsets.cc	Sun Mar 15 22:32:07 2026
*************** do_analysis (rtx_insn *insn)
*** 653,659 ****
        print_rtl_single (dump_file, insn);
      }
  
!   /* Analyse folding opportunities for this memory instruction.  */
    bitmap_set_bit (&can_fold_insns, INSN_UID (insn));
    fold_offsets (insn, reg, true, NULL);
  }
--- 653,662 ----
        print_rtl_single (dump_file, insn);
      }
  
!   /* Mark this memory instruction as foldable before the DFS so that its
!      address definitions can see it in can_fold_insns during analysis.
!      This is required because fold_offsets checks that all uses of a
!      definition are in can_fold_insns before marking the definition.  */
    bitmap_set_bit (&can_fold_insns, INSN_UID (insn));
    fold_offsets (insn, reg, true, NULL);
  }
*************** do_check_validity (rtx_insn *insn, fold_
*** 688,701 ****
    int icode = INSN_CODE (insn);
    INSN_CODE (insn) = -1;
    rtx mem_addr = XEXP (mem, 0);
!   machine_mode mode = GET_MODE (mem_addr);
    if (new_offset != 0)
!     XEXP (mem, 0) = gen_rtx_PLUS (mode, reg, gen_int_mode (new_offset, mode));
    else
      XEXP (mem, 0) = reg;
  
    bool illegal = insn_invalid_p (insn, false)
! 		 || !memory_address_addr_space_p (mode, XEXP (mem, 0),
  						  MEM_ADDR_SPACE (mem));
  
    /* Restore the instruction.  */
--- 691,706 ----
    int icode = INSN_CODE (insn);
    INSN_CODE (insn) = -1;
    rtx mem_addr = XEXP (mem, 0);
!   machine_mode addr_mode = GET_MODE (mem_addr);
!   machine_mode mem_mode = GET_MODE (mem);
    if (new_offset != 0)
!     XEXP (mem, 0) = gen_rtx_PLUS (addr_mode, reg,
! 				   gen_int_mode (new_offset, addr_mode));
    else
      XEXP (mem, 0) = reg;
  
    bool illegal = insn_invalid_p (insn, false)
! 		 || !memory_address_addr_space_p (mem_mode, XEXP (mem, 0),
  						  MEM_ADDR_SPACE (mem));
  
    /* Restore the instruction.  */
diff -Nrcpad gcc-16-20260308/gcc/fortran/ChangeLog gcc-16-20260315/gcc/fortran/ChangeLog
*** gcc-16-20260308/gcc/fortran/ChangeLog	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/ChangeLog	Sun Mar 15 22:32:07 2026
***************
*** 1,3 ****
--- 1,105 ----
+ 2026-03-13  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/102459
+ 	* trans-openmp.cc (gfc_trans_omp_clauses): Choose the scalar
+ 	reference path from the full expression rank rather than the first
+ 	array reference.
+ 	(gfc_trans_omp_depobj): Likewise.
+ 
+ 2026-03-12  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/102596
+ 	* trans-openmp.cc (gfc_omp_clause_default_ctor): Only require an
+ 	outer reference when the constructor path actually uses it.
+ 
+ 2026-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 	    Gilles Gouaillardet  <gilles.gouaillardet@gmail.com>
+ 
+ 	PR fortran/121743
+ 	* trans-decl.cc (build_function_decl): Adjust the
+ 	gcc_assert condition to avoid the ICE.
+ 
+ 2026-03-12  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/115316
+ 	* match.cc (spec_list_type): A version of gfc_spec_list_type,
+ 	which returns true if any of the LEN parameters are deferred.
+ 	(gfc_match_allocate): Use it to set saw_deferred if any of the
+ 	parameters of the allocate object are deferred.
+ 
+ 2026-03-12  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/122696
+ 	* resolve.cc (resolve_assoc_var): A generic function selector
+ 	must be resolved to a specific function before doing anything
+ 	more with the associate name.
+ 
+ 2026-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/124450
+ 	* trans-io.cc (transfer_expr): If code is NULL, call
+ 	transfer_array_component with NULL where argument rather than
+ 	&code->loc.
+ 
+ 2026-03-12  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/97818
+ 	* trans-decl.cc (gfc_trans_deferred_vars): Make sure that the
+ 	result symbol is referenced before allocating parameterized
+ 	components.
+ 
+ 2026-03-12  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/82721
+ 	* decl.cc (discard_pending_charlen): New helper.
+ 	(build_sym): Discard unattached CHARACTER length nodes when
+ 	gfc_add_type rejects the declaration.
+ 
+ 2026-03-12  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/106946
+ 	* decl.cc (gfc_match_data_decl): Remove CLASS components added by a
+ 	failed declaration in a derived type, and guard symtree deletion.
+ 	* gfortran.h (gfc_free_component, gfc_delete_symtree): Declare.
+ 	* symbol.cc (gfc_free_component): New function.
+ 	(free_components): Use it.
+ 	(gfc_delete_symtree): Make non-static.
+ 
+ 2026-03-12  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/110877
+ 	* trans-expr.cc (gfc_trans_assignment_1): Recover the class
+ 	vptr for scalarized elements of nonpointer dummy arrays.
+ 
+ 2026-03-11  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/95338
+ 	* trans-types.cc (gfc_get_entry_result_type): New helper to use the
+ 	ABI return type for mixed ENTRY union fields.
+ 	(gfc_get_mixed_entry_union): Use it for each entry result field.
+ 
+ 2026-03-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR translation/124422
+ 	* primary.cc (gfc_match_varspec): Fix spelling in diagnostic.
+ 
+ 2026-03-09  Andre Vehreschild  <vehre@gcc.gnu.org>
+ 
+ 	PR fortran/121043
+ 	* coarray.cc (check_add_new_component): Evaluate all functions
+ 	on the source image.
+ 	* trans-decl.cc (gfc_build_builtin_function_decls): The only
+ 	argument of team_number() is of type void* in the library ABI.
+ 
+ 2026-03-09  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/122902
+ 	* expr.cc (has_parameterized_comps): Moved from trans-array.cc.
+ 	* gfortran.h : Add prototype for has_parameterized_comps.
+ 	* trans-array.cc : Move has_parameterized_comps to expr.cc.
+ 	* trans-expr.cc (gfc_trans_scalar_assign): Don't deep copy PDTs
+ 	unless they have parameterized components.
+ 
  2026-02-27  Harald Anlauf  <anlauf@gmx.de>
  
  	PR fortran/78187
diff -Nrcpad gcc-16-20260308/gcc/fortran/coarray.cc gcc-16-20260315/gcc/fortran/coarray.cc
*** gcc-16-20260308/gcc/fortran/coarray.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/coarray.cc	Sun Mar 15 22:32:07 2026
*************** check_add_new_component (gfc_symbol *typ
*** 696,716 ****
  	    check_add_new_component (type, actual->expr, add_data);
  	  break;
  	case EXPR_FUNCTION:
! 	  if (!e->symtree->n.sym->attr.pure
! 	      && !e->symtree->n.sym->attr.elemental
! 	      && !(e->value.function.isym
! 		   && (e->value.function.isym->pure
! 		       || e->value.function.isym->elemental)))
! 	    /* Treat non-pure/non-elemental functions.  */
! 	    check_add_new_comp_handle_array (e, type, add_data);
! 	  else
! 	    for (gfc_actual_arglist *actual = e->value.function.actual; actual;
! 		 actual = actual->next)
! 	      check_add_new_component (type, actual->expr, add_data);
  	  break;
  	case EXPR_VARIABLE:
! 	    check_add_new_comp_handle_array (e, type, add_data);
! 	    break;
  	case EXPR_ARRAY:
  	case EXPR_PPC:
  	case EXPR_STRUCTURE:
--- 696,706 ----
  	    check_add_new_component (type, actual->expr, add_data);
  	  break;
  	case EXPR_FUNCTION:
! 	  check_add_new_comp_handle_array (e, type, add_data);
  	  break;
  	case EXPR_VARIABLE:
! 	  check_add_new_comp_handle_array (e, type, add_data);
! 	  break;
  	case EXPR_ARRAY:
  	case EXPR_PPC:
  	case EXPR_STRUCTURE:
diff -Nrcpad gcc-16-20260308/gcc/fortran/decl.cc gcc-16-20260315/gcc/fortran/decl.cc
*** gcc-16-20260308/gcc/fortran/decl.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/decl.cc	Sun Mar 15 22:32:07 2026
*************** static gfc_expr *saved_kind_expr = NULL;
*** 117,122 ****
--- 117,136 ----
  static gfc_actual_arglist *decl_type_param_list;
  static gfc_actual_arglist *type_param_spec_list;
  
+ /* Drop an unattached gfc_charlen node from the current namespace.  This is
+    used when declaration processing created a length node for a symbol that is
+    rejected before the node is attached to any surviving symbol.  */
+ static void
+ discard_pending_charlen (gfc_charlen *cl)
+ {
+   if (!cl || !gfc_current_ns || gfc_current_ns->cl_list != cl)
+     return;
+ 
+   gfc_current_ns->cl_list = cl->next;
+   gfc_free_expr (cl->length);
+   free (cl);
+ }
+ 
  /********************* DATA statement subroutines *********************/
  
  static bool in_match_data = false;
*************** build_sym (const char *name, int elem, g
*** 1838,1844 ****
        && (sym->attr.implicit_type == 0
  	  || !gfc_compare_types (&sym->ts, &current_ts))
        && !gfc_add_type (sym, &current_ts, var_locus))
!     return false;
  
    if (sym->ts.type == BT_CHARACTER)
      {
--- 1852,1871 ----
        && (sym->attr.implicit_type == 0
  	  || !gfc_compare_types (&sym->ts, &current_ts))
        && !gfc_add_type (sym, &current_ts, var_locus))
!     {
!       /* Duplicate-type rejection can leave a fresh CHARACTER length node on
! 	 the namespace list before it is attached to any surviving symbol.
! 	 Drop only that unattached node; shared constant charlen nodes are
! 	 already reachable from earlier declarations.  PR82721.  */
!       if (current_ts.type == BT_CHARACTER && cl && elem == 1)
! 	{
! 	  discard_pending_charlen (cl);
! 	  gfc_clear_ts (&current_ts);
! 	}
!       else if (current_ts.type == BT_CHARACTER && cl && cl != current_ts.u.cl)
! 	discard_pending_charlen (cl);
!       return false;
!     }
  
    if (sym->ts.type == BT_CHARACTER)
      {
*************** gfc_match_data_decl (void)
*** 6819,6830 ****
--- 6846,6873 ----
    gfc_symbol *sym;
    match m;
    int elem;
+   gfc_component *comp_tail = NULL;
  
    type_param_spec_list = NULL;
    decl_type_param_list = NULL;
  
    num_idents_on_line = 0;
  
+   /* Record the last component before we start, so that we can roll back
+      any components added during this statement on error.  PR106946.
+      Must be set before any 'goto cleanup' with m == MATCH_ERROR.  */
+   if (gfc_comp_struct (gfc_current_state ()))
+     {
+       gfc_symbol *block = gfc_current_block ();
+       if (block)
+ 	{
+ 	  comp_tail = block->components;
+ 	  if (comp_tail)
+ 	    while (comp_tail->next)
+ 	      comp_tail = comp_tail->next;
+ 	}
+     }
+ 
    m = gfc_match_decl_type_spec (&current_ts, 0);
    if (m != MATCH_YES)
      return m;
*************** ok:
*** 6944,6949 ****
--- 6987,7066 ----
    gfc_free_data_all (gfc_current_ns);
  
  cleanup:
+   /* If we failed inside a derived type definition, remove any CLASS
+      components that were added during this failed statement.  For CLASS
+      components, gfc_build_class_symbol creates an extra container symbol in
+      the namespace outside the normal undo machinery.  When reject_statement
+      later calls gfc_undo_symbols, the declaration state is rolled back but
+      that helper symbol survives and leaves the component dangling.  Ordinary
+      components do not create that extra helper symbol, so leave them in
+      place for the usual follow-up diagnostics.  PR106946.
+ 
+      CLASS containers are shared between components of the same class type
+      and attributes (gfc_build_class_symbol reuses existing containers).
+      We must not free a container that is still referenced by a previously
+      committed component.  Unlink and free the components first, then clean
+      up only orphaned containers.  PR124482.  */
+   if (m == MATCH_ERROR && gfc_comp_struct (gfc_current_state ()))
+     {
+       gfc_symbol *block = gfc_current_block ();
+       if (block)
+ 	{
+ 	  gfc_component **prev;
+ 	  if (comp_tail)
+ 	    prev = &comp_tail->next;
+ 	  else
+ 	    prev = &block->components;
+ 
+ 	  /* Record the CLASS container from the removed components.
+ 	     Normally all components in one declaration share a single
+ 	     container, but per-variable array specs can produce
+ 	     additional ones; any beyond the first are harmlessly
+ 	     leaked until namespace destruction.  */
+ 	  gfc_symbol *fclass_container = NULL;
+ 
+ 	  while (*prev)
+ 	    {
+ 	      gfc_component *c = *prev;
+ 	      if (c->ts.type == BT_CLASS && c->ts.u.derived
+ 		  && c->ts.u.derived->attr.is_class)
+ 		{
+ 		  *prev = c->next;
+ 		  if (!fclass_container)
+ 		    fclass_container = c->ts.u.derived;
+ 		  c->ts.u.derived = NULL;
+ 		  gfc_free_component (c);
+ 		}
+ 	      else
+ 		prev = &c->next;
+ 	    }
+ 
+ 	  /* Free the container only if no remaining component still
+ 	     references it.  CLASS containers are shared between
+ 	     components of the same class type and attributes
+ 	     (gfc_build_class_symbol reuses existing ones).  */
+ 	  if (fclass_container)
+ 	    {
+ 	      bool shared = false;
+ 	      for (gfc_component *q = block->components; q; q = q->next)
+ 		if (q->ts.type == BT_CLASS
+ 		    && q->ts.u.derived == fclass_container)
+ 		  {
+ 		    shared = true;
+ 		    break;
+ 		  }
+ 	      if (!shared)
+ 		{
+ 		  if (gfc_find_symtree (fclass_container->ns->sym_root,
+ 					fclass_container->name))
+ 		    gfc_delete_symtree (&fclass_container->ns->sym_root,
+ 					fclass_container->name);
+ 		  gfc_release_symbol (fclass_container);
+ 		}
+ 	    }
+ 	}
+     }
+ 
    if (saved_kind_expr)
      gfc_free_expr (saved_kind_expr);
    if (type_param_spec_list)
diff -Nrcpad gcc-16-20260308/gcc/fortran/expr.cc gcc-16-20260315/gcc/fortran/expr.cc
*** gcc-16-20260308/gcc/fortran/expr.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/expr.cc	Sun Mar 15 22:32:07 2026
*************** gfc_pdt_find_component_copy_initializer
*** 7105,7107 ****
--- 7105,7121 ----
      }
    return NULL;
  }
+ 
+ 
+ /* Test for parameterized array or string components.  */
+ 
+ bool has_parameterized_comps (gfc_symbol * der_type)
+ {
+   bool parameterized_comps = false;
+   for (gfc_component *c = der_type->components; c; c = c->next)
+     if (c->attr.pdt_array || c->attr.pdt_string)
+       parameterized_comps = true;
+     else if (IS_PDT (c) && strcmp (der_type->name, c->ts.u.derived->name))
+       parameterized_comps = has_parameterized_comps (c->ts.u.derived);
+   return parameterized_comps;
+ }
diff -Nrcpad gcc-16-20260308/gcc/fortran/gfortran.h gcc-16-20260315/gcc/fortran/gfortran.h
*** gcc-16-20260308/gcc/fortran/gfortran.h	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/gfortran.h	Sun Mar 15 22:32:07 2026
*************** bool gfc_missing_attr (symbol_attribute
*** 3779,3784 ****
--- 3779,3785 ----
  bool gfc_copy_attr (symbol_attribute *, symbol_attribute *, locus *);
  int gfc_copy_dummy_sym (gfc_symbol **, gfc_symbol *, int);
  bool gfc_add_component (gfc_symbol *, const char *, gfc_component **);
+ void gfc_free_component (gfc_component *);
  gfc_symbol *gfc_use_derived (gfc_symbol *);
  gfc_component *gfc_find_component (gfc_symbol *, const char *, bool, bool,
                                     gfc_ref **);
*************** gfc_st_label *gfc_rebind_label (gfc_st_l
*** 3793,3798 ****
--- 3794,3800 ----
  
  gfc_namespace *gfc_get_namespace (gfc_namespace *, int);
  gfc_symtree *gfc_new_symtree (gfc_symtree **, const char *);
+ void gfc_delete_symtree (gfc_symtree **, const char *);
  gfc_symtree *gfc_find_symtree (gfc_symtree *, const char *);
  gfc_symtree *gfc_get_unique_symtree (gfc_namespace *);
  gfc_user_op *gfc_get_uop (const char *);
*************** gfc_expr* gfc_build_intrinsic_call (gfc_
*** 4046,4052 ****
  				    locus, unsigned, ...);
  bool gfc_check_vardef_context (gfc_expr*, bool, bool, bool, const char*);
  gfc_expr* gfc_pdt_find_component_copy_initializer (gfc_symbol *, const char *);
! 
  
  /* st.cc */
  extern gfc_code new_st;
--- 4048,4054 ----
  				    locus, unsigned, ...);
  bool gfc_check_vardef_context (gfc_expr*, bool, bool, bool, const char*);
  gfc_expr* gfc_pdt_find_component_copy_initializer (gfc_symbol *, const char *);
! bool has_parameterized_comps (gfc_symbol *);
  
  /* st.cc */
  extern gfc_code new_st;
diff -Nrcpad gcc-16-20260308/gcc/fortran/match.cc gcc-16-20260315/gcc/fortran/match.cc
*** gcc-16-20260308/gcc/fortran/match.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/match.cc	Sun Mar 15 22:32:07 2026
*************** cleanup:
*** 4973,4978 ****
--- 4973,4997 ----
  }
  
  
+ /* A reduced version of gfc_spec_list_type, which only looks for deferred
+    type spec list parameters.  */
+ 
+ static gfc_param_spec_type
+ spec_list_type (gfc_actual_arglist *param_list)
+ {
+   gfc_param_spec_type res = SPEC_EXPLICIT;
+ 
+   for (; param_list; param_list = param_list->next)
+     if (param_list->spec_type == SPEC_DEFERRED)
+       {
+ 	res = param_list->spec_type;
+ 	break;
+       }
+ 
+   return res;
+ }
+ 
+ 
  /* Frees a list of gfc_alloc structures.  */
  
  void
*************** gfc_match_allocate (void)
*** 4998,5003 ****
--- 5017,5023 ----
    gfc_expr *stat, *errmsg, *tmp, *source, *mold;
    gfc_typespec ts;
    gfc_symbol *sym;
+   gfc_ref *ref;
    match m;
    locus old_locus, deferred_locus, assumed_locus;
    bool saw_stat, saw_errmsg, saw_source, saw_mold, saw_deferred, b1, b2, b3;
*************** gfc_match_allocate (void)
*** 5057,5064 ****
  	    }
  
  	  if (type_param_spec_list
! 	      && gfc_spec_list_type (type_param_spec_list, NULL)
! 		 == SPEC_DEFERRED)
  	    {
  	      gfc_error ("The type parameter spec list in the type-spec at "
  			 "%L cannot contain DEFERRED parameters", &old_locus);
--- 5077,5083 ----
  	    }
  
  	  if (type_param_spec_list
! 	      && spec_list_type (type_param_spec_list) == SPEC_DEFERRED)
  	    {
  	      gfc_error ("The type parameter spec list in the type-spec at "
  			 "%L cannot contain DEFERRED parameters", &old_locus);
*************** gfc_match_allocate (void)
*** 5120,5130 ****
  	  goto cleanup;
  	}
  
!       if (tail->expr->ts.deferred)
  	{
  	  saw_deferred = true;
  	  deferred_locus = tail->expr->where;
  	}
  
        if (gfc_find_state (COMP_DO_CONCURRENT)
  	  || gfc_find_state (COMP_CRITICAL))
--- 5139,5166 ----
  	  goto cleanup;
  	}
  
!       if (tail->expr->ts.deferred
! 	  || (tail->expr->symtree->n.sym->param_list
! 	      && spec_list_type (tail->expr->symtree->n.sym->param_list)
! 				 == SPEC_DEFERRED))
  	{
  	  saw_deferred = true;
  	  deferred_locus = tail->expr->where;
  	}
+       else if ((tail->expr->ts.type == BT_DERIVED
+ 		|| tail->expr->ts.type == BT_CLASS)
+ 	       && tail->expr->ref)
+ 	{
+ 	  for (ref = tail->expr->ref; ref; ref = ref->next)
+ 	    if (ref->type == REF_COMPONENT
+ 		&& ref->u.c.component->param_list
+ 		&& spec_list_type (ref->u.c.component->param_list)
+ 				   == SPEC_DEFERRED)
+ 	    {
+ 	      saw_deferred = true;
+ 	      deferred_locus = tail->expr->where;
+ 	    }
+ 	}
  
        if (gfc_find_state (COMP_DO_CONCURRENT)
  	  || gfc_find_state (COMP_CRITICAL))
diff -Nrcpad gcc-16-20260308/gcc/fortran/primary.cc gcc-16-20260315/gcc/fortran/primary.cc
*** gcc-16-20260308/gcc/fortran/primary.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/primary.cc	Sun Mar 15 22:32:07 2026
*************** gfc_match_varspec (gfc_expr *primary, in
*** 2733,2739 ****
        if (previous && inquiry
  	  && (previous->attr.pdt_kind || previous->attr.pdt_len))
  	{
! 	  gfc_error_now ("R901: A type parameter ref is not a designtor and "
  		     "cannot be followed by the type inquiry ref at %C");
  	  return MATCH_ERROR;
  	}
--- 2733,2739 ----
        if (previous && inquiry
  	  && (previous->attr.pdt_kind || previous->attr.pdt_len))
  	{
! 	  gfc_error_now ("R901: A type parameter ref is not a designator and "
  		     "cannot be followed by the type inquiry ref at %C");
  	  return MATCH_ERROR;
  	}
diff -Nrcpad gcc-16-20260308/gcc/fortran/resolve.cc gcc-16-20260315/gcc/fortran/resolve.cc
*** gcc-16-20260308/gcc/fortran/resolve.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/resolve.cc	Sun Mar 15 22:32:07 2026
*************** resolve_assoc_var (gfc_symbol* sym, bool
*** 10447,10452 ****
--- 10447,10469 ----
    gcc_assert (sym->assoc);
    gcc_assert (sym->attr.flavor == FL_VARIABLE);
  
+   if (sym->assoc->target
+       && sym->assoc->target->expr_type == EXPR_FUNCTION
+       && sym->assoc->target->symtree
+       && sym->assoc->target->symtree->n.sym
+       && sym->assoc->target->symtree->n.sym->attr.generic)
+     {
+       if (gfc_resolve_expr (sym->assoc->target))
+ 	sym->ts = sym->assoc->target->ts;
+       else
+ 	{
+ 	  gfc_error ("%s could not be resolved to a specific function at %L",
+ 		     sym->assoc->target->symtree->n.sym->name,
+ 		     &sym->assoc->target->where);
+ 	  return;
+ 	}
+     }
+ 
    /* If this is for SELECT TYPE, the target may not yet be set.  In that
       case, return.  Resolution will be called later manually again when
       this is done.  */
diff -Nrcpad gcc-16-20260308/gcc/fortran/symbol.cc gcc-16-20260315/gcc/fortran/symbol.cc
*** gcc-16-20260308/gcc/fortran/symbol.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/symbol.cc	Sun Mar 15 22:32:07 2026
*************** gfc_find_component (gfc_symbol *sym, con
*** 2734,2739 ****
--- 2734,2754 ----
  /* Given a symbol, free all of the component structures and everything
     they point to.  */
  
+ void
+ gfc_free_component (gfc_component *p)
+ {
+   gfc_free_array_spec (p->as);
+   gfc_free_expr (p->initializer);
+   if (p->kind_expr)
+     gfc_free_expr (p->kind_expr);
+   if (p->param_list)
+     gfc_free_actual_arglist (p->param_list);
+   free (p->tb);
+   p->tb = NULL;
+   free (p);
+ }
+ 
+ 
  static void
  free_components (gfc_component *p)
  {
*************** free_components (gfc_component *p)
*** 2742,2757 ****
    for (; p; p = q)
      {
        q = p->next;
! 
!       gfc_free_array_spec (p->as);
!       gfc_free_expr (p->initializer);
!       if (p->kind_expr)
! 	gfc_free_expr (p->kind_expr);
!       if (p->param_list)
! 	gfc_free_actual_arglist (p->param_list);
!       free (p->tb);
!       p->tb = NULL;
!       free (p);
      }
  }
  
--- 2757,2763 ----
    for (; p; p = q)
      {
        q = p->next;
!       gfc_free_component (p);
      }
  }
  
*************** gfc_new_symtree (gfc_symtree **root, con
*** 3147,3153 ****
  
  /* Delete a symbol from the tree.  Does not free the symbol itself!  */
  
! static void
  gfc_delete_symtree (gfc_symtree **root, const char *name)
  {
    gfc_symtree st, *st0;
--- 3153,3159 ----
  
  /* Delete a symbol from the tree.  Does not free the symbol itself!  */
  
! void
  gfc_delete_symtree (gfc_symtree **root, const char *name)
  {
    gfc_symtree st, *st0;
diff -Nrcpad gcc-16-20260308/gcc/fortran/trans-array.cc gcc-16-20260315/gcc/fortran/trans-array.cc
*** gcc-16-20260308/gcc/fortran/trans-array.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/trans-array.cc	Sun Mar 15 22:32:07 2026
*************** gfc_allocate_pdt_comp (gfc_symbol * der_
*** 11588,11609 ****
  /* Recursively traverse an object of parameterized derived type, generating
     code to deallocate parameterized components.  */
  
- static bool
- has_parameterized_comps (gfc_symbol * der_type)
- {
-   /* A type without parameterized components causes gimplifier problems.  */
-   bool parameterized_comps = false;
-   for (gfc_component *c = der_type->components; c; c = c->next)
-     if (c->attr.pdt_array || c->attr.pdt_string)
-       parameterized_comps = true;
-     else if (IS_PDT (c) && strcmp (der_type->name, c->ts.u.derived->name))
-       parameterized_comps = has_parameterized_comps (c->ts.u.derived);
-   return parameterized_comps;
- }
- 
  tree
  gfc_deallocate_pdt_comp (gfc_symbol * der_type, tree decl, int rank)
  {
    if (!has_parameterized_comps (der_type))
      return NULL_TREE;
  
--- 11588,11597 ----
  /* Recursively traverse an object of parameterized derived type, generating
     code to deallocate parameterized components.  */
  
  tree
  gfc_deallocate_pdt_comp (gfc_symbol * der_type, tree decl, int rank)
  {
+   /* A type without parameterized components causes gimplifier problems.  */
    if (!has_parameterized_comps (der_type))
      return NULL_TREE;
  
diff -Nrcpad gcc-16-20260308/gcc/fortran/trans-decl.cc gcc-16-20260315/gcc/fortran/trans-decl.cc
*** gcc-16-20260308/gcc/fortran/trans-decl.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/trans-decl.cc	Sun Mar 15 22:32:07 2026
*************** build_function_decl (gfc_symbol * sym, b
*** 2551,2556 ****
--- 2551,2558 ----
    gcc_assert (current_function_decl == NULL_TREE
  	      || DECL_FILE_SCOPE_P (current_function_decl)
  	      || (TREE_CODE (DECL_CONTEXT (current_function_decl))
+ 		  == FUNCTION_DECL)
+ 	      || (TREE_CODE (DECL_CONTEXT (current_function_decl))
  		  == NAMESPACE_DECL));
  
    type = gfc_get_function_type (sym);
*************** gfc_build_builtin_function_decls (void)
*** 4312,4321 ****
  	get_identifier (PREFIX ("caf_sync_team")), ". r w w w ", void_type_node,
  	4, pvoid_type_node, pint_type, pchar_type_node, size_type_node);
  
!       gfor_fndecl_caf_team_number
!       	= gfc_build_library_function_decl_with_spec (
! 	    get_identifier (PREFIX("caf_team_number")), ". r ",
!       	    integer_type_node, 1, integer_type_node);
  
        gfor_fndecl_caf_image_status = gfc_build_library_function_decl_with_spec (
  	get_identifier (PREFIX ("caf_image_status")), ". r r ",
--- 4314,4322 ----
  	get_identifier (PREFIX ("caf_sync_team")), ". r w w w ", void_type_node,
  	4, pvoid_type_node, pint_type, pchar_type_node, size_type_node);
  
!       gfor_fndecl_caf_team_number = gfc_build_library_function_decl_with_spec (
! 	get_identifier (PREFIX ("caf_team_number")), ". r ", integer_type_node,
! 	1, pvoid_type_node);
  
        gfor_fndecl_caf_image_status = gfc_build_library_function_decl_with_spec (
  	get_identifier (PREFIX ("caf_image_status")), ". r r ",
*************** gfc_trans_deferred_vars (gfc_symbol * pr
*** 4911,4916 ****
--- 4912,4918 ----
  	 && proc_sym != proc_sym->result) ? proc_sym->result : NULL;
  
    if (sym && !sym->attr.allocatable && !sym->attr.pointer
+       && sym->attr.referenced
        && IS_PDT (sym) && !gfc_has_default_initializer (sym->ts.u.derived))
      {
        gfc_init_block (&tmpblock);
diff -Nrcpad gcc-16-20260308/gcc/fortran/trans-expr.cc gcc-16-20260315/gcc/fortran/trans-expr.cc
*** gcc-16-20260308/gcc/fortran/trans-expr.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/trans-expr.cc	Sun Mar 15 22:32:07 2026
*************** gfc_trans_scalar_assign (gfc_se *lse, gf
*** 11739,11745 ****
      }
    else if (gfc_bt_struct (ts.type)
  	   && (ts.u.derived->attr.alloc_comp
! 		|| (deep_copy && ts.u.derived->attr.pdt_type)))
      {
        tree tmp_var = NULL_TREE;
        cond = NULL_TREE;
--- 11739,11745 ----
      }
    else if (gfc_bt_struct (ts.type)
  	   && (ts.u.derived->attr.alloc_comp
! 	       || (deep_copy && has_parameterized_comps (ts.u.derived))))
      {
        tree tmp_var = NULL_TREE;
        cond = NULL_TREE;
*************** gfc_trans_assignment_1 (gfc_expr * expr1
*** 13100,13109 ****
    tree string_length;
    int n;
    bool maybe_workshare = false, lhs_refs_comp = false, rhs_refs_comp = false;
!   symbol_attribute lhs_caf_attr, rhs_caf_attr, lhs_attr;
    bool is_poly_assign;
    bool realloc_flag;
    bool assoc_assign = false;
  
    /* Assignment of the form lhs = rhs.  */
    gfc_start_block (&block);
--- 13100,13110 ----
    tree string_length;
    int n;
    bool maybe_workshare = false, lhs_refs_comp = false, rhs_refs_comp = false;
!   symbol_attribute lhs_caf_attr, rhs_caf_attr, lhs_attr, rhs_attr;
    bool is_poly_assign;
    bool realloc_flag;
    bool assoc_assign = false;
+   bool dummy_class_array_copy;
  
    /* Assignment of the form lhs = rhs.  */
    gfc_start_block (&block);
*************** gfc_trans_assignment_1 (gfc_expr * expr1
*** 13159,13164 ****
--- 13160,13176 ----
       needed at two locations, so do it once only before the information is
       needed.  */
    lhs_attr = gfc_expr_attr (expr1);
+   rhs_attr = gfc_expr_attr (expr2);
+   dummy_class_array_copy
+     = (expr2->expr_type == EXPR_VARIABLE
+        && expr2->rank > 0
+        && expr2->symtree != NULL
+        && expr2->symtree->n.sym->attr.dummy
+        && expr2->ts.type == BT_CLASS
+        && !rhs_attr.pointer
+        && !rhs_attr.allocatable
+        && !CLASS_DATA (expr2)->attr.class_pointer
+        && !CLASS_DATA (expr2)->attr.allocatable);
  
    is_poly_assign
      = (use_vptr_copy
*************** gfc_trans_assignment_1 (gfc_expr * expr1
*** 13464,13478 ****
  
        expr1->must_finalize = 0;
      }
!   else if (!is_poly_assign && expr2->must_finalize
  	   && expr1->ts.type == BT_CLASS
! 	   && expr2->ts.type == BT_CLASS)
      {
        /* This case comes about when the scalarizer provides array element
! 	 references. Use the vptr copy function, since this does a deep
! 	 copy of allocatable components, without which the finalizer call
! 	 will deallocate the components.  */
        tmp = gfc_get_vptr_from_expr (rse.expr);
        if (tmp != NULL_TREE)
  	{
  	  tree fcn = gfc_vptr_copy_get (tmp);
--- 13476,13493 ----
  
        expr1->must_finalize = 0;
      }
!   else if (!is_poly_assign
  	   && expr1->ts.type == BT_CLASS
! 	   && expr2->ts.type == BT_CLASS
! 	   && (expr2->must_finalize || dummy_class_array_copy))
      {
        /* This case comes about when the scalarizer provides array element
! 	 references to class temporaries or nonpointer dummy arrays. Use the
! 	 vptr copy function, since this does a deep copy of allocatable
! 	 components.  */
        tmp = gfc_get_vptr_from_expr (rse.expr);
+       if (tmp == NULL_TREE && dummy_class_array_copy)
+ 	tmp = gfc_get_vptr_from_expr (gfc_get_class_from_gfc_expr (expr2));
        if (tmp != NULL_TREE)
  	{
  	  tree fcn = gfc_vptr_copy_get (tmp);
diff -Nrcpad gcc-16-20260308/gcc/fortran/trans-io.cc gcc-16-20260315/gcc/fortran/trans-io.cc
*** gcc-16-20260308/gcc/fortran/trans-io.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/trans-io.cc	Sun Mar 15 22:32:07 2026
*************** transfer_expr (gfc_se * se, gfc_typespec
*** 2513,2519 ****
  
  		  if (c->attr.dimension)
  		    {
! 		      tmp = transfer_array_component (tmp, c, & code->loc);
  		      gfc_add_expr_to_block (&se->pre, tmp);
  		    }
  		  else
--- 2513,2521 ----
  
  		  if (c->attr.dimension)
  		    {
! 		      tmp = transfer_array_component (tmp, c,
! 						      code ? &code->loc
! 						      : NULL);
  		      gfc_add_expr_to_block (&se->pre, tmp);
  		    }
  		  else
diff -Nrcpad gcc-16-20260308/gcc/fortran/trans-openmp.cc gcc-16-20260315/gcc/fortran/trans-openmp.cc
*** gcc-16-20260308/gcc/fortran/trans-openmp.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/trans-openmp.cc	Sun Mar 15 22:32:07 2026
*************** gfc_omp_clause_default_ctor (tree clause
*** 815,821 ****
        return NULL_TREE;
      }
  
!   gcc_assert (outer != NULL_TREE);
  
    /* Allocatable arrays and scalars in PRIVATE clauses need to be set to
       "not currently allocated" allocation status if outer
--- 815,824 ----
        return NULL_TREE;
      }
  
!   gcc_assert (outer != NULL_TREE
! 	      || (!GFC_DESCRIPTOR_TYPE_P (type)
! 		  && !gfc_has_alloc_comps (type, OMP_CLAUSE_DECL (clause),
! 					   false)));
  
    /* Allocatable arrays and scalars in PRIVATE clauses need to be set to
       "not currently allocated" allocation status if outer
*************** gfc_trans_omp_clauses (stmtblock_t *bloc
*** 4154,4160 ****
  		{
  		  tree ptr;
  		  gfc_init_se (&se, NULL);
! 		  if (n->expr->ref->u.ar.type == AR_ELEMENT)
  		    {
  		      gfc_conv_expr_reference (&se, n->expr);
  		      ptr = se.expr;
--- 4157,4167 ----
  		{
  		  tree ptr;
  		  gfc_init_se (&se, NULL);
! 		  /* The first ref can be an element selection on the base
! 		     object while the full expression still denotes an array,
! 		     e.g. x(j)%a.  Pick the lowering path from the overall
! 		     expression rank, not from the first REF_ARRAY.  */
! 		  if (n->expr->rank == 0)
  		    {
  		      gfc_conv_expr_reference (&se, n->expr);
  		      ptr = se.expr;
*************** gfc_trans_omp_depobj (gfc_code *code)
*** 7438,7444 ****
        else if (n->expr && n->expr->ref->u.ar.type != AR_FULL)
  	{
  	  gfc_init_se (&se, NULL);
! 	  if (n->expr->ref->u.ar.type == AR_ELEMENT)
  	    {
  	      gfc_conv_expr_reference (&se, n->expr);
  	      var = se.expr;
--- 7445,7451 ----
        else if (n->expr && n->expr->ref->u.ar.type != AR_FULL)
  	{
  	  gfc_init_se (&se, NULL);
! 	  if (n->expr->rank == 0)
  	    {
  	      gfc_conv_expr_reference (&se, n->expr);
  	      var = se.expr;
diff -Nrcpad gcc-16-20260308/gcc/fortran/trans-types.cc gcc-16-20260315/gcc/fortran/trans-types.cc
*** gcc-16-20260308/gcc/fortran/trans-types.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/fortran/trans-types.cc	Sun Mar 15 22:32:07 2026
*************** along with GCC; see the file COPYING3.
*** 39,45 ****
  #include "dwarf2out.h"	/* For struct array_descr_info.  */
  #include "attribs.h"
  #include "alias.h"
! 
  
  #if (GFC_MAX_DIMENSIONS < 10)
  #define GFC_RANK_DIGITS 1
--- 39,45 ----
  #include "dwarf2out.h"	/* For struct array_descr_info.  */
  #include "attribs.h"
  #include "alias.h"
! 
  
  #if (GFC_MAX_DIMENSIONS < 10)
  #define GFC_RANK_DIGITS 1
*************** gfc_get_pchar_type (int kind)
*** 1281,1287 ****
    return index < 0 ? 0 : gfc_pcharacter_types[index];
  }
  
! 
  /* Create a character type with the given kind and length.  */
  
  tree
--- 1281,1287 ----
    return index < 0 ? 0 : gfc_pcharacter_types[index];
  }
  
! 
  /* Create a character type with the given kind and length.  */
  
  tree
*************** gfc_get_character_type (int kind, gfc_ch
*** 1317,1323 ****
  
    return gfc_get_character_type_len (kind, len);
  }
! 
  /* Convert a basic type.  This will be an array for character types.  */
  
  tree
--- 1317,1323 ----
  
    return gfc_get_character_type_len (kind, len);
  }
! 
  /* Convert a basic type.  This will be an array for character types.  */
  
  tree
*************** gfc_typenode_for_spec (gfc_typespec * sp
*** 1417,1423 ****
      }
    return basetype;
  }
! 
  /* Build an INT_CST for constant expressions, otherwise return NULL_TREE.  */
  
  static tree
--- 1417,1423 ----
      }
    return basetype;
  }
! 
  /* Build an INT_CST for constant expressions, otherwise return NULL_TREE.  */
  
  static tree
*************** gfc_conv_array_bound (gfc_expr * expr)
*** 1430,1436 ****
    /* Otherwise return NULL.  */
    return NULL_TREE;
  }
! 
  /* Return the type of an element of the array.  Note that scalar coarrays
     are special.  In particular, for GFC_ARRAY_TYPE_P, the original argument
     (with POINTER_TYPE stripped) is returned.  */
--- 1430,1436 ----
    /* Otherwise return NULL.  */
    return NULL_TREE;
  }
! 
  /* Return the type of an element of the array.  Note that scalar coarrays
     are special.  In particular, for GFC_ARRAY_TYPE_P, the original argument
     (with POINTER_TYPE stripped) is returned.  */
*************** gfc_get_element_type (tree type)
*** 1470,1476 ****
  
    return element;
  }
! 
  /* Build an array.  This function is called from gfc_sym_type().
     Actually returns array descriptor type.
  
--- 1470,1476 ----
  
    return element;
  }
! 
  /* Build an array.  This function is called from gfc_sym_type().
     Actually returns array descriptor type.
  
*************** gfc_build_array_type (tree type, gfc_arr
*** 1650,1656 ****
  				    corank, lbound, ubound, 0, akind,
  				    restricted);
  }
! 
  /* Returns the struct descriptor_dimension type.  */
  
  static tree
--- 1650,1656 ----
  				    corank, lbound, ubound, 0, akind,
  				    restricted);
  }
! 
  /* Returns the struct descriptor_dimension type.  */
  
  static tree
*************** gfc_get_array_type_bounds (tree etype, i
*** 2283,2289 ****
  
    return fat_type;
  }
! 
  /* Build a pointer type. This function is called from gfc_sym_type().  */
  
  static tree
--- 2283,2289 ----
  
    return fat_type;
  }
! 
  /* Build a pointer type. This function is called from gfc_sym_type().  */
  
  static tree
*************** gfc_nonrestricted_type (tree t)
*** 2458,2464 ****
    return ret;
  }
  
! 
  /* Return the type for a symbol.  Special handling is required for character
     types to get the correct level of indirection.
     For functions return the return type.
--- 2458,2464 ----
    return ret;
  }
  
! 
  /* Return the type for a symbol.  Special handling is required for character
     types to get the correct level of indirection.
     For functions return the return type.
*************** gfc_sym_type (gfc_symbol * sym, bool is_
*** 2587,2593 ****
  
    return (type);
  }
! 
  /* Layout and output debug info for a record type.  */
  
  void
--- 2587,2593 ----
  
    return (type);
  }
! 
  /* Layout and output debug info for a record type.  */
  
  void
*************** gfc_finish_type (tree type)
*** 2602,2608 ****
    rest_of_type_compilation (type, 1);
    rest_of_decl_compilation (decl, 1, 0);
  }
! 
  /* Add a field of given NAME and TYPE to the context of a UNION_TYPE
     or RECORD_TYPE pointed to by CONTEXT.  The new field is chained
     to the end of the field list pointed to by *CHAIN.
--- 2602,2608 ----
    rest_of_type_compilation (type, 1);
    rest_of_decl_compilation (decl, 1, 0);
  }
! 
  /* Add a field of given NAME and TYPE to the context of a UNION_TYPE
     or RECORD_TYPE pointed to by CONTEXT.  The new field is chained
     to the end of the field list pointed to by *CHAIN.
*************** gfc_return_by_reference (gfc_symbol * sy
*** 3247,3253 ****
  
    return 0;
  }
! 
  static tree
  gfc_get_mixed_entry_union (gfc_namespace *ns)
  {
--- 3247,3274 ----
  
    return 0;
  }
! 
! static tree
! gfc_get_entry_result_type (gfc_symbol *sym)
! {
!   tree type;
! 
!   type = gfc_sym_type (sym->result);
! 
!   /* Mixed ENTRY master unions must use the ABI return type of each entry.
!      Under -ff2c, default REAL entries return C double even though their
!      Fortran result symbol remains default REAL.  */
!   if (flag_f2c
!       && sym->ts.type == BT_REAL
!       && sym->ts.kind == gfc_default_real_kind
!       && !sym->attr.pointer
!       && !sym->attr.allocatable
!       && !sym->attr.always_explicit)
!     type = gfc_get_real_type (gfc_default_double_kind);
! 
!   return type;
! }
! 
  static tree
  gfc_get_mixed_entry_union (gfc_namespace *ns)
  {
*************** gfc_get_mixed_entry_union (gfc_namespace
*** 3276,3282 ****
        if (el == el2)
  	gfc_add_field_to_struct_1 (type,
  				   get_identifier (el->sym->result->name),
! 				   gfc_sym_type (el->sym->result), &chain);
      }
  
    /* Finish off the type.  */
--- 3297,3304 ----
        if (el == el2)
  	gfc_add_field_to_struct_1 (type,
  				   get_identifier (el->sym->result->name),
! 				   gfc_get_entry_result_type (el->sym),
! 				   &chain);
      }
  
    /* Finish off the type.  */
*************** gfc_get_mixed_entry_union (gfc_namespace
*** 3284,3290 ****
    TYPE_DECL_SUPPRESS_DEBUG (TYPE_STUB_DECL (type)) = 1;
    return type;
  }
! 
  /* Create a "fn spec" based on the formal arguments;
     cf. create_function_arglist.  */
  
--- 3306,3312 ----
    TYPE_DECL_SUPPRESS_DEBUG (TYPE_STUB_DECL (type)) = 1;
    return type;
  }
! 
  /* Create a "fn spec" based on the formal arguments;
     cf. create_function_arglist.  */
  
*************** arg_type_list_done:
*** 3605,3611 ****
  
    return type;
  }
! 
  /* Language hooks for middle-end access to type nodes.  */
  
  /* Return an integer type with BITS bits of precision,
--- 3627,3633 ----
  
    return type;
  }
! 
  /* Language hooks for middle-end access to type nodes.  */
  
  /* Return an integer type with BITS bits of precision,
diff -Nrcpad gcc-16-20260308/gcc/genautomata.cc gcc-16-20260315/gcc/genautomata.cc
*** gcc-16-20260308/gcc/genautomata.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/genautomata.cc	Sun Mar 15 22:32:07 2026
*************** static void\n\
*** 8143,8149 ****
  dfa_insn_code_enlarge (int uid)\n\
  {\n\
    int i = %s;\n\
!   %s = 2 * uid;\n\
    %s = XRESIZEVEC (int, %s,\n\
                   %s);\n\
    for (; i < %s; i++)\n\
--- 8143,8149 ----
  dfa_insn_code_enlarge (int uid)\n\
  {\n\
    int i = %s;\n\
!   %s = MIN (INT_MAX, 2U * uid);\n\
    %s = XRESIZEVEC (int, %s,\n\
                   %s);\n\
    for (; i < %s; i++)\n\
diff -Nrcpad gcc-16-20260308/gcc/ipa-cp.cc gcc-16-20260315/gcc/ipa-cp.cc
*** gcc-16-20260308/gcc/ipa-cp.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/ipa-cp.cc	Sun Mar 15 22:32:07 2026
*************** ipcp_val_replacement_ok_p (vec<tree> &,
*** 5920,5930 ****
  			   int index, HOST_WIDE_INT offset,
  			   ipa_polymorphic_call_context value)
  {
!   if (offset != -1)
      return false;
!   return (known_contexts.length () > (unsigned) index
! 	  && !known_contexts[index].useless_p ()
! 	  && known_contexts[index].equal_to (value));
  }
  
  /* Decide whether to create a special version of NODE for value VAL of
--- 5920,5938 ----
  			   int index, HOST_WIDE_INT offset,
  			   ipa_polymorphic_call_context value)
  {
!   if (offset != -1
!       || known_contexts.length () <= (unsigned) index
!       || known_contexts[index].useless_p ())
      return false;
! 
!   if (known_contexts[index].equal_to (value))
!     return true;
! 
!   /* In some corner cases, the final gathering of contexts can figure out that
!      the available context is actually more precise than what we wanted to
!      clone for.  Allow it.  */
!   value.combine_with (known_contexts[index]);
!   return known_contexts[index].equal_to (value);
  }
  
  /* Decide whether to create a special version of NODE for value VAL of
diff -Nrcpad gcc-16-20260308/gcc/ipa-modref.cc gcc-16-20260315/gcc/ipa-modref.cc
*** gcc-16-20260308/gcc/ipa-modref.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/ipa-modref.cc	Sun Mar 15 22:32:07 2026
*************** ipa_merge_modref_summary_after_inlining
*** 5342,5354 ****
  				      : NULL;
    class modref_summary_lto *callee_info_lto
  		 = summaries_lto ? summaries_lto->get (edge->callee) : NULL;
    int flags = flags_from_decl_or_type (edge->callee->decl);
!   /* Combine in outer flags.  */
!   cgraph_node *n;
!   for (n = edge->caller; n->inlined_to; n = n->callers->caller)
!     flags |= flags_from_decl_or_type (n->decl);
!   flags |= flags_from_decl_or_type (n->decl);
!   bool ignore_stores = ignore_stores_p (edge->caller->decl, flags);
  
    if (!callee_info && to_info)
      {
--- 5342,5387 ----
  				      : NULL;
    class modref_summary_lto *callee_info_lto
  		 = summaries_lto ? summaries_lto->get (edge->callee) : NULL;
+ 
+   /* Compute effective ECF_CONST, ECF_PURE, ECF_NOVOPS,
+      ECF_LOOPING_CONST_OR_PURE and ignore_stores of the inlined function from
+      the point of view of caller of the function it is transitively inlined to.
+ 
+      Consider inline chain A->B->C, where (edge is the edge B->C).
+      ECF_CONST, ECF_PURE_ECF, ECF_NOVOPS and ignore_stores is the strongest
+      flag seen on the inline path.
+ 
+      ECF_LOOPING_CONST_OR_PURE is bit special since, for example if C
+      is ECF_CONST | ECF_LOOPING_CONST_OR_PURE and B is ECF_PURE, then outcome
+      is ECF_CONST and !ECF_LOOPING_CONST_OR_PURE.
+ 
+      Flags are later used to avoid merging info about side-effects of C which
+      are invisible to to the caller of A.  For example, it is possible for
+      const function to have local array and call non-const functions modifying
+      it.  */
+ 
    int flags = flags_from_decl_or_type (edge->callee->decl);
!   bool ignore_stores = ignore_stores_p (edge->callee->decl, flags);
! 
!   for (cgraph_node *n = edge->caller; n;
!        n = n->inlined_to ? n->callers->caller : NULL)
!     {
!       int f = flags_from_decl_or_type (n->decl);
! 
!       ignore_stores |= ignore_stores_p (n->decl, f);
!       /* If we see first CONST/PURE flag in the chain, take its
! 	 ECF_LOOPING_CONST_OR_PURE  */
!       if (!(flags & (ECF_CONST | ECF_PURE)) && (f & (ECF_CONST | ECF_PURE)))
! 	flags |= (f & ECF_LOOPING_CONST_OR_PURE);
!       /* If we already have ECF_CONST or ECF_PURE flag
! 	 just improve ECF_LOOPING_CONST_OR_PURE if possible.  */
!       else if ((flags & (ECF_CONST | ECF_PURE))
! 	       && (flags & ECF_LOOPING_CONST_OR_PURE)
! 	       && (f & (ECF_CONST | ECF_PURE))
! 	       && !(f & ECF_LOOPING_CONST_OR_PURE))
! 	flags &= ECF_LOOPING_CONST_OR_PURE;
!       flags |= f & (ECF_CONST | ECF_PURE | ECF_NOVOPS);
!     }
  
    if (!callee_info && to_info)
      {
diff -Nrcpad gcc-16-20260308/gcc/ipa-prop.cc gcc-16-20260315/gcc/ipa-prop.cc
*** gcc-16-20260308/gcc/ipa-prop.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/ipa-prop.cc	Sun Mar 15 22:32:07 2026
*************** ipa_analyze_var_static_initializer (varp
*** 3637,3643 ****
  			    val)
      {
        if (TREE_CODE (val) != ADDR_EXPR
! 	  || TREE_CODE (TREE_OPERAND (val, 0)) != FUNCTION_DECL)
  	continue;
        HOST_WIDE_INT elt_offset = int_bit_position (index);
        if ((elt_offset % BITS_PER_UNIT) != 0)
--- 3637,3645 ----
  			    val)
      {
        if (TREE_CODE (val) != ADDR_EXPR
! 	  || TREE_CODE (TREE_OPERAND (val, 0)) != FUNCTION_DECL
! 	  /* ObjC can produce constructor elements with NULL indices.  */
! 	  || !index)
  	continue;
        HOST_WIDE_INT elt_offset = int_bit_position (index);
        if ((elt_offset % BITS_PER_UNIT) != 0)
diff -Nrcpad gcc-16-20260308/gcc/ipa-pure-const.cc gcc-16-20260315/gcc/ipa-pure-const.cc
*** gcc-16-20260308/gcc/ipa-pure-const.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/ipa-pure-const.cc	Sun Mar 15 22:32:07 2026
*************** skip_function_for_local_pure_const (stru
*** 1481,1487 ****
    /* Save some work and do not analyze functions which are interposable and
       do not have any non-interposable aliases.  */
    if (node->get_availability () <= AVAIL_INTERPOSABLE
-       && !flag_lto
        && !node->has_aliases_p ())
      {
        if (dump_file)
--- 1481,1486 ----
diff -Nrcpad gcc-16-20260308/gcc/lra-constraints.cc gcc-16-20260315/gcc/lra-constraints.cc
*** gcc-16-20260308/gcc/lra-constraints.cc	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/lra-constraints.cc	Sun Mar 15 22:32:07 2026
*************** curr_insn_transform (bool check_only_p)
*** 4419,4425 ****
  	    && !targetm.hard_regno_mode_ok (REGNO (subst), outer_mode))
  	  continue;
  
! 	if (subst != old)
  	  {
  	    equiv_substition_p[i] = true;
  	    rtx new_subst = copy_rtx (subst);
--- 4419,4430 ----
  	    && !targetm.hard_regno_mode_ok (REGNO (subst), outer_mode))
  	  continue;
  
! 	if (subst != old
! 	    /* We don't want to change an out operand by constant or invariant
! 	       which will require additional reloads, e.g. by putting a constant
! 	       into memory.  */
! 	    && (curr_static_id->operand[i].type == OP_IN || MEM_P (subst)
! 		|| (GET_CODE (subst) == SUBREG && MEM_P (SUBREG_REG (subst)))))
  	  {
  	    equiv_substition_p[i] = true;
  	    rtx new_subst = copy_rtx (subst);
*************** curr_insn_transform (bool check_only_p)
*** 4452,4458 ****
  	  }
        }
  
!   /* Reload address registers and displacements.  We do it before
       finding an alternative because of memory constraints.  */
    before = after = NULL;
    for (i = 0; i < n_operands; i++)
--- 4457,4470 ----
  	  }
        }
  
!   /* We process equivalences before ignoring postponed insns on the current
!      constraint sub-pass but before any reload insn generation for the
!      postponed insn.  */
!   if (! check_only_p
!       && bitmap_bit_p (&lra_postponed_insns, INSN_UID (curr_insn)))
!     return true;
! 
!    /* Reload address registers and displacements.  We do it before
       finding an alternative because of memory constraints.  */
    before = after = NULL;
    for (i = 0; i < n_operands; i++)
*************** curr_insn_transform (bool check_only_p)
*** 4470,4486 ****
         we chose previously may no longer be valid.  */
      lra_set_used_insn_alternative (curr_insn, LRA_UNKNOWN_ALT);
  
!   if (! check_only_p)
!     {
!       if (bitmap_bit_p (&lra_postponed_insns, INSN_UID (curr_insn)))
! 	/* Processing insn constraints were postponed.  Do nothing, the insn
! 	   will be processed on the next constraint sub-pass after assignment
! 	   of reload pseudos in the insn.  */
! 	return true;
!       if (curr_insn_set != NULL_RTX
! 	  && check_and_process_move (&change_p, &sec_mem_p))
! 	return change_p;
!     }
  
   try_swapped:
  
--- 4482,4490 ----
         we chose previously may no longer be valid.  */
      lra_set_used_insn_alternative (curr_insn, LRA_UNKNOWN_ALT);
  
!   if (! check_only_p && curr_insn_set != NULL_RTX
!       && check_and_process_move (&change_p, &sec_mem_p))
!     return change_p;
  
   try_swapped:
  
diff -Nrcpad gcc-16-20260308/gcc/params.opt gcc-16-20260315/gcc/params.opt
*** gcc-16-20260308/gcc/params.opt	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/params.opt	Sun Mar 15 22:32:08 2026
*************** Maximum number of active local stores in
*** 588,594 ****
  
  -param=max-devirt-targets=
  Common Joined UInteger Var(param_max_devirt_targets) Init(3) Param Optimization
! Maximum number of targets to devirutalize.
  
  -param=max-early-inliner-iterations=
  Common Joined UInteger Var(param_early_inliner_max_iterations) Init(1) Param Optimization
--- 588,594 ----
  
  -param=max-devirt-targets=
  Common Joined UInteger Var(param_max_devirt_targets) Init(3) Param Optimization
! Maximum number of targets to devirtualize.
  
  -param=max-early-inliner-iterations=
  Common Joined UInteger Var(param_early_inliner_max_iterations) Init(1) Param Optimization
diff -Nrcpad gcc-16-20260308/gcc/po/ChangeLog gcc-16-20260315/gcc/po/ChangeLog
*** gcc-16-20260308/gcc/po/ChangeLog	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/po/ChangeLog	Sun Mar 15 22:32:08 2026
***************
*** 1,3 ****
--- 1,15 ----
+ 2026-03-12  Joseph Myers  <josmyers@redhat.com>
+ 
+ 	* sv.po: Update.
+ 
+ 2026-03-11  Joseph Myers  <josmyers@redhat.com>
+ 
+ 	* sv.po: Update.
+ 
+ 2026-03-11  Joseph Myers  <josmyers@redhat.com>
+ 
+ 	* de.po, sv.po: Update.
+ 
  2026-03-06  Joseph Myers  <josmyers@redhat.com>
  
  	* fr.po: Update.
diff -Nrcpad gcc-16-20260308/gcc/po/de.po gcc-16-20260315/gcc/po/de.po
*** gcc-16-20260308/gcc/po/de.po	Sun Mar  8 22:32:06 2026
--- gcc-16-20260315/gcc/po/de.po	Sun Mar 15 22:32:08 2026
***************
*** 5,17 ****
  # Roland Stigge <stigge@antcom.de>, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012, 2013.
  # Mario Blättermann <mario.blaettermann@gmail.com>, 2015.
  # Philipp Thomas <pth@suse.de>, 1999, 2000, 2001, 2011, 2016.
! # Roland Illig <roland.illig@gmx.de>, 2015, 2017-2025.
  msgid ""
  msgstr ""
! "Project-Id-Version: gcc 15.2.0\n"
  "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
  "POT-Creation-Date: 2026-02-19 21:05+0000\n"
! "PO-Revision-Date: 2025-08-23 14:50+0200\n"
  "Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
  "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
  "Language: de\n"
--- 5,17 ----
  # Roland Stigge <stigge@antcom.de>, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012, 2013.
  # Mario Blättermann <mario.blaettermann@gmail.com>, 2015.
  # Philipp Thomas <pth@suse.de>, 1999, 2000, 2001, 2011, 2016.
! # Roland Illig <roland.illig@gmx.de>, 2015, 2017-2026.
  msgid ""
  msgstr ""
! "Project-Id-Version: gcc 16.1-b20260222\n"
  "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
  "POT-Creation-Date: 2026-02-19 21:05+0000\n"
! "PO-Revision-Date: 2026-03-10 00:00+0100\n"
  "Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
  "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
  "Language: de\n"
*************** msgstr ""
*** 20,26 ****
  "Content-Transfer-Encoding: 8bit\n"
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
  "X-Bugs: Report translation errors to the Language-Team address.\n"
! "X-Generator: Poedit 3.7\n"
  "X-Poedit-Bookmarks: -1,-1,-1,6017,-1,-1,-1,-1,-1,-1\n"
  
  #: cif-code.def:39
--- 20,26 ----
  "Content-Transfer-Encoding: 8bit\n"
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
  "X-Bugs: Report translation errors to the Language-Team address.\n"
! "X-Generator: Poedit 3.8\n"
  "X-Poedit-Bookmarks: -1,-1,-1,6017,-1,-1,-1,-1,-1,-1\n"
  
  #: cif-code.def:39
*************** msgid "function has external linkage whe
*** 132,151 ****
  msgstr "Funktion ist extern gebunden, aufgrund einer Benutzeranforderung werden nur static-Funktionen geinlinet, um Live-Patchen zu ermöglichen"
  
  #: cif-code.def:145
- #, fuzzy
- #| msgid "errors during merging of translation units"
  msgid "callee must remain in translation unit"
! msgstr "Fehler beim Einfügen von Übersetzungseinheiten"
  
  #: cif-code.def:149
  msgid "unreachable"
  msgstr "Nicht erreichbar"
  
  #: cif-code.def:154
- #, fuzzy
- #| msgid "caller edge count invalid"
  msgid "callback edges cannot be inlined"
! msgstr "Interner Fehler: caller edge count invalid"
  
  #: config/i386/djgpp.h:143
  #, c-format
--- 132,147 ----
  msgstr "Funktion ist extern gebunden, aufgrund einer Benutzeranforderung werden nur static-Funktionen geinlinet, um Live-Patchen zu ermöglichen"
  
  #: cif-code.def:145
  msgid "callee must remain in translation unit"
! msgstr "die aufgerufene Funktion muss in der Übersetzungseinheit bleiben"
  
  #: cif-code.def:149
  msgid "unreachable"
  msgstr "Nicht erreichbar"
  
  #: cif-code.def:154
  msgid "callback edges cannot be inlined"
! msgstr "Callback-Kanten können nicht geinlinet werden"
  
  #: config/i386/djgpp.h:143
  #, c-format
*************** msgid "does not support multilib"
*** 266,275 ****
  msgstr "unterstützt nicht multilib"
  
  #: config/sol2.h:362 config/sol2.h:371
- #, fuzzy
- #| msgid "-gz is not supported in this configuration"
  msgid "-gsctf is not supported in this configuration"
! msgstr "-gz wird in dieser Konfiguration nicht unterstützt"
  
  #: config/vxworks.h:236
  msgid "-Xbind-now and -Xbind-lazy are incompatible"
--- 262,269 ----
  msgstr "unterstützt nicht multilib"
  
  #: config/sol2.h:362 config/sol2.h:371
  msgid "-gsctf is not supported in this configuration"
! msgstr "-gsctf wird in dieser Konfiguration nicht unterstützt"
  
  #: config/vxworks.h:236
  msgid "-Xbind-now and -Xbind-lazy are incompatible"
*************** msgstr "  Profiling-Unterstützung nur i
*** 349,361 ****
  
  #: config/riscv/riscv.h:127
  msgid "At least one valid -mcpu option must be given after -march=unset"
! msgstr ""
  
  #: config/rs6000/aix.h:286
- #, fuzzy
- #| msgid "%<-fstack-protector%> not supported for this target"
  msgid "stack-protector not supported on AIX"
! msgstr "%<-fstack-protector%> wird für dieses Ziel nicht unterstützt"
  
  #: config/rs6000/darwin.h:126
  msgid " conflicting code gen style switches are used"
--- 343,353 ----
  
  #: config/riscv/riscv.h:127
  msgid "At least one valid -mcpu option must be given after -march=unset"
! msgstr "Mindestens eine gültige »-mcpu«-Option muss nach »-march=unset« angegeben werden"
  
  #: config/rs6000/aix.h:286
  msgid "stack-protector not supported on AIX"
! msgstr "Stapelschutz wird unter AIX nicht unterstützt"
  
  #: config/rs6000/darwin.h:126
  msgid " conflicting code gen style switches are used"
*************** msgstr "Den Aufrufgraphen der Symboltabe
*** 533,557 ****
  #: config/picolibc.opt:26
  #, no-c-format
  msgid "Specify an OS support library to load after libc."
! msgstr ""
  
  #: config/picolibc.opt:33
! #, fuzzy, no-c-format
! #| msgid "Specify the name of the target CPU."
  msgid "Specify an alternate startup file."
! msgstr "Namen der Ziel-CPU angeben."
  
  #: config/picolibc.opt:40
! #, fuzzy, no-c-format
! #| msgid "Specify the PTX ISA version to use."
  msgid "Specify the printf version linked from libc."
! msgstr "Die Version der PTX-ISA angeben, die verwendet wird."
  
  #: config/picolibc.opt:47
! #, fuzzy, no-c-format
! #| msgid "Specify the PTX ISA version to use."
  msgid "Specify the scanf version linked from libc."
! msgstr "Die Version der PTX-ISA angeben, die verwendet wird."
  
  #: config/nds32/nds32-elf.opt:3 config/nds32/nds32-linux.opt:3
  #, no-c-format
--- 525,546 ----
  #: config/picolibc.opt:26
  #, no-c-format
  msgid "Specify an OS support library to load after libc."
! msgstr "Eine Betriebssystem-Unterstützungs-Bibliothek, die nach der libc geladen wird."
  
  #: config/picolibc.opt:33
! #, no-c-format
  msgid "Specify an alternate startup file."
! msgstr "Eine alternative Startdatei."
  
  #: config/picolibc.opt:40
! #, no-c-format
  msgid "Specify the printf version linked from libc."
! msgstr "Die Version von printf, die aus der libc heraus verlinkt wird."
  
  #: config/picolibc.opt:47
! #, no-c-format
  msgid "Specify the scanf version linked from libc."
! msgstr "Die Version von scanf, die aus der libc heraus verlinkt wird."
  
  #: config/nds32/nds32-elf.opt:3 config/nds32/nds32-linux.opt:3
  #, no-c-format
*************** msgid "Known ABIs (for use with the -mab
*** 594,609 ****
  msgstr "Bekannte ABIs (für Verwendung mit der Option »-mabi=«):"
  
  #: config/nds32/nds32.opt:61
! #, fuzzy, no-c-format
! #| msgid "Specify use soft floating point ABI which mean alias to -mabi=2."
  msgid "Specify the soft floating-point ABI, aliased to -mabi=2."
! msgstr "Software-Gleitkomma-ABI verwenden, gleichbedeutend mit »-mabi=2«."
  
  #: config/nds32/nds32.opt:65
! #, fuzzy, no-c-format
! #| msgid "Specify use soft floating point ABI which mean alias to -mabi=2fp+."
  msgid "Specify the hard floating-point ABI, aliased to -mabi=2fp+."
! msgstr "Software-Gleitkomma-ABI verwenden, gleichbedeutend mit »-mabi=2fp+«."
  
  #: config/nds32/nds32.opt:71
  #, no-c-format
--- 583,596 ----
  msgstr "Bekannte ABIs (für Verwendung mit der Option »-mabi=«):"
  
  #: config/nds32/nds32.opt:61
! #, no-c-format
  msgid "Specify the soft floating-point ABI, aliased to -mabi=2."
! msgstr "Die Software-Gleitkomma-ABI, gleichbedeutend mit »-mabi=2«."
  
  #: config/nds32/nds32.opt:65
! #, no-c-format
  msgid "Specify the hard floating-point ABI, aliased to -mabi=2fp+."
! msgstr "Die Hardware-Gleitkomma-ABI, gleichbedeutend mit »-mabi=2fp+«."
  
  #: config/nds32/nds32.opt:71
  #, no-c-format
*************** msgid "Always align function entry, jump
*** 621,628 ****
  msgstr "Funktionseinsprung, Sprungziele und Rücksprungadressen ausrichten."
  
  #: config/nds32/nds32.opt:85
! #, fuzzy, no-c-format
! #| msgid "Align function entry to 4 byte."
  msgid "Align function entry to 4 bytes."
  msgstr "Funktionseinsprung an 4-Byte-Grenze ausrichten."
  
--- 608,614 ----
  msgstr "Funktionseinsprung, Sprungziele und Rücksprungadressen ausrichten."
  
  #: config/nds32/nds32.opt:85
! #, no-c-format
  msgid "Align function entry to 4 bytes."
  msgstr "Funktionseinsprung an 4-Byte-Grenze ausrichten."
  
*************** msgid "Known cpu types (for use with the
*** 733,740 ****
  msgstr "Bekannte CPU-Typen (für Verwendung mit der Option »-mcpu=«):"
  
  #: config/nds32/nds32.opt:361
! #, fuzzy, no-c-format
! #| msgid "Specify a fpu configuration value from 0 to 7; 0-3 is as FPU spec says, and 4-7 is corresponding to 0-3."
  msgid "Specify a FPU configuration value from 0 to 7; 0-3 is as FPU spec says, and 4-7 correspond to 0-3."
  msgstr "FPU-Konfigurationswert von 0 bis 7 angeben; 0 bis 3 sind wie in der FPU-Spezifikation beschrieben, 4 bis 7 entsprechen 0 bis 3."
  
--- 719,725 ----
  msgstr "Bekannte CPU-Typen (für Verwendung mit der Option »-mcpu=«):"
  
  #: config/nds32/nds32.opt:361
! #, no-c-format
  msgid "Specify a FPU configuration value from 0 to 7; 0-3 is as FPU spec says, and 4-7 correspond to 0-3."
  msgstr "FPU-Konfigurationswert von 0 bis 7 angeben; 0 bis 3 sind wie in der FPU-Spezifikation beschrieben, 4 bis 7 entsprechen 0 bis 3."
  
*************** msgid "Generate call insns as register i
*** 942,951 ****
  msgstr "Aufrufbefehle als indirekte Registeraufrufe erzeugen."
  
  #: config/arc/arc.opt:188
! #, fuzzy, no-c-format
! #| msgid "Do no generate BRcc instructions in arc_reorg."
  msgid "Generate BRcc instructions in arc_reorg."
! msgstr "Keine BRcc-Befehle in arc_reorg erzeugen."
  
  #: config/arc/arc.opt:192
  #, no-c-format
--- 927,935 ----
  msgstr "Aufrufbefehle als indirekte Registeraufrufe erzeugen."
  
  #: config/arc/arc.opt:188
! #, no-c-format
  msgid "Generate BRcc instructions in arc_reorg."
! msgstr "BRcc-Befehle in arc_reorg erzeugen."
  
  #: config/arc/arc.opt:192
  #, no-c-format
*************** msgid "FPX: Generate Double Precision FP
*** 983,992 ****
  msgstr "FPX: schnelle FPX-Befehle für doppelte Genauigkeit erzeugen."
  
  #: config/arc/arc.opt:229
! #, fuzzy, no-c-format
! #| msgid "Disable LR and SR instructions from using FPX extension aux registers."
  msgid "Enable LR and SR instructions to use FPX extension aux registers."
! msgstr "LR- und SR-Befehle davon abhalten, FPX-Erweiterungsregister zu verwenden."
  
  #: config/arc/arc.opt:233
  #, no-c-format
--- 967,975 ----
  msgstr "FPX: schnelle FPX-Befehle für doppelte Genauigkeit erzeugen."
  
  #: config/arc/arc.opt:229
! #, no-c-format
  msgid "Enable LR and SR instructions to use FPX extension aux registers."
! msgstr "LR- und SR-Befehle dürfen FPX-Erweiterungsregister verwenden."
  
  #: config/arc/arc.opt:233
  #, no-c-format
*************** msgid "Put uninitialized constants in RO
*** 1319,1328 ****
  msgstr "Uninitialisierte Konstanten im ROM ablegen (benötigt »-membedded-data«)."
  
  #: config/sol2.opt:32
! #, fuzzy, no-c-format
! #| msgid "Generate SH4a code."
  msgid "Generate Solaris CTF."
! msgstr "SH4a-Code erzeugen."
  
  #: config/sol2.opt:36
  #, no-c-format
--- 1302,1310 ----
  msgstr "Uninitialisierte Konstanten im ROM ablegen (benötigt »-membedded-data«)."
  
  #: config/sol2.opt:32
! #, no-c-format
  msgid "Generate Solaris CTF."
! msgstr "Solaris-CTF erzeugen."
  
  #: config/sol2.opt:36
  #, no-c-format
*************** msgstr "Maximale Anzahl der zu vergleich
*** 2723,2749 ****
  #: config/riscv/riscv.opt:287
  #, no-c-format
  msgid "Set the cost value of the rvv instruction when operate from GPR to VR."
! msgstr ""
  
  #: config/riscv/riscv.opt:291
  #, no-c-format
  msgid "Set the cost value of the rvv instruction when operate from VR to GPR ."
! msgstr ""
  
  #: config/riscv/riscv.opt:295
  #, no-c-format
  msgid "Set the cost value of the rvv instruction when operate from FPR to VR."
! msgstr ""
  
  #: config/riscv/riscv.opt:299
  #, no-c-format
  msgid "Set the cost value of the rvv instruction when operate from VR to FPR."
! msgstr ""
  
  #: config/riscv/riscv.opt:303
  #, no-c-format
  msgid "Set the only autovec mode to try."
! msgstr ""
  
  #: config/riscv/riscv.opt:307
  #, no-c-format
--- 2705,2731 ----
  #: config/riscv/riscv.opt:287
  #, no-c-format
  msgid "Set the cost value of the rvv instruction when operate from GPR to VR."
! msgstr "Den Kostenwert des rvv-Befehls festlegen, bei Operationen von Allzweckregistern zu VR."
  
  #: config/riscv/riscv.opt:291
  #, no-c-format
  msgid "Set the cost value of the rvv instruction when operate from VR to GPR ."
! msgstr "Den Kostenwert des rvv-Befehls festlegen, bei Operationen von VR zu Allzweckregistern."
  
  #: config/riscv/riscv.opt:295
  #, no-c-format
  msgid "Set the cost value of the rvv instruction when operate from FPR to VR."
! msgstr "Den Kostenwert des rvv-Befehls festlegen, bei Operationen von Gleitkommaregistern zu VR."
  
  #: config/riscv/riscv.opt:299
  #, no-c-format
  msgid "Set the cost value of the rvv instruction when operate from VR to FPR."
! msgstr "Den Kostenwert des rvv-Befehls festlegen, bei Operationen von VR zu Gleitkommaregistern."
  
  #: config/riscv/riscv.opt:303
  #, no-c-format
  msgid "Set the only autovec mode to try."
! msgstr "Den einzigen autovec-Modus festlegen, der probiert wird."
  
  #: config/riscv/riscv.opt:307
  #, no-c-format
*************** msgstr "-param=riscv-two-source-permutes
*** 2773,2779 ****
  #: config/riscv/riscv.opt:357 config/aarch64/aarch64.opt:315
  #, no-c-format
  msgid "Override the scalar cost model such that vectorization is always profitable."
! msgstr ""
  
  #: config/riscv/riscv.opt:361 config/i386/i386.opt:489
  #, no-c-format
--- 2755,2761 ----
  #: config/riscv/riscv.opt:357 config/aarch64/aarch64.opt:315
  #, no-c-format
  msgid "Override the scalar cost model such that vectorization is always profitable."
! msgstr "Das Skalar-Kostenmodell so überschreiben, dass die Vektorisierung immer rentabel ist."
  
  #: config/riscv/riscv.opt:361 config/i386/i386.opt:489
  #, no-c-format
*************** msgid "Specify stringop expansion strate
*** 2786,2807 ****
  msgstr "Expansionsstrategie für stringop angeben."
  
  #: config/riscv/riscv.opt:381
! #, fuzzy, no-c-format
! #| msgid "Constant memcpy size in bytes above which to start using MOPS sequence."
  msgid "Constant memcpy size in bytes above which to start using libcalls over inlining."
! msgstr "Konstante memcpy-Größe in Bytes, ab der die MOPS-Sequenz verwendet werden soll."
  
  #: config/riscv/riscv.opt:385
! #, fuzzy, no-c-format
! #| msgid "Constant memmove size in bytes above which to start using MOPS sequence."
  msgid "Constant memmove size in bytes above which to start using libcalls over inlining."
! msgstr "Konstante memmove-Größe in Bytes, ab der die MOPS-Sequenz verwendet werden soll."
  
  #: config/riscv/riscv.opt:389
! #, fuzzy, no-c-format
! #| msgid "Constant memmove size in bytes above which to start using MOPS sequence."
  msgid "Constant memset size in bytes above which to start using libcalls over inlining."
! msgstr "Konstante memmove-Größe in Bytes, ab der die MOPS-Sequenz verwendet werden soll."
  
  #: config/riscv/riscv.opt:393
  #, no-c-format
--- 2768,2786 ----
  msgstr "Expansionsstrategie für stringop angeben."
  
  #: config/riscv/riscv.opt:381
! #, no-c-format
  msgid "Constant memcpy size in bytes above which to start using libcalls over inlining."
! msgstr "Konstante memcpy-Größe in Bytes, ab der ein Bibliotheksaufruf statt Inline-Code verwendet wird."
  
  #: config/riscv/riscv.opt:385
! #, no-c-format
  msgid "Constant memmove size in bytes above which to start using libcalls over inlining."
! msgstr "Konstante memmove-Größe in Bytes, ab der ein Bibliotheksaufruf statt Inline-Code verwendet wird."
  
  #: config/riscv/riscv.opt:389
! #, no-c-format
  msgid "Constant memset size in bytes above which to start using libcalls over inlining."
! msgstr "Konstante memset-Größe in Bytes, ab der ein Bibliotheksaufruf statt Inline-Code verwendet wird."
  
  #: config/riscv/riscv.opt:393
  #, no-c-format
*************** msgid "Align code and data to 32 bits."
*** 3440,3449 ****
  msgstr "Code und Daten auf 32 Bit ausrichten."
  
  #: config/cris/cris.opt:122 config/cris/cris.opt:127
! #, fuzzy, no-c-format
! #| msgid "Align code and data to 32 bits."
  msgid "Align code and data to 16 bits."
! msgstr "Code und Daten auf 32 Bit ausrichten."
  
  #: config/cris/cris.opt:132 config/cris/cris.opt:137
  #, no-c-format
--- 3419,3427 ----
  msgstr "Code und Daten auf 32 Bit ausrichten."
  
  #: config/cris/cris.opt:122 config/cris/cris.opt:127
! #, no-c-format
  msgid "Align code and data to 16 bits."
! msgstr "Code und Daten auf 16 Bit ausrichten."
  
  #: config/cris/cris.opt:132 config/cris/cris.opt:137
  #, no-c-format
*************** msgid "Generate vzeroupper instruction b
*** 4391,4400 ****
  msgstr "»vzeroupper«-Befehl erzeugen, bevor der Ablauf die Funktion verlässt."
  
  #: config/i386/i386.opt:610
! #, fuzzy, no-c-format
! #| msgid "Disable Scalar to Vector optimization pass transforming 64-bit integer computations into a vector ones."
  msgid "Enable Scalar to Vector optimization pass transforming 64-bit integer computations into vector ones."
! msgstr "Durchlauf für Skalar-nach-Vektor-Optimierung ausschalten, der 64-Bit-Ganzzahlberechnungen in Vektorberechnungen umwandelt."
  
  #: config/i386/i386.opt:615
  #, no-c-format
--- 4369,4377 ----
  msgstr "»vzeroupper«-Befehl erzeugen, bevor der Ablauf die Funktion verlässt."
  
  #: config/i386/i386.opt:610
! #, no-c-format
  msgid "Enable Scalar to Vector optimization pass transforming 64-bit integer computations into vector ones."
! msgstr "Optimierungs-Durchlauf für Skalar-nach-Vektor einschalten, der 64-Bit-Ganzzahlberechnungen in Vektorberechnungen umwandelt."
  
  #: config/i386/i386.opt:615
  #, no-c-format
*************** msgid "Support MMX, SSE, SSE2, SSE3, SSS
*** 4517,4556 ****
  msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 und AVX512F unterstützen."
  
  #: config/i386/i386.opt:737
! #, fuzzy, 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."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512CD built-in functions and code generation."
  msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512CD unterstützen."
  
  #: config/i386/i386.opt:741
! #, fuzzy, 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."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512DQ built-in functions and code generation."
  msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512DQ unterstützen."
  
  #: config/i386/i386.opt:745
! #, fuzzy, 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."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512BW built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512BF16 unterstützen."
  
  #: config/i386/i386.opt:749
! #, fuzzy, 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."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VL built-in functions and code generation."
  msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512VL unterstützen."
  
  #: config/i386/i386.opt:753
! #, fuzzy, 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."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512IFMA built-in functions and code generation."
  msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512IFMA unterstützen."
  
  #: config/i386/i386.opt:757
! #, fuzzy, 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."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VBMI built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512VBMI2 unterstützen."
  
  #: config/i386/i386.opt:761
  #, no-c-format
--- 4494,4527 ----
  msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 und AVX512F unterstützen."
  
  #: config/i386/i386.opt:737
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512CD built-in functions and code generation."
  msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512CD unterstützen."
  
  #: config/i386/i386.opt:741
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512DQ built-in functions and code generation."
  msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512DQ unterstützen."
  
  #: config/i386/i386.opt:745
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512BW built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512BW unterstützen."
  
  #: config/i386/i386.opt:749
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VL built-in functions and code generation."
  msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512VL unterstützen."
  
  #: config/i386/i386.opt:753
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512IFMA built-in functions and code generation."
  msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512IFMA unterstützen."
  
  #: config/i386/i386.opt:757
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VBMI built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F und AVX512VBMI unterstützen."
  
  #: config/i386/i386.opt:761
  #, no-c-format
*************** msgstr "Begrenzen, wie weit der Autovekt
*** 5097,5103 ****
  #: config/i386/i386.opt:1262
  #, no-c-format
  msgid "Whether x86 vectorizer cost modeling compares costs of different vector sizes."
! msgstr ""
  
  #: config/i386/i386.opt:1266
  #, no-c-format
--- 5068,5074 ----
  #: config/i386/i386.opt:1262
  #, no-c-format
  msgid "Whether x86 vectorizer cost modeling compares costs of different vector sizes."
! msgstr "Ob die Kostenmodellierung des x86-Vektorisierers die Kosten verschiedener Vektorgrößen vergleicht."
  
  #: config/i386/i386.opt:1266
  #, no-c-format
*************** msgid "Support USER_MSR built-in functio
*** 5155,5176 ****
  msgstr "Eingebaute USER_MSR-Funktionen und Codeerzeugung unterstützen."
  
  #: config/i386/i386.opt:1360
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX10.1-256 built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX10.1 built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 und AVX10.1-256 unterstützen."
  
  #: config/i386/i386.opt:1365
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512 and AVX10.2 built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1 and AVX10.2 built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512 und AVX10.2 unterstützen."
  
  #: config/i386/i386.opt:1370
! #, fuzzy, no-c-format
! #| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512, AVX10.2 and AMX-AVX512 built-in functions and code generation."
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1, AVX10.2 and AMX-AVX512 built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1-512, AVX10.2 und AMX-AVX512 unterstützen."
  
  #: config/i386/i386.opt:1375
  #, no-c-format
--- 5126,5144 ----
  msgstr "Eingebaute USER_MSR-Funktionen und Codeerzeugung unterstützen."
  
  #: config/i386/i386.opt:1360
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX10.1 built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 und AVX10.1 unterstützen."
  
  #: config/i386/i386.opt:1365
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1 and AVX10.2 built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1 und AVX10.2 unterstützen."
  
  #: config/i386/i386.opt:1370
! #, no-c-format
  msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1, AVX10.2 and AMX-AVX512 built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX10.1, AVX10.2 und AMX-AVX512 unterstützen."
  
  #: config/i386/i386.opt:1375
  #, no-c-format
*************** msgid "Support AMX-MOVRS built-in functi
*** 5193,5202 ****
  msgstr "Eingebaute Funktionen und Codeerzeugung für AMX-MOVRS unterstützen."
  
  #: config/i386/i386.opt:1391
! #, fuzzy, no-c-format
! #| msgid "Support AVX512VNNI built-in functions and code generation."
  msgid "Support AVX512BMM built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für AVX512VNNI unterstützen."
  
  #: config/i386/mingw-w64.opt:23
  #, no-c-format
--- 5161,5169 ----
  msgstr "Eingebaute Funktionen und Codeerzeugung für AMX-MOVRS unterstützen."
  
  #: config/i386/i386.opt:1391
! #, no-c-format
  msgid "Support AVX512BMM built-in functions and code generation."
! msgstr "Eingebaute Funktionen und Codeerzeugung für AVX512BMM unterstützen."
  
  #: config/i386/mingw-w64.opt:23
  #, no-c-format
*************** msgid "Generate APCS conformant stack fr
*** 5244,5258 ****
  msgstr "APCS-konforme Stapelrahmen erzeugen."
  
  #: config/arm/arm.opt:76
! #, fuzzy, no-c-format
! #| msgid "Generate re-entrant, PIC code."
  msgid "Unimplemented option to generate re-entrant, PIC code."
! msgstr "Wiedereinsprungsfähigen PIC-Code erzeugen."
  
  #: config/arm/arm.opt:80
  #, no-c-format
  msgid "Unimplemented option to generate stack checking code on function entry."
! msgstr ""
  
  #: config/arm/arm.opt:99
  #, no-c-format
--- 5211,5224 ----
  msgstr "APCS-konforme Stapelrahmen erzeugen."
  
  #: config/arm/arm.opt:76
! #, no-c-format
  msgid "Unimplemented option to generate re-entrant, PIC code."
! msgstr "Nicht implementierte Option zum Generieren von reentrantem PIC-Code."
  
  #: config/arm/arm.opt:80
  #, no-c-format
  msgid "Unimplemented option to generate stack checking code on function entry."
! msgstr "Nicht implementierte Option zum Generieren von Stack-Prüfcode beim Funktionseintritt."
  
  #: config/arm/arm.opt:99
  #, no-c-format
*************** msgid "Allow (or do not allow) gcc to us
*** 5535,5550 ****
  msgstr "GCC erlauben (oder verbieten), LOOP-Befehle zu verwenden."
  
  #: config/pru/pru.opt:44
! #, fuzzy, no-c-format
! #| msgid "Allow (or do not allow) gcc to use the LOOP instruction."
  msgid "Allow (or do not allow) gcc to use the PRU multiplier unit."
! msgstr "GCC erlauben (oder verbieten), LOOP-Befehle zu verwenden."
  
  #: config/pru/pru.opt:48
! #, fuzzy, no-c-format
! #| msgid "Allow (or do not allow) gcc to use the LOOP instruction."
  msgid "Allow (or do not allow) gcc to use the FILL and ZERO instructions."
! msgstr "GCC erlauben (oder verbieten), LOOP-Befehle zu verwenden."
  
  #: config/pru/pru.opt:52
  #, no-c-format
--- 5501,5514 ----
  msgstr "GCC erlauben (oder verbieten), LOOP-Befehle zu verwenden."
  
  #: config/pru/pru.opt:44
! #, no-c-format
  msgid "Allow (or do not allow) gcc to use the PRU multiplier unit."
! msgstr "GCC erlauben (oder verbieten), die PRU-Multipliziereinheit zu verwenden."
  
  #: config/pru/pru.opt:48
! #, no-c-format
  msgid "Allow (or do not allow) gcc to use the FILL and ZERO instructions."
! msgstr "GCC erlauben (oder verbieten), die FILL- und ZERO-Befehle zu verwenden."
  
  #: config/pru/pru.opt:52
  #, no-c-format
*************** msgstr "Hardware-Gleitkomma-Wurzel-Befeh
*** 5634,5655 ****
  #: config/microblaze/microblaze.opt:112
  #, no-c-format
  msgid "Build application as normal executable."
! msgstr ""
  
  #: config/microblaze/microblaze.opt:116
  #, no-c-format
  msgid "Build application for use with xmdstub debug agent."
! msgstr ""
  
  #: config/microblaze/microblaze.opt:120
  #, no-c-format
  msgid "Build application to be loaded using a bootloader."
! msgstr ""
  
  #: config/microblaze/microblaze.opt:124
  #, no-c-format
  msgid "Build application without any of the MicroBlaze vectors."
! msgstr ""
  
  #: config/microblaze/microblaze.opt:128
  #, no-c-format
--- 5598,5619 ----
  #: config/microblaze/microblaze.opt:112
  #, no-c-format
  msgid "Build application as normal executable."
! msgstr "Anwendung als normale ausführbare Datei erstellen."
  
  #: config/microblaze/microblaze.opt:116
  #, no-c-format
  msgid "Build application for use with xmdstub debug agent."
! msgstr "Anwendung zur Verwendung mit dem xmdstub-Debug-Agenten erstellen."
  
  #: config/microblaze/microblaze.opt:120
  #, no-c-format
  msgid "Build application to be loaded using a bootloader."
! msgstr "Anwendung erstellen, die mittels eines Bootloaders geladen wird."
  
  #: config/microblaze/microblaze.opt:124
  #, no-c-format
  msgid "Build application without any of the MicroBlaze vectors."
! msgstr "Anwendung ohne die MicroBlaze-Vektoren erstellen."
  
  #: config/microblaze/microblaze.opt:128
  #, no-c-format
*************** msgstr "Codemodell-Optionsnamen für »-
*** 5744,5750 ****
  #: config/aarch64/aarch64.opt:87
  #, no-c-format
  msgid "Generates an error message if an attempt is made to access a system register which is not available on the target architecture."
! msgstr ""
  
  #: config/aarch64/aarch64.opt:100
  #, no-c-format
--- 5708,5714 ----
  #: config/aarch64/aarch64.opt:87
  #, no-c-format
  msgid "Generates an error message if an attempt is made to access a system register which is not available on the target architecture."
! msgstr "Eine Fehlermeldung erzeugen, wenn versucht wird, auf ein Systemregister zuzugreifen, das auf der Zielarchitektur nicht verfügbar ist."
  
  #: config/aarch64/aarch64.opt:100
  #, no-c-format
*************** msgstr "Code erzeugen, der zum angegeben
*** 5799,5810 ****
  #: config/aarch64/aarch64.opt:198
  #, no-c-format
  msgid "-fdump-tuning-model=<filename> Dump current tuning model to a JSON file."
! msgstr ""
  
  #: config/aarch64/aarch64.opt:202
  #, no-c-format
  msgid "-muser-provided-CPU=<json-tuning-file> User specific CPU tunings."
! msgstr ""
  
  #: config/aarch64/aarch64.opt:206
  #, no-c-format
--- 5763,5774 ----
  #: config/aarch64/aarch64.opt:198
  #, no-c-format
  msgid "-fdump-tuning-model=<filename> Dump current tuning model to a JSON file."
! msgstr "-fdump-tuning-model=<Dateiname> Aktuelles Tuning-Modell in eine JSON-Datei ausgeben."
  
  #: config/aarch64/aarch64.opt:202
  #, no-c-format
  msgid "-muser-provided-CPU=<json-tuning-file> User specific CPU tunings."
! msgstr "-muser-provided-CPU=<JSON-Tuning-Datei> Benutzerspezifische CPU-Feineinstellungen."
  
  #: config/aarch64/aarch64.opt:206
  #, no-c-format
*************** msgid "-msve-vector-bits=<number>\tSet t
*** 5862,5871 ****
  msgstr "-msve-vector-bits=<Anzahl>\tAnzahl der Bits in einem SVE-Vektorregister festlegen."
  
  #: config/aarch64/aarch64.opt:308
! #, fuzzy, no-c-format
! #| msgid "--param=aarch64-autovec-preference=[default|asimd-only|sve-only|prefer-asimd|prefer-sve] Force an ISA selection strategy for auto-vectorization."
  msgid "-mautovec-preference=[default|asimd-only|sve-only|prefer-asimd|prefer-sve] Force an ISA selection strategy for auto-vectorization.  For best performance it is highly recommended to use -mcpu or -mtune instead.  This parameter should only be used for code exploration."
! msgstr "--param=aarch64-autovec-preference=[default|asimd-only|sve-only|prefer-asimd|prefer-sve]\tEine ISA-Auswahlstrategie für die Auto-Vektorisierung erzwingen."
  
  #: config/aarch64/aarch64.opt:319
  #, no-c-format
--- 5826,5834 ----
  msgstr "-msve-vector-bits=<Anzahl>\tAnzahl der Bits in einem SVE-Vektorregister festlegen."
  
  #: config/aarch64/aarch64.opt:308
! #, no-c-format
  msgid "-mautovec-preference=[default|asimd-only|sve-only|prefer-asimd|prefer-sve] Force an ISA selection strategy for auto-vectorization.  For best performance it is highly recommended to use -mcpu or -mtune instead.  This parameter should only be used for code exploration."
! msgstr "-mautovec-preference=[default|asimd-only|sve-only|prefer-asimd|prefer-sve] Eine ISA-Auswahlstrategie für die automatische Vektorisierung erzwingen. Für optimale Leistung wird dringend empfohlen, stattdessen »-mcpu« oder »-mtune« zu verwenden. Dieser Parameter sollte nur zur Code-Erkundung verwendet werden."
  
  #: config/aarch64/aarch64.opt:319
  #, no-c-format
*************** msgstr "Die Anzahl der Newton-Iteratione
*** 5920,5926 ****
  #: config/aarch64/aarch64.opt:383
  #, no-c-format
  msgid "An old alias for -mautovec-preference.  If both -mautovec-preference and --param=aarch64-autovec-preference are passed, the --param value will be used."
! msgstr ""
  
  #: config/aarch64/aarch64.opt:409
  #, no-c-format
--- 5883,5889 ----
  #: config/aarch64/aarch64.opt:383
  #, no-c-format
  msgid "An old alias for -mautovec-preference.  If both -mautovec-preference and --param=aarch64-autovec-preference are passed, the --param value will be used."
! msgstr "Ein alter Alias für »-mautovec-preference«. Wenn sowohl »-mautovec-preference« als auch »--param=aarch64-autovec-preference« übergeben werden, wird der Wert von »--param« verwendet."
  
  #: config/aarch64/aarch64.opt:409
  #, no-c-format
*************** msgstr "Parameter, mit dem gesteuert wir
*** 5960,5972 ****
  #: config/aarch64/aarch64.opt:461
  #, no-c-format
  msgid "Param to control the treshold in number of granules beyond which an explicit loop for tagging a memory block is emitted."
! msgstr ""
  
  #: config/aarch64/aarch64.opt:466
! #, fuzzy, no-c-format
! #| msgid "This option is deprecated and has no effect."
  msgid "This option is deprecated."
! msgstr "Dieser Schalter ist veraltet und hat keine Auswirkung."
  
  #: config/vms/vms.opt:27
  #, no-c-format
--- 5923,5934 ----
  #: config/aarch64/aarch64.opt:461
  #, no-c-format
  msgid "Param to control the treshold in number of granules beyond which an explicit loop for tagging a memory block is emitted."
! msgstr "Schwellenwert für die Anzahl der Granula, ab dem eine explizite Schleife zum Markieren eines Speicherblocks ausgegeben wird."
  
  #: config/aarch64/aarch64.opt:466
! #, no-c-format
  msgid "This option is deprecated."
! msgstr "Dieser Schalter ist veraltet."
  
  #: config/vms/vms.opt:27
  #, no-c-format
*************** msgid "Do not use the callt instruction
*** 6119,6138 ****
  msgstr "Den callt-Befehl nicht verwenden (Standard)."
  
  #: config/v850/v850.opt:45
! #, fuzzy, no-c-format
! #| msgid "Reuse r30 on a per function basis."
  msgid "Reuse r30 on a per-function basis."
! msgstr "r30 auf Funktionsbasis wiederverwenden."
  
  #: config/v850/v850.opt:49
! #, fuzzy, no-c-format
! #| msgid "Alias for -mcpu=g10."
  msgid "Alias for -mrh850-abi."
! msgstr "Alias für »-mcpu=g10«."
  
  #: config/v850/v850.opt:53
! #, fuzzy, no-c-format
! #| msgid "Prohibit PC relative function calls."
  msgid "Prohibit PC-relative function calls."
  msgstr "PC-relative Funktionsaufrufe verbieten."
  
--- 6081,6097 ----
  msgstr "Den callt-Befehl nicht verwenden (Standard)."
  
  #: config/v850/v850.opt:45
! #, no-c-format
  msgid "Reuse r30 on a per-function basis."
! msgstr "Das Register r30 auf Funktionsbasis wiederverwenden."
  
  #: config/v850/v850.opt:49
! #, no-c-format
  msgid "Alias for -mrh850-abi."
! msgstr "Alias für »-mrh850-abi«."
  
  #: config/v850/v850.opt:53
! #, no-c-format
  msgid "Prohibit PC-relative function calls."
  msgstr "PC-relative Funktionsaufrufe verbieten."
  
*************** msgid "Use 32-bit offsets in jump tables
*** 6402,6409 ****
  msgstr "In Sprungtabellen 32-Bit-Offsets statt 16-Bit-Offsets verwenden."
  
  #: config/m68k/m68k.opt:151
! #, fuzzy, no-c-format
! #| msgid "Usa LRA for reload instead of the old reload framework.  This option is experimental, and it may be removed in future versions of the compiler."
  msgid "Use LRA for reload instead of the old reload framework.  This option is experimental, and it may be removed in future versions of the compiler."
  msgstr "Verwendung von LRA zum erneuten Laden anstelle des alten Neuladen-Frameworks. Diese Option ist experimentell und kann in zukünftigen Versionen des Compilers entfernt werden."
  
--- 6361,6367 ----
  msgstr "In Sprungtabellen 32-Bit-Offsets statt 16-Bit-Offsets verwenden."
  
  #: config/m68k/m68k.opt:151
! #, no-c-format
  msgid "Use LRA for reload instead of the old reload framework.  This option is experimental, and it may be removed in future versions of the compiler."
  msgstr "Verwendung von LRA zum erneuten Laden anstelle des alten Neuladen-Frameworks. Diese Option ist experimentell und kann in zukünftigen Versionen des Compilers entfernt werden."
  
*************** msgstr "-mmax-inline-memcpy-size=SIZE\tD
*** 6635,6641 ****
  #: config/loongarch/loongarch.opt:242
  #, no-c-format
  msgid "-mbreak-code=CODE\tUse 'break CODE' for traps supposed to be unrecoverable, or an 'amswap.w' instruction leading to INE if CODE is out of range."
! msgstr ""
  
  #: config/loongarch/loongarch.opt:246 config/mips/mips.opt:150
  #, no-c-format
--- 6593,6599 ----
  #: config/loongarch/loongarch.opt:242
  #, no-c-format
  msgid "-mbreak-code=CODE\tUse 'break CODE' for traps supposed to be unrecoverable, or an 'amswap.w' instruction leading to INE if CODE is out of range."
! msgstr "-mbreak-code=CODE\tDen Befehl »break CODE« für Traps verwenden, die als nicht behebbar gelten, oder eine »amswap.w«-Anweisung, die zu INE führt, wenn CODE außerhalb des Bereichs liegt."
  
  #: config/loongarch/loongarch.opt:246 config/mips/mips.opt:150
  #, no-c-format
*************** msgid "Support amcas[_db].{b/h/w/d} inst
*** 6698,6707 ****
  msgstr "Die Befehle amcas[_db].{b/h/w/d} unterstützen."
  
  #: config/loongarch/loongarch.opt:367
! #, fuzzy, no-c-format
! #| msgid "Support CLWB instruction."
  msgid "Support sc.q instruction."
! msgstr "CLWB-Befehl unterstützen."
  
  #: config/loongarch/loongarch.opt:371
  #, no-c-format
--- 6656,6664 ----
  msgstr "Die Befehle amcas[_db].{b/h/w/d} unterstützen."
  
  #: config/loongarch/loongarch.opt:367
! #, no-c-format
  msgid "Support sc.q instruction."
! msgstr "Den sc.q-Befehl unterstützen."
  
  #: config/loongarch/loongarch.opt:371
  #, no-c-format
*************** msgid "Split unaligned 8 byte vector mov
*** 6794,6803 ****
  msgstr "Nicht ausgerichtete 8-Byte-Vektor-Bewegungen vor Nach-Bewegungs-Adresserzeugung aufteilen."
  
  #: config/epiphany/epiphany.opt:137
! #, fuzzy, no-c-format
! #| msgid "Use the floating point unit for integer add/subtract."
  msgid "Use the floating-point unit for integer add/subtract."
! msgstr "Gleitkommaeinheit für Ganzzahladdition und -subtraktion verwenden."
  
  #: config/epiphany/epiphany.opt:141
  #, no-c-format
--- 6751,6759 ----
  msgstr "Nicht ausgerichtete 8-Byte-Vektor-Bewegungen vor Nach-Bewegungs-Adresserzeugung aufteilen."
  
  #: config/epiphany/epiphany.opt:137
! #, no-c-format
  msgid "Use the floating-point unit for integer add/subtract."
! msgstr "Gleitkommaeinheit für Addition und Subtraktion von Ganzzahlen verwenden."
  
  #: config/epiphany/epiphany.opt:141
  #, no-c-format
*************** msgid "(Obsolete) This is the default."
*** 7070,7085 ****
  msgstr "(Obsolet) Dies ist der Vorgabewert."
  
  #: config/darwin.opt:268
! #, fuzzy, no-c-format
! #| msgid "Equivalent to -fcf-protection=full."
  msgid "Equivalent to -xobjective-c."
! msgstr "Äquivalent zu »-fcf-protection=full«."
  
  #: config/darwin.opt:272
! #, fuzzy, no-c-format
! #| msgid "Equivalent to -fcf-protection=full."
  msgid "Equivalent to -xobjective-c++."
! msgstr "Äquivalent zu »-fcf-protection=full«."
  
  #: config/darwin.opt:282
  #, no-c-format
--- 7026,7039 ----
  msgstr "(Obsolet) Dies ist der Vorgabewert."
  
  #: config/darwin.opt:268
! #, no-c-format
  msgid "Equivalent to -xobjective-c."
! msgstr "Äquivalent zu »-xobjective-c«."
  
  #: config/darwin.opt:272
! #, no-c-format
  msgid "Equivalent to -xobjective-c++."
! msgstr "Äquivalent zu »-xobjective-c++«."
  
  #: config/darwin.opt:282
  #, no-c-format
*************** msgstr "Code für Rahmenkopf optimieren.
*** 7699,7705 ****
  #: config/mips/mips.opt:478
  #, no-c-format
  msgid "Change the behaviour to grow the frame downwards."
! msgstr ""
  
  #: config/mips/mips.opt:485
  #, no-c-format
--- 7653,7659 ----
  #: config/mips/mips.opt:478
  #, no-c-format
  msgid "Change the behaviour to grow the frame downwards."
! msgstr "Das Verhalten so ändern, dass der Rahmen nach unten wächst."
  
  #: config/mips/mips.opt:485
  #, no-c-format
*************** msgstr "Die Option »-mstack-guard« aus
*** 7854,7860 ****
  #: config/s390/s390.opt:215
  #, no-c-format
  msgid "Generate section __stack_protector_loc containing pointers to all instructions which load the address of the global guard."
! msgstr ""
  
  #: config/s390/s390.opt:219
  #, no-c-format
--- 7808,7814 ----
  #: config/s390/s390.opt:215
  #, no-c-format
  msgid "Generate section __stack_protector_loc containing pointers to all instructions which load the address of the global guard."
! msgstr "Den Abschnitt __stack_protector_loc erzeugen, der Zeiger auf alle Befehle enthält, die die Adresse des globalen Schutzes laden."
  
  #: config/s390/s390.opt:219
  #, no-c-format
*************** msgid "When -mhard-float is selected, en
*** 8072,8081 ****
  msgstr "Wenn »-mhard-float« ausgewählt ist, werden ungeordnete Fließkomma-Vergleichs- und Set-Flag-Befehle (lf.sfun*) erzeugt. Standardmäßig werden Funktionen von libgcc verwendet, um ungeordnete Fließkomma-Vergleichs- und Flag-Operationen durchzuführen."
  
  #: config/or1k/or1k.opt:71
! #, fuzzy, no-c-format
! #| msgid "Specify the code model used for accessing memory addresses.  Specifying large enables generating binaries with large global offset tables.  By default the value is small."
  msgid "Specify the code model used for accessing memory addresses.  Specifying large enables generating binaries with large global offset tables and calling functions anywhere in an executable.  By default the value is small."
! msgstr "Das Codemodell für den Zugriff auf Speicheradressen angeben. Die Angabe von »large« ermöglicht die Erzeugung von Binärdateien mit großen globalen Offset-Tabellen. Der Vorgabewert ist »small«."
  
  #: config/or1k/or1k.opt:77
  #, no-c-format
--- 8026,8034 ----
  msgstr "Wenn »-mhard-float« ausgewählt ist, werden ungeordnete Fließkomma-Vergleichs- und Set-Flag-Befehle (lf.sfun*) erzeugt. Standardmäßig werden Funktionen von libgcc verwendet, um ungeordnete Fließkomma-Vergleichs- und Flag-Operationen durchzuführen."
  
  #: config/or1k/or1k.opt:71
! #, no-c-format
  msgid "Specify the code model used for accessing memory addresses.  Specifying large enables generating binaries with large global offset tables and calling functions anywhere in an executable.  By default the value is small."
! msgstr "Das Codemodell für den Zugriff auf Speicheradressen festlegen. Die Angabe von »large« ermöglicht die Erzeugung von Binärdateien mit großen globalen Offset-Tabellen, sowie das Aufrufen von Funktionen von beliebigen Adressen aus. Der Vorgabewert ist »small«."
  
  #: config/or1k/or1k.opt:77
  #, no-c-format
*************** msgid "Known code model types (for use w
*** 8083,8119 ****
  msgstr "Bekannte Codemodelle (für Verwendung mit der Option »-mcmodel=«):"
  
  #: config/or1k/or1k.opt:87
! #, fuzzy, no-c-format
! #| msgid "Enable generation of conditional move (l.cmov) instructions.  By default the equivalent will be generated using set and branch."
  msgid "Enable generation of conditional move (l.cmov) instructions.  By default the equivalents are generated using set and branch."
! msgstr "Befehle für bedingte Zuweisungen (l.cmov) erlauben. Standardverhalten ist, stattdessen äquivalente set- und branch-Befehle zu verwenden."
  
  #: config/or1k/or1k.opt:92
  #, no-c-format
  msgid "Enable generation of rotate right (l.ror) instructions.  By default functions from libgcc are used to perform rotate right operations."
! msgstr "Befehle für Rechtsdrehung (l.ror) erzeugen. Standardmäßig werden Funktionen aus der libgcc verwendet, um Rechtsdrehungen mit Direktoperand durchzuführen."
  
  #: config/or1k/or1k.opt:97
  #, no-c-format
  msgid "Enable generation of rotate right with immediate (l.rori) instructions.  By default functions from libgcc are used to perform rotate right with immediate operations."
! msgstr "Befehle für Rechtsdrehung mit Direktoperand (l.rori) erzeugen. Standardmäßig werden Funktionen aus der libgcc verwendet, um diese Befehle durchzuführen."
  
  #: config/or1k/or1k.opt:103
  #, no-c-format
  msgid "Enable generation of sign extension (l.ext*) instructions.  By default memory loads are used to perform sign extension."
! msgstr "Befehle für Vorzeichenerweiterung (l.ext*) erlauben. Standardverhalten ist, die Vorzeichenerweiterung mittels Ladebefehlen durchzuführen."
  
  #: config/or1k/or1k.opt:108
! #, fuzzy, no-c-format
! #| msgid "Enable generation of compare and set flag with immediate (l.sf*i) instructions. By default extra instructions will be generated to store the immediate to a register first."
  msgid "Enable generation of compare and set flag with immediate (l.sf*i) instructions. By default extra instructions are generated to store the immediate to a register first."
! msgstr "Befehle für Vergleiche mit Setzen der Flags (l.sf*i) erlauben. Standardverhalten ist, stattdessen zusätzliche Befehle zu verwenden, die den Direktwert in ein Register zwischenspeichern."
  
  #: config/or1k/or1k.opt:114
! #, fuzzy, no-c-format
! #| msgid "Enable generation of shift with immediate (l.srai, l.srli, l.slli) instructions. By default extra instructions will be generated to store the immediate to a register first."
  msgid "Enable generation of shift with immediate (l.srai, l.srli, l.slli) instructions. By default extra instructions are generated to store the immediate to a register first."
! msgstr "Befehle für Bitverschiebung mit Direktwert (l.srai, l.srli, l.slli) erlauben. Standardverhalten ist, stattdessen zusätzliche Befehle zu verwenden, die den Direktwert in ein Register zwischenspeichern."
  
  #: config/or1k/elf.opt:28
  #, no-c-format
--- 8036,8069 ----
  msgstr "Bekannte Codemodelle (für Verwendung mit der Option »-mcmodel=«):"
  
  #: config/or1k/or1k.opt:87
! #, no-c-format
  msgid "Enable generation of conditional move (l.cmov) instructions.  By default the equivalents are generated using set and branch."
! msgstr "Generieren von Befehlen für bedingte Zuweisungen (l.cmov) erlauben. Standardverhalten ist, stattdessen äquivalente set- und branch-Befehle zu verwenden."
  
  #: config/or1k/or1k.opt:92
  #, no-c-format
  msgid "Enable generation of rotate right (l.ror) instructions.  By default functions from libgcc are used to perform rotate right operations."
! msgstr "Generieren von Befehlen für Rechtsdrehung (l.ror) erlauben. Standardmäßig werden Funktionen aus der libgcc verwendet, um Rechtsdrehungen mit Direktoperand durchzuführen."
  
  #: config/or1k/or1k.opt:97
  #, no-c-format
  msgid "Enable generation of rotate right with immediate (l.rori) instructions.  By default functions from libgcc are used to perform rotate right with immediate operations."
! msgstr "Generieren von Befehlen für Rechtsdrehung mit Direktoperand (l.rori) erzeugen. Standardmäßig werden Funktionen aus der libgcc verwendet, um diese Befehle durchzuführen."
  
  #: config/or1k/or1k.opt:103
  #, no-c-format
  msgid "Enable generation of sign extension (l.ext*) instructions.  By default memory loads are used to perform sign extension."
! msgstr "Generieren von Befehlen für Vorzeichenerweiterung (l.ext*) erlauben. Standardverhalten ist, die Vorzeichenerweiterung mittels Ladebefehlen durchzuführen."
  
  #: config/or1k/or1k.opt:108
! #, no-c-format
  msgid "Enable generation of compare and set flag with immediate (l.sf*i) instructions. By default extra instructions are generated to store the immediate to a register first."
! msgstr "Generieren von Vergleichen-und-Setzen-Befehlen mit Direktwert (l.sf*i) erlauben. Standardverhalten ist, stattdessen zusätzliche Befehle zu verwenden, die den Direktwert in ein Register zwischenspeichern."
  
  #: config/or1k/or1k.opt:114
! #, no-c-format
  msgid "Enable generation of shift with immediate (l.srai, l.srli, l.slli) instructions. By default extra instructions are generated to store the immediate to a register first."
! msgstr "Generieren von Befehlen für Bitverschiebung mit Direktwert (l.srai, l.srli, l.slli) erlauben. Standardverhalten ist, stattdessen zusätzliche Befehle zu verwenden, die den Direktwert in ein Register zwischenspeichern."
  
  #: config/or1k/elf.opt:28
  #, no-c-format
*************** msgid "Always use JSR, never BSR, for ca
*** 8751,9152 ****
  msgstr "Immer JSR für Aufrufe verwenden, niemals BSR."
  
  #: m2/lang.opt:35
! #, fuzzy, no-c-format
! #| msgid "turns on case statement label compile time checking when using an expression of an enum type."
  msgid "Case statement label compile time checking when using an expression of an enum type."
! msgstr "schaltet die Kompilierzeitprüfung der Case-Anweisung ein, wenn ein Ausdruck eines Enumtyps verwendet wird."
  
  #: m2/lang.opt:39
! #, fuzzy, no-c-format
! #| msgid "compiler checks to force definition module procedure parameter names with their implementation module counterpart"
  msgid "Check definition module procedure parameter names match their implementation module counterpart."
! msgstr "zur Compilezeit sicherstellen, dass Parameternamen von Prozeduren im Definitionsmodul denen im Implementierungsmodul entsprechen"
  
  #: m2/lang.opt:43
! #, fuzzy, no-c-format
! #| msgid "compiler warns if a cast is being used on types of differing sizes"
  msgid "Warn if a cast is being used on types of differing sizes."
! msgstr "warnen bei expliziter Typumwandlung zwischen Typen mit unterschiedlicher Größe"
  
  #: m2/lang.opt:47
! #, fuzzy, no-c-format
! #| msgid "inform user which parameters will be passed by reference"
  msgid "Inform user which parameters will be passed by reference."
! msgstr "Nutzer informieren, welche Parameter per Referenz übergeben werden"
  
  #: m2/lang.opt:51
! #, fuzzy, no-c-format
! #| msgid "extra compile time semantic checking, typically tries to catch poor programming style"
  msgid "Semantic checking to catch poor programming style."
! msgstr "zusätzliche semantische Überprüfung zur Compilezeit, fängt üblicherweise schlechten Programmierstil ab"
  
  #: m2/lang.opt:55
! #, fuzzy, no-c-format
! #| msgid "turns on compile time analysis in the first basic block of a procedure detecting access to uninitialized data."
  msgid "Compile time analysis in the first basic block of a procedure detecting access to uninitialized data."
! msgstr "schaltet die Kompilierzeitanalyse im ersten Basisblock einer Prozedur ein, die den Zugriff auf nicht initialisierte Daten erkennt."
  
  #: m2/lang.opt:59
! #, fuzzy, no-c-format
! #| msgid "turns on compile time analysis to detect access to uninitialized variables, the checking can be specified by: known,cond,all."
  msgid "Compile time analysis to detect access to uninitialized variables, the checking can be specified by: known,cond,all."
! msgstr "schaltet die Kompilierzeitanalyse ein, um den Zugriff auf nicht initialisierte Variablen zu erkennen, die Überprüfung kann durch known,cond,all angegeben werden."
  
  #: m2/lang.opt:63
! #, fuzzy, no-c-format
! #| msgid "automatically initializes all pointers to NIL"
  msgid "Automatically initializes all pointers to NIL."
! msgstr "Initialisiert alle Zeiger auf NIL"
  
  #: m2/lang.opt:67
! #, fuzzy, no-c-format
! #| msgid "turns on runtime subrange, array index and indirection via NIL pointer checking"
  msgid "Runtime subrange, array index and indirection via NIL pointer checking."
! msgstr "schaltet Laufzeitüberprüfung für Teilabschnitte, Arrayindizes und NIL-Zeiger-Indirektion ein"
  
  #: m2/lang.opt:71
! #, fuzzy, no-c-format
! #| msgid "turns on runtime checking to check whether a CASE statement requires an ELSE clause when one was not specified"
  msgid "Runtime checking to check whether a CASE statement requires an ELSE clause when one was not specified."
! msgstr "schaltet Laufzeitüberprüfung ein, ob eine CASE-Anweisung einen ELSE-Zweig benötigt, der jedoch nicht angegeben war"
  
  #: m2/lang.opt:75
! #, fuzzy, no-c-format
! #| msgid "use cpp to preprocess the module"
  msgid "Preprocess the module using cpp."
! msgstr "den C-Präprozessor verwenden, um das Modul vorzuverarbeiten"
  
  #: m2/lang.opt:79 m2/lang.opt:83
! #, fuzzy, no-c-format
! #| msgid "passed to the preprocessor if -fcpp is used (internal switch)"
  msgid "Passed to the preprocessor if -fcpp is used (internal switch)."
! msgstr "wird an den Präprozessor weitergereicht, wenn »-fcpp« verwendet wird (interne Option)"
  
  #: m2/lang.opt:87
! #, fuzzy, no-c-format
! #| msgid "call a real function, rather than the builtin equivalent"
  msgid "Call a real function, rather than the builtin equivalent."
! msgstr "die echte Funktion statt des eingebauten Äquivalents aufrufen"
  
  #: m2/lang.opt:91
! #, fuzzy, no-c-format
! #| msgid "turn on internal debugging of the compiler (internal switch)"
  msgid "Internal debugging of the compiler (internal switch)."
! msgstr "internes Debugging des Compilers einschalten (interner Schalter)"
  
  #: m2/lang.opt:95
! #, fuzzy, no-c-format
! #| msgid "turn on tracing of procedure line numbers (internal switch)"
  msgid "Trace procedure line numbers (internal switch)."
! msgstr "internes Verfolgen der Prozedur-Zeilennummern einschalten (interner Schalter)"
  
  #: m2/lang.opt:99
! #, fuzzy, no-c-format
! #| msgid "recognize the specified suffix as a definition module filename"
  msgid "Recognize the specified suffix as a definition module filename."
! msgstr "das angegebene Suffix als Dateiname des Definitionsmoduls erkennen"
  
  #: m2/lang.opt:103
! #, fuzzy, no-c-format
! #| msgid "display all inbuilt system items"
  msgid "Display all inbuilt system items."
! msgstr "alle eingebauten Systemelemente anzeigen"
  
  #: m2/lang.opt:107
! #, fuzzy, no-c-format
! #| msgid "allows opaque types to be implemented as any type (a GNU Modula-2 extension)"
  msgid "Allows opaque types to be implemented as any type (a GNU Modula-2 extension)."
! msgstr "erlaubt, undurchlässige Typen durch beliebige Typen zu implementieren (eine GNU-Modula-2-Erweiterung)"
  
  #: m2/lang.opt:111
! #, fuzzy, no-c-format
! #| msgid "turns on runtime checking to check whether a floating point number will exceed range"
  msgid "Runtime checking to check whether a floating point number will exceed range."
! msgstr "Laufzeitüberprüfung für Gleitkommazahlen, die den Gültigkeitsbereich verlassen, einschalten"
  
  #: m2/lang.opt:115
! #, fuzzy, no-c-format
! #| msgid "create a topologically sorted module list from all dependent modules used in the application"
  msgid "Create a topologically sorted module list from all dependent modules used in the application."
! msgstr "topologisch sortierte Liste aller Module erzeugen, die in der Anwendung verwendet werden"
  
  #: m2/lang.opt:119
! #, fuzzy, no-c-format
! #| msgid "turns on all range checking for numerical values"
  msgid "Range checking for numerical values."
! msgstr "alle Bereichsprüfungen für numerische Werte einschalten"
  
  #: m2/lang.opt:123
! #, fuzzy, no-c-format
! #| msgid "use ISO dialect of Modula-2"
  msgid "ISO dialect of Modula-2."
! msgstr "ISO-Dialekt von Modula-2 verwenden"
  
  #: m2/lang.opt:127
! #, fuzzy, no-c-format
! #| msgid "specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso."
  msgid "Specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso."
  msgstr "Reihenfolge der Bibliotheken kommagetrennt angeben, erlaubte Einträge sind: log,min,pim,iso oder deren entsprechende Verzeichnisnamen m2log,m2min,m2pim,m2iso."
  
  #: m2/lang.opt:131
! #, fuzzy, no-c-format
! #| msgid "set all location values to a specific value (internal switch)"
  msgid "Set all location values to a specific value (internal switch)."
! msgstr "alle Ortswerte auf einen bestimmten Wert festlegen (interner Schalter)"
  
  #: m2/lang.opt:135
! #, fuzzy, no-c-format
! #| msgid "turn on internal debug tracing for quad,token,line,all (internal switch)"
  msgid "Internal debug tracing for quad,token,line,all (internal switch)."
! msgstr "internes Debugging des Compilers für quad,token,line,all einschalten (interner Schalter)"
  
  #: m2/lang.opt:139
! #, fuzzy, no-c-format
! #| msgid "dump Modula-2 internal intemediate representation specified by: all,quad,decl,gimple"
  msgid "Dump Modula-2 internal intemediate representation specified by: all,quad,decl,gimple."
! msgstr "Interne Zwischenrepräsentation für Modula-2 wegschreiben, angegeben durch: all,quad,decl,gimple"
  
  #: m2/lang.opt:143
! #, fuzzy, no-c-format
! #| msgid "dump Modula-2 decls to the filename stem specified"
  msgid "Dump Modula-2 decls to the filename stem specified."
! msgstr "Modula-2-Deklarationen in den angegebenen Dateinamensstamm wegschreiben"
  
  #: m2/lang.opt:147
! #, fuzzy, no-c-format
! #| msgid "dump Modula-2 gimple to the filename stem specified"
  msgid "Dump Modula-2 gimple to the filename stem specified."
! msgstr "Modula-2-Gimple in den angegebenen Dateinamensstamm wegschreiben"
  
  #: m2/lang.opt:151
! #, fuzzy, no-c-format
! #| msgid "dump Modula-2 quads to the filename stem specified"
  msgid "Dump Modula-2 quads to the filename stem specified."
! msgstr "Modula-2-Quads in den angegebenen Dateinamensstamm wegschreiben"
  
  #: m2/lang.opt:155
! #, fuzzy, no-c-format
! #| msgid "filter the language dump using a comma separated list of procedures and modules"
  msgid "Filter the language dump using a comma separated list of procedures and modules."
! msgstr "Die sprachspezifische Ausgabe auf eine kommaseparierte Liste von Prozeduren und Modulen einschränken"
  
  #: m2/lang.opt:159
! #, fuzzy, no-c-format
! #| msgid "override the default 64 bit definition of SYSTEM.COFF_T with the argument specified"
  msgid "Override the default 64 bit definition of SYSTEM.COFF_T with the argument specified."
! msgstr "Die standardmäßige 64-Bit-Definition von SYSTEM.COFF_T mit dem angegebenen Argument übersteuern"
  
  #: m2/lang.opt:163
! #, fuzzy, no-c-format
! #| msgid "generate extra nops to improve debugging, producing an instruction for every code related keyword"
  msgid "Generate extra nops to improve debugging, producing an instruction for every code related keyword."
! msgstr "zusätzliche NOPs generieren, um das Debuggen zu vereinfachen, dadurch bekommt jedes Schlüsselwort aus dem Code einen eigenen Befehl"
  
  #: m2/lang.opt:167
! #, fuzzy, no-c-format
! #| msgid "generate error messages which render keywords in lower case"
  msgid "Generate error messages which render keywords in lower case."
! msgstr "Fehlermeldungen erzeugen, die Schlüsselwörter in Kleinbuchstaben ausgeben"
  
  #: m2/lang.opt:171
! #, fuzzy, no-c-format
! #| msgid "specify the module mangled prefix name for all modules in the following include paths"
  msgid "Specify the module mangled prefix name for all modules in the following include paths."
! msgstr "den gemangelten Präfix für Modulnamen angeben, für alle Module in den folgenden Includepfaden"
  
  #: m2/lang.opt:179
  #, no-c-format
  msgid "Add include paths for all the library names in -flibs= to this directory root."
! msgstr ""
  
  #: m2/lang.opt:187
! #, fuzzy, no-c-format
! #| msgid "insert plugin to identify runtime errors at compiletime"
  msgid "Insert plugin to identify runtime errors at compiletime."
! msgstr "Plugin aktivieren, das Laufzeitfehler bereits zur Compilezeit erkennt"
  
  #: m2/lang.opt:191
! #, fuzzy, no-c-format
! #| msgid "specify the module mangled prefix name"
  msgid "Specify the module mangled prefix name."
! msgstr "Präfixname für gemangelte Modulnamen angeben"
  
  #: m2/lang.opt:195
! #, fuzzy, no-c-format
! #| msgid "display statistics about the amount of source lines compiled and symbols used"
  msgid "Display statistics about the amount of source lines compiled and symbols used."
! msgstr "Zusammenfassung der Anzahl der übersetzten Codezeilen und der verwendeten Symbole anzeigen"
  
  #: m2/lang.opt:199
! #, fuzzy, no-c-format
! #| msgid "experimental flag to turn on the new strict type checker"
  msgid "Experimental flag to turn on the new strict type checker."
! msgstr "experimentelle Option, um die neue strenge Typprüfung zu verwenden"
  
  #: m2/lang.opt:203
  #, no-c-format
  msgid "Provides more detail why the types are incompatible."
! msgstr ""
  
  #: m2/lang.opt:207
! #, fuzzy, no-c-format
! #| msgid "compile all implementation modules and program module at once"
  msgid "Compile all implementation modules and program module at once."
! msgstr "alle Implementierungsmodule und Programmmodule auf einmal übersetzen"
  
  #: m2/lang.opt:215
! #, fuzzy, no-c-format
! #| msgid "recognize the specified suffix as implementation and module filenames"
  msgid "Recognize the specified suffix as implementation and module filenames."
! msgstr "die angegebene Endung als Implementierungs- oder Modul-Dateiname erkennen"
  
  #: m2/lang.opt:219
! #, fuzzy, no-c-format
! #| msgid "turns on runtime checking to detect accessing data through a NIL value pointer"
  msgid "Runtime checking to detect accessing data through a NIL value pointer."
! msgstr "Laufzeitüberprüfung für versuchten Datenzugriff über NIL-Zeiger einschalten"
  
  #: m2/lang.opt:223
! #, fuzzy, no-c-format
! #| msgid "use PIM [234] dialect of Modula-2"
  msgid "PIM [234] dialect of Modula-2."
! msgstr "PIM-[234]-Dialekt von Modula-2 verwenden"
  
  #: m2/lang.opt:227
! #, fuzzy, no-c-format
! #| msgid "use PIM 2 dialect of Modula-2"
  msgid "PIM 2 dialect of Modula-2."
! msgstr "PIM-2-Dialekt von Modula-2 verwenden"
  
  #: m2/lang.opt:231
! #, fuzzy, no-c-format
! #| msgid "use PIM 3 dialect of Modula-2"
  msgid "PIM 3 dialect of Modula-2."
! msgstr "PIM-3-Dialekt von Modula-2 verwenden"
  
  #: m2/lang.opt:235
! #, fuzzy, no-c-format
! #| msgid "use PIM 4 dialect of Modula-2"
  msgid "PIM 4 dialect of Modula-2."
! msgstr "PIM-4-Dialekt von Modula-2 verwenden"
  
  #: m2/lang.opt:239
! #, fuzzy, no-c-format
! #| msgid "force positive result from MOD and DIV result floor"
  msgid "Force positive result from MOD and DIV result floor."
! msgstr "erzwingen, dass MOD stets positiv ist und DIV abrundet"
  
  #: m2/lang.opt:243
! #, fuzzy, no-c-format
! #| msgid "link against the pthread library (default on)"
  msgid "Link against the pthread library (default on)."
! msgstr "mit der pthread-Bibliothek binden (Vorgabe: ein)"
  
  #: m2/lang.opt:247
! #, fuzzy, no-c-format
! #| msgid "internal compiler debugging information, dump the list of quadruples"
  msgid "Internal compiler debugging information, dump the list of quadruples."
! msgstr "interne Compiler-Debug-Informationen, Liste der Quadrupel wegschreiben"
  
  #: m2/lang.opt:251
! #, fuzzy, no-c-format
! #| msgid "turns on all range checking for numerical values"
  msgid "Runtime range checking for numerical values."
! msgstr "alle Bereichsprüfungen für numerische Werte einschalten"
  
  #: m2/lang.opt:255
! #, fuzzy, no-c-format
! #| msgid "turns on runtime checking for functions which finish without executing a RETURN statement"
  msgid "Runtime checking for functions which finish without executing a RETURN statement."
! msgstr "Laufzeitüberprüfung für Funktionen einschalten, deren Ausführung nicht mit einer RETURN-Anweisung endet"
  
  #: m2/lang.opt:259
! #, fuzzy, no-c-format
! #| msgid "specify the list of runtime modules and their initialization order"
  msgid "Specify the list of runtime modules and their initialization order."
! msgstr "Liste der Laufzeitmodule und deren Initialisierungsreihenfolge angeben"
  
  #: m2/lang.opt:263
! #, fuzzy, no-c-format
! #| msgid "the modules initialization order is dynamically determined by M2RTS and application dependencies"
  msgid "Modules are initialized dynamically, determined by M2RTS and application dependencies."
! msgstr "die Initialisierungsreihenfolge der Module wird dynamisch von M2RTS und den Anwendungsabhängigkeiten festgelegt"
  
  #: m2/lang.opt:267
! #, fuzzy, no-c-format
! #| msgid "generate a C source scaffold for the current module being compiled"
  msgid "Generate a C source scaffold for the current module being compiled."
! msgstr "ein C-Quelltext-Gerüst für das Modul generieren, das gerade übersetzt wird"
  
  #: m2/lang.opt:271
! #, fuzzy, no-c-format
! #| msgid "generate a C++ source scaffold for the current module being compiled"
  msgid "Generate a C++ source scaffold for the current module being compiled."
! msgstr "ein C++-Quelltext-Gerüst für das Modul generieren, das gerade übersetzt wird"
  
  #: m2/lang.opt:275
! #, fuzzy, no-c-format
! #| msgid "generate the main function"
  msgid "Generate the main function."
! msgstr "die main-Funktion erzeugen"
  
  #: m2/lang.opt:279
! #, fuzzy, no-c-format
! #| msgid "generate static scaffold initialization and finalization for every module inside main"
  msgid "Generate static scaffold initialization and finalization for every module inside main."
! msgstr "statische Gerüst-Initialisierung und Finalisierung für jedes Modul innerhalb von main generieren"
  
  #: m2/lang.opt:283
! #, fuzzy, no-c-format
! #| msgid "generate a shared library from the module"
  msgid "Generate a shared library from the module."
! msgstr "eine gemeinsam genutzte Bibliothek aus dem Modul erzeugen"
  
  #: m2/lang.opt:287
! #, fuzzy, no-c-format
! #| msgid "turns on all software runtime checking (an abbreviation for -fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue)"
  msgid "All software runtime checking (an abbreviation for -fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue)."
! msgstr "alle Software-Laufzeitüberprüfungen einschalten (das ist die Abkürzung für »-fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue«)"
  
  #: m2/lang.opt:291
! #, fuzzy, no-c-format
! #| msgid "display the location of module source files as they are compiled"
  msgid "Display the location of module source files as they are compiled."
! msgstr "Ort der Modul-Quelldateien anzeigen, während sie übersetzt werden"
  
  #: m2/lang.opt:295
! #, fuzzy, no-c-format
! #| msgid "create a swig interface file for the module"
  msgid "Create a swig interface file for the module."
! msgstr "eine SWIG-Interface-Datei für das Modul erzeugen"
  
  #: m2/lang.opt:303
! #, fuzzy, no-c-format
! #| msgid "optimize non var unbounded parameters by passing it by reference, providing it is not written to within the callee procedure."
  msgid "Optimize non var unbounded parameters by passing it by reference, providing it is not written to within the callee procedure."
! msgstr "unbegrenzte Wertparameter optimieren, indem sie per Referenz übergeben werden, vorausgesetzt, die aufgerufene Prozedur verändert sie nicht."
  
  #: m2/lang.opt:307
! #, fuzzy, no-c-format
! #| msgid "orders the initialization/finalizations for scaffold-static or force linking of modules if scaffold-dynamic"
  msgid "Order the initialization/finalizations for scaffold-static or force linking of modules if scaffold-dynamic."
! msgstr "ordnet die Initialisierungen/Finalisierungen für scaffold-static, oder das Binden von Modulen für scaffold-dynamic erzwingen"
  
  #: m2/lang.opt:315
  #, no-c-format
  msgid "Link against the module M2WIDESET to perform the wideset operator, the negative version of this option will generate a warning if this module is required."
! msgstr ""
  
  #: m2/lang.opt:319
! #, fuzzy, no-c-format
! #| msgid "turns on all division and modulus by zero checking for ordinal values"
  msgid "Runtime checking of all division and modulus by zero checking for ordinal values."
! msgstr "alle Überprüfungen für Division und Modulus durch 0 für ordinale Werte einschalten"
  
  #: m2/lang.opt:323
  #, no-c-format
  msgid "Runtime checking for whole numbers."
! msgstr ""
  
  #: m2/lang.opt:327
  #, no-c-format
--- 8701,9039 ----
  msgstr "Immer JSR für Aufrufe verwenden, niemals BSR."
  
  #: m2/lang.opt:35
! #, no-c-format
  msgid "Case statement label compile time checking when using an expression of an enum type."
! msgstr "Schaltet die Kompilierzeitprüfung der Case-Anweisung ein, wenn ein Ausdruck eines Enumtyps verwendet wird."
  
  #: m2/lang.opt:39
! #, no-c-format
  msgid "Check definition module procedure parameter names match their implementation module counterpart."
! msgstr "Zur Compilezeit sicherstellen, dass Parameternamen von Prozeduren im Definitionsmodul denen im Implementierungsmodul entsprechen."
  
  #: m2/lang.opt:43
! #, no-c-format
  msgid "Warn if a cast is being used on types of differing sizes."
! msgstr "Warnen bei expliziter Typumwandlung zwischen Typen mit unterschiedlicher Größe."
  
  #: m2/lang.opt:47
! #, no-c-format
  msgid "Inform user which parameters will be passed by reference."
! msgstr "Nutzer informieren, welche Parameter per Referenz übergeben werden."
  
  #: m2/lang.opt:51
! #, no-c-format
  msgid "Semantic checking to catch poor programming style."
! msgstr "Semantische Überprüfung, um schlechten Programmierstil abzufangen."
  
  #: m2/lang.opt:55
! #, no-c-format
  msgid "Compile time analysis in the first basic block of a procedure detecting access to uninitialized data."
! msgstr "Die Kompilierzeitanalyse im ersten Basisblock einer Prozedur erkennt einen Zugriff auf uninitialisierte Daten."
  
  #: m2/lang.opt:59
! #, no-c-format
  msgid "Compile time analysis to detect access to uninitialized variables, the checking can be specified by: known,cond,all."
! msgstr "Kompilierzeitanalyse, um den Zugriff auf uninitialisierte Variablen zu erkennen, die Überprüfung kann durch known,cond,all angegeben werden."
  
  #: m2/lang.opt:63
! #, no-c-format
  msgid "Automatically initializes all pointers to NIL."
! msgstr "Alle Zeiger automatisch mit NIL initialisieren."
  
  #: m2/lang.opt:67
! #, no-c-format
  msgid "Runtime subrange, array index and indirection via NIL pointer checking."
! msgstr "Laufzeitüberprüfung für Teilabschnitte, Arrayindizes und NIL-Zeiger-Indirektion."
  
  #: m2/lang.opt:71
! #, no-c-format
  msgid "Runtime checking to check whether a CASE statement requires an ELSE clause when one was not specified."
! msgstr "Laufzeitüberprüfung, ob eine CASE-Anweisung einen ELSE-Zweig benötigt, der jedoch nicht angegeben war."
  
  #: m2/lang.opt:75
! #, no-c-format
  msgid "Preprocess the module using cpp."
! msgstr "Den C-Präprozessor verwenden, um das Modul vorzuverarbeiten."
  
  #: m2/lang.opt:79 m2/lang.opt:83
! #, no-c-format
  msgid "Passed to the preprocessor if -fcpp is used (internal switch)."
! msgstr "Wird an den Präprozessor weitergereicht, wenn »-fcpp« verwendet wird (interne Option)."
  
  #: m2/lang.opt:87
! #, no-c-format
  msgid "Call a real function, rather than the builtin equivalent."
! msgstr "Eine echte Funktion statt des eingebauten Äquivalents aufrufen."
  
  #: m2/lang.opt:91
! #, no-c-format
  msgid "Internal debugging of the compiler (internal switch)."
! msgstr "Internes Debugging des Compilers einschalten (interner Schalter)."
  
  #: m2/lang.opt:95
! #, no-c-format
  msgid "Trace procedure line numbers (internal switch)."
! msgstr "Verfolgen der Prozedur-Zeilennummern einschalten (interner Schalter)."
  
  #: m2/lang.opt:99
! #, no-c-format
  msgid "Recognize the specified suffix as a definition module filename."
! msgstr "Das angegebene Suffix als Dateiname des Definitionsmoduls erkennen."
  
  #: m2/lang.opt:103
! #, no-c-format
  msgid "Display all inbuilt system items."
! msgstr "Alle eingebauten Systemelemente anzeigen."
  
  #: m2/lang.opt:107
! #, no-c-format
  msgid "Allows opaque types to be implemented as any type (a GNU Modula-2 extension)."
! msgstr "Erlaubt, undurchlässige Typen durch beliebige Typen zu implementieren (eine GNU-Modula-2-Erweiterung)."
  
  #: m2/lang.opt:111
! #, no-c-format
  msgid "Runtime checking to check whether a floating point number will exceed range."
! msgstr "Laufzeitüberprüfung für Gleitkommazahlen, die den Gültigkeitsbereich verlassen."
  
  #: m2/lang.opt:115
! #, no-c-format
  msgid "Create a topologically sorted module list from all dependent modules used in the application."
! msgstr "Topologisch sortierte Liste aller Module erzeugen, die in der Anwendung verwendet werden."
  
  #: m2/lang.opt:119
! #, no-c-format
  msgid "Range checking for numerical values."
! msgstr "Bereichsprüfungen für numerische Werte."
  
  #: m2/lang.opt:123
! #, no-c-format
  msgid "ISO dialect of Modula-2."
! msgstr "ISO-Dialekt von Modula-2."
  
  #: m2/lang.opt:127
! #, no-c-format
  msgid "Specify the library order, the libraries may be specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso."
  msgstr "Reihenfolge der Bibliotheken kommagetrennt angeben, erlaubte Einträge sind: log,min,pim,iso oder deren entsprechende Verzeichnisnamen m2log,m2min,m2pim,m2iso."
  
  #: m2/lang.opt:131
! #, no-c-format
  msgid "Set all location values to a specific value (internal switch)."
! msgstr "Alle Ortswerte auf einen bestimmten Wert festlegen (interner Schalter)."
  
  #: m2/lang.opt:135
! #, no-c-format
  msgid "Internal debug tracing for quad,token,line,all (internal switch)."
! msgstr "Debugging des Compilers für quad,token,line,all (interner Schalter)."
  
  #: m2/lang.opt:139
! #, no-c-format
  msgid "Dump Modula-2 internal intemediate representation specified by: all,quad,decl,gimple."
! msgstr "Interne Zwischenrepräsentation für Modula-2 wegschreiben, angegeben durch: all,quad,decl,gimple."
  
  #: m2/lang.opt:143
! #, no-c-format
  msgid "Dump Modula-2 decls to the filename stem specified."
! msgstr "Modula-2-Deklarationen in den angegebenen Dateinamensstamm wegschreiben."
  
  #: m2/lang.opt:147
! #, no-c-format
  msgid "Dump Modula-2 gimple to the filename stem specified."
! msgstr "Modula-2-Gimple in den angegebenen Dateinamensstamm wegschreiben."
  
  #: m2/lang.opt:151
! #, no-c-format
  msgid "Dump Modula-2 quads to the filename stem specified."
! msgstr "Modula-2-Quads in den angegebenen Dateinamensstamm wegschreiben."
  
  #: m2/lang.opt:155
! #, no-c-format
  msgid "Filter the language dump using a comma separated list of procedures and modules."
! msgstr "Die sprachspezifische Ausgabe auf eine kommaseparierte Liste von Prozeduren und Modulen einschränken."
  
  #: m2/lang.opt:159
! #, no-c-format
  msgid "Override the default 64 bit definition of SYSTEM.COFF_T with the argument specified."
! msgstr "Die standardmäßige 64-Bit-Definition von SYSTEM.COFF_T mit dem angegebenen Argument übersteuern."
  
  #: m2/lang.opt:163
! #, no-c-format
  msgid "Generate extra nops to improve debugging, producing an instruction for every code related keyword."
! msgstr "Zusätzliche NOPs generieren, um das Debuggen zu vereinfachen, dadurch bekommt jedes Schlüsselwort aus dem Code einen eigenen Befehl."
  
  #: m2/lang.opt:167
! #, no-c-format
  msgid "Generate error messages which render keywords in lower case."
! msgstr "Fehlermeldungen erzeugen, die Schlüsselwörter in Kleinbuchstaben ausgeben."
  
  #: m2/lang.opt:171
! #, no-c-format
  msgid "Specify the module mangled prefix name for all modules in the following include paths."
! msgstr "Den gemangelten Präfix für Modulnamen angeben, für alle Module in den folgenden Includepfaden."
  
  #: m2/lang.opt:179
  #, no-c-format
  msgid "Add include paths for all the library names in -flibs= to this directory root."
! msgstr "Include-Pfade für alle Bibliotheksnamen in »-flibs=« zu diesem Verzeichnisstamm hinzufügen."
  
  #: m2/lang.opt:187
! #, no-c-format
  msgid "Insert plugin to identify runtime errors at compiletime."
! msgstr "Plugin aktivieren, das Laufzeitfehler bereits zur Compilezeit erkennt."
  
  #: m2/lang.opt:191
! #, no-c-format
  msgid "Specify the module mangled prefix name."
! msgstr "Der Präfixname für gemangelte Modulnamen."
  
  #: m2/lang.opt:195
! #, no-c-format
  msgid "Display statistics about the amount of source lines compiled and symbols used."
! msgstr "Zusammenfassung der Anzahl der übersetzten Codezeilen und der verwendeten Symbole anzeigen."
  
  #: m2/lang.opt:199
! #, no-c-format
  msgid "Experimental flag to turn on the new strict type checker."
! msgstr "Experimentelle Option, um die neue strenge Typprüfung zu verwenden."
  
  #: m2/lang.opt:203
  #, no-c-format
  msgid "Provides more detail why the types are incompatible."
! msgstr "Erläutert genauer, warum die Typen nicht kompatibel sind."
  
  #: m2/lang.opt:207
! #, no-c-format
  msgid "Compile all implementation modules and program module at once."
! msgstr "Alle Implementierungsmodule und Programmmodule auf einmal übersetzen."
  
  #: m2/lang.opt:215
! #, no-c-format
  msgid "Recognize the specified suffix as implementation and module filenames."
! msgstr "Die angegebene Endung als Implementierungs- oder Modul-Dateinamen erkennen."
  
  #: m2/lang.opt:219
! #, no-c-format
  msgid "Runtime checking to detect accessing data through a NIL value pointer."
! msgstr "Laufzeitüberprüfung für versuchten Datenzugriff über NIL-Zeiger einschalten."
  
  #: m2/lang.opt:223
! #, no-c-format
  msgid "PIM [234] dialect of Modula-2."
! msgstr "PIM-[234]-Dialekt von Modula-2 verwenden."
  
  #: m2/lang.opt:227
! #, no-c-format
  msgid "PIM 2 dialect of Modula-2."
! msgstr "PIM-2-Dialekt von Modula-2."
  
  #: m2/lang.opt:231
! #, no-c-format
  msgid "PIM 3 dialect of Modula-2."
! msgstr "PIM-3-Dialekt von Modula-2."
  
  #: m2/lang.opt:235
! #, no-c-format
  msgid "PIM 4 dialect of Modula-2."
! msgstr "PIM-4-Dialekt von Modula-2."
  
  #: m2/lang.opt:239
! #, no-c-format
  msgid "Force positive result from MOD and DIV result floor."
! msgstr "Erzwingen, dass MOD stets positiv ist und DIV abrundet."
  
  #: m2/lang.opt:243
! #, no-c-format
  msgid "Link against the pthread library (default on)."
! msgstr "Mit der pthread-Bibliothek binden (Vorgabe: ein)."
  
  #: m2/lang.opt:247
! #, no-c-format
  msgid "Internal compiler debugging information, dump the list of quadruples."
! msgstr "Interne Compiler-Debug-Informationen, Liste der Quadrupel wegschreiben."
  
  #: m2/lang.opt:251
! #, no-c-format
  msgid "Runtime range checking for numerical values."
! msgstr "Laufzeit-Bereichsprüfungen für numerische Werte einschalten."
  
  #: m2/lang.opt:255
! #, no-c-format
  msgid "Runtime checking for functions which finish without executing a RETURN statement."
! msgstr "Laufzeitüberprüfung für Funktionen einschalten, deren Ausführung nicht mit einer RETURN-Anweisung endet."
  
  #: m2/lang.opt:259
! #, no-c-format
  msgid "Specify the list of runtime modules and their initialization order."
! msgstr "Liste der Laufzeitmodule und deren Initialisierungsreihenfolge festlegen."
  
  #: m2/lang.opt:263
! #, no-c-format
  msgid "Modules are initialized dynamically, determined by M2RTS and application dependencies."
! msgstr "Module dynamisch initialisieren, wird von M2RTS und Anwendungs-Abhängigkeiten festgelegt."
  
  #: m2/lang.opt:267
! #, no-c-format
  msgid "Generate a C source scaffold for the current module being compiled."
! msgstr "Ein C-Quelltext-Gerüst für das Modul generieren, das gerade übersetzt wird."
  
  #: m2/lang.opt:271
! #, no-c-format
  msgid "Generate a C++ source scaffold for the current module being compiled."
! msgstr "Ein C++-Quelltext-Gerüst für das Modul generieren, das gerade übersetzt wird."
  
  #: m2/lang.opt:275
! #, no-c-format
  msgid "Generate the main function."
! msgstr "Die main-Funktion erzeugen."
  
  #: m2/lang.opt:279
! #, no-c-format
  msgid "Generate static scaffold initialization and finalization for every module inside main."
! msgstr "Statische Gerüst-Initialisierung und Finalisierung für jedes Modul innerhalb von main generieren."
  
  #: m2/lang.opt:283
! #, no-c-format
  msgid "Generate a shared library from the module."
! msgstr "Eine gemeinsam genutzte Bibliothek aus dem Modul erzeugen."
  
  #: m2/lang.opt:287
! #, no-c-format
  msgid "All software runtime checking (an abbreviation for -fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue)."
! msgstr "Alle Software-Laufzeitüberprüfungen einschalten (das ist die Abkürzung für »-fnil -frange -findex -fwholediv -fcase -freturn -fwholevalue -ffloatvalue«)."
  
  #: m2/lang.opt:291
! #, no-c-format
  msgid "Display the location of module source files as they are compiled."
! msgstr "Ort der Modul-Quelldateien anzeigen, während sie übersetzt werden."
  
  #: m2/lang.opt:295
! #, no-c-format
  msgid "Create a swig interface file for the module."
! msgstr "Eine SWIG-Interface-Datei für das Modul erzeugen."
  
  #: m2/lang.opt:303
! #, 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 "Unbegrenzte Wertparameter optimieren, indem sie per Referenz übergeben werden, vorausgesetzt, die aufgerufene Prozedur verändert sie nicht."
  
  #: m2/lang.opt:307
! #, no-c-format
  msgid "Order the initialization/finalizations for scaffold-static or force linking of modules if scaffold-dynamic."
! msgstr "Initialisierungen/Finalisierungen für scaffold-static ordnen, oder das Binden von Modulen für scaffold-dynamic erzwingen."
  
  #: m2/lang.opt:315
  #, no-c-format
  msgid "Link against the module M2WIDESET to perform the wideset operator, the negative version of this option will generate a warning if this module is required."
! msgstr "Gegen das Modul M2WIDESET linken, um den wideset-Operator auszuführen, die negative Variante dieser Option generiert eine Warnung, wenn dieses Modul benötigt wird."
  
  #: m2/lang.opt:319
! #, no-c-format
  msgid "Runtime checking of all division and modulus by zero checking for ordinal values."
! msgstr "Alle Laufzeit-Überprüfungen für Division und Modulus durch 0 für ordinale Werte einschalten."
  
  #: m2/lang.opt:323
  #, no-c-format
  msgid "Runtime checking for whole numbers."
! msgstr "Laufzeitüberprüfung für Ganzzahlen."
  
  #: m2/lang.opt:327
  #, no-c-format
*************** msgid "Link the standard Modula-2 librar
*** 9154,9163 ****
  msgstr "Die Modula-2-Standardbibliotheken statisch in das Kompilat einbinden."
  
  #: m2/lang.opt:472 m2/lang.opt:476
! #, fuzzy, no-c-format
! #| msgid "save temporary preprocessed files"
  msgid "save temporary preprocessed files."
! msgstr "temporäre vorverarbeitete Dateien speichern"
  
  #: fortran/lang.opt:146
  #, no-c-format
--- 9041,9049 ----
  msgstr "Die Modula-2-Standardbibliotheken statisch in das Kompilat einbinden."
  
  #: m2/lang.opt:472 m2/lang.opt:476
! #, no-c-format
  msgid "save temporary preprocessed files."
! msgstr "temporäre vorverarbeitete Dateien speichern."
  
  #: fortran/lang.opt:146
  #, no-c-format
*************** msgid "Specify that an external BLAS lib
*** 9510,9519 ****
  msgstr "Angeben, dass eine externe BLAS-Bibliothek für matmul-Aufrufe mit großen Feldern verwendet werden sollte."
  
  #: fortran/lang.opt:575
! #, fuzzy, no-c-format
! #| msgid "Specify that an external BLAS library should be used for matmul calls on large-size arrays."
  msgid "Use an external BLAS library with 64-bit indexing for matmul on large-size arrays."
! msgstr "Angeben, dass eine externe BLAS-Bibliothek für matmul-Aufrufe mit großen Feldern verwendet werden sollte."
  
  #: fortran/lang.opt:579
  #, no-c-format
--- 9396,9404 ----
  msgstr "Angeben, dass eine externe BLAS-Bibliothek für matmul-Aufrufe mit großen Feldern verwendet werden sollte."
  
  #: fortran/lang.opt:575
! #, no-c-format
  msgid "Use an external BLAS library with 64-bit indexing for matmul on large-size arrays."
! msgstr "Eine externe BLAS-Bibliothek mit 64-Bit-Indexen für matmul-Aufrufe auf großen Feldern verwenden."
  
  #: fortran/lang.opt:579
  #, no-c-format
*************** msgid "Emit optimization diagnostics."
*** 9916,9923 ****
  msgstr "Diagnosemeldungen für Optimierung ausgeben."
  
  #: params.opt:27
! #, fuzzy, no-c-format
! #| msgid "Loops iterating at least selected number of iterations will get loop alignment."
  msgid "Loops iterating at least selected number of iterations get loop alignment."
  msgstr "Schleifen mit mindestens der angegebenen Durchlaufzahl erhalten Schleifenausrichtung."
  
--- 9801,9807 ----
  msgstr "Diagnosemeldungen für Optimierung ausgeben."
  
  #: params.opt:27
! #, no-c-format
  msgid "Loops iterating at least selected number of iterations get loop alignment."
  msgstr "Schleifen mit mindestens der angegebenen Durchlaufzahl erhalten Schleifenausrichtung."
  
*************** msgstr "ASan-Schutz für Verwendung-nach
*** 9974,9986 ****
  #: params.opt:71
  #, no-c-format
  msgid "Build basic block profile using auto profile."
! msgstr ""
  
  #: params.opt:75
! #, fuzzy, no-c-format
! #| msgid "Enable function reordering that improves code placement."
  msgid "Enable only function reordering with auto-profile."
! msgstr "Funktionen umsortieren, um Codeplatzierung zu verbessern."
  
  #: params.opt:79
  #, no-c-format
--- 9858,9869 ----
  #: params.opt:71
  #, no-c-format
  msgid "Build basic block profile using auto profile."
! msgstr "Profil von Basisblöcken mittels Autoprofil erstellen."
  
  #: params.opt:75
! #, no-c-format
  msgid "Enable only function reordering with auto-profile."
! msgstr "Nur Funktionsumordnung mit Autoprofil einschalten."
  
  #: params.opt:79
  #, no-c-format
*************** msgid "Whether the scheduling descriptio
*** 9988,9997 ****
  msgstr "Ob die Scheduling-Beschreibung im Wesentlichen ein zyklusgenaues Modell des Zielprozessors ist und wahrscheinlich aggressiv Register verdrängt, um etwaige Pipeline-Lücken zu füllen."
  
  #: params.opt:83
! #, fuzzy, no-c-format
! #| msgid "Enable hwasan instrumentation of statically sized stack-allocated variables."
  msgid "Enable hwasan instrumentation of statically-sized stack-allocated variables."
! msgstr "hwasan-Instrumentierung von auf dem Stapel allozierten Variablen fester Größe einschalten."
  
  #: params.opt:87
  #, no-c-format
--- 9871,9879 ----
  msgstr "Ob die Scheduling-Beschreibung im Wesentlichen ein zyklusgenaues Modell des Zielprozessors ist und wahrscheinlich aggressiv Register verdrängt, um etwaige Pipeline-Lücken zu füllen."
  
  #: params.opt:83
! #, no-c-format
  msgid "Enable hwasan instrumentation of statically-sized stack-allocated variables."
! msgstr "Hwasan-Instrumentierung von auf dem Stapel allozierten Variablen fester Größe einschalten."
  
  #: params.opt:87
  #, no-c-format
*************** msgstr "hwasan-Instrumentierung für ein
*** 10021,10033 ****
  #: params.opt:107
  #, no-c-format
  msgid "When sanitizing using MTE instructions, add checks for all stack allocas."
! msgstr ""
  
  #: params.opt:111
! #, fuzzy, no-c-format
! #| msgid "Enable hwasan instrumentation of builtin functions."
  msgid "When sanitizing using MTE instructions, include builtin functions."
! msgstr "hwasan-Instrumentierung für eingebaute Funktionen einschalten."
  
  #: params.opt:115
  #, no-c-format
--- 9903,9914 ----
  #: params.opt:107
  #, no-c-format
  msgid "When sanitizing using MTE instructions, add checks for all stack allocas."
! msgstr "Beim Sanitizen mittels MTE-Befehlen die Prüfungen für alle Stapelallozierungen hinzufügen."
  
  #: params.opt:111
! #, no-c-format
  msgid "When sanitizing using MTE instructions, include builtin functions."
! msgstr "Beim Sanitizen mittels MTE-Befehlen eingebaute Funktionen einschließen."
  
  #: params.opt:115
  #, no-c-format
*************** msgid "Set the estimated probability in
*** 10045,10066 ****
  msgstr "Wahrscheinlichkeit in Prozent für das eingebaute »expect«. Vorgabewert ist 90 % Wahrscheinlichkeit."
  
  #: params.opt:127
! #, fuzzy, no-c-format
! #| msgid "The maximum length of a constant string for a builtin string cmp call eligible for inlining. The default value is 3."
  msgid "The maximum length of a constant string for a builtin string comparison call eligible for inlining. The default value is 3."
  msgstr "Die maximale Länge eines konstanten Strings, um den eingebauten Stringvergleich zu inlinen. Vorgabewert ist 3."
  
  #: params.opt:131
! #, fuzzy, no-c-format
! #| msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine."
  msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches.  If 0, use the default for the machine."
  msgstr "Kleinste Zahl unterschiedlicher Werte, für die eine Sprungtabelle besser als ein Baum bedingter Sprünge ist; bei 0 wird der Standard für die Zielarchitektur verwendet."
  
  #: params.opt:135
! #, fuzzy, no-c-format
! #| msgid "Probability that COMDAT function will be shared with different compilation unit."
  msgid "Probability that COMDAT function is shared with a different compilation unit."
! msgstr "Wahrscheinlichkeit, dass die COMDAT-Funktion mit anderer Kompilationseinheit geteilt wird."
  
  #: params.opt:139
  #, no-c-format
--- 9926,9944 ----
  msgstr "Wahrscheinlichkeit in Prozent für das eingebaute »expect«. Vorgabewert ist 90 % Wahrscheinlichkeit."
  
  #: params.opt:127
! #, no-c-format
  msgid "The maximum length of a constant string for a builtin string comparison call eligible for inlining. The default value is 3."
  msgstr "Die maximale Länge eines konstanten Strings, um den eingebauten Stringvergleich zu inlinen. Vorgabewert ist 3."
  
  #: params.opt:131
! #, no-c-format
  msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches.  If 0, use the default for the machine."
  msgstr "Kleinste Zahl unterschiedlicher Werte, für die eine Sprungtabelle besser als ein Baum bedingter Sprünge ist; bei 0 wird der Standard für die Zielarchitektur verwendet."
  
  #: params.opt:135
! #, no-c-format
  msgid "Probability that COMDAT function is shared with a different compilation unit."
! msgstr "Wahrscheinlichkeit, dass die COMDAT-Funktion mit anderer Übersetzungseinheit geteilt wird."
  
  #: params.opt:139
  #, no-c-format
*************** msgid "Maximal estimated growth of funct
*** 10083,10102 ****
  msgstr "Größtes durch frühes »inline« eines einzelnen Aufrufs abgeschätztes Wachstum des Funktionskörpers."
  
  #: params.opt:155
! #, fuzzy, no-c-format
! #| msgid "Max number of files in the file cache."
  msgid "Maximum number of files in the file cache."
  msgstr "Maximale Anzahl von Dateien im Dateicache."
  
  #: params.opt:159
! #, fuzzy, no-c-format
! #| msgid "Max number of lines to index into file cache. When 0 this is automatically sized."
  msgid "Maximum number of lines to index into file cache. When 0 this is automatically sized."
  msgstr "Maximale Anzahl der Zeilen, die im Dateicache indiziert werden. Bei 0 wird die Größe automatisch festgelegt."
  
  #: params.opt:163
! #, fuzzy, no-c-format
! #| msgid "Scale factor to apply to the number of statements in a threading path crossing a loop backedge when comparing to max-jump-thread-duplication-stmts."
  msgid "Scale factor to apply to the number of statements in a threading path crossing a loop back edge when comparing to max-jump-thread-duplication-stmts."
  msgstr "Der Skalierungsfaktor, der auf die Anzahl der Anweisungen in einem Threadingpfad angewendet wird, der eine Schleifenrückkante kreuzt, wenn er mit max-jump-thread-duplication-stmts verglichen wird."
  
--- 9961,9977 ----
  msgstr "Größtes durch frühes »inline« eines einzelnen Aufrufs abgeschätztes Wachstum des Funktionskörpers."
  
  #: params.opt:155
! #, no-c-format
  msgid "Maximum number of files in the file cache."
  msgstr "Maximale Anzahl von Dateien im Dateicache."
  
  #: params.opt:159
! #, no-c-format
  msgid "Maximum number of lines to index into file cache. When 0 this is automatically sized."
  msgstr "Maximale Anzahl der Zeilen, die im Dateicache indiziert werden. Bei 0 wird die Größe automatisch festgelegt."
  
  #: params.opt:163
! #, no-c-format
  msgid "Scale factor to apply to the number of statements in a threading path crossing a loop back edge when comparing to max-jump-thread-duplication-stmts."
  msgstr "Der Skalierungsfaktor, der auf die Anzahl der Anweisungen in einem Threadingpfad angewendet wird, der eine Schleifenrückkante kreuzt, wenn er mit max-jump-thread-duplication-stmts verglichen wird."
  
*************** msgid "Scaling factor in calculation of
*** 10121,10130 ****
  msgstr "Skalierungsfaktor bei Berechnung der größten Entfernung, um die ein Ausdruck durch GCSE-Optimierungen verschoben werden kann."
  
  #: params.opt:186
! #, fuzzy, no-c-format
! #| msgid "Cost at which GCSE optimizations will not constraint the distance an expression can travel."
  msgid "Cost at which GCSE optimizations does not constrain the distance an expression can travel."
! msgstr "Kosten, zu denen GCSE-Optimierungen nicht die Entfernung beeinträchtigen werden, um die ein Ausdruck verschoben werden kann."
  
  #: params.opt:190
  #, no-c-format
--- 9996,10004 ----
  msgstr "Skalierungsfaktor bei Berechnung der größten Entfernung, um die ein Ausdruck durch GCSE-Optimierungen verschoben werden kann."
  
  #: params.opt:186
! #, no-c-format
  msgid "Cost at which GCSE optimizations does not constrain the distance an expression can travel."
! msgstr "Kosten, zu denen GCSE-Optimierungen nicht die Entfernung beeinträchtigen, um die ein Ausdruck verschoben werden kann."
  
  #: params.opt:190
  #, no-c-format
*************** msgid "The denominator n of fraction 1/n
*** 10187,10194 ****
  msgstr "Der Nenner n des Bruchteils 1/n der Ausführungshäufigkeit des Eingangsblocks einer Funktion, den ein Basisblock dieser Funktion mindestens haben muss, um als heiß zu gelten."
  
  #: params.opt:238
! #, fuzzy, no-c-format
! #| msgid "The scale (in percents) applied to inline-insns-single and auto limits when heuristics hints that inlining is very profitable."
  msgid "The scale (as a percentage) applied to inline-insns-single and auto limits when heuristics hints that inlining is very profitable."
  msgstr "Die Skalierung (in Prozent), die auf inline-insns-single und Auto-Limits angewendet wird, wenn die Heuristik darauf hinweist, dass Inlining sehr profitabel ist."
  
--- 10061,10067 ----
  msgstr "Der Nenner n des Bruchteils 1/n der Ausführungshäufigkeit des Eingangsblocks einer Funktion, den ein Basisblock dieser Funktion mindestens haben muss, um als heiß zu gelten."
  
  #: params.opt:238
! #, no-c-format
  msgid "The scale (as a percentage) applied to inline-insns-single and auto limits when heuristics hints that inlining is very profitable."
  msgstr "Die Skalierung (in Prozent), die auf inline-insns-single und Auto-Limits angewendet wird, wenn die Heuristik darauf hinweist, dass Inlining sehr profitabel ist."
  
*************** msgid "The minimal estimated speedup all
*** 10198,10207 ****
  msgstr "Kleinste voraussichtliche Beschleunigung, die dem Inliner erlaubt, inline-insns-single und inline-isnsns-auto zu ignorieren."
  
  #: params.opt:246
! #, fuzzy, no-c-format
! #| msgid "How much can given compilation unit grow because of the inlining (in percent)."
  msgid "How much can given compilation unit grow because of the inlining (as a percentage)."
! msgstr "Wie viel die gegebene Übersetzungseinheit durch das »inline« wachsen kann (in Prozent)."
  
  #: params.opt:250
  #, no-c-format
--- 10071,10079 ----
  msgstr "Kleinste voraussichtliche Beschleunigung, die dem Inliner erlaubt, inline-insns-single und inline-isnsns-auto zu ignorieren."
  
  #: params.opt:246
! #, no-c-format
  msgid "How much can given compilation unit grow because of the inlining (as a percentage)."
! msgstr "Wie viel die gegebene Übersetzungseinheit durch das »inline« wachsen darf (in Prozent)."
  
  #: params.opt:250
  #, no-c-format
*************** msgid "When propagating IPA-CP effect es
*** 10234,10260 ****
  msgstr "Bei der Weitergabe von IPA-CP-Effektschätzungen werden die Häufigkeiten der rekursiven Kanten, die einen unveränderten Wert zurückbringen, mit diesem Faktor multipliziert."
  
  #: params.opt:274
! #, fuzzy, no-c-format
! #| msgid "Percentage penalty the recursive functions will receive when they are evaluated for cloning."
  msgid "Percentage penalty recursive functions receive when they are evaluated for cloning."
  msgstr "Prozentuale Strafe für rekursive Funktionen, wenn sie zum Klonen evaluiert werden."
  
  #: params.opt:278
! #, fuzzy, no-c-format
! #| msgid "Percentage penalty functions containing a single call to another function will receive when they are evaluated for cloning."
  msgid "Percentage penalty functions containing a single call to another function receive when they are evaluated for cloning."
  msgstr "Prozentuale Strafe für Funktionen, die nur einen einzigen Aufruf einer anderen Funktion enthalten, wenn sie zum Klonen evaluiert werden."
  
  #: params.opt:282
  #, no-c-format
  msgid "The number of times the interprocedural constant propagation traverses all functions to make cloning decisions."
! msgstr ""
  
  #: params.opt:286
! #, fuzzy, no-c-format
! #| msgid "How much can given compilation unit grow because of the interprocedural constant propagation (in percent)."
  msgid "How much can given compilation unit grow because of the interprocedural constant propagation (as a percentage)."
! msgstr "Wie viel die gegebene Übersetzungseinheit durch die interprozedurale Konstantenweitergabe wachsen kann (in Prozent)."
  
  #: params.opt:290
  #, no-c-format
--- 10106,10129 ----
  msgstr "Bei der Weitergabe von IPA-CP-Effektschätzungen werden die Häufigkeiten der rekursiven Kanten, die einen unveränderten Wert zurückbringen, mit diesem Faktor multipliziert."
  
  #: params.opt:274
! #, no-c-format
  msgid "Percentage penalty recursive functions receive when they are evaluated for cloning."
  msgstr "Prozentuale Strafe für rekursive Funktionen, wenn sie zum Klonen evaluiert werden."
  
  #: params.opt:278
! #, no-c-format
  msgid "Percentage penalty functions containing a single call to another function receive when they are evaluated for cloning."
  msgstr "Prozentuale Strafe für Funktionen, die nur einen einzigen Aufruf einer anderen Funktion enthalten, wenn sie zum Klonen evaluiert werden."
  
  #: params.opt:282
  #, no-c-format
  msgid "The number of times the interprocedural constant propagation traverses all functions to make cloning decisions."
! msgstr "Die Anzahl der Durchläufe, die die prozedurübergreifende Konstantenausbreitung durch alle Funktionen durchläuft, um Klonentscheidungen zu treffen."
  
  #: params.opt:286
! #, no-c-format
  msgid "How much can given compilation unit grow because of the interprocedural constant propagation (as a percentage)."
! msgstr "Wie viel die gegebene Übersetzungseinheit durch die interprozedurale Konstantenausbreitung wachsen darf (in Prozent)."
  
  #: params.opt:290
  #, no-c-format
*************** msgid "Maximum number of statements visi
*** 10272,10279 ****
  msgstr "Höchstzahl der betrachteten Anweisungen für das Entdecken von Sprungfunktionsoffsets."
  
  #: params.opt:302
! #, fuzzy, 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."
  msgid "Maximum number of statements that are visited by IPA formal parameter analysis based on alias analysis in any given function."
  msgstr "Höchstzahl der Anweisungen, die von der Analyse der formalen Parameter für IPA besucht werden, basierend auf der Aliasanalyse in einer gegebenen Funktion."
  
--- 10141,10147 ----
  msgstr "Höchstzahl der betrachteten Anweisungen für das Entdecken von Sprungfunktionsoffsets."
  
  #: params.opt:302
! #, no-c-format
  msgid "Maximum number of statements that are visited by IPA formal parameter analysis based on alias analysis in any given function."
  msgstr "Höchstzahl der Anweisungen, die von der Analyse der formalen Parameter für IPA besucht werden, basierend auf der Aliasanalyse in einer gegebenen Funktion."
  
*************** msgid "Maximal number of boundary endpoi
*** 10298,10305 ****
  msgstr "Maximale Anzahl der Grenzendpunkte der Fallbereiche der Switch-Anweisung, die bei der Generierung der IPA-Funktionszusammenfassung verwendet werden."
  
  #: params.opt:322
! #, fuzzy, 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."
  msgid "Minimum probability (as a percentage) of dereferencing of a function pointer parameter for it to be considered for replacement with simple values."
  msgstr "Minimale Wahrscheinlichkeit in Prozent, dass ein Funktionszeiger-Parameter dereferenziert wird, bevor erwogen wird, diesen Funktionszeiger durch einfache Werte zu ersetzen."
  
--- 10166,10172 ----
  msgstr "Maximale Anzahl der Grenzendpunkte der Fallbereiche der Switch-Anweisung, die bei der Generierung der IPA-Funktionszusammenfassung verwendet werden."
  
  #: params.opt:322
! #, no-c-format
  msgid "Minimum probability (as a percentage) of dereferencing of a function pointer parameter for it to be considered for replacement with simple values."
  msgstr "Minimale Wahrscheinlichkeit in Prozent, dass ein Funktionszeiger-Parameter dereferenziert wird, bevor erwogen wird, diesen Funktionszeiger durch einfache Werte zu ersetzen."
  
*************** msgid "The number of registers in each c
*** 10324,10331 ****
  msgstr "Die Anzahl der Register in jeder Klasse, die von Schleifeninvariantenbewegung freigehalten werden."
  
  #: params.opt:342
! #, fuzzy, no-c-format
! #| msgid "Max size of conflict table in MB."
  msgid "Maximum size of conflict table in MB."
  msgstr "Maximale Größe der Konflikttabelle in MB."
  
--- 10191,10197 ----
  msgstr "Die Anzahl der Register in jeder Klasse, die von Schleifeninvariantenbewegung freigehalten werden."
  
  #: params.opt:342
! #, no-c-format
  msgid "Maximum size of conflict table in MB."
  msgstr "Maximale Größe der Konflikttabelle in MB."
  
*************** msgid "Approximate function insn number
*** 10335,10378 ****
  msgstr "Ungefähre Anzahl der Befehle in der Funktion, in Einheiten von 1k, die zu einer einfachen lokalen RA führen."
  
  #: params.opt:350
! #, fuzzy, no-c-format
! #| msgid "Max loops number for regional RA."
  msgid "Maximum number of loops for regional RA."
  msgstr "Maximale Schleifenanzahl für regionale Registerzuweisung (RA)."
  
  #: params.opt:354
! #, fuzzy, no-c-format
! #| msgid "Control ira to consider matching constraint (duplicated operand number) heavily in all available alternatives for preferred register class.  If it is set as zero, it means ira only respects the matching constraint when it's in the only available alternative with an appropriate register class.  Otherwise, it means ira will check all available alternatives for preferred register class even if it has found some choice with an appropriate register class and respect the found qualified matching constraint."
  msgid "Control IRA to consider matching constraint (duplicated operand number) heavily in all available alternatives for preferred register class.  If it is set as zero, it means IRA only respects the matching constraint when it's in the only available alternative with an appropriate register class.  Otherwise, it means IRA checks all available alternatives for preferred register class even if it has found some choice with an appropriate register class and respect the found qualified matching constraint."
! msgstr "Steuert, dass IRA die übereinstimmende Bedingung (doppelte Operandennummer) in allen verfügbaren Alternativen für die bevorzugte Registerklasse stark berücksichtigt. Wenn sie auf Null gesetzt ist, bedeutet dies, dass IRA die übereinstimmende Bedingung nur berücksichtigt, wenn sie in der einzigen verfügbaren Alternative mit einer geeigneten Registerklasse enthalten ist. Andernfalls bedeutet es, dass IRA alle verfügbaren Alternativen für die bevorzugte Registerklasse prüft, selbst wenn sie eine Auswahl mit einer geeigneten Registerklasse gefunden hat, und die gefundene qualifizierte übereinstimmende Einschränkung beachtet."
  
  #: params.opt:358
! #, fuzzy, no-c-format
! #| msgid "If number of candidates in the set is smaller, we always try to remove unused ivs during its optimization."
  msgid "If number of candidates in the set is smaller, we always try to remove unused induction variables during its optimization."
! msgstr "Wenn die Anzahl der Kandidaten in der Menge kleiner ist, wird immer versucht, ungenutzte IVs während ihrer Optimierung zu entfernen."
  
  #: params.opt:362
! #, fuzzy, no-c-format
! #| msgid "Bound on number of candidates below that all candidates are considered in iv optimizations."
  msgid "Bound on number of candidates below that all candidates are considered in induction variable optimizations."
! msgstr "Schranke für Anzahl der Kandidaten, unter der alle Kandidaten in IV-Optimierungen betrachtet werden."
  
  #: params.opt:366
! #, fuzzy, no-c-format
! #| msgid "Bound on number of iv uses in loop optimized in iv optimizations."
  msgid "Bound on number of induction variable uses in loop optimized in IV optimizations."
! msgstr "Schranke für Anzahl der IV-Verwendungen in bei IV-Optimierungen optimierter Schleife."
  
  #: params.opt:370
! #, fuzzy, 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."
  msgid "The maximum code size growth ratio when expanding into a jump table (as a percentage).  The parameter is used when optimizing for size."
  msgstr "Die maximale Wachstumsrate der Codegröße bei der Erweiterung in eine Sprungtabelle (in Prozent). Der Parameter wird bei der Optimierung auf Größe verwendet."
  
  #: params.opt:374
! #, fuzzy, 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."
  msgid "The maximum code size growth ratio when expanding into a jump table (as a percentage).  The parameter is used when optimizing for speed."
  msgstr "Die maximale Wachstumsrate der Codegröße bei der Erweiterung in eine Sprungtabelle (in Prozent). Der Parameter wird bei der Optimierung auf Geschwindigkeit verwendet."
  
--- 10201,10237 ----
  msgstr "Ungefähre Anzahl der Befehle in der Funktion, in Einheiten von 1k, die zu einer einfachen lokalen RA führen."
  
  #: params.opt:350
! #, no-c-format
  msgid "Maximum number of loops for regional RA."
  msgstr "Maximale Schleifenanzahl für regionale Registerzuweisung (RA)."
  
  #: params.opt:354
! #, no-c-format
  msgid "Control IRA to consider matching constraint (duplicated operand number) heavily in all available alternatives for preferred register class.  If it is set as zero, it means IRA only respects the matching constraint when it's in the only available alternative with an appropriate register class.  Otherwise, it means IRA checks all available alternatives for preferred register class even if it has found some choice with an appropriate register class and respect the found qualified matching constraint."
! msgstr "Steuert, dass IRA die übereinstimmende Bedingung (doppelte Operandennummer) in allen verfügbaren Alternativen für die bevorzugte Registerklasse stark berücksichtigt. Wenn sie auf Null gesetzt ist, bedeutet dies, dass IRA die Übereinstimmungs-Einschränkung nur berücksichtigt, wenn sie in der einzigen verfügbaren Alternative mit einer geeigneten Registerklasse enthalten ist. Andernfalls bedeutet es, dass IRA alle verfügbaren Alternativen für die bevorzugte Registerklasse prüft, selbst wenn sie eine Auswahl mit einer geeigneten Registerklasse gefunden hat, und die gefundene qualifizierte Übereinstimmungs-Einschränkung beachtet."
  
  #: params.opt:358
! #, no-c-format
  msgid "If number of candidates in the set is smaller, we always try to remove unused induction variables during its optimization."
! msgstr "Wenn die Anzahl der Kandidaten in der Menge kleiner ist, wird immer versucht, ungenutzte Induktionsvariablen während der Optimierung zu entfernen."
  
  #: params.opt:362
! #, no-c-format
  msgid "Bound on number of candidates below that all candidates are considered in induction variable optimizations."
! msgstr "Schranke für Anzahl der Kandidaten, unter der alle Kandidaten in Induktionsvariablen-Optimierungen betrachtet werden."
  
  #: params.opt:366
! #, no-c-format
  msgid "Bound on number of induction variable uses in loop optimized in IV optimizations."
! msgstr "Schranke, wie oft die Induktionsvariable in einer Schleife, die mittels Induktionsvariablen-Optimierungen optimiert wurde, verwendet werden darf."
  
  #: params.opt:370
! #, no-c-format
  msgid "The maximum code size growth ratio when expanding into a jump table (as a percentage).  The parameter is used when optimizing for size."
  msgstr "Die maximale Wachstumsrate der Codegröße bei der Erweiterung in eine Sprungtabelle (in Prozent). Der Parameter wird bei der Optimierung auf Größe verwendet."
  
  #: params.opt:374
! #, no-c-format
  msgid "The maximum code size growth ratio when expanding into a jump table (as a percentage).  The parameter is used when optimizing for speed."
  msgstr "Die maximale Wachstumsrate der Codegröße bei der Erweiterung in eine Sprungtabelle (in Prozent). Der Parameter wird bei der Optimierung auf Geschwindigkeit verwendet."
  
*************** msgid "The size of L2 cache."
*** 10402,10409 ****
  msgstr "Die Größe des L2-Caches."
  
  #: params.opt:406
! #, fuzzy, no-c-format
! #| msgid "Maximal growth due to inlining of large function (in percent)."
  msgid "Maximal growth due to inlining of large function (as a percentage)."
  msgstr "Maximales Wachstum durch »inline« einer großen Funktion (in Prozent)."
  
--- 10261,10267 ----
  msgstr "Die Größe des L2-Caches."
  
  #: params.opt:406
! #, no-c-format
  msgid "Maximal growth due to inlining of large function (as a percentage)."
  msgstr "Maximales Wachstum durch »inline« einer großen Funktion (in Prozent)."
  
*************** msgid "The size of stack frame to be con
*** 10418,10425 ****
  msgstr "Die Größe eines als groß angesehenen Stapelrahmens."
  
  #: params.opt:418
! #, fuzzy, no-c-format
! #| msgid "Maximal stack frame growth due to inlining (in percent)."
  msgid "Maximal stack frame growth due to inlining (as a percentage)."
  msgstr "Maximales Stapelrahmen-Wachstum durch »inline« (in Prozent)."
  
--- 10276,10282 ----
  msgstr "Die Größe eines als groß angesehenen Stapelrahmens."
  
  #: params.opt:418
! #, no-c-format
  msgid "Maximal stack frame growth due to inlining (as a percentage)."
  msgstr "Maximales Stapelrahmen-Wachstum durch »inline« (in Prozent)."
  
*************** msgid "The maximum number of instruction
*** 10479,10486 ****
  msgstr "Die Höchstzahl der in einer äußeren Schleife zu betrachtenden Befehle für Versionierung, zusätzlich zu den Befehlen in inneren Schleifen."
  
  #: params.opt:466
! #, fuzzy, no-c-format
! #| msgid "Minimal fall-through edge probability in percentage used to add BB to inheritance EBB in LRA."
  msgid "Minimal fall-through edge probability as a percentage, used to add BB to inheritance EBB in LRA."
  msgstr "Mindestwahrscheinlichkeit in Prozent für Durchfall-Kanten, damit der BB zu geerbten EBB in LRA hinzugefügt wird."
  
--- 10336,10342 ----
  msgstr "Die Höchstzahl der in einer äußeren Schleife zu betrachtenden Befehle für Versionierung, zusätzlich zu den Befehlen in inneren Schleifen."
  
  #: params.opt:466
! #, no-c-format
  msgid "Minimal fall-through edge probability as a percentage, used to add BB to inheritance EBB in LRA."
  msgstr "Mindestwahrscheinlichkeit in Prozent für Durchfall-Kanten, damit der BB zu geerbten EBB in LRA hinzugefügt wird."
  
*************** msgstr "Die Höchstzahl Reload-Pseudos,
*** 10492,10498 ****
  #: params.opt:474
  #, no-c-format
  msgid "The maximum log2(number of reload pseudos * number of program points) threshold when preferences for other reload pseudos are still considered. Taking these preferences into account helps to improve register allocation. However, for very large functions, a large value can result in significant compilation time and memory consumption. The default value is 30."
! msgstr ""
  
  #: params.opt:482
  #, no-c-format
--- 10348,10354 ----
  #: params.opt:474
  #, no-c-format
  msgid "The maximum log2(number of reload pseudos * number of program points) threshold when preferences for other reload pseudos are still considered. Taking these preferences into account helps to improve register allocation. However, for very large functions, a large value can result in significant compilation time and memory consumption. The default value is 30."
! msgstr "Der maximale Schwellwert log2(Anzahl der Reload-Pseudos * Anzahl der Programmpunkte), wenn Präferenzen für andere Reload-Pseudos noch berücksichtigt werden. Die Berücksichtigung dieser Präferenzen trägt zur Verbesserung der Registerzuweisung bei. Bei sehr großen Funktionen kann ein hoher Wert jedoch zu einer erheblichen Verlängerung der Kompilierungszeit und zu einem hohen Speicherverbrauch führen. Der Standardwert ist 30."
  
  #: params.opt:482
  #, no-c-format
*************** msgid "Maximal size of a partition for L
*** 10500,10507 ****
  msgstr "Kleinste Größe einer Partition für LTO (in geschätzten Befehlen)"
  
  #: params.opt:486
! #, fuzzy, no-c-format
! #| msgid "maximal number of LTO partitions streamed in parallel."
  msgid "Maximal number of LTO partitions streamed in parallel."
  msgstr "Höchstzahl der LTO-Partitionen, die parallel gestreamt werden."
  
--- 10356,10362 ----
  msgstr "Kleinste Größe einer Partition für LTO (in geschätzten Befehlen)"
  
  #: params.opt:486
! #, no-c-format
  msgid "Maximal number of LTO partitions streamed in parallel."
  msgstr "Höchstzahl der LTO-Partitionen, die parallel gestreamt werden."
  
*************** msgstr "Kleinste Größe einer Lokalitä
*** 10533,10539 ****
  #: params.opt:531
  #, no-c-format
  msgid "Choose static heuristics for locality layout. Option cpp_template groups by C++ template instantiation type."
! msgstr ""
  
  #: params.opt:535
  #, no-c-format
--- 10388,10394 ----
  #: params.opt:531
  #, no-c-format
  msgid "Choose static heuristics for locality layout. Option cpp_template groups by C++ template instantiation type."
! msgstr "Statische Heuristik für das Layout der Lokalität. Die Option cpp_template gruppiert nach dem Instanziierungstyp des C++-Templates."
  
  #: params.opt:535
  #, no-c-format
*************** msgid "The maximum memory locations reco
*** 10586,10593 ****
  msgstr "Höchstzahl der Speicherstellen, die von cselib aufgezeichnet werden."
  
  #: params.opt:575
! #, fuzzy, no-c-format
! #| msgid "Max. count of debug markers to expand or inline."
  msgid "Maximum count of debug markers to expand or inline."
  msgstr "Maximalzahl der Debugmarkierungen, die expandiert oder eingereiht werden."
  
--- 10441,10447 ----
  msgstr "Höchstzahl der Speicherstellen, die von cselib aufgezeichnet werden."
  
  #: params.opt:575
! #, no-c-format
  msgid "Maximum count of debug markers to expand or inline."
  msgstr "Maximalzahl der Debugmarkierungen, die expandiert oder eingereiht werden."
  
*************** msgid "Maximum number of active local st
*** 10607,10616 ****
  msgstr "Höchstzahl der aktiven lokalen Speicherungen bei RTL-Eliminierung toter Speicherungen."
  
  #: params.opt:591
! #, fuzzy, no-c-format
! #| msgid "Max number of bytes to move inline."
  msgid "Maximum number of targets to devirutalize."
! msgstr "Maximalzahl der Bytes, die inline kopiert werden."
  
  #: params.opt:595
  #, no-c-format
--- 10461,10469 ----
  msgstr "Höchstzahl der aktiven lokalen Speicherungen bei RTL-Eliminierung toter Speicherungen."
  
  #: params.opt:591
! #, no-c-format
  msgid "Maximum number of targets to devirutalize."
! msgstr "Maximalzahl der Ziele, die entvirtualisiert werden."
  
  #: params.opt:595
  #, no-c-format
*************** msgid "Maximum amount of iterations of t
*** 10868,10875 ****
  msgstr "Höchstzahl der Iterationen des Durchgangs über eine Funktion."
  
  #: params.opt:811
! #, fuzzy, no-c-format
! #| msgid "Maximum number of strings for which strlen optimization pass will track string lengths."
  msgid "Maximum number of strings for which strlen optimization pass tracks string lengths."
  msgstr "Höchstzahl der Zeichenketten, für die der strlen-Optimierungsdurchgang Zeichenkettenlängen aufzeichnet."
  
--- 10721,10727 ----
  msgstr "Höchstzahl der Iterationen des Durchgangs über eine Funktion."
  
  #: params.opt:811
! #, no-c-format
  msgid "Maximum number of strings for which strlen optimization pass tracks string lengths."
  msgstr "Höchstzahl der Zeichenketten, für die der strlen-Optimierungsdurchgang Zeichenkettenlängen aufzeichnet."
  
*************** msgid "The maximum depth of a loop nest
*** 10899,10926 ****
  msgstr "Die maximale Schachtelungstiefe von Schleifen, in denen Fallunterscheidungen getroffen werden."
  
  #: params.opt:835
! #, fuzzy, 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."
  msgid "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable is expanded during loop unrolling."
  msgstr "Wenn »-fvariable-expansion-in-unroller« verwendet wird, die Höchstzahl der Fälle, dass eine einzelne Variable während Loop-Unrolling expandiert wird."
  
  #: params.opt:839
! #, fuzzy, no-c-format
! #| msgid "Max. recursion depth for expanding var tracking expressions."
  msgid "Maximum recursion depth for expanding var tracking expressions."
  msgstr "Größte Rekursionstiefe für das Expandieren von variablenverfolgenden Ausdrücken."
  
  #: params.opt:843
! #, fuzzy, no-c-format
! #| msgid "Max. size of loc list for which reverse ops should be added."
  msgid "Maximum size of loc list for which reverse ops should be added."
  msgstr "Maximalgröße der Speicherort-Liste, bei der Umkehrungsoperationen hinzugefügt werden sollen."
  
  #: params.opt:847
! #, fuzzy, no-c-format
! #| msgid "Max. size of var tracking hash tables."
  msgid "Maximum size of var tracking hash tables."
! msgstr "Maximale Größe variablenverfolgender Hash-Tabellen."
  
  #: params.opt:851
  #, no-c-format
--- 10751,10774 ----
  msgstr "Die maximale Schachtelungstiefe von Schleifen, in denen Fallunterscheidungen getroffen werden."
  
  #: params.opt:835
! #, no-c-format
  msgid "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable is expanded during loop unrolling."
  msgstr "Wenn »-fvariable-expansion-in-unroller« verwendet wird, die Höchstzahl der Fälle, dass eine einzelne Variable während Loop-Unrolling expandiert wird."
  
  #: params.opt:839
! #, no-c-format
  msgid "Maximum recursion depth for expanding var tracking expressions."
  msgstr "Größte Rekursionstiefe für das Expandieren von variablenverfolgenden Ausdrücken."
  
  #: params.opt:843
! #, no-c-format
  msgid "Maximum size of loc list for which reverse ops should be added."
  msgstr "Maximalgröße der Speicherort-Liste, bei der Umkehrungsoperationen hinzugefügt werden sollen."
  
  #: params.opt:847
! #, no-c-format
  msgid "Maximum size of var tracking hash tables."
! msgstr "Maximale Größe der variablenverfolgenden Hashtabellen."
  
  #: params.opt:851
  #, no-c-format
*************** msgid "Inline recursively only when the
*** 10938,10945 ****
  msgstr "Rekursives inlinen nur, wenn die Wahrscheinlichkeit des Aufrufs den Parameter überschreitet."
  
  #: params.opt:863
! #, fuzzy, no-c-format
! #| msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count."
  msgid "Minimum ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count."
  msgstr "Kleinstes Verhältnis von Befehlen zu Prefetches, um Prefetching für eine Schleife mit unbekannter Frequentierung einzuschalten."
  
--- 10786,10792 ----
  msgstr "Rekursives inlinen nur, wenn die Wahrscheinlichkeit des Aufrufs den Parameter überschreitet."
  
  #: params.opt:863
! #, no-c-format
  msgid "Minimum ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count."
  msgstr "Kleinstes Verhältnis von Befehlen zu Prefetches, um Prefetching für eine Schleife mit unbekannter Frequentierung einzuschalten."
  
*************** msgid "--param=parloops-schedule=[static
*** 10994,11001 ****
  msgstr "--param=parloops-schedule=[static|dynamic|guided|auto|runtime]\tArt des OMP-Zeitplans für Schleifen, die durch parloops parallelisiert werden."
  
  #: params.opt:943
! #, fuzzy, 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."
  msgid "Maximum probability of the entry BB of split region (as a percentage relative to entry BB of the function) to make partial inlining happen."
  msgstr "Größte Wahrscheinlichkeit des Einsprung-BB der geteilten Region (in Prozent relativ zum Einsprung-BB der Funktion), um teilweises »inline« durchzuführen."
  
--- 10841,10847 ----
  msgstr "--param=parloops-schedule=[static|dynamic|guided|auto|runtime]\tArt des OMP-Zeitplans für Schleifen, die durch parloops parallelisiert werden."
  
  #: params.opt:943
! #, no-c-format
  msgid "Maximum probability of the entry BB of split region (as a percentage relative to entry BB of the function) to make partial inlining happen."
  msgstr "Größte Wahrscheinlichkeit des Einsprung-BB der geteilten Region (in Prozent relativ zum Einsprung-BB der Funktion), um teilweises »inline« durchzuführen."
  
*************** msgid "The number of insns executed befo
*** 11020,11027 ****
  msgstr "Die Anzahl der ausgeführten Befehle, bevor Prefetch abgeschlossen ist."
  
  #: params.opt:963
! #, fuzzy, no-c-format
! #| msgid "Min. ratio of insns to mem ops to enable prefetching in a loop."
  msgid "Minimum ratio of insns to mem ops to enable prefetching in a loop."
  msgstr "Kleinstes Verhältnis von Befehlen zu Speicheroperationen, um Prefetching in einer Schleife einzuschalten."
  
--- 10866,10872 ----
  msgstr "Die Anzahl der ausgeführten Befehle, bevor Prefetch abgeschlossen ist."
  
  #: params.opt:963
! #, no-c-format
  msgid "Minimum ratio of insns to mem ops to enable prefetching in a loop."
  msgstr "Kleinstes Verhältnis von Befehlen zu Speicheroperationen, um Prefetching in einer Schleife einzuschalten."
  
*************** msgid "--param=ranger-debug=[none|trace|
*** 11041,11050 ****
  msgstr "--param=ranger-debug=[none|trace|gori|cache|tracegori|all]\tAusgabemodus für das Ranger-Debuggen festlegen."
  
  #: params.opt:1000
! #, fuzzy, no-c-format
! #| msgid "Maximum depth of logical expression evaluation ranger will look through when evaluating outgoing edge ranges."
  msgid "Maximum depth of logical expression evaluation ranger looks through when evaluating outgoing edge ranges."
! msgstr "Maximale Tiefe der logischen Ausdrücke, die von der Bereichsanalyse erfasst werden, um ausgehende Bereiche zu evaluieren."
  
  #: params.opt:1005
  #, no-c-format
--- 10886,10894 ----
  msgstr "--param=ranger-debug=[none|trace|gori|cache|tracegori|all]\tAusgabemodus für das Ranger-Debuggen festlegen."
  
  #: params.opt:1000
! #, no-c-format
  msgid "Maximum depth of logical expression evaluation ranger looks through when evaluating outgoing edge ranges."
! msgstr "Maximale Tiefe der logischen Ausdrücke, die von der Bereichsanalyse erfasst werden, um Bereiche an ausgehenden Kanten zu evaluieren."
  
  #: params.opt:1005
  #, no-c-format
*************** msgid "Maximum depth of instruction chai
*** 11052,11059 ****
  msgstr "Die maximale Tiefe der Befehlsketten, die für die Neuberechnung der ausgehenden Wertebereiche berücksichtigt werden."
  
  #: params.opt:1010
! #, fuzzy, no-c-format
! #| msgid "Maximum number of relations the oracle will register in a basic block."
  msgid "Maximum number of relations the oracle registers in a basic block."
  msgstr "Höchstzahl an Beziehungen, die das Orakel pro Basis-Block registriert."
  
--- 10896,10902 ----
  msgstr "Die maximale Tiefe der Befehlsketten, die für die Neuberechnung der ausgehenden Wertebereiche berücksichtigt werden."
  
  #: params.opt:1010
! #, no-c-format
  msgid "Maximum number of relations the oracle registers in a basic block."
  msgstr "Höchstzahl an Beziehungen, die das Orakel pro Basis-Block registriert."
  
*************** msgid "Which -fsched-pressure algorithm
*** 11098,11107 ****
  msgstr "Anzuwendender Algorithmus für »-fsched-pressure«."
  
  #: params.opt:1046
! #, fuzzy, no-c-format
! #| msgid "The minimal probability of speculation success (in percents), so that speculative insn will be scheduled."
  msgid "The minimal probability of speculation success (as a percentage), so that speculative insns are scheduled."
! msgstr "Die Mindestwahrscheinlichkeit für spekulativen Erfolg (in Prozent), sodass spekulativer Befehl eingeplant wird."
  
  #: params.opt:1050
  #, no-c-format
--- 10941,10949 ----
  msgstr "Anzuwendender Algorithmus für »-fsched-pressure«."
  
  #: params.opt:1046
! #, no-c-format
  msgid "The minimal probability of speculation success (as a percentage), so that speculative insns are scheduled."
! msgstr "Die Mindestwahrscheinlichkeit für spekulativen Erfolg (in Prozent), sodass spekulative Befehle eingeplant werden."
  
  #: params.opt:1050
  #, no-c-format
*************** msgid "A factor for tuning the upper bou
*** 11149,11158 ****
  msgstr "Ein Faktor, um die obere Schranke des Swing-Modulo-Schedulers für Schleifenplanung einzustellen."
  
  #: params.opt:1086
! #, fuzzy, no-c-format
! #| msgid "The minimum value of stage count that swing modulo scheduler will generate."
  msgid "The minimum value of stage count that swing modulo scheduler generates."
! msgstr "Kleinster Wert der Stufenzahl, den der Swing-Modulo-Scheduler erzeugen wird."
  
  #: params.opt:1090
  #, no-c-format
--- 10991,10999 ----
  msgstr "Ein Faktor, um die obere Schranke des Swing-Modulo-Schedulers für Schleifenplanung einzustellen."
  
  #: params.opt:1086
! #, no-c-format
  msgid "The minimum value of stage count that swing modulo scheduler generates."
! msgstr "Kleinster Wert der Stufenzahl, den der Swing-Modulo-Scheduler erzeugt."
  
  #: params.opt:1090
  #, no-c-format
*************** msgid "Maximum size, in storage units, o
*** 11165,11174 ****
  msgstr "Maximale Größe (in Speichereinheiten) von Aggregaten, die für Skalarisierung erwägt werden, wenn auf Geschwindigkeit optimiert wird."
  
  #: params.opt:1098
! #, fuzzy, no-c-format
! #| msgid "Maximum number of artificial accesses to enable forward propagation that Scalar Replacement of Aggregates will keep for one local variable."
  msgid "Maximum number of artificial accesses to enable forward propagation that Scalar Replacement of Aggregates keeps for one local variable."
! msgstr "Maximale Anzahl von künstlichen Zugriffen, um eine Vorwärtsausbreitung zu ermöglichen, die die Skalare Ersetzung von Aggregaten für eine lokale Variable beibehält."
  
  #: params.opt:1102
  #, no-c-format
--- 11006,11014 ----
  msgstr "Maximale Größe (in Speichereinheiten) von Aggregaten, die für Skalarisierung erwägt werden, wenn auf Geschwindigkeit optimiert wird."
  
  #: params.opt:1098
! #, no-c-format
  msgid "Maximum number of artificial accesses to enable forward propagation that Scalar Replacement of Aggregates keeps for one local variable."
! msgstr "Maximalzahl von künstlichen Zugriffen, um eine Vorwärtsausbreitung zu ermöglichen, die die Skalare Ersetzung von Aggregaten für eine lokale Variable beibehält."
  
  #: params.opt:1102
  #, no-c-format
*************** msgid "The percentage of function, weigh
*** 11267,11298 ****
  msgstr "Prozentsatz der Funktion, gewichtet nach Ausführungshäufigkeit, die bei Verfolgungsentwurf abgedeckt werden muss. Verwendet, wenn Profil-Rückmeldung verfügbar ist."
  
  #: params.opt:1187
! #, fuzzy, no-c-format
! #| msgid "Maximal code growth caused by tail duplication (in percent)."
  msgid "Maximal code growth caused by tail duplication (as a percentage)."
  msgstr "Maximaler Code-Zuwachs durch Ende-Vervielfältigung (in Prozent)."
  
  #: params.opt:1191
! #, fuzzy, 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."
  msgid "Stop forward growth if the probability of best edge is less than this threshold (as a percentage). Used when profile feedback is not available."
  msgstr "Vorwärtswachstum anhalten, wenn die Wahrscheinlichkeit der besten Kante weniger als dieser Schwellwert ist. Verwendet, wenn Profil-Rückmeldung nicht verfügbar ist."
  
  #: params.opt:1195
! #, fuzzy, 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."
  msgid "Stop forward growth if the probability of best edge is less than this threshold (as a percentage). Used when profile feedback is available."
  msgstr "Vorwärtswachstum anhalten, wenn die Wahrscheinlichkeit der besten Kante weniger als dieser Schwellwert ist. Verwendet, wenn Profil-Rückmeldung verfügbar ist."
  
  #: params.opt:1199
! #, fuzzy, no-c-format
! #| msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percent)."
  msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (as a percentage)."
  msgstr "Umgekehrtes Wachstum anhalten, wenn die umgekehrte Wahrscheinlichkeit der besten Kante weniger als dieser Schwellwert ist (in Prozent)."
  
  #: params.opt:1203
! #, fuzzy, no-c-format
! #| msgid "Set the maximum number of instructions executed in parallel in reassociated tree.  If 0, use the target dependent heuristic."
  msgid "Set the maximum number of instructions executed in parallel in reassociated tree.  If 0, use the target-dependent heuristic."
  msgstr "Höchstzahl der parallel ausgeführten Befehle im neuverbundenen Baum festlegen. Bei 0 die zielabhängige Heuristik verwenden."
  
--- 11107,11133 ----
  msgstr "Prozentsatz der Funktion, gewichtet nach Ausführungshäufigkeit, die bei Verfolgungsentwurf abgedeckt werden muss. Verwendet, wenn Profil-Rückmeldung verfügbar ist."
  
  #: params.opt:1187
! #, no-c-format
  msgid "Maximal code growth caused by tail duplication (as a percentage)."
  msgstr "Maximaler Code-Zuwachs durch Ende-Vervielfältigung (in Prozent)."
  
  #: params.opt:1191
! #, no-c-format
  msgid "Stop forward growth if the probability of best edge is less than this threshold (as a percentage). Used when profile feedback is not available."
  msgstr "Vorwärtswachstum anhalten, wenn die Wahrscheinlichkeit der besten Kante weniger als dieser Schwellwert ist. Verwendet, wenn Profil-Rückmeldung nicht verfügbar ist."
  
  #: params.opt:1195
! #, no-c-format
  msgid "Stop forward growth if the probability of best edge is less than this threshold (as a percentage). Used when profile feedback is available."
  msgstr "Vorwärtswachstum anhalten, wenn die Wahrscheinlichkeit der besten Kante weniger als dieser Schwellwert ist. Verwendet, wenn Profil-Rückmeldung verfügbar ist."
  
  #: params.opt:1199
! #, no-c-format
  msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (as a percentage)."
  msgstr "Umgekehrtes Wachstum anhalten, wenn die umgekehrte Wahrscheinlichkeit der besten Kante weniger als dieser Schwellwert ist (in Prozent)."
  
  #: params.opt:1203
! #, no-c-format
  msgid "Set the maximum number of instructions executed in parallel in reassociated tree.  If 0, use the target-dependent heuristic."
  msgstr "Höchstzahl der parallel ausgeführten Befehle im neuverbundenen Baum festlegen. Bei 0 die zielabhängige Heuristik verwenden."
  
*************** msgstr "Schleifenvektorisierung von Glei
*** 11414,11430 ****
  #: params.opt:1300
  #, no-c-format
  msgid "The scaling multiplier as a percentage to apply to all scalar loop costing when performing vectorization profitability analysis.  The default value is 100."
! msgstr ""
  
  #: params.opt:1304
  #, no-c-format
  msgid "Maximum number of basic blocks before VRP switches to a fast model with less memory requirements."
! msgstr "Maximale Anzahl von Basisblöcken, bevor VRP auf ein schnelles Modell mit geringerem Speicherbedarf umschaltet."
  
  #: params.opt:1308
  #, no-c-format
  msgid "Maximum number of steps when inferring a value range from a load from a constant aggregate."
! msgstr ""
  
  #: params.opt:1312
  #, no-c-format
--- 11249,11265 ----
  #: params.opt:1300
  #, no-c-format
  msgid "The scaling multiplier as a percentage to apply to all scalar loop costing when performing vectorization profitability analysis.  The default value is 100."
! msgstr "Der Skalierungsfaktor in Prozent, der bei der Durchführung einer Vektorisierungsrentabilitätsanalyse auf alle Kosten einer skalaren Schleife angewendet wird. Der Standardwert ist 100."
  
  #: params.opt:1304
  #, no-c-format
  msgid "Maximum number of basic blocks before VRP switches to a fast model with less memory requirements."
! msgstr "Höchstzahl von Basisblöcken, bevor VRP auf ein schnelles Modell mit geringerem Speicherbedarf umschaltet."
  
  #: params.opt:1308
  #, no-c-format
  msgid "Maximum number of steps when inferring a value range from a load from a constant aggregate."
! msgstr "Höchstzahl von Schritten bei der Ableitung eines Wertebereichs aus einer Ladeoperation aus einem konstanten Aggregat."
  
  #: params.opt:1312
  #, no-c-format
*************** msgid "Maximum number of basic blocks be
*** 11432,11439 ****
  msgstr "Höchstzahl der Basis-Blöcke, bevor VRP einen spärlich gefüllten Bitmap-Cache verwendet."
  
  #: params.opt:1316
! #, fuzzy, no-c-format
! #| msgid "Maximum number of outgoing edges in a switch before VRP will not process it."
  msgid "Maximum number of outgoing edges in a switch before VRP does not process it."
  msgstr "Höchstzahl der ausgehenden Kanten in einem Switch, bevor VRP sie nicht mehr verarbeitet."
  
--- 11267,11273 ----
  msgstr "Höchstzahl der Basis-Blöcke, bevor VRP einen spärlich gefüllten Bitmap-Cache verwendet."
  
  #: params.opt:1316
! #, no-c-format
  msgid "Maximum number of outgoing edges in a switch before VRP does not process it."
  msgstr "Höchstzahl der ausgehenden Kanten in einem Switch, bevor VRP sie nicht mehr verarbeitet."
  
*************** msgid "Warn about code paths in which an
*** 11693,11702 ****
  msgstr "Bei Codepfaden warnen, in denen ein nicht überprüfter Wert als Größe verwendet wird."
  
  #: analyzer/analyzer.opt:227
! #, fuzzy, no-c-format
! #| msgid "Warn about code paths in which a non-heap pointer is freed."
  msgid "Warn about code paths in which an exception of unexpected type is thrown."
! msgstr "Bei Codepfaden warnen, in denen ein Zeiger freigegeben wird, der nicht vom Heap kommt."
  
  #: analyzer/analyzer.opt:231
  #, no-c-format
--- 11527,11535 ----
  msgstr "Bei Codepfaden warnen, in denen ein nicht überprüfter Wert als Größe verwendet wird."
  
  #: analyzer/analyzer.opt:227
! #, no-c-format
  msgid "Warn about code paths in which an exception of unexpected type is thrown."
! msgstr "Bei Codepfaden warnen, in denen eine Exception eines unerwarteten Typs geworfen wird."
  
  #: analyzer/analyzer.opt:231
  #, no-c-format
*************** msgid "Warn if the code is too complicat
*** 11764,11773 ****
  msgstr "Warnen, wenn der Code so kompliziert ist, dass er nicht vollständig analysiert werden kann."
  
  #: analyzer/analyzer.opt:283
! #, fuzzy, no-c-format
! #| msgid "Delete dead instructions that may throw exceptions."
  msgid "Assume that no function calls can throw exceptions."
! msgstr "Unerreichbare Befehle löschen, die Ausnahmen werfen können."
  
  #: analyzer/analyzer.opt:287
  #, no-c-format
--- 11597,11605 ----
  msgstr "Warnen, wenn der Code so kompliziert ist, dass er nicht vollständig analysiert werden kann."
  
  #: analyzer/analyzer.opt:283
! #, no-c-format
  msgid "Assume that no function calls can throw exceptions."
! msgstr "Davon ausgehen, dass kein Funktionsaufruf eine Exception werfen kann."
  
  #: analyzer/analyzer.opt:287
  #, no-c-format
*************** msgstr "Einen Hinweis ausgeben, wenn dop
*** 11792,11798 ****
  #: analyzer/analyzer.opt:307
  #, no-c-format
  msgid "Simplify the supergraph before analyzing it."
! msgstr ""
  
  #: analyzer/analyzer.opt:311
  #, no-c-format
--- 11624,11630 ----
  #: analyzer/analyzer.opt:307
  #, no-c-format
  msgid "Simplify the supergraph before analyzing it."
! msgstr "Den Supergraphen vereinfachen, bevor er analysiert wird."
  
  #: analyzer/analyzer.opt:311
  #, no-c-format
*************** msgstr "Zielspezifische Befehlszeilenopt
*** 11932,11941 ****
  #: common.opt:460 common.opt:502 common.opt:506 common.opt:510 common.opt:514
  #: common.opt:518 common.opt:522 common.opt:526 common.opt:943 common.opt:3861
  #: common.opt:3956 common.opt:4070
! #, fuzzy, no-c-format
! #| msgid "Pass -z text to linker."
  msgid "Passed to the linker."
! msgstr "»-z text« an den Binder übergeben."
  
  #: common.opt:464
  #, no-c-format
--- 11764,11772 ----
  #: common.opt:460 common.opt:502 common.opt:506 common.opt:510 common.opt:514
  #: common.opt:518 common.opt:522 common.opt:526 common.opt:943 common.opt:3861
  #: common.opt:3956 common.opt:4070
! #, no-c-format
  msgid "Passed to the linker."
! msgstr "Wird an den Binder übergeben."
  
  #: common.opt:464
  #, no-c-format
*************** msgstr "Aggressiv auf Größe statt Gesc
*** 11965,11976 ****
  #: common.opt:485
  #, no-c-format
  msgid "-Q --help prints what options are enabled.  Just -Q enables verbose messages."
! msgstr ""
  
  #: common.opt:498
  #, no-c-format
  msgid "Stop processing after generating assembly code; do not assemble."
! msgstr ""
  
  #: common.opt:530
  #, no-c-format
--- 11796,11807 ----
  #: common.opt:485
  #, no-c-format
  msgid "-Q --help prints what options are enabled.  Just -Q enables verbose messages."
! msgstr "-Q --help gibt an, welche Optionen eingeschaltet sind. Nur -Q schaltet ausführliche Meldungen ein."
  
  #: common.opt:498
  #, no-c-format
  msgid "Stop processing after generating assembly code; do not assemble."
! msgstr "Verarbeitung nach Generierung des Assemblercodes beenden; nicht assemblieren."
  
  #: common.opt:530
  #, no-c-format
*************** msgid "Warn if an array is accessed out
*** 11993,12002 ****
  msgstr "Warnen, wenn auf ein Array außerhalb der Grenzen zugegriffen wird."
  
  #: common.opt:558
! #, fuzzy, no-c-format
! #| msgid "Warn about zero-length formats."
  msgid "Warn about problems with auto-profile data."
! msgstr "Bei Formaten der Länge null warnen."
  
  #: common.opt:562 common.opt:566
  #, no-c-format
--- 11824,11832 ----
  msgstr "Warnen, wenn auf ein Array außerhalb der Grenzen zugegriffen wird."
  
  #: common.opt:558
! #, no-c-format
  msgid "Warn about problems with auto-profile data."
! msgstr "Bei Problemen mit Autoprofil-Daten warnen."
  
  #: common.opt:562 common.opt:566
  #, no-c-format
*************** msgstr "Profilierungsinformationen für
*** 12516,12522 ****
  #: common.opt:1213
  #, no-c-format
  msgid "Perform inlining using auto-profile."
! msgstr ""
  
  #: common.opt:1221
  #, no-c-format
--- 12346,12352 ----
  #: common.opt:1213
  #, no-c-format
  msgid "Perform inlining using auto-profile."
! msgstr "Inlining mittels Autoprofil durchführen."
  
  #: common.opt:1221
  #, no-c-format
*************** msgstr "Unnötige Nullzeigerprüfungen l
*** 12696,12702 ****
  #: common.opt:1408
  #, no-c-format
  msgid "Issue defining instructions back to back with their single uses, provided they are macro-fusible in the target microarchitecture."
! msgstr ""
  
  #: common.opt:1412
  #, no-c-format
--- 12526,12532 ----
  #: common.opt:1408
  #, no-c-format
  msgid "Issue defining instructions back to back with their single uses, provided they are macro-fusible in the target microarchitecture."
! msgstr "Ausgabe von Befehlen hintereinander mit ihrer einmaligen Verwendung, vorausgesetzt, sie sind in der Ziel-Mikroarchitektur makro-verschmelzbar."
  
  #: common.opt:1412
  #, no-c-format
*************** msgid "-fdiagnostics-column-origin=<numb
*** 12764,12773 ****
  msgstr "-fdiagnostics-column-origin=<Nummer>\tLegt die Nummer der ersten Spalte fest. Die Vorgabe ist gemäß GNU-Stil 1-basiert, aber einige Dienstprogramme erwarten 0-basierte Spaltennummern."
  
  #: common.opt:1513
! #, fuzzy, no-c-format
! #| msgid "-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-file]\tSelect output format."
  msgid "-fdiagnostics-format=[text|sarif-stderr|sarif-file]\tSelect output format."
! msgstr "-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-file]\tAusgabeformat auswählen."
  
  #: common.opt:1517
  #, no-c-format
--- 12594,12602 ----
  msgstr "-fdiagnostics-column-origin=<Nummer>\tLegt die Nummer der ersten Spalte fest. Die Vorgabe ist gemäß GNU-Stil 1-basiert, aber einige Dienstprogramme erwarten 0-basierte Spaltennummern."
  
  #: common.opt:1513
! #, no-c-format
  msgid "-fdiagnostics-format=[text|sarif-stderr|sarif-file]\tSelect output format."
! msgstr "-fdiagnostics-format=[text|sarif-stderr|sarif-file]\tAusgabeformat auswählen."
  
  #: common.opt:1517
  #, no-c-format
*************** msgstr "Mindestbreite des linken Randes
*** 12847,12868 ****
  #: common.opt:1638
  #, no-c-format
  msgid "Use indentation to show nesting of diagnostics in text output."
! msgstr ""
  
  #: common.opt:1642
  #, no-c-format
  msgid "Show location information when showing nested diagnostics."
! msgstr ""
  
  #: common.opt:1646
  #, no-c-format
  msgid "Show nesting levels as numbers when showing nested diagnostics."
! msgstr ""
  
  #: common.opt:1653
  #, no-c-format
  msgid "Collect and print more context information for diagnostics."
! msgstr ""
  
  #: common.opt:1657
  #, no-c-format
--- 12676,12697 ----
  #: common.opt:1638
  #, no-c-format
  msgid "Use indentation to show nesting of diagnostics in text output."
! msgstr "Einrückung verwenden, um die Verschachtelung von Diagnosen in der Textausgabe darzustellen."
  
  #: common.opt:1642
  #, no-c-format
  msgid "Show location information when showing nested diagnostics."
! msgstr "Codestellen anzeigen, wenn verschachtelte Diagnosen angezeigt werden."
  
  #: common.opt:1646
  #, no-c-format
  msgid "Show nesting levels as numbers when showing nested diagnostics."
! msgstr "Bei der Anzeige verschachtelter Diagnosen die Verschachtelungsebenen als Zahlen anzeigen."
  
  #: common.opt:1653
  #, no-c-format
  msgid "Collect and print more context information for diagnostics."
! msgstr "Mehr Kontextinformationen für Diagnosen sammeln."
  
  #: common.opt:1657
  #, no-c-format
*************** msgstr "Jede Funktion in ihren eigenen A
*** 13022,13028 ****
  #: common.opt:1834
  #, no-c-format
  msgid "Allow limited optimization of operations with volatile memory access."
! msgstr ""
  
  #: common.opt:1838
  #, no-c-format
--- 12851,12857 ----
  #: common.opt:1834
  #, no-c-format
  msgid "Allow limited optimization of operations with volatile memory access."
! msgstr "Begrenzte Optimierung von Operationen mit volatilem Speicherzugriff erlauben."
  
  #: common.opt:1838
  #, no-c-format
*************** msgstr "Optimierer für geschachtelte Sc
*** 13117,13123 ****
  #: common.opt:1943
  #, no-c-format
  msgid "Turn indirect calls of pointers loaded from structures to speculative calls if there is one known candidate."
! msgstr ""
  
  #: common.opt:1947
  #, no-c-format
--- 12946,12952 ----
  #: common.opt:1943
  #, no-c-format
  msgid "Turn indirect calls of pointers loaded from structures to speculative calls if there is one known candidate."
! msgstr "Indirekte Aufrufe von Zeigern, die aus Strukturen geladen wurden, in spekulative Aufrufe umwandeln, wenn es einen bekannten Kandidaten gibt."
  
  #: common.opt:1947
  #, no-c-format
*************** msgid "-fhardcfr-check-noreturn-calls=[a
*** 13175,13184 ****
  msgstr "-fhardcfr-check-noreturn-calls=[always|no-xthrow|nothrow|never]\tCFR-Ausführungspfade auch prüfen, bevor noreturn-Funktionen aufgerufen werden."
  
  #: common.opt:2008
! #, fuzzy, no-c-format
! #| msgid "Emit .stack_size directives."
  msgid "Emit .ident assembler directives."
! msgstr ".stack_size-Direktiven erzeugen."
  
  #: common.opt:2012
  #, no-c-format
--- 13004,13012 ----
  msgstr "-fhardcfr-check-noreturn-calls=[always|no-xthrow|nothrow|never]\tCFR-Ausführungspfade auch prüfen, bevor noreturn-Funktionen aufgerufen werden."
  
  #: common.opt:2008
! #, no-c-format
  msgid "Emit .ident assembler directives."
! msgstr ".ident-Assembler-Direktiven erzeugen."
  
  #: common.opt:2012
  #, no-c-format
*************** msgstr "Algorithmus, mit dem Symbole und
*** 13458,13464 ****
  #: common.opt:2366
  #, no-c-format
  msgid "Enable heuristics to recognize symbol identifiers in toplevel (not extended) assembly and prevent their mangling/deletion."
! msgstr ""
  
  #: common.opt:2371
  #, no-c-format
--- 13286,13292 ----
  #: common.opt:2366
  #, no-c-format
  msgid "Enable heuristics to recognize symbol identifiers in toplevel (not extended) assembly and prevent their mangling/deletion."
! msgstr "Heuristiken aktivieren, um Symbolbezeichner in Toplevel-Assembler (nicht erweitert) zu erkennen und deren Mangelung/Löschung zu verhindern."
  
  #: common.opt:2371
  #, no-c-format
*************** msgid "-ftree-parallelize-loops=<number>
*** 14381,14390 ****
  msgstr "-ftree-parallelize-loops=<Anzahl>\tAutomatische Parallelisierung von Schleifen einschalten."
  
  #: common.opt:3333
! #, fuzzy, no-c-format
! #| msgid "-ftree-parallelize-loops=<number>\tEnable automatic parallelization of loops."
  msgid "Enable automatic parallelization of loops."
! msgstr "-ftree-parallelize-loops=<Anzahl>\tAutomatische Parallelisierung von Schleifen einschalten."
  
  #: common.opt:3337
  #, no-c-format
--- 14209,14217 ----
  msgstr "-ftree-parallelize-loops=<Anzahl>\tAutomatische Parallelisierung von Schleifen einschalten."
  
  #: common.opt:3333
! #, no-c-format
  msgid "Enable automatic parallelization of loops."
! msgstr "Automatische Parallelisierung von Schleifen einschalten."
  
  #: common.opt:3337
  #, no-c-format
*************** msgid "Use the Modern linker (MOLD) link
*** 14522,14537 ****
  msgstr "Den Modernen Binder (MOLD) statt des Standardlinkers verwenden."
  
  #: common.opt:3470
! #, fuzzy, no-c-format
! #| msgid "Use the gold linker instead of the default linker."
  msgid "Use the Wild linker instead of the default linker."
! msgstr "Gold-Binder statt Standardlinker verwenden."
  
  #: common.opt:3477
! #, fuzzy, no-c-format
! #| msgid "Enable link-time optimization."
  msgid "Enable linking of libatomic."
! msgstr "Optimierungen zur Bindezeit einschalten."
  
  #: common.opt:3484
  #, no-c-format
--- 14349,14362 ----
  msgstr "Den Modernen Binder (MOLD) statt des Standardlinkers verwenden."
  
  #: common.opt:3470
! #, no-c-format
  msgid "Use the Wild linker instead of the default linker."
! msgstr "Wild-Binder statt Standardlinker verwenden."
  
  #: common.opt:3477
! #, no-c-format
  msgid "Enable linking of libatomic."
! msgstr "Binden von libatomic einschalten."
  
  #: common.opt:3484
  #, no-c-format
*************** msgid "Do not display functions compiled
*** 14834,14848 ****
  msgstr "Übersetzte Funktionen oder verstrichene Zeit nicht ausgeben."
  
  #: common.opt:3942
! #, fuzzy, no-c-format
! #| msgid "Produce code relocatable at runtime."
  msgid "Produce a relocatable object as output."
! msgstr "Code erzeugen, der zur Laufzeit verschiebbar ist."
  
  #: common.opt:3946
  #, no-c-format
  msgid "Remove all symbol table and relocation information from the executable."
! msgstr ""
  
  #: common.opt:3973
  #, no-c-format
--- 14659,14672 ----
  msgstr "Übersetzte Funktionen oder verstrichene Zeit nicht ausgeben."
  
  #: common.opt:3942
! #, no-c-format
  msgid "Produce a relocatable object as output."
! msgstr "Objekt erzeugen, das zur Laufzeit verschiebbar ist."
  
  #: common.opt:3946
  #, no-c-format
  msgid "Remove all symbol table and relocation information from the executable."
! msgstr "Alle Symboltabellen und Verschiebungsinformationen aus der ausführbaren Datei entfernen."
  
  #: common.opt:3973
  #, no-c-format
*************** msgstr "Totem Code bei Null- und Vorzeic
*** 14892,14926 ****
  #: algol68/lang.opt:37
  #, no-c-format
  msgid "Warn for usage of non-portable extensions of Algol 68."
! msgstr ""
  
  #: algol68/lang.opt:41
! #, fuzzy, no-c-format
! #| msgid "Warn when a variable is unused."
  msgid "Warn when voiding occurs."
! msgstr "Warnen, wenn eine Variable nicht verwendet wird."
  
  #: algol68/lang.opt:49
! #, fuzzy, no-c-format
! #| msgid "Warn on namespace definition."
  msgid "Warn for potential name scope violations."
! msgstr "Bei Namensraum-Definition warnen."
  
  #: algol68/lang.opt:65
! #, fuzzy, no-c-format
! #| msgid "Warn about \"extern\" declarations not at file scope."
  msgid "Warn about hidden declarations in inner scopes."
! msgstr "Bei »extern«-Deklarationen außerhalb des Dateisichtbarkeitsbereiches warnen."
  
  #: algol68/lang.opt:69
  #, no-c-format
  msgid "-Whidden-declarations=[none|prelude|all] Warn about declarations hidden in inner scopes."
! msgstr ""
  
  #: algol68/lang.opt:73
  #, no-c-format
  msgid "-fbrackets  \tConsider [ .. ] and { .. } as being equivalent to ( .. )."
! msgstr ""
  
  #: algol68/lang.opt:77 d/lang.opt:190
  #, no-c-format
--- 14716,14747 ----
  #: algol68/lang.opt:37
  #, no-c-format
  msgid "Warn for usage of non-portable extensions of Algol 68."
! msgstr "Warnung vor der Verwendung nicht portierbarer Erweiterungen von Algol 68."
  
  #: algol68/lang.opt:41
! #, no-c-format
  msgid "Warn when voiding occurs."
! msgstr "Warnen, wenn das Ergebnis eines Ausdrucks verworfen wird."
  
  #: algol68/lang.opt:49
! #, no-c-format
  msgid "Warn for potential name scope violations."
! msgstr "Warnen, wenn möglicherweise ein Namensbereich verletzt wird."
  
  #: algol68/lang.opt:65
! #, no-c-format
  msgid "Warn about hidden declarations in inner scopes."
! msgstr "Warnen, wenn eine versteckte Deklaration in einem inneren Gültigkeitsbereich vorkommt."
  
  #: algol68/lang.opt:69
  #, no-c-format
  msgid "-Whidden-declarations=[none|prelude|all] Warn about declarations hidden in inner scopes."
! msgstr "-Whidden-declarations=[none|prelude|all] Warnen, wenn eine versteckte Deklaration in einem inneren Gültigkeitsbereich vorkommt."
  
  #: algol68/lang.opt:73
  #, no-c-format
  msgid "-fbrackets  \tConsider [ .. ] and { .. } as being equivalent to ( .. )."
! msgstr "-fbrackets  \tDie Klammern [ .. ] und { .. } als gleichwertig zu ( .. ) ansehen."
  
  #: algol68/lang.opt:77 d/lang.opt:190
  #, no-c-format
*************** msgid "Generate code for assert contract
*** 14928,14986 ****
  msgstr "Code für Assert-Verträge generieren."
  
  #: algol68/lang.opt:85
! #, fuzzy, no-c-format
! #| msgid "Display the code tree after parsing."
  msgid "Dump Algol 68 modes after parsing."
! msgstr "Codebaum nach dem Parsen anzeigen."
  
  #: algol68/lang.opt:89
! #, fuzzy, no-c-format
! #| msgid "Display the code tree after parsing."
  msgid "Dump Algol 68 parse tree after parsing."
! msgstr "Codebaum nach dem Parsen anzeigen."
  
  #: algol68/lang.opt:93
  #, no-c-format
  msgid "Dump the interfaces of module definitions in the compiled packet."
! msgstr ""
  
  #: algol68/lang.opt:97
! #, fuzzy, no-c-format
! #| msgid "Link the standard D library statically in the compilation."
  msgid "Link the GNU Algol run-time library statically in the compilation."
! msgstr "Die D-Standardbibliothek statisch in das Compilat binden."
  
  #: algol68/lang.opt:101
! #, fuzzy, no-c-format
! #| msgid "Link the standard D library dynamically in the compilation."
  msgid "Link the GNU Algol 68 run-time library dynamically in the compilation."
! msgstr "Die D-Standardbibliothek dynamisch in das Compilat binden."
  
  #: algol68/lang.opt:105
  #, no-c-format
  msgid "Compile strict Algol 68 as defined by the Revised Report."
! msgstr ""
  
  #: algol68/lang.opt:109
! #, fuzzy, no-c-format
! #| msgid "Accept extensions to support legacy code."
  msgid "Accept GNU extensions to Algol 68."
! msgstr "Erweiterungen akzeptieren, um alten Code zu unterstützen."
  
  #: algol68/lang.opt:115
  #, no-c-format
  msgid "-fstropping=[upper|supper]              Stropping regime to expect in Algol 68 programs."
! msgstr ""
  
  #: algol68/lang.opt:130 algol68/lang.opt:134
  #, no-c-format
  msgid "-fmodules-map=<mapstring>                 Association between module indicants and files."
! msgstr ""
  
  #: algol68/lang.opt:138 algol68/lang.opt:142
  #, no-c-format
  msgid "-fmodules-map-file=<filename>              File containing modules map."
! msgstr ""
  
  #: rust/lang.opt:47 rust/lang.opt:51 c-family/c.opt:1609 c-family/c.opt:1613
  #, no-c-format
--- 14749,14802 ----
  msgstr "Code für Assert-Verträge generieren."
  
  #: algol68/lang.opt:85
! #, no-c-format
  msgid "Dump Algol 68 modes after parsing."
! msgstr "Algol-68-Modi nach dem Parsen anzeigen."
  
  #: algol68/lang.opt:89
! #, no-c-format
  msgid "Dump Algol 68 parse tree after parsing."
! msgstr "Algol-68-Parsebaum nach dem Parsen anzeigen."
  
  #: algol68/lang.opt:93
  #, no-c-format
  msgid "Dump the interfaces of module definitions in the compiled packet."
! msgstr "Die Schnittstellen der Moduldefinitionen im kompilierten Paket ausgeben."
  
  #: algol68/lang.opt:97
! #, no-c-format
  msgid "Link the GNU Algol run-time library statically in the compilation."
! msgstr "Die GNU-Algol-68-Laufzeitbibliothek statisch in das Kompilat binden."
  
  #: algol68/lang.opt:101
! #, no-c-format
  msgid "Link the GNU Algol 68 run-time library dynamically in the compilation."
! msgstr "Die GNU-Algol-68-Laufzeitbibliothek dynamisch in das Kompilat binden."
  
  #: algol68/lang.opt:105
  #, no-c-format
  msgid "Compile strict Algol 68 as defined by the Revised Report."
! msgstr "Strenges Algol 68 wie im Revised Report definiert kompilieren."
  
  #: algol68/lang.opt:109
! #, no-c-format
  msgid "Accept GNU extensions to Algol 68."
! msgstr "GNU-Erweiterungen für Algol 68 akzeptieren."
  
  #: algol68/lang.opt:115
  #, no-c-format
  msgid "-fstropping=[upper|supper]              Stropping regime to expect in Algol 68 programs."
! msgstr "-fstropping=[upper|supper] Zu erwartendes Stropping-Verhalten in Algol-68-Programmen."
  
  #: algol68/lang.opt:130 algol68/lang.opt:134
  #, no-c-format
  msgid "-fmodules-map=<mapstring>                 Association between module indicants and files."
! msgstr "-fmodules-map=<Zuordnung> Zuordnung zwischen Modulindikanten und Dateien."
  
  #: algol68/lang.opt:138 algol68/lang.opt:142
  #, no-c-format
  msgid "-fmodules-map-file=<filename>              File containing modules map."
! msgstr "-fmodules-map-file=<Dateiname> Datei mit der Modulzuordnung."
  
  #: rust/lang.opt:47 rust/lang.opt:51 c-family/c.opt:1609 c-family/c.opt:1613
  #, no-c-format
*************** msgid "Warn if a caller of a function, m
*** 14993,15008 ****
  msgstr "Warnen, wenn der Rückgabewert der mit dem Attribut warn_unused_result definierten Funktion ignoriert wird."
  
  #: rust/lang.opt:63
! #, fuzzy, no-c-format
! #| msgid "-frust-crate=<name>             Set the crate name for the compilation"
  msgid "-frust-crate=<name>             Set the crate name for the compilation."
! msgstr "-frust-crate=<Name>             Crate-Namen für die Übersetzung festlegen"
  
  #: rust/lang.opt:67
! #, fuzzy, no-c-format
! #| msgid "-frust-extern=              Specify where an external library is located"
  msgid "-frust-extern=              Specify where an external library is located."
! msgstr "-frust-extern=              Gibt an, wo sich eine externe Bibliothek befindet"
  
  #: rust/lang.opt:71
  #, no-c-format
--- 14809,14822 ----
  msgstr "Warnen, wenn der Rückgabewert der mit dem Attribut warn_unused_result definierten Funktion ignoriert wird."
  
  #: rust/lang.opt:63
! #, no-c-format
  msgid "-frust-crate=<name>             Set the crate name for the compilation."
! msgstr "-frust-crate=<Name> Crate-Name für die Übersetzung."
  
  #: rust/lang.opt:67
! #, no-c-format
  msgid "-frust-extern=              Specify where an external library is located."
! msgstr "-frust-extern= Ort einer externen Bibliothek."
  
  #: rust/lang.opt:71
  #, no-c-format
*************** msgid "-frust-dump-<type>              D
*** 15015,15078 ****
  msgstr "-frust-dump-<type>              Interne Informationen des Rust-Frontends ausgeben."
  
  #: rust/lang.opt:79
! #, fuzzy, no-c-format
! #| msgid "Enable experimental compilation of Rust files at your own risk"
  msgid "Enable experimental compilation of Rust files at your own risk."
! msgstr "Experimentelle Übersetzung von Rust-Dateien einschalten, auf eigene Gefahr"
  
  #: rust/lang.opt:83
! #, fuzzy, no-c-format
! #| msgid "-frust-max-recursion-depth=<integer>"
  msgid "-frust-max-recursion-depth=<integer>."
! msgstr "-frust-max-recursion-depth=<Anzahl>"
  
  #: rust/lang.opt:87
! #, fuzzy, no-c-format
! #| msgid "-frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Crate type to emit"
  msgid "-frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Crate type to emit."
! msgstr "-frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Auszugebender Crate-Typ"
  
  #: rust/lang.opt:115
! #, fuzzy, no-c-format
! #| msgid "-frust-mangling=[legacy|v0]     Version to use for name mangling"
  msgid "-frust-mangling=[legacy|v0]     Version to use for name mangling."
! msgstr "-frust-mangling=[legacy|v0]     Version der Namensmangelung auswählen"
  
  #: rust/lang.opt:128
! #, fuzzy, no-c-format
! #| msgid "-frust-cfg=<name>             Set a config expansion option"
  msgid "-frust-cfg=<name>             Set a config expansion option."
! msgstr "-frust-cfg=<Name>             Option für Konfigurationsexpansion festlegen"
  
  #: rust/lang.opt:132
! #, fuzzy, no-c-format
! #| msgid "-frust-edition=[2015|2018|2021]             Edition to use when compiling rust code"
  msgid "-frust-edition=[2015|2018|2021]             Edition to use when compiling rust code."
! msgstr "-frust-edition=[2015|2018|2021]             Sprachversion zum Übersetzen auswählen"
  
  #: rust/lang.opt:148
! #, fuzzy, no-c-format
! #| msgid "Enable embedding metadata directly into object files"
  msgid "Enable embedding metadata directly into object files."
! msgstr "Metadaten direkt in Objektdateien einbetten"
  
  #: rust/lang.opt:152
! #, fuzzy, no-c-format
! #| msgid "-frust-metadata-output=<path.rox>  Path to output crate metadata"
  msgid "-frust-metadata-output=<path.rox>  Path to output crate metadata."
! msgstr "-frust-metadata-output=<Pfad.rox>  Pfad, in den die Crate-Metadaten geschrieben werden"
  
  #: rust/lang.opt:160
! #, fuzzy, no-c-format
! #| msgid "-frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end]             The pipeline will run up until this stage when compiling Rust code"
  msgid "-frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end]             The pipeline will run up until this stage when compiling Rust code."
! msgstr "-frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end]             Die Pipeline beim Kompilieren von Rust-Code bis zu dieser Stufe durchlaufen"
  
  #: rust/lang.opt:209
! #, fuzzy, no-c-format
! #| msgid "Use the temporary and experimental name resolution pipeline instead of the stable one"
  msgid "Use the temporary and experimental name resolution pipeline instead of the stable one."
! msgstr "Die temporäre und experimentelle Namensauflösungs-Pipeline statt der stabilen nutzen"
  
  #: rust/lang.opt:213
  #, no-c-format
--- 14829,14882 ----
  msgstr "-frust-dump-<type>              Interne Informationen des Rust-Frontends ausgeben."
  
  #: rust/lang.opt:79
! #, no-c-format
  msgid "Enable experimental compilation of Rust files at your own risk."
! msgstr "Experimentelle Übersetzung von Rust-Dateien einschalten, auf eigene Gefahr."
  
  #: rust/lang.opt:83
! #, no-c-format
  msgid "-frust-max-recursion-depth=<integer>."
! msgstr "-frust-max-recursion-depth=<Anzahl>."
  
  #: rust/lang.opt:87
! #, no-c-format
  msgid "-frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Crate type to emit."
! msgstr "-frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Auszugebender Crate-Typ."
  
  #: rust/lang.opt:115
! #, no-c-format
  msgid "-frust-mangling=[legacy|v0]     Version to use for name mangling."
! msgstr "-frust-mangling=[legacy|v0]     Version der Namensmangelung."
  
  #: rust/lang.opt:128
! #, no-c-format
  msgid "-frust-cfg=<name>             Set a config expansion option."
! msgstr "-frust-cfg=<Name> Art der Konfigurationsexpansion."
  
  #: rust/lang.opt:132
! #, no-c-format
  msgid "-frust-edition=[2015|2018|2021]             Edition to use when compiling rust code."
! msgstr "-frust-edition=[2015|2018|2021] Sprachversion zum Übersetzen."
  
  #: rust/lang.opt:148
! #, no-c-format
  msgid "Enable embedding metadata directly into object files."
! msgstr "Metadaten direkt in Objektdateien einbetten."
  
  #: rust/lang.opt:152
! #, no-c-format
  msgid "-frust-metadata-output=<path.rox>  Path to output crate metadata."
! msgstr "-frust-metadata-output=<Pfad.rox>  Pfad, in den die Crate-Metadaten geschrieben werden."
  
  #: rust/lang.opt:160
! #, no-c-format
  msgid "-frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end]             The pipeline will run up until this stage when compiling Rust code."
! msgstr "-frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end] Die Pipeline beim Kompilieren von Rust-Code bis zu dieser Stufe durchlaufen."
  
  #: rust/lang.opt:209
! #, no-c-format
  msgid "Use the temporary and experimental name resolution pipeline instead of the stable one."
! msgstr "Die temporäre und experimentelle Namensauflösungs-Pipeline statt der stabilen nutzen."
  
  #: rust/lang.opt:213
  #, no-c-format
*************** msgid "Use the WIP borrow checker."
*** 15080,15105 ****
  msgstr "Den WIP-Borrow-Prüfer verwenden."
  
  #: rust/lang.opt:217
! #, fuzzy, no-c-format
! #| msgid "-frust-edition=[unwind|abort]             Panic strategy to compile crate with"
  msgid "-frust-edition=[unwind|abort]             Panic strategy to compile crate with."
! msgstr "-frust-edition=[unwind|abort]             Panikstrategie, mit der Crate compiliert wird"
  
  #: rust/lang.opt:230
! #, fuzzy, no-c-format
! #| msgid "Enable the overflow checks in code generation"
  msgid "Enable the overflow checks in code generation."
! msgstr "Überlaufprüfungen bei der Codegenerierung einschalten"
  
  #: rust/lang.opt:234
  #, no-c-format
  msgid "Define a built-in offset_of macro in the compiler and assume it is present."
! msgstr ""
  
  #: rust/lang.opt:238
  #, no-c-format
  msgid "Use the new unused variable check implementation."
! msgstr ""
  
  #: ada/gcc-interface/lang.opt:57 c-family/c.opt:349
  #, no-c-format
--- 14884,14907 ----
  msgstr "Den WIP-Borrow-Prüfer verwenden."
  
  #: rust/lang.opt:217
! #, no-c-format
  msgid "-frust-edition=[unwind|abort]             Panic strategy to compile crate with."
! msgstr "-frust-edition=[unwind|abort] Panikstrategie, mit der der Crate compiliert wird."
  
  #: rust/lang.opt:230
! #, no-c-format
  msgid "Enable the overflow checks in code generation."
! msgstr "Überlaufprüfungen bei der Codegenerierung einschalten."
  
  #: rust/lang.opt:234
  #, no-c-format
  msgid "Define a built-in offset_of macro in the compiler and assume it is present."
! msgstr "Eingebautes offset_of-Makro im Compiler definieren und davon ausgehen, dass es vorhanden ist."
  
  #: rust/lang.opt:238
  #, no-c-format
  msgid "Use the new unused variable check implementation."
! msgstr "Die neue Implementierung für die Prüfung unverwendeter Variablen verwenden."
  
  #: ada/gcc-interface/lang.opt:57 c-family/c.opt:349
  #, no-c-format
*************** msgstr "Ignoriert."
*** 15164,15170 ****
  #: c-family/c.opt:50
  #, no-c-format
  msgid "--compile-std-module\tCompile module units for <bits/stdc++.h>, std, and std.compat."
! msgstr ""
  
  #: c-family/c.opt:75
  #, no-c-format
--- 14966,14972 ----
  #: c-family/c.opt:50
  #, no-c-format
  msgid "--compile-std-module\tCompile module units for <bits/stdc++.h>, std, and std.compat."
! msgstr "--compile-std-module\tModuleinheiten für <bits/stdc++.h>, std und std.compat compilieren."
  
  #: c-family/c.opt:75
  #, no-c-format
*************** msgstr "Immer warnen, wenn eine Objectiv
*** 15394,15400 ****
  #: c-family/c.opt:408
  #, no-c-format
  msgid "Diagnose a placeholder type in a template argument in a function parameter type."
! msgstr ""
  
  #: c-family/c.opt:412
  #, no-c-format
--- 15196,15202 ----
  #: c-family/c.opt:408
  #, no-c-format
  msgid "Diagnose a placeholder type in a template argument in a function parameter type."
! msgstr "Diagnose eines Platzhaltertyps in einem Vorlagenargument in einem Funktionsparametertyp."
  
  #: c-family/c.opt:412
  #, no-c-format
*************** msgid "Warn about C++ constructs whose m
*** 15477,15486 ****
  msgstr "Bei C++-Konstrukten warnen, deren Bedeutung sich zwischen ISO C++ 2017 und ISO C++ 2020 unterscheidet."
  
  #: c-family/c.opt:508
! #, fuzzy, no-c-format
! #| msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2017 and ISO C++ 2020."
  msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2023 and ISO C++ 2026."
! msgstr "Bei C++-Konstrukten warnen, deren Bedeutung sich zwischen ISO C++ 2017 und ISO C++ 2020 unterscheidet."
  
  #: c-family/c.opt:512
  #, no-c-format
--- 15279,15287 ----
  msgstr "Bei C++-Konstrukten warnen, deren Bedeutung sich zwischen ISO C++ 2017 und ISO C++ 2020 unterscheidet."
  
  #: c-family/c.opt:508
! #, no-c-format
  msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2023 and ISO C++ 2026."
! msgstr "Bei C++-Konstrukten warnen, deren Bedeutung sich zwischen ISO C++ 2023 und ISO C++ 2026 unterscheidet."
  
  #: c-family/c.opt:512
  #, no-c-format
*************** msgid "Warn about calls with arguments t
*** 15678,15687 ****
  msgstr "Warnen, wenn eine Funktion, die ohne Parameter deklariert wurde, mit Argumenten aufgerufen wird."
  
  #: c-family/c.opt:692
! #, fuzzy, no-c-format
! #| msgid "Warn about suspicious OpenMP code."
  msgid "Warn about deprecated OpenMP code."
! msgstr "Vor verdächtigem OpenMP-Code warnen."
  
  #: c-family/c.opt:696
  #, no-c-format
--- 15479,15487 ----
  msgstr "Warnen, wenn eine Funktion, die ohne Parameter deklariert wurde, mit Argumenten aufgerufen wird."
  
  #: c-family/c.opt:692
! #, no-c-format
  msgid "Warn about deprecated OpenMP code."
! msgstr "Vor veraltetem OpenMP-Code warnen."
  
  #: c-family/c.opt:696
  #, no-c-format
*************** msgid "Warn if \"defined\" is used outsi
*** 15779,15794 ****
  msgstr "Warnen, wenn »defined« außerhalb von »#if« verwendet wird."
  
  #: c-family/c.opt:776
! #, fuzzy, no-c-format
! #| msgid "the incompatible type defined in another translation unit"
  msgid "Warn about naming a TU-local entity declared in another translation unit."
! msgstr "der inkompatible Typ, der in einer anderen Übersetzungseinheit definiert ist"
  
  #: c-family/c.opt:780
! #, fuzzy, no-c-format
! #| msgid "Warn about templates naming TU-local entities in a module."
  msgid "Warn when a module exposes a TU-local entity from the global module fragment."
! msgstr "Warnen, wenn Templates TU-lokale Entitäten innerhalb eines Moduls benennen."
  
  #: c-family/c.opt:788
  #, no-c-format
--- 15579,15592 ----
  msgstr "Warnen, wenn »defined« außerhalb von »#if« verwendet wird."
  
  #: c-family/c.opt:776
! #, no-c-format
  msgid "Warn about naming a TU-local entity declared in another translation unit."
! msgstr "Warnen, wenn eine Entity, die lokal zur Übersetzungseinheit ist, in einer anderen Übersetzungseinheit definiert wird."
  
  #: c-family/c.opt:780
! #, no-c-format
  msgid "Warn when a module exposes a TU-local entity from the global module fragment."
! msgstr "Warnen, wenn ein Modul eine Entity offenlegt, die lokal zur Übersetzungseinheit ist und aus dem Fragment des globalen Moduls stammt."
  
  #: c-family/c.opt:788
  #, no-c-format
*************** msgstr "Warnen, wenn ein Sprung die Init
*** 15998,16004 ****
  #: c-family/c.opt:987
  #, no-c-format
  msgid "Warn about defining or undefining macros with identifiers equal to keywords (or for C++ conditional keywords or standard attribute names)."
! msgstr ""
  
  #: c-family/c.opt:991
  #, no-c-format
--- 15796,15802 ----
  #: c-family/c.opt:987
  #, no-c-format
  msgid "Warn about defining or undefining macros with identifiers equal to keywords (or for C++ conditional keywords or standard attribute names)."
! msgstr "Warnen, wenn ein Makro mit dem Namen eines Schlüsselworts definiert oder entdefiniert wird, oder für C++ bedingte Schlüsselwörter oder Standard-Attributnamen."
  
  #: c-family/c.opt:991
  #, no-c-format
*************** msgid "Warn on direct multiple inheritan
*** 16126,16135 ****
  msgstr "Bei direkter Mehrfachvererbung warnen."
  
  #: c-family/c.opt:1109
! #, fuzzy, no-c-format
! #| msgid "Warn about mismatched declarations of VLA parameters."
  msgid "Warn for multiple lists of forward declarations of function parameters."
! msgstr "Warnen, wenn Deklarationen von VLA-Parametern nicht übereinstimmen."
  
  #: c-family/c.opt:1113
  #, no-c-format
--- 15924,15932 ----
  msgstr "Bei direkter Mehrfachvererbung warnen."
  
  #: c-family/c.opt:1109
! #, no-c-format
  msgid "Warn for multiple lists of forward declarations of function parameters."
! msgstr "Warnen, wenn Vorwärtsdeklarationen von Funktionsparametern mehrere Listen enthalten."
  
  #: c-family/c.opt:1113
  #, no-c-format
*************** msgstr "Warnen, wenn ein C++17-noexcept-
*** 16164,16170 ****
  #: c-family/c.opt:1137
  #, no-c-format
  msgid "Warn for non-C compatible unnamed classes with a typedef name for linkage purposes."
! msgstr ""
  
  #: c-family/c.opt:1141
  #, no-c-format
--- 15961,15967 ----
  #: c-family/c.opt:1137
  #, no-c-format
  msgid "Warn for non-C compatible unnamed classes with a typedef name for linkage purposes."
! msgstr "Warnen, wenn eine unbenannte Klasse nicht kompatibel mit C ist und mittels typedef zu Bindungszwecken definiert wird."
  
  #: c-family/c.opt:1141
  #, no-c-format
*************** msgstr "Bei möglichen Verstößen gegen
*** 16389,16395 ****
  #: c-family/c.opt:1362 c-family/c.opt:1366
  #, no-c-format
  msgid "Warn about an incomplete type affecting semantics in a non-error context."
! msgstr ""
  
  #: c-family/c.opt:1370
  #, no-c-format
--- 16186,16192 ----
  #: c-family/c.opt:1362 c-family/c.opt:1366
  #, no-c-format
  msgid "Warn about an incomplete type affecting semantics in a non-error context."
! msgstr "Warnen, wenn ein unvollständiger Typ die Semantik in einem Nichtfehlerkontext beeinflusst."
  
  #: c-family/c.opt:1370
  #, no-c-format
*************** msgid "-fconstexpr-ops-limit=<number>\tS
*** 16834,16874 ****
  msgstr "-fconstexpr-ops-limit=<Anzahl>\tHöchstzahl der constexpr-Operationen pro einzelner »constexpr«-Auswertung angeben."
  
  #: c-family/c.opt:1905
! #, fuzzy, no-c-format
! #| msgid "Enable certain features present in drafts of C++ Contracts."
  msgid "Enable features proposed for C++26 Contracts."
! msgstr "Bestimmte Features aus aktuellen Entwürfen von C++-Verträgen einschalten."
  
  #: c-family/c.opt:1926
  #, no-c-format
  msgid "-fcontract-evaluation-semantic=[ignore|observe|enforce|quick_enforce]\tSelect the contract evaluation semantic (defaults to enforce)."
! msgstr ""
  
  #: c-family/c.opt:1930
  #, no-c-format
  msgid "-fcontracts-conservative-ipa\tDo not allow certain optimisations between functions in contract assertions."
! msgstr ""
  
  #: c-family/c.opt:1935
  #, no-c-format
  msgid "-fcontract-checks-outlined\tBuild contract checks using outlined functions."
! msgstr ""
  
  #: c-family/c.opt:1939
  #, no-c-format
  msgid "-fcontract-disable-optimized-checks\tDisable optimisation of contract checks."
! msgstr ""
  
  #: c-family/c.opt:1955
  #, no-c-format
  msgid "-fcontracts-client-check=[none|pre|all] Select which contracts will be checked on the client side for non virtual functions."
! msgstr ""
  
  #: c-family/c.opt:1968
! #, fuzzy, no-c-format
! #| msgid "-fcontract-continuation-mode=[on|off]\tEnable or disable contract continuation mode (default off)."
  msgid "-fcontracts-definition-check=[on|off]\tEnable or disable contract checks on the definition side for all functions (default on)."
! msgstr "-fcontract-continuation-mode=[on|off]\tVertragsfortsetzungsmodus ein- oder ausschalten (Vorgabe: aus)."
  
  #: c-family/c.opt:1972
  #, no-c-format
--- 16631,16669 ----
  msgstr "-fconstexpr-ops-limit=<Anzahl>\tHöchstzahl der constexpr-Operationen pro einzelner »constexpr«-Auswertung angeben."
  
  #: c-family/c.opt:1905
! #, no-c-format
  msgid "Enable features proposed for C++26 Contracts."
! msgstr "Features einschalten, die für C++26-Verträge vorgeschlagen sind."
  
  #: c-family/c.opt:1926
  #, no-c-format
  msgid "-fcontract-evaluation-semantic=[ignore|observe|enforce|quick_enforce]\tSelect the contract evaluation semantic (defaults to enforce)."
! msgstr "-fcontract-evaluation-semantic=[ignore|observe|enforce|quick_enforce]\tSemantik für Vertragsauswertung (Vorgabe: enforce)."
  
  #: c-family/c.opt:1930
  #, no-c-format
  msgid "-fcontracts-conservative-ipa\tDo not allow certain optimisations between functions in contract assertions."
! msgstr "-fcontracts-conservative-ipa\tBestimmte Optimierungen zwischen Funktionen in Vertragsassertionen nicht zulassen."
  
  #: c-family/c.opt:1935
  #, no-c-format
  msgid "-fcontract-checks-outlined\tBuild contract checks using outlined functions."
! msgstr "-fcontract-checks-outlined\tVertragsprüfungen mithilfe von umrissenen Funktionen bauen."
  
  #: c-family/c.opt:1939
  #, no-c-format
  msgid "-fcontract-disable-optimized-checks\tDisable optimisation of contract checks."
! msgstr "-fcontract-disable-optimized-checks\tOptimierung von Vertragsprüfungen ausschalten."
  
  #: c-family/c.opt:1955
  #, no-c-format
  msgid "-fcontracts-client-check=[none|pre|all] Select which contracts will be checked on the client side for non virtual functions."
! msgstr "-fcontracts-client-check=[none|pre|all]\tAuswählen, welche Verträge auf der Client-Seite auf nicht-virtuelle Funktionen überprüft werden sollen."
  
  #: c-family/c.opt:1968
! #, no-c-format
  msgid "-fcontracts-definition-check=[on|off]\tEnable or disable contract checks on the definition side for all functions (default on)."
! msgstr "-fcontracts-definition-check=[on|off]\tVertragsprüfungen auf der Definitionsseite für alle Funktionen einschalten oder ausschalten (Standard: einschalten)."
  
  #: c-family/c.opt:1972
  #, no-c-format
*************** msgid "Enable lifetime extension of rang
*** 17231,17240 ****
  msgstr "Lebenszeitverlängerung für bereichsbasierte temporäre »for«-Variablen einschalten."
  
  #: c-family/c.opt:2362
! #, fuzzy, no-c-format
! #| msgid "Enable experimental Fortran 202y features."
  msgid "Enable experimental C++26 Reflection."
! msgstr "Experimentelle Fortran-202y-Features einschalten."
  
  #: c-family/c.opt:2366
  #, no-c-format
--- 17026,17034 ----
  msgstr "Lebenszeitverlängerung für bereichsbasierte temporäre »for«-Variablen einschalten."
  
  #: c-family/c.opt:2362
! #, no-c-format
  msgid "Enable experimental C++26 Reflection."
! msgstr "Experimentelle C++26-Reflektion einschalten."
  
  #: c-family/c.opt:2366
  #, no-c-format
*************** msgid "Conform to the ISO 2017 C++ stand
*** 17487,17508 ****
  msgstr "Mit dem ISO-C++-Standard von 2017 übereinstimmen."
  
  #: c-family/c.opt:2657
! #, fuzzy, no-c-format
! #| msgid "Deprecated in favor of -std=c++11."
  msgid "Deprecated in favor of -std=c++20."
! msgstr "Veraltet zugunsten von »-std=c++11«."
  
  #: c-family/c.opt:2661
! #, fuzzy, no-c-format
! #| msgid "Conform to the ISO 2011 C++ standard."
  msgid "Conform to the ISO 2020 C++ standard."
! msgstr "Mit dem ISO-C++-Standard von 2011 übereinstimmen."
  
  #: c-family/c.opt:2665
! #, fuzzy, no-c-format
! #| msgid "Deprecated in favor of -std=c23."
  msgid "Deprecated in favor of -std=c++23."
! msgstr "Veraltet zugunsten von »-std=c23«."
  
  #: c-family/c.opt:2669
  #, no-c-format
--- 17281,17299 ----
  msgstr "Mit dem ISO-C++-Standard von 2017 übereinstimmen."
  
  #: c-family/c.opt:2657
! #, no-c-format
  msgid "Deprecated in favor of -std=c++20."
! msgstr "Veraltet zugunsten von »-std=c++20«."
  
  #: c-family/c.opt:2661
! #, no-c-format
  msgid "Conform to the ISO 2020 C++ standard."
! msgstr "Mit dem ISO-C++-Standard von 2020 übereinstimmen."
  
  #: c-family/c.opt:2665
! #, no-c-format
  msgid "Deprecated in favor of -std=c++23."
! msgstr "Veraltet zugunsten von »-std=c++23«."
  
  #: c-family/c.opt:2669
  #, no-c-format
*************** msgid "Conform to the ISO 2017 C++ stand
*** 17596,17617 ****
  msgstr "Mit dem ISO-C++-Standard von 2017 mit GNU-Erweiterungen übereinstimmen."
  
  #: c-family/c.opt:2759
! #, fuzzy, no-c-format
! #| msgid "Deprecated in favor of -std=gnu++11."
  msgid "Deprecated in favor of -std=gnu++20."
! msgstr "Veraltet zugunsten von »-std=gnu++11«."
  
  #: c-family/c.opt:2763
! #, fuzzy, no-c-format
! #| msgid "Conform to the ISO 2011 C++ standard with GNU extensions."
  msgid "Conform to the ISO 2020 C++ standard with GNU extensions."
! msgstr "Mit dem ISO-C++-Standard von 2011 mit GNU-Erweiterungen übereinstimmen."
  
  #: c-family/c.opt:2767
! #, fuzzy, no-c-format
! #| msgid "Deprecated in favor of -std=gnu23."
  msgid "Deprecated in favor of -std=gnu++23."
! msgstr "Veraltet zugunsten von »-std=gnu23«."
  
  #: c-family/c.opt:2771
  #, no-c-format
--- 17387,17405 ----
  msgstr "Mit dem ISO-C++-Standard von 2017 mit GNU-Erweiterungen übereinstimmen."
  
  #: c-family/c.opt:2759
! #, no-c-format
  msgid "Deprecated in favor of -std=gnu++20."
! msgstr "Veraltet zugunsten von »-std=gnu++20«."
  
  #: c-family/c.opt:2763
! #, no-c-format
  msgid "Conform to the ISO 2020 C++ standard with GNU extensions."
! msgstr "Mit dem ISO-C++-Standard von 2020 mit GNU-Erweiterungen übereinstimmen."
  
  #: c-family/c.opt:2767
! #, no-c-format
  msgid "Deprecated in favor of -std=gnu++23."
! msgstr "Veraltet zugunsten von »-std=gnu++23«."
  
  #: c-family/c.opt:2771
  #, no-c-format
*************** msgid "Do not predefine system-specific
*** 17699,18044 ****
  msgstr "Keine system- oder GCC-spezifischen Makros vordefinieren."
  
  #: cobol/lang.opt:48
! #, fuzzy, no-c-format
! #| msgid "Accept COBOL constructs used by non-ISO compilers"
  msgid "Accept COBOL constructs used by non-ISO compilers."
! msgstr "COBOL-Konstrukte, die von Nicht-ISO-Compilern verwendet werden, akzeptieren"
  
  #: cobol/lang.opt:70
! #, fuzzy, no-c-format
! #| msgid "-fcobol-exceptions=<n>\tEnable some exceptions by default"
  msgid "-fcobol-exceptions=<n>\tEnable some exceptions by default."
! msgstr "-fcobol-exceptions=<n>\tEinige Ausnahmen standardmäßig aktivieren"
  
  #: cobol/lang.opt:74
! #, fuzzy, no-c-format
! #| msgid "Define alternative implicit copybook filename extension"
  msgid "Define alternative implicit copybook filename extension."
! msgstr "Alternative implizite Kopierbuch-Dateinamenerweiterung definieren"
  
  #: cobol/lang.opt:82
  #, no-c-format
  msgid "Set the default execution character set for NATIONAL data items."
! msgstr ""
  
  #: cobol/lang.opt:89
  #, no-c-format
  msgid "Warn if CDF defines Level 78 constant."
! msgstr ""
  
  #: cobol/lang.opt:94
  #, no-c-format
  msgid "Warn if BINARY-LONG-LONG is used."
! msgstr ""
  
  #: cobol/lang.opt:99
  #, no-c-format
  msgid "Warn if CALL ... GIVING is used."
! msgstr ""
  
  #: cobol/lang.opt:104
  #, no-c-format
  msgid "Warn if CALL is used is used with a literal parameter by reference."
! msgstr ""
  
  #: cobol/lang.opt:109
  #, no-c-format
  msgid "Warn if CDF %<$IF%> is used."
! msgstr ""
  
  #: cobol/lang.opt:114
  #, no-c-format
  msgid "Warn if COMPUTATIONAL-6 is used."
! msgstr ""
  
  #: cobol/lang.opt:119
  #, no-c-format
  msgid "Warn if COMPUTATIONAL is used with PICTURE X."
! msgstr ""
  
  #: cobol/lang.opt:124
  #, no-c-format
  msgid "Warn if INSPECT ... TRAILING is used."
! msgstr ""
  
  #: cobol/lang.opt:129
  #, no-c-format
  msgid "Warn if Level 01 is used with OCCURS."
! msgstr ""
  
  #: cobol/lang.opt:134
! #, fuzzy, no-c-format
! #| msgid "Warn if a variable length array is used."
  msgid "Warn if Level 78 is used."
! msgstr "Warnen, wenn ein Array variabler Länge verwendet wird."
  
  #: cobol/lang.opt:139
! #, fuzzy, no-c-format
! #| msgid "Warn if a C-style cast is used in a program."
  msgid "Warn if ANY LENGTH is used in outermost program."
! msgstr "Warnen, wenn eine Typumwandlung im C-Stil im Programm verwendet wird."
  
  #: cobol/lang.opt:144
  #, no-c-format
  msgid "Warn if MOVE INDEX is used."
! msgstr ""
  
  #: cobol/lang.opt:149
  #, no-c-format
  msgid "Warn if MOVE POINTER is used."
! msgstr ""
  
  #: cobol/lang.opt:154
  #, no-c-format
  msgid "Warn if RETURNING <number> is used."
! msgstr ""
  
  #: cobol/lang.opt:159
  #, no-c-format
  msgid "Warn if USAGE IS TYPENAME is used."
! msgstr ""
  
  #: cobol/lang.opt:164
! #, fuzzy, no-c-format
! #| msgid "Warn if left shifting a negative value."
  msgid "Warn if numeric string is invalid."
! msgstr "Warnen, wenn eine negative Zahl nach links geschoben wird."
  
  #: cobol/lang.opt:169
! #, fuzzy, no-c-format
! #| msgid "Label %d referenced at %L is never defined"
  msgid "Warn if referenced CDF PARAMETER is not defined."
! msgstr "Marke %d wird bei %L referenziert, aber nirgendwo definiert"
  
  #: cobol/lang.opt:174
! #, fuzzy, no-c-format
! #| msgid "Label %d referenced at %L is never defined"
  msgid "Warn if referenced CDF name is not defined."
! msgstr "Marke %d wird bei %L referenziert, aber nirgendwo definiert"
  
  #: cobol/lang.opt:179
  #, no-c-format
  msgid "Print message when copybook is processed."
! msgstr ""
  
  #: cobol/lang.opt:184
  #, no-c-format
  msgid "Warn if unimplemented/unknown exception condition is referenced."
! msgstr ""
  
  #: cobol/lang.opt:189
  #, no-c-format
  msgid "Print message when ENTRY CONVENTION is specified."
! msgstr ""
  
  #: cobol/lang.opt:194
! #, fuzzy, no-c-format
! #| msgid "Treat the input file as already preprocessed."
  msgid "Print message when include file is processed."
! msgstr "Die Eingabedatei als bereits vorverarbeitet behandeln."
  
  #: cobol/lang.opt:199
! #, fuzzy, no-c-format
! #| msgid "created and used with different endianness"
  msgid "Warn if concatenated literals use different encodings."
! msgstr "erzeugt und mit anderer Bytereihenfolge verwendet"
  
  #: cobol/lang.opt:204
  #, no-c-format
  msgid "Warn if locale(3) fails."
! msgstr ""
  
  #: cobol/lang.opt:209
  #, no-c-format
  msgid "Warn if COBOL MOVE has no corresponding fields."
! msgstr ""
  
  #: cobol/lang.opt:214
  #, no-c-format
  msgid "Warn if nlanglanginfo(3) fails."
! msgstr ""
  
  #: cobol/lang.opt:219
  #, no-c-format
  msgid "Warn if LENGTH OF is used."
! msgstr ""
  
  #: cobol/lang.opt:224
  #, no-c-format
  msgid "Warn if PROCEDURE POINTER is used."
! msgstr ""
  
  #: cobol/lang.opt:229
  #, no-c-format
  msgid "Warn if SECTION segments are used."
! msgstr ""
  
  #: cobol/lang.opt:234
  #, no-c-format
  msgid "Warn if resume is used (instead of error for IBM)."
! msgstr ""
  
  #: cobol/lang.opt:241
  #, no-c-format
  msgid "Warn if APPLY COMMIT is used."
! msgstr ""
  
  #: cobol/lang.opt:246
  #, no-c-format
  msgid "Warn if HIGH-ORDER-LEFT HIGH-ORDER-RIGHT is used."
! msgstr ""
  
  #: cobol/lang.opt:251
  #, no-c-format
  msgid "Warn if FILE CODE SET is used."
! msgstr ""
  
  #: cobol/lang.opt:256
  #, no-c-format
  msgid "Warn if RECORDING MODE is used."
! msgstr ""
  
  #: cobol/lang.opt:261
  #, no-c-format
  msgid "Warn if SET LOCALE ... TO is used."
! msgstr ""
  
  #: cobol/lang.opt:266
  #, no-c-format
  msgid "Warn if SET ... TO LOCALE is used."
! msgstr ""
  
  #: cobol/lang.opt:273
  #, no-c-format
  msgid "Warn if a line directive is malformed (instead of error)."
! msgstr ""
  
  #: cobol/lang.opt:278
  #, no-c-format
  msgid "Warn if EQUAL used as assignment operator (instead of error)."
! msgstr ""
  
  #: cobol/lang.opt:283
  #, no-c-format
  msgid "Warn if iconv(3) cannot convert between encodings (instead of error)."
! msgstr ""
  
  #: cobol/lang.opt:288
  #, no-c-format
  msgid "Warn if include file is not found (instead of error)."
! msgstr ""
  
  #: cobol/lang.opt:293
  #, no-c-format
  msgid "Warn if a preprocessor fails (instead of error)."
! msgstr ""
  
  #: cobol/lang.opt:298
  #, no-c-format
  msgid "Warn if a referenced procedure is not found (instead of error)."
! msgstr ""
  
  #: cobol/lang.opt:303
  #, no-c-format
  msgid "Warn if REPLACE cannot be processed (instead of error)."
! msgstr ""
  
  #: cobol/lang.opt:308
  #, no-c-format
  msgid "Warn if a SEGMENT section is invalid (instead of error)."
! msgstr ""
  
  #: cobol/lang.opt:313
  #, no-c-format
  msgid "Warn if a SEGMENT range is negative (instead of error)."
! msgstr ""
  
  #: cobol/lang.opt:318
  #, no-c-format
  msgid "Warn if indicator column has no recognized meaning (instead of error)."
! msgstr ""
  
  #: cobol/lang.opt:323
  #, no-c-format
  msgid "Warn if relational operator not followed by space (instead of error)."
! msgstr ""
  
  #: cobol/lang.opt:328
! #, fuzzy, no-c-format
! #| msgid "Warn if a C-style cast is used in a program."
  msgid "Warn if IBM-style EJECT is used (instead of error)."
! msgstr "Warnen, wenn eine Typumwandlung im C-Stil im Programm verwendet wird."
  
  #: cobol/lang.opt:333
! #, fuzzy, no-c-format
! #| msgid "Warn if a C-style cast is used in a program."
  msgid "Warn if IBM-style STOP <number> is used (instead of error)."
! msgstr "Warnen, wenn eine Typumwandlung im C-Stil im Programm verwendet wird."
  
  #: cobol/lang.opt:338
  #, no-c-format
  msgid "Warn if VOLATILE is used (instead of error if -dialect ibm)."
! msgstr ""
  
  #: cobol/lang.opt:344
! #, fuzzy, no-c-format
! #| msgid "Set Working-Storage data items to the supplied value"
  msgid "Set Working-Storage data items to the supplied value."
! msgstr "Working-Storage-Datenelemente auf den angegebenen Wert setzen"
  
  #: cobol/lang.opt:348
! #, fuzzy, no-c-format
! #| msgid "Enable Cobol lex debugging"
  msgid "Enable Cobol lex debugging."
! msgstr "Cobol-Lex-Debugging einschalten"
  
  #: cobol/lang.opt:360
! #, fuzzy, no-c-format
! #| msgid "-findicator-column=<n>\tColumn after which Region A begins"
  msgid "-findicator-column=<n>\tColumn after which Region A begins."
! msgstr "-findicator-column=<n>\tSpalte, nach der Region A beginnt"
  
  #: cobol/lang.opt:364
! #, fuzzy, no-c-format
! #| msgid "Enable/disable static linkage for CALL literals"
  msgid "Enable/disable static linkage for CALL literals."
! msgstr "Einschalten/Ausschalten der statischen Bindung für CALL-Literale"
  
  #: cobol/lang.opt:368
! #, fuzzy, no-c-format
! #| msgid "Enable Cobol parser debugging"
  msgid "Enable Cobol parser debugging."
! msgstr "Fehlersuche im Cobol-Parser einschalten"
  
  #: cobol/lang.opt:372
! #, fuzzy, no-c-format
! #| msgid "Enable Cobol yacc debugging"
  msgid "Enable Cobol yacc debugging."
! msgstr "Fehlersuche im Cobol-Yacc einschalten"
  
  #: cobol/lang.opt:376
! #, fuzzy, no-c-format
! #| msgid "preprocess <source_filter> before compiling"
  msgid "Preprocess <source_filter> before compiling."
! msgstr "<source_filter> vor der Kompilierung vorverarbeiten"
  
  #: cobol/lang.opt:396
! #, fuzzy, no-c-format
! #| msgid "-main\tThe first program-id in the next source file is called by a generated main() entry point"
  msgid "-main\tThe first program-id in the next source file is called by a generated main() entry point."
! msgstr "-main\tDie erste Programm-ID in der nächsten Quelldatei wird von einem generierten main()-Einstiegspunkt aufgerufen"
  
  #: cobol/lang.opt:400
! #, fuzzy, no-c-format
! #| msgid "-main=<source_file> source_file/PROGRAM-ID is called by the generated main()"
  msgid "-main=<source_file> source_file/PROGRAM-ID is called by the generated main()."
! msgstr "-main=<Quelldatei> Quelldatei/PROGRAMM-ID wird von der generierten main() aufgerufen"
  
  #: cobol/lang.opt:404
! #, fuzzy, no-c-format
! #| msgid "-nomain\tNo main() function is created from COBOL source files"
  msgid "-nomain\tNo main() function is created from COBOL source files."
! msgstr "-nomain\tEs wird keine main()-Funktion aus COBOL-Quelldateien erstellt"
  
  #: d/lang.opt:51
  #, no-c-format
--- 17487,17810 ----
  msgstr "Keine system- oder GCC-spezifischen Makros vordefinieren."
  
  #: cobol/lang.opt:48
! #, no-c-format
  msgid "Accept COBOL constructs used by non-ISO compilers."
! msgstr "COBOL-Konstrukte, die von Nicht-ISO-Compilern verwendet werden, akzeptieren."
  
  #: cobol/lang.opt:70
! #, no-c-format
  msgid "-fcobol-exceptions=<n>\tEnable some exceptions by default."
! msgstr "-fcobol-exceptions=<n>\tEinige Ausnahmen standardmäßig einschalten."
  
  #: cobol/lang.opt:74
! #, no-c-format
  msgid "Define alternative implicit copybook filename extension."
! msgstr "Alternative implizite Kopierbuch-Dateinamenerweiterung definieren."
  
  #: cobol/lang.opt:82
  #, no-c-format
  msgid "Set the default execution character set for NATIONAL data items."
! msgstr "Standard-Ausführungszeichensatz für NATIONAL-Datenelemente."
  
  #: cobol/lang.opt:89
  #, no-c-format
  msgid "Warn if CDF defines Level 78 constant."
! msgstr "Warnen, wenn CDF eine Stufe-78-Konstante definiert."
  
  #: cobol/lang.opt:94
  #, no-c-format
  msgid "Warn if BINARY-LONG-LONG is used."
! msgstr "Warnen, wenn BINARY-LONG-LONG verwendet wird."
  
  #: cobol/lang.opt:99
  #, no-c-format
  msgid "Warn if CALL ... GIVING is used."
! msgstr "Warnen, wenn CALL … GIVING verwendet wird."
  
  #: cobol/lang.opt:104
  #, no-c-format
  msgid "Warn if CALL is used is used with a literal parameter by reference."
! msgstr "Warnen, wenn CALL verwendet wird mit einem literalen Referenzparameter."
  
  #: cobol/lang.opt:109
  #, no-c-format
  msgid "Warn if CDF %<$IF%> is used."
! msgstr "Warnen, wenn CDF %<$IF%> verwendet wird."
  
  #: cobol/lang.opt:114
  #, no-c-format
  msgid "Warn if COMPUTATIONAL-6 is used."
! msgstr "Warnen, wenn COMPUTATIONAL-6 verwendet wird."
  
  #: cobol/lang.opt:119
  #, no-c-format
  msgid "Warn if COMPUTATIONAL is used with PICTURE X."
! msgstr "Warnen, wenn COMPUTATIONAL zusammen mit PICTURE X verwendet wird."
  
  #: cobol/lang.opt:124
  #, no-c-format
  msgid "Warn if INSPECT ... TRAILING is used."
! msgstr "Warnen, wenn INSPECT … TRAILING verwendet wird."
  
  #: cobol/lang.opt:129
  #, no-c-format
  msgid "Warn if Level 01 is used with OCCURS."
! msgstr "Warnen, wenn Level 01 zusammen mit OCCURS verwendet wird."
  
  #: cobol/lang.opt:134
! #, no-c-format
  msgid "Warn if Level 78 is used."
! msgstr "Warnen, wenn Stufe 78 verwendet wird."
  
  #: cobol/lang.opt:139
! #, no-c-format
  msgid "Warn if ANY LENGTH is used in outermost program."
! msgstr "Warnen, wenn ANY LENGTH im äußersten Programm verwendet wird."
  
  #: cobol/lang.opt:144
  #, no-c-format
  msgid "Warn if MOVE INDEX is used."
! msgstr "Warnen, wenn MOVE INDEX verwendet wird."
  
  #: cobol/lang.opt:149
  #, no-c-format
  msgid "Warn if MOVE POINTER is used."
! msgstr "Warnen, wenn MOVE POINTER verwendet wird."
  
  #: cobol/lang.opt:154
  #, no-c-format
  msgid "Warn if RETURNING <number> is used."
! msgstr "Warnen, wenn RETURNING <Zahl> verwendet wird."
  
  #: cobol/lang.opt:159
  #, no-c-format
  msgid "Warn if USAGE IS TYPENAME is used."
! msgstr "Warnen, wenn USAGE IS TYPENAME verwendet wird."
  
  #: cobol/lang.opt:164
! #, no-c-format
  msgid "Warn if numeric string is invalid."
! msgstr "Warnen, wenn eine numerische Zeichenkette ungültig ist."
  
  #: cobol/lang.opt:169
! #, no-c-format
  msgid "Warn if referenced CDF PARAMETER is not defined."
! msgstr "Warnen, wenn der referenzierte CDF-PARAMETER nicht definiert ist."
  
  #: cobol/lang.opt:174
! #, no-c-format
  msgid "Warn if referenced CDF name is not defined."
! msgstr "Warnen, wenn der referenzierte CDF-Name nicht definiert ist."
  
  #: cobol/lang.opt:179
  #, no-c-format
  msgid "Print message when copybook is processed."
! msgstr "Meldung ausgeben, wenn das Kopierbuch verarbeitet wird."
  
  #: cobol/lang.opt:184
  #, no-c-format
  msgid "Warn if unimplemented/unknown exception condition is referenced."
! msgstr "Warnen, wenn eine nicht implementierte oder unbekannte Ausnahmebedingung referenziert wird."
  
  #: cobol/lang.opt:189
  #, no-c-format
  msgid "Print message when ENTRY CONVENTION is specified."
! msgstr "Meldung ausgeben, wenn ENTRY CONVENTION angegeben wird."
  
  #: cobol/lang.opt:194
! #, no-c-format
  msgid "Print message when include file is processed."
! msgstr "Nachricht ausgeben, wenn eine eingebundene Datei verarbeitet wird."
  
  #: cobol/lang.opt:199
! #, no-c-format
  msgid "Warn if concatenated literals use different encodings."
! msgstr "Warnen, wenn zusammengehängte Literale unterschiedliche Codierungen verwenden."
  
  #: cobol/lang.opt:204
  #, no-c-format
  msgid "Warn if locale(3) fails."
! msgstr "Warnen, wenn locale(3) fehlschlägt."
  
  #: cobol/lang.opt:209
  #, no-c-format
  msgid "Warn if COBOL MOVE has no corresponding fields."
! msgstr "Warnen, wenn COBOL MOVE keine korrespondierenden Felder hat."
  
  #: cobol/lang.opt:214
  #, no-c-format
  msgid "Warn if nlanglanginfo(3) fails."
! msgstr "Warnen, wenn nl_langinfo(3) fehlschlägt."
  
  #: cobol/lang.opt:219
  #, no-c-format
  msgid "Warn if LENGTH OF is used."
! msgstr "Warnen, wenn LENGTH OF verwendet wird."
  
  #: cobol/lang.opt:224
  #, no-c-format
  msgid "Warn if PROCEDURE POINTER is used."
! msgstr "Warnen, wenn PROCEDURE POINTER verwendet wird."
  
  #: cobol/lang.opt:229
  #, no-c-format
  msgid "Warn if SECTION segments are used."
! msgstr "Warnen, wenn SECTION-Segmente verwendet werden."
  
  #: cobol/lang.opt:234
  #, no-c-format
  msgid "Warn if resume is used (instead of error for IBM)."
! msgstr "Warnen, wenn »resume« verwendet wird (statt eines Fehlers für IBM)."
  
  #: cobol/lang.opt:241
  #, no-c-format
  msgid "Warn if APPLY COMMIT is used."
! msgstr "Warnen, wenn APPLY COMMIT verwendet wird."
  
  #: cobol/lang.opt:246
  #, no-c-format
  msgid "Warn if HIGH-ORDER-LEFT HIGH-ORDER-RIGHT is used."
! msgstr "Warnen, wenn HIGH-ORDER-LEFT HIGH-ORDER-RIGHT verwendet wird."
  
  #: cobol/lang.opt:251
  #, no-c-format
  msgid "Warn if FILE CODE SET is used."
! msgstr "Warnen, wenn FILE CODE SET verwendet wird."
  
  #: cobol/lang.opt:256
  #, no-c-format
  msgid "Warn if RECORDING MODE is used."
! msgstr "Warnen, wenn RECORDING MODE verwendet wird."
  
  #: cobol/lang.opt:261
  #, no-c-format
  msgid "Warn if SET LOCALE ... TO is used."
! msgstr "Warnen, wenn SET LOCALE … TO verwendet wird."
  
  #: cobol/lang.opt:266
  #, no-c-format
  msgid "Warn if SET ... TO LOCALE is used."
! msgstr "Warnen, wenn SET … TO LOCALE verwendet wird."
  
  #: cobol/lang.opt:273
  #, no-c-format
  msgid "Warn if a line directive is malformed (instead of error)."
! msgstr "Warnen, wenn eine »line«-Direktive das falsche Format hat (statt eines Fehlers)."
  
  #: cobol/lang.opt:278
  #, no-c-format
  msgid "Warn if EQUAL used as assignment operator (instead of error)."
! msgstr "Warnen, wenn EQUAL als Zuweisungsoperator verwendet wird (statt eines Fehlers)."
  
  #: cobol/lang.opt:283
  #, no-c-format
  msgid "Warn if iconv(3) cannot convert between encodings (instead of error)."
! msgstr "Warnen, wenn iconv(3) nicht zwischen Codierungen konvertieren kann (statt eines Fehlers)."
  
  #: cobol/lang.opt:288
  #, no-c-format
  msgid "Warn if include file is not found (instead of error)."
! msgstr "Warnen, wenn eine eingebundene Datei nicht gefunden wird (statt eines Fehlers)."
  
  #: cobol/lang.opt:293
  #, no-c-format
  msgid "Warn if a preprocessor fails (instead of error)."
! msgstr "Warnen, wenn ein Präprozessor fehlschlägt (statt eines Fehlers)."
  
  #: cobol/lang.opt:298
  #, no-c-format
  msgid "Warn if a referenced procedure is not found (instead of error)."
! msgstr "Warnen, wenn eine referenzierte Prozedur nicht gefunden wird (statt eines Fehlers)."
  
  #: cobol/lang.opt:303
  #, no-c-format
  msgid "Warn if REPLACE cannot be processed (instead of error)."
! msgstr "Warnen, wenn REPLACE nicht verarbeitet werden kann (statt eines Fehlers)."
  
  #: cobol/lang.opt:308
  #, no-c-format
  msgid "Warn if a SEGMENT section is invalid (instead of error)."
! msgstr "Warnen, wenn ein SEGMENT-Abschnitt ungültig ist (statt eines Fehlers)."
  
  #: cobol/lang.opt:313
  #, no-c-format
  msgid "Warn if a SEGMENT range is negative (instead of error)."
! msgstr "Warnen, wenn ein SEGMENT-Bereich negativ ist (statt eines Fehlers)."
  
  #: cobol/lang.opt:318
  #, no-c-format
  msgid "Warn if indicator column has no recognized meaning (instead of error)."
! msgstr "Warnen, wenn die Indikator-Spalte keine anerkannte Bedeutung hat (statt eines Fehlers)."
  
  #: cobol/lang.opt:323
  #, no-c-format
  msgid "Warn if relational operator not followed by space (instead of error)."
! msgstr "Warnen, wenn nach einem Vergleichsoperator kein Leerzeichen folgt (statt eines Fehlers)."
  
  #: cobol/lang.opt:328
! #, no-c-format
  msgid "Warn if IBM-style EJECT is used (instead of error)."
! msgstr "Warnen, wenn EJECT im IBM-Stil verwendet wird (statt eines Fehlers)."
  
  #: cobol/lang.opt:333
! #, no-c-format
  msgid "Warn if IBM-style STOP <number> is used (instead of error)."
! msgstr "Warnen, wenn STOP <Zahl> im IBM-Stil verwendet wird (statt eines Fehlers)."
  
  #: cobol/lang.opt:338
  #, no-c-format
  msgid "Warn if VOLATILE is used (instead of error if -dialect ibm)."
! msgstr "Warnen, wenn VOLATILE verwendet wird (statt eines Fehlers, wenn »-dialect ibm« verwendet wird)."
  
  #: cobol/lang.opt:344
! #, no-c-format
  msgid "Set Working-Storage data items to the supplied value."
! msgstr "Working-Storage-Datenelemente auf den angegebenen Wert setzen."
  
  #: cobol/lang.opt:348
! #, no-c-format
  msgid "Enable Cobol lex debugging."
! msgstr "Cobol-Lex-Debugging einschalten."
  
  #: cobol/lang.opt:360
! #, no-c-format
  msgid "-findicator-column=<n>\tColumn after which Region A begins."
! msgstr "-findicator-column=<n>\tSpalte, nach der Region A beginnt."
  
  #: cobol/lang.opt:364
! #, no-c-format
  msgid "Enable/disable static linkage for CALL literals."
! msgstr "Einschalten/Ausschalten der statischen Bindung für CALL-Literale."
  
  #: cobol/lang.opt:368
! #, no-c-format
  msgid "Enable Cobol parser debugging."
! msgstr "Fehlersuche im Cobol-Parser einschalten."
  
  #: cobol/lang.opt:372
! #, no-c-format
  msgid "Enable Cobol yacc debugging."
! msgstr "Fehlersuche im Cobol-Yacc einschalten."
  
  #: cobol/lang.opt:376
! #, no-c-format
  msgid "Preprocess <source_filter> before compiling."
! msgstr "<source_filter> vor der Kompilierung vorverarbeiten."
  
  #: cobol/lang.opt:396
! #, no-c-format
  msgid "-main\tThe first program-id in the next source file is called by a generated main() entry point."
! msgstr "-main\tDie erste Programm-ID in der nächsten Quelldatei wird von einem generierten main()-Einstiegspunkt aufgerufen."
  
  #: cobol/lang.opt:400
! #, no-c-format
  msgid "-main=<source_file> source_file/PROGRAM-ID is called by the generated main()."
! msgstr "-main=<Quelldatei> Quelldatei/PROGRAMM-ID wird von der generierten main() aufgerufen."
  
  #: cobol/lang.opt:404
! #, no-c-format
  msgid "-nomain\tNo main() function is created from COBOL source files."
! msgstr "-nomain\tEs wird keine main()-Funktion aus COBOL-Quelldateien erstellt."
  
  #: d/lang.opt:51
  #, no-c-format
*************** msgid "Link the standard D library dynam
*** 18376,18391 ****
  msgstr "Die D-Standardbibliothek dynamisch in das Compilat binden."
  
  #: d/lang.opt:524
! #, fuzzy, no-c-format
! #| msgid "Conform to the ISO 2014 C++ standard."
  msgid "Conform to the 2024 D language edition."
! msgstr "Mit dem ISO-C++-Standard von 2014 übereinstimmen."
  
  #: d/lang.opt:528
! #, fuzzy, no-c-format
! #| msgid "Conform to the ISO 202Y C standard draft (experimental and incomplete support)."
  msgid "Conform to the latest 202Y D language edition (experimental)."
! msgstr "Mit dem ISO-C-Standard 202Y übereinstimmen (experimentelle und unvollständige Unterstützung)."
  
  #: calls.cc:1467
  msgid "a callee-copied argument is stored in the current function's frame"
--- 18142,18155 ----
  msgstr "Die D-Standardbibliothek dynamisch in das Compilat binden."
  
  #: d/lang.opt:524
! #, no-c-format
  msgid "Conform to the 2024 D language edition."
! msgstr "Mit der Ausgabe 2024 der Sprache D übereinstimmen."
  
  #: d/lang.opt:528
! #, no-c-format
  msgid "Conform to the latest 202Y D language edition (experimental)."
! msgstr "Mit der neuesten Ausgabe 202Y der Sprache D übereinstimmen (experimentell)."
  
  #: calls.cc:1467
  msgid "a callee-copied argument is stored in the current function's frame"
*************** msgstr ""
*** 19185,19194 ****
  "Fehler in der deutschen Übersetzung sind an translation-team-de@lists.sourceforge.net zu melden.\n"
  
  #: gcov-tool.cc:595
! #, fuzzy, c-format
! #| msgid "Copyright %s 2025 Free Software Foundation, Inc.\n"
  msgid "Copyright %s 2026 Free Software Foundation, Inc.\n"
! msgstr "Copyright %s 2025 Free Software Foundation, Inc.\n"
  
  #: gcov.cc:1096
  #, c-format
--- 18949,18957 ----
  "Fehler in der deutschen Übersetzung sind an translation-team-de@lists.sourceforge.net zu melden.\n"
  
  #: gcov-tool.cc:595
! #, c-format
  msgid "Copyright %s 2026 Free Software Foundation, Inc.\n"
! msgstr "Copyright %s 2026 Free Software Foundation, Inc.\n"
  
  #: gcov.cc:1096
  #, c-format
*************** msgid "path coverage omitted\n"
*** 19682,19691 ****
  msgstr "Pfadabdeckung entfällt\n"
  
  #: gcov.cc:3731
! #, fuzzy, c-format
! #| msgid "paths covered %u of %zu\n"
  msgid "paths covered %u of "
! msgstr "%u von %zu Pfaden abgedeckt\n"
  
  #: gcov.cc:3806
  #, c-format
--- 19445,19453 ----
  msgstr "Pfadabdeckung entfällt\n"
  
  #: gcov.cc:3731
! #, c-format
  msgid "paths covered %u of "
! msgstr "### %u ### "
  
  #: gcov.cc:3806
  #, c-format
*************** msgid "    inlined from %qs"
*** 19780,19892 ****
  msgstr "    eingefügt von %qs"
  
  #: libgdiagnostics.cc:1529
- #, fuzzy
- #| msgid "In member function %qs"
  msgid "In member %qs"
! msgstr "In Elementfunktion %qs"
  
  #: libgdiagnostics.cc:1530
- #, fuzzy
- #| msgid "In module"
  msgid "In module %qs"
! msgstr "In Modul"
  
  #: libgdiagnostics.cc:1531
- #, fuzzy
- #| msgid "namespace %qD entered"
  msgid "In namespace %qs"
! msgstr "Namensbereich %qD betreten"
  
  #: libgdiagnostics.cc:1532
- #, fuzzy
- #| msgid "for type %qT"
  msgid "In type %qs"
! msgstr "für Typ %qT"
  
  #: libgdiagnostics.cc:1534
- #, fuzzy
- #| msgid "invalid receiver type %qs"
  msgid "In return type %qs"
! msgstr "ungültiger Empfängertyp %qs"
  
  #: libgdiagnostics.cc:1535
- #, fuzzy
- #| msgid "unused parameter %qD"
  msgid "In parameter %qs"
! msgstr "unverwendeter Parameter %qD"
  
  #: libgdiagnostics.cc:1536
- #, fuzzy
- #| msgid "unused variable %qD"
  msgid "In variable %qs"
! msgstr "Variable %qD wird nicht verwendet"
  
  #. Kinds within XML or HTML documents.
  #: libgdiagnostics.cc:1539
- #, fuzzy
- #| msgid "In member function %qs"
  msgid "In element %qs"
! msgstr "In Elementfunktion %qs"
  
  #: libgdiagnostics.cc:1540
- #, fuzzy
- #| msgid "unknown attribute %qs"
  msgid "In attribute %qs"
! msgstr "unbekanntes Attribut %qs"
  
  #: libgdiagnostics.cc:1541
- #, fuzzy
- #| msgid "In function %qs"
  msgid "In text %qs"
! msgstr "In Funktion %qs"
  
  #: libgdiagnostics.cc:1542
- #, fuzzy
- #| msgid "In function %qs"
  msgid "In comment %qs"
! msgstr "In Funktion %qs"
  
  #: libgdiagnostics.cc:1544
- #, fuzzy
- #| msgid "Enable coprocessor instructions."
  msgid "In processing instruction %qs"
! msgstr "Koprozessorbefehle einschalten."
  
  #: libgdiagnostics.cc:1545
  msgid "In DTD %qs"
! msgstr ""
  
  #: libgdiagnostics.cc:1547
- #, fuzzy
- #| msgid "in declaration %q+D"
  msgid "In declaration %qs"
! msgstr "in Deklaration %q+D"
  
  #. Kinds within JSON documents.
  #: libgdiagnostics.cc:1550
- #, fuzzy
- #| msgid "JSON object"
  msgid "In JSON object %qs"
! msgstr "JSON-Objekt"
  
  #: libgdiagnostics.cc:1551
- #, fuzzy
- #| msgid "JSON array"
  msgid "In JSON array %qs"
! msgstr "JSON-Array"
  
  #: libgdiagnostics.cc:1553
  msgid "In JSON property %qs"
! msgstr ""
  
  #: libgdiagnostics.cc:1554
  msgid "In JSON value %qs"
! msgstr ""
  
  #: libgdiagnostics.cc:1701
  #, c-format
  msgid "%e"
! msgstr ""
  
  #: libsarifreplay.cc:760
  msgid "JSON object"
--- 19542,19624 ----
  msgstr "    eingefügt von %qs"
  
  #: libgdiagnostics.cc:1529
  msgid "In member %qs"
! msgstr "In Element %qs"
  
  #: libgdiagnostics.cc:1530
  msgid "In module %qs"
! msgstr "In Modul %qs"
  
  #: libgdiagnostics.cc:1531
  msgid "In namespace %qs"
! msgstr "In Namensbereich %qs"
  
  #: libgdiagnostics.cc:1532
  msgid "In type %qs"
! msgstr "In Typ %qs"
  
  #: libgdiagnostics.cc:1534
  msgid "In return type %qs"
! msgstr "In Rückgabetyp %qs"
  
  #: libgdiagnostics.cc:1535
  msgid "In parameter %qs"
! msgstr "In Parameter %qs"
  
  #: libgdiagnostics.cc:1536
  msgid "In variable %qs"
! msgstr "In Variable %qs"
  
  #. Kinds within XML or HTML documents.
  #: libgdiagnostics.cc:1539
  msgid "In element %qs"
! msgstr "In Element %qs"
  
  #: libgdiagnostics.cc:1540
  msgid "In attribute %qs"
! msgstr "In Attribut %qs"
  
  #: libgdiagnostics.cc:1541
  msgid "In text %qs"
! msgstr "In Text %qs"
  
  #: libgdiagnostics.cc:1542
  msgid "In comment %qs"
! msgstr "In Kommentar %qs"
  
  #: libgdiagnostics.cc:1544
  msgid "In processing instruction %qs"
! msgstr "In Verarbeitungsbefehl %qs"
  
  #: libgdiagnostics.cc:1545
  msgid "In DTD %qs"
! msgstr "In DTD %qs"
  
  #: libgdiagnostics.cc:1547
  msgid "In declaration %qs"
! msgstr "In Deklaration %qs"
  
  #. Kinds within JSON documents.
  #: libgdiagnostics.cc:1550
  msgid "In JSON object %qs"
! msgstr "In JSON-Objekt %qs"
  
  #: libgdiagnostics.cc:1551
  msgid "In JSON array %qs"
! msgstr "In JSON-Array %qs"
  
  #: libgdiagnostics.cc:1553
  msgid "In JSON property %qs"
! msgstr "In JSON-Eigenschaft %qs"
  
  #: libgdiagnostics.cc:1554
  msgid "In JSON value %qs"
! msgstr "In JSON-Wert %qs"
  
  #: libgdiagnostics.cc:1701
  #, c-format
  msgid "%e"
! msgstr "%e"
  
  #: libsarifreplay.cc:760
  msgid "JSON object"
*************** msgid "this is the insn:"
*** 19913,19922 ****
  msgstr "dies ist der Befehl:"
  
  #: lra-constraints.cc:4182
- #, fuzzy
- #| msgid "invalid operand address"
  msgid "unable to reload address in "
! msgstr "ungültige Operandenadresse"
  
  #: lra-constraints.cc:4478 reload.cc:3852
  msgid "unable to generate reloads for:"
--- 19645,19652 ----
  msgstr "dies ist der Befehl:"
  
  #: lra-constraints.cc:4182
  msgid "unable to reload address in "
! msgstr "Adresse kann nicht neugeladen werden in "
  
  #: lra-constraints.cc:4478 reload.cc:3852
  msgid "unable to generate reloads for:"
*************** msgid "invalid conversion to type %<mflo
*** 20582,20655 ****
  msgstr "ungültige Umwandlung in Typ %<mfloat8_t%>"
  
  #: config/aarch64/aarch64.cc:31104
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "preincrement operation not permitted on svbool_t"
! msgstr "Operation nicht erlaubt auf Typ %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31106
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "predecrement operation not permitted on svbool_t"
! msgstr "Operation nicht erlaubt auf Typ %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31108
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "postincrement operation not permitted on svbool_t"
! msgstr "Operation nicht erlaubt auf Typ %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31110
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "postdecrement operation not permitted on svbool_t"
! msgstr "Operation nicht erlaubt auf Typ %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31112
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "negation operation not permitted on svbool_t"
! msgstr "Operation nicht erlaubt auf Typ %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31114
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "plus operation not permitted on svbool_t"
! msgstr "Operation nicht erlaubt auf Typ %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31116
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "minus operation not permitted on svbool_t"
! msgstr "Operation nicht erlaubt auf Typ %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31118
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "multiply operation not permitted on svbool_t"
! msgstr "Operation nicht erlaubt auf Typ %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31120
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "divide operation not permitted on svbool_t"
! msgstr "Operation nicht erlaubt auf Typ %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31123
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "shift operation not permitted on svbool_t"
! msgstr "Operation nicht erlaubt auf Typ %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31128
  msgid "only == and != operations permitted on svbool_t"
! msgstr ""
  
  #: config/aarch64/aarch64.cc:31130
- #, fuzzy
- #| msgid "stack usage computation not supported for this target"
  msgid "subscript operation not supported on svbool_t"
! msgstr "Stapelverbrauchsberechnung wird für dieses Ziel nicht unterstützt"
  
  #: config/aarch64/aarch64.cc:31151 config/aarch64/aarch64.cc:31184
  msgid "operation not permitted on type %<mfloat8_t%>"
--- 20312,20363 ----
  msgstr "ungültige Umwandlung in Typ %<mfloat8_t%>"
  
  #: config/aarch64/aarch64.cc:31104
  msgid "preincrement operation not permitted on svbool_t"
! msgstr "Präinkrement-Operation nicht erlaubt auf svbool_t"
  
  #: config/aarch64/aarch64.cc:31106
  msgid "predecrement operation not permitted on svbool_t"
! msgstr "Prädekrement-Operation nicht erlaubt auf svbool_t"
  
  #: config/aarch64/aarch64.cc:31108
  msgid "postincrement operation not permitted on svbool_t"
! msgstr "Postinkrement-Operation nicht erlaubt auf svbool_t"
  
  #: config/aarch64/aarch64.cc:31110
  msgid "postdecrement operation not permitted on svbool_t"
! msgstr "Postdekrement-Operation nicht erlaubt auf svbool_t"
  
  #: config/aarch64/aarch64.cc:31112
  msgid "negation operation not permitted on svbool_t"
! msgstr "Negations-Operation nicht erlaubt auf svbool_t"
  
  #: config/aarch64/aarch64.cc:31114
  msgid "plus operation not permitted on svbool_t"
! msgstr "Plus-Operation nicht erlaubt auf svbool_t"
  
  #: config/aarch64/aarch64.cc:31116
  msgid "minus operation not permitted on svbool_t"
! msgstr "Minus-Operation nicht erlaubt auf svbool_t"
  
  #: config/aarch64/aarch64.cc:31118
  msgid "multiply operation not permitted on svbool_t"
! msgstr "Mal-Operation nicht erlaubt auf svbool_t"
  
  #: config/aarch64/aarch64.cc:31120
  msgid "divide operation not permitted on svbool_t"
! msgstr "Geteilt-Operation nicht erlaubt auf svbool_t"
  
  #: config/aarch64/aarch64.cc:31123
  msgid "shift operation not permitted on svbool_t"
! msgstr "Bitschiebe-Operation nicht erlaubt auf svbool_t"
  
  #: config/aarch64/aarch64.cc:31128
  msgid "only == and != operations permitted on svbool_t"
! msgstr "Nur die Operationen == und != sind auf svbool_t erlaubt"
  
  #: config/aarch64/aarch64.cc:31130
  msgid "subscript operation not supported on svbool_t"
! msgstr "Arrayindex-Operation nicht erlaubt auf svbool_t"
  
  #: config/aarch64/aarch64.cc:31151 config/aarch64/aarch64.cc:31184
  msgid "operation not permitted on type %<mfloat8_t%>"
*************** msgstr "veralteter Maverick-Formatcode �
*** 20893,20902 ****
  
  #. Former iWMMXT support, removed after GCC-15.
  #: config/arm/arm.cc:24455
! #, fuzzy, c-format
! #| msgid "obsolete FPA format code '%c'"
  msgid "obsolete iWMMXT format code '%c'"
! msgstr "veralteter FPA-Formatcode »%c«"
  
  #: config/arm/arm.cc:34277
  msgid "invalid conversion from type %<bfloat16_t%>"
--- 20601,20609 ----
  
  #. Former iWMMXT support, removed after GCC-15.
  #: config/arm/arm.cc:24455
! #, c-format
  msgid "obsolete iWMMXT format code '%c'"
! msgstr "veralteter iWMMXT-Formatcode »%c«"
  
  #: config/arm/arm.cc:34277
  msgid "invalid conversion from type %<bfloat16_t%>"
*************** msgid "operand is not a specific integer
*** 21366,21375 ****
  msgstr "Operand ist keine bestimmte Ganzzahl, ungültiger Operandencode »R«"
  
  #: config/i386/i386.cc:14530
! #, fuzzy, c-format
! #| msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
  msgid "operand is not a memory reference, invalid operand code 'v'"
! msgstr "Operand ist keine ausgleichbare Speicherreferenz, ungültiger Operandencode »H«"
  
  #: config/i386/i386.cc:14618
  #, c-format
--- 21073,21081 ----
  msgstr "Operand ist keine bestimmte Ganzzahl, ungültiger Operandencode »R«"
  
  #: config/i386/i386.cc:14530
! #, c-format
  msgid "operand is not a memory reference, invalid operand code 'v'"
! msgstr "Operand ist keine Speicherreferenz, ungültiger Operandencode »v«"
  
  #: config/i386/i386.cc:14618
  #, c-format
*************** msgid "invalid register number for 'N' m
*** 21697,21718 ****
  msgstr "ungültige Registernummer für Modifizierer »N«"
  
  #: config/riscv/riscv.cc:8236
! #, fuzzy, c-format
! #| msgid "modifier 'N' require register operand"
  msgid "modifier 'H' require register operand"
! msgstr "der Modifizierer »N« erfordert einen Registeroperanden"
  
  #: config/riscv/riscv.cc:8241
! #, fuzzy, c-format
! #| msgid "modifier 'N' require register operand"
  msgid "modifier 'H' is for integer registers only"
! msgstr "der Modifizierer »N« erfordert einen Registeroperanden"
  
  #: config/riscv/riscv.cc:8246
! #, fuzzy, c-format
! #| msgid "%qV qualifiers cannot be applied to %qT"
  msgid "modifier 'H' cannot be applied to R31"
! msgstr "%qV-Qualifizierer können nicht auf %qT angewendet werden"
  
  #: config/rl78/rl78.cc:1999 config/rl78/rl78.cc:2085
  #, c-format
--- 21403,21421 ----
  msgstr "ungültige Registernummer für Modifizierer »N«"
  
  #: config/riscv/riscv.cc:8236
! #, c-format
  msgid "modifier 'H' require register operand"
! msgstr "der Modifizierer »H« erfordert einen Registeroperanden"
  
  #: config/riscv/riscv.cc:8241
! #, c-format
  msgid "modifier 'H' is for integer registers only"
! msgstr "der Modifizierer »H« ist nur für Ganzzahlregister"
  
  #: config/riscv/riscv.cc:8246
! #, c-format
  msgid "modifier 'H' cannot be applied to R31"
! msgstr "der Modifizierer »H« ist nicht auf R31 anwendbar"
  
  #: config/rl78/rl78.cc:1999 config/rl78/rl78.cc:2085
  #, c-format
*************** msgid "At global scope:"
*** 22544,22862 ****
  msgstr "Im globalen Gültigkeitsbereich:"
  
  #: cp/reflect.cc:559
- #, fuzzy
- #| msgid "accumulator is not a constant integer"
  msgid "array element not a constant integer"
! msgstr "Akkumulator ist keine Ganzzahlkonstante"
  
  #: cp/reflect.cc:567 cp/reflect.cc:3862
- #, fuzzy
- #| msgid "expected constant size"
  msgid "reflect_constant failed"
! msgstr "konstante Größe erwartet"
  
  #: cp/reflect.cc:1000
- #, fuzzy
- #| msgid "function does not return string type"
  msgid "reflection does not represent a type"
! msgstr "Funktion gibt keinen Zeichenkettentypen zurück"
  
  #: cp/reflect.cc:1012
- #, fuzzy
- #| msgid "redeclaration of friend %q#D may not have default template arguments"
  msgid "reflection does not have template arguments"
! msgstr "Redeklaration des »friend« %q#D kann keine Standardtemplateargumente haben"
  
  #: cp/reflect.cc:1023
- #, fuzzy
- #| msgid "called object is not a function or function pointer"
  msgid "reflection does not represent a function or function type"
! msgstr "gerufenes Objekt ist keine Funktion oder Funktionszeiger"
  
  #: cp/reflect.cc:2324
  msgid "reflection does not represent an operator function or operator function template"
! msgstr ""
  
  #: cp/reflect.cc:2374
- #, fuzzy
- #| msgid "%<-Werror=%> argument %qs is not valid for %s"
  msgid "operators argument is not a valid operator"
! msgstr "Argument %qs für %<-Werror=%> ist für %s nicht gültig"
  
  #: cp/reflect.cc:2505
- #, fuzzy
- #| msgid "%qE does not name a type"
  msgid "reflection does not have a type"
! msgstr "%qE bezeichnet keinen Typ"
  
  #: cp/reflect.cc:2621
  msgid "reflection does not represent an object with static storage duration, or a reference to such an object"
! msgstr ""
  
  #: cp/reflect.cc:2702
  msgid "reflection does not represent an annotation or a valid argument to a splice-expression"
! msgstr ""
  
  #: cp/reflect.cc:2922
- #, fuzzy
- #| msgid "function does not return a value to test"
  msgid "reflection does not represent an entity with parent"
! msgstr "Funktion gibt keinen Wert zurück, der getestet werden könnte"
  
  #: cp/reflect.cc:3045
- #, fuzzy
- #| msgid "friend declaration does not name a class or function"
  msgid "reflection does not represent parameter of current function"
! msgstr "»friend«-Deklaration benennt keine Klasse oder Funktion"
  
  #: cp/reflect.cc:3066
- #, fuzzy
- #| msgid "called object is not a function or function pointer"
  msgid "reflection does not represent a function or function type with a return type"
! msgstr "gerufenes Objekt ist keine Funktion oder Funktionszeiger"
  
  #: cp/reflect.cc:3097
  msgid "reflection of virtual direct base relationship with abstract derived class"
! msgstr ""
  
  #: cp/reflect.cc:3103
  msgid "reflection unsuitable for offset_of"
! msgstr ""
  
  #: cp/reflect.cc:3108
- #, fuzzy
- #| msgid "non-constant condition for static assertion"
  msgid "non-constant offset for offset_of"
! msgstr "Nicht-konstante Bedingung für statische Behauptung"
  
  #: cp/reflect.cc:3172
  msgid "reflection not suitable for size_of"
! msgstr ""
  
  #: cp/reflect.cc:3191
- #, fuzzy
- #| msgid "conversion to incomplete type"
  msgid "reflection with incomplete type in size_of"
! msgstr "Konvertierung in unvollständigen Typen"
  
  #: cp/reflect.cc:3227
- #, fuzzy
- #| msgid "Do not tune writable data alignment."
  msgid "reflection not suitable for alignment_of"
! msgstr "Ausrichtung der schreibbaren Daten nicht optimieren."
  
  #: cp/reflect.cc:3263
- #, fuzzy
- #| msgid "assignment of function %qD"
  msgid "alignment_of on function type"
! msgstr "Zuweisung der Funktion %qD"
  
  #: cp/reflect.cc:3272
- #, fuzzy
- #| msgid "indirection will not access object of incomplete type %qT in statement"
  msgid "reflection with incomplete type in alignment_of"
! msgstr "Indirektion greift nicht auf Objekt unvollständigen Typs %qT in Anweisung zu"
  
  #: cp/reflect.cc:3307
  msgid "reflection not suitable for bit_size_of"
! msgstr ""
  
  #: cp/reflect.cc:3331
  msgid "reflection with incomplete type in bit_size_of"
! msgstr ""
  
  #: cp/reflect.cc:3507
  msgid "reflection with has_identifier false"
! msgstr ""
  
  #: cp/reflect.cc:3547 cp/reflect.cc:3630
  msgid "identifier_of not representable in ordinary literal encoding"
! msgstr ""
  
  #: cp/reflect.cc:3551 cp/reflect.cc:3634
  msgid "u8identifier_of not representable in UTF-8"
! msgstr ""
  
  #: cp/reflect.cc:3767
  msgid "reflection does not represent a type, type alias, variable, function, namespace, enumerator, direct base class relationship, or non-static data member"
! msgstr ""
  
  #: cp/reflect.cc:3779
- #, fuzzy
- #| msgid "function does not return a value to test"
  msgid "reflection does not represent a complete type or type alias"
! msgstr "Funktion gibt keinen Wert zurück, der getestet werden könnte"
  
  #: cp/reflect.cc:3886
  msgid "reflect_object failed"
! msgstr ""
  
  #: cp/reflect.cc:3913
- #, fuzzy
- #| msgid "expected function name"
  msgid "reflect_function failed"
! msgstr "Funktionsname erwartet"
  
  #: cp/reflect.cc:4792
- #, fuzzy
- #| msgid "invalid embedcfg: missing Files"
  msgid "value member missing"
! msgstr "ungültige embedcfg: fehlendes »Files«"
  
  #: cp/reflect.cc:4803 cp/reflect.cc:4812
- #, fuzzy
- #| msgid "expected loop number"
  msgid "unexpected value of value member"
! msgstr "Interner Fehler: expected loop number"
  
  #: cp/reflect.cc:4919
  msgid "type member missing"
! msgstr ""
  
  #: cp/reflect.cc:4943
- #, fuzzy
- #| msgid "function does not return string type"
  msgid "reflection does not represent a complete enumeration type"
! msgstr "Funktion gibt keinen Zeichenkettentypen zurück"
  
  #: cp/reflect.cc:5000
- #, fuzzy
- #| msgid "%qD does not have integral or enumeration type"
  msgid "reflection does not represent an enumerable enumeration type"
! msgstr "%qD hat keinen Ganzzahl- oder Aufzählungstyp"
  
  #: cp/reflect.cc:5156
- #, fuzzy
- #| msgid "iterator step with non-integral type"
  msgid "reflection represents non-integral or bool type"
! msgstr "Iterator-Schrittweite mit nichtganzzahligem Typ"
  
  #: cp/reflect.cc:5295
- #, fuzzy
- #| msgid "function does not return string type"
  msgid "reflection does not represent a template"
! msgstr "Funktion gibt keinen Zeichenkettentypen zurück"
  
  #: cp/reflect.cc:5318
- #, fuzzy
- #| msgid "invalid argument of %qE attribute"
  msgid "invalid argument to can_substitute"
! msgstr "ungültiges Argument für Attribut %qE"
  
  #: cp/reflect.cc:5380
  msgid "can_substitute returned false"
! msgstr ""
  
  #: cp/reflect.cc:5509
- #, fuzzy
- #| msgid "target is not pointer or reference"
  msgid "type is not object or reference type"
! msgstr "Ziel ist kein Zeiger oder Referenz"
  
  #: cp/reflect.cc:5754
  msgid "conversion from ordinary literal encoding to source charset failed"
! msgstr ""
  
  #: cp/reflect.cc:5760
- #, fuzzy
- #| msgid "conversion from %qT to %qT may change value"
  msgid "conversion from UTF-8 encoding to source charset failed"
! msgstr "Umwandlung von %qT nach %qT könnte den Wert ändern"
  
  #: cp/reflect.cc:5768
- #, fuzzy
- #| msgid "%<%c%> is not a valid character in an identifier"
  msgid "name is not a valid identifier"
! msgstr "%<%c%> ist kein gültiges Zeichen in einem Bezeichner"
  
  #: cp/reflect.cc:5774
  msgid "name is a keyword"
! msgstr ""
  
  #: cp/reflect.cc:5777
- #, fuzzy
- #| msgid "variant %qD is a built-in"
  msgid "name is a built-in trait"
! msgstr "die Variante %qD ist eine eingebaute"
  
  #: cp/reflect.cc:5786
- #, fuzzy
- #| msgid "register name not specified for %q+D"
  msgid "neither name nor bit_width specified"
! msgstr "für %q+D wurde kein Registername angegeben"
  
  #: cp/reflect.cc:5792
  msgid "bit_width specified with non-integral and non-enumeration type"
! msgstr ""
  
  #: cp/reflect.cc:5797
- #, fuzzy
- #| msgid "alignment may not be specified for %qD"
  msgid "both alignment and bit_width specified"
! msgstr "für %qD darf keine Ausrichtung angegeben werden"
  
  #: cp/reflect.cc:5801
  msgid "bit_width specified with no_unique_address true"
! msgstr ""
  
  #: cp/reflect.cc:5806
- #, fuzzy
- #| msgid "field width specifier"
  msgid "bit_width 0 with specified name"
! msgstr "Feldbreitenangabe"
  
  #: cp/reflect.cc:5809
- #, fuzzy
- #| msgid "pack index is negative"
  msgid "bit_width is negative"
! msgstr "Packindex ist negativ"
  
  #: cp/reflect.cc:5816
- #, fuzzy
- #| msgid "requested alignment is not a power of 2"
  msgid "alignment is not power of two"
! msgstr "verlangte Ausrichtung ist keine Zweierpotenz"
  
  #: cp/reflect.cc:5819
- #, fuzzy
- #| msgid "pack index is negative"
  msgid "alignment is negative"
! msgstr "Packindex ist negativ"
  
  #: cp/reflect.cc:5826
- #, fuzzy
- #| msgid "alignment of %qD is bigger than original declaration"
  msgid "alignment is smaller than alignment_of"
! msgstr "Ausrichtung von %qD ist größer als ursprüngliche Deklaration"
  
  #: cp/reflect.cc:6363
- #, fuzzy
- #| msgid "incomplete implementation of class %qE"
  msgid "incomplete parent class"
! msgstr "unvollständige Implementierung der Klasse %qE"
  
  #: cp/reflect.cc:6799
- #, fuzzy
- #| msgid "%qE is not a class or namespace"
  msgid "neither complete class type nor namespace"
! msgstr "%qE ist keine Klasse oder Namensbereich"
  
  #: cp/reflect.cc:6829 cp/reflect.cc:6857 cp/reflect.cc:6886 cp/reflect.cc:6924
  #: cp/reflect.cc:6962 cp/reflect.cc:6993
- #, fuzzy
- #| msgid "source is of incomplete class type"
  msgid "not a complete class type"
! msgstr "Quelle hat unvollständigen Klassentypen"
  
  #: cp/reflect.cc:6952
  msgid "closure type"
! msgstr ""
  
  #: cp/reflect.cc:7128 cp/reflect.cc:7187 cp/reflect.cc:7261
- #, fuzzy
- #| msgid "a template cannot be defaulted"
  msgid "value cannot be extracted"
! msgstr "ein Template kann nicht vorbelegt werden"
  
  #: cp/rtti.cc:592
  msgid "target is not pointer or reference to class"
--- 22247,22487 ----
  msgstr "Im globalen Gültigkeitsbereich:"
  
  #: cp/reflect.cc:559
  msgid "array element not a constant integer"
! msgstr "Arrayelement ist keine Ganzzahlkonstante"
  
  #: cp/reflect.cc:567 cp/reflect.cc:3862
  msgid "reflect_constant failed"
! msgstr "reflect_constant fehlgeschlagen"
  
  #: cp/reflect.cc:1000
  msgid "reflection does not represent a type"
! msgstr "Reflektion repräsentiert keinen Typen"
  
  #: cp/reflect.cc:1012
  msgid "reflection does not have template arguments"
! msgstr "Reflektion hat keine Template-Argumente"
  
  #: cp/reflect.cc:1023
  msgid "reflection does not represent a function or function type"
! msgstr "Reflektion repräsentiert weder eine Funktion noch einen Funktionstypen"
  
  #: cp/reflect.cc:2324
  msgid "reflection does not represent an operator function or operator function template"
! msgstr "Reflektion repräsentiert weder eine Operatorfunktion noch ein Operatorfunktionstemplate"
  
  #: cp/reflect.cc:2374
  msgid "operators argument is not a valid operator"
! msgstr "Argument für Operatoren ist kein gültiger Operator"
  
  #: cp/reflect.cc:2505
  msgid "reflection does not have a type"
! msgstr "Reflektion hat keinen Typen"
  
  #: cp/reflect.cc:2621
  msgid "reflection does not represent an object with static storage duration, or a reference to such an object"
! msgstr "Reflektion repräsentiert weder ein Objekt mit statischer Speicherdauer noch eine Referenz auf solch ein Objekt"
  
  #: cp/reflect.cc:2702
  msgid "reflection does not represent an annotation or a valid argument to a splice-expression"
! msgstr "Reflexion repräsentiert weder eine Annotation noch ein gültiges Argument für einen Splice-Ausdruck"
  
  #: cp/reflect.cc:2922
  msgid "reflection does not represent an entity with parent"
! msgstr "Reflexion repräsentiert keine Entity mit Elternteil"
  
  #: cp/reflect.cc:3045
  msgid "reflection does not represent parameter of current function"
! msgstr "Reflektion repräsentiert keinen Parameter der aktuellen Funktion"
  
  #: cp/reflect.cc:3066
  msgid "reflection does not represent a function or function type with a return type"
! msgstr "Reflektion repräsentiert weder eine Funktion noch einen Funktionstyp mit Rückgabetyp"
  
  #: cp/reflect.cc:3097
  msgid "reflection of virtual direct base relationship with abstract derived class"
! msgstr "Reflektion einer virtuellen direkten Basisbeziehung mit abstrakter abgeleiteter Klasse"
  
  #: cp/reflect.cc:3103
  msgid "reflection unsuitable for offset_of"
! msgstr "Reflektion ist ungeeignet für offset_of"
  
  #: cp/reflect.cc:3108
  msgid "non-constant offset for offset_of"
! msgstr "Nicht-konstanter Offset in offset_of"
  
  #: cp/reflect.cc:3172
  msgid "reflection not suitable for size_of"
! msgstr "Reflektion ist ungeeignet für size_of"
  
  #: cp/reflect.cc:3191
  msgid "reflection with incomplete type in size_of"
! msgstr "Reflektion mit unvollständigem Typen in size_of"
  
  #: cp/reflect.cc:3227
  msgid "reflection not suitable for alignment_of"
! msgstr "Reflektion ist ungeeignet für alignment_of"
  
  #: cp/reflect.cc:3263
  msgid "alignment_of on function type"
! msgstr "alignment_of auf einem Funktionstypen"
  
  #: cp/reflect.cc:3272
  msgid "reflection with incomplete type in alignment_of"
! msgstr "Reflektion mit unvollständigem Typen in alignment_of"
  
  #: cp/reflect.cc:3307
  msgid "reflection not suitable for bit_size_of"
! msgstr "Reflektion ungeeignet für bit_size_of"
  
  #: cp/reflect.cc:3331
  msgid "reflection with incomplete type in bit_size_of"
! msgstr "Reflektion mit unvollständigem Typen in bit_size_of"
  
  #: cp/reflect.cc:3507
  msgid "reflection with has_identifier false"
! msgstr "Reflektion mit has_identifier false"
  
  #: cp/reflect.cc:3547 cp/reflect.cc:3630
  msgid "identifier_of not representable in ordinary literal encoding"
! msgstr "identifier_of ist im gewöhnlichen Encoding für Literale nicht darstellbar"
  
  #: cp/reflect.cc:3551 cp/reflect.cc:3634
  msgid "u8identifier_of not representable in UTF-8"
! msgstr "u8identifier_of ist nicht in UTF-8 darstellbar"
  
  #: cp/reflect.cc:3767
  msgid "reflection does not represent a type, type alias, variable, function, namespace, enumerator, direct base class relationship, or non-static data member"
! msgstr "Reflexion stellt weder Typ noch Typalias, Variable, Funktion, Namespace, Enumerator, direkte Basisklassenbeziehung oder nicht statisches Datenelement dar"
  
  #: cp/reflect.cc:3779
  msgid "reflection does not represent a complete type or type alias"
! msgstr "Reflektion repräsentiert weder einen vollständigen Typen noch einen Typalias"
  
  #: cp/reflect.cc:3886
  msgid "reflect_object failed"
! msgstr "reflect_object fehlgeschlagen"
  
  #: cp/reflect.cc:3913
  msgid "reflect_function failed"
! msgstr "reflect_function fehlgeschlagen"
  
  #: cp/reflect.cc:4792
  msgid "value member missing"
! msgstr "Wertelement fehlt"
  
  #: cp/reflect.cc:4803 cp/reflect.cc:4812
  msgid "unexpected value of value member"
! msgstr "unerwarteter Wert des Wertelements"
  
  #: cp/reflect.cc:4919
  msgid "type member missing"
! msgstr "Typelement fehlt"
  
  #: cp/reflect.cc:4943
  msgid "reflection does not represent a complete enumeration type"
! msgstr "Reflektion repräsentiert keinen vollständigen Aufzählungstypen"
  
  #: cp/reflect.cc:5000
  msgid "reflection does not represent an enumerable enumeration type"
! msgstr "Reflektion repräsentiert keinen aufzählbaren Aufzählungstypen"
  
  #: cp/reflect.cc:5156
  msgid "reflection represents non-integral or bool type"
! msgstr "Reflektion repräsentiert weder einen Ganzzahltypen noch einen Bool-Typ"
  
  #: cp/reflect.cc:5295
  msgid "reflection does not represent a template"
! msgstr "Reflektion repräsentiert kein Template"
  
  #: cp/reflect.cc:5318
  msgid "invalid argument to can_substitute"
! msgstr "ungültiges Argument für can_substitute"
  
  #: cp/reflect.cc:5380
  msgid "can_substitute returned false"
! msgstr "can_substitute hat false zurückgegeben"
  
  #: cp/reflect.cc:5509
  msgid "type is not object or reference type"
! msgstr "Typ ist weder ein Objekttyp noch ein Referenztyp"
  
  #: cp/reflect.cc:5754
  msgid "conversion from ordinary literal encoding to source charset failed"
! msgstr "Umwandlung aus der gewöhnlichen Codierung von Literalen hin zum Quellzeichensatz fehlgeschlagen"
  
  #: cp/reflect.cc:5760
  msgid "conversion from UTF-8 encoding to source charset failed"
! msgstr "Umwandlung von UTF-8 zum Quellzeichensatz fehlgeschlagen"
  
  #: cp/reflect.cc:5768
  msgid "name is not a valid identifier"
! msgstr "Name ist kein gültiger Bezeichner"
  
  #: cp/reflect.cc:5774
  msgid "name is a keyword"
! msgstr "Name ist ein Schlüsselwort"
  
  #: cp/reflect.cc:5777
  msgid "name is a built-in trait"
! msgstr "Name ist ein eingebauter Trait"
  
  #: cp/reflect.cc:5786
  msgid "neither name nor bit_width specified"
! msgstr "weder Name noch bit_width angegeben"
  
  #: cp/reflect.cc:5792
  msgid "bit_width specified with non-integral and non-enumeration type"
! msgstr "bit_width an einem Typ angegeben, der weder ein Ganzzahltyp noch ein Aufzählungstyp ist"
  
  #: cp/reflect.cc:5797
  msgid "both alignment and bit_width specified"
! msgstr "sowohl Alignment als auch bit_width angegeben"
  
  #: cp/reflect.cc:5801
  msgid "bit_width specified with no_unique_address true"
! msgstr "bit_width angegeben mit no_unique_address true"
  
  #: cp/reflect.cc:5806
  msgid "bit_width 0 with specified name"
! msgstr "bit_width 0 mit angegebenem Name"
  
  #: cp/reflect.cc:5809
  msgid "bit_width is negative"
! msgstr "bit_width ist negativ"
  
  #: cp/reflect.cc:5816
  msgid "alignment is not power of two"
! msgstr "Alignment ist keine Zweierpotenz"
  
  #: cp/reflect.cc:5819
  msgid "alignment is negative"
! msgstr "Alignment ist negativ"
  
  #: cp/reflect.cc:5826
  msgid "alignment is smaller than alignment_of"
! msgstr "Alignment ist kleiner als alignment_of"
  
  #: cp/reflect.cc:6363
  msgid "incomplete parent class"
! msgstr "unvollständige Elternklasse"
  
  #: cp/reflect.cc:6799
  msgid "neither complete class type nor namespace"
! msgstr "weder vollständige Klasse noch Namensraum"
  
  #: cp/reflect.cc:6829 cp/reflect.cc:6857 cp/reflect.cc:6886 cp/reflect.cc:6924
  #: cp/reflect.cc:6962 cp/reflect.cc:6993
  msgid "not a complete class type"
! msgstr "kein vollständiger Klassentyp"
  
  #: cp/reflect.cc:6952
  msgid "closure type"
! msgstr "Closuretyp"
  
  #: cp/reflect.cc:7128 cp/reflect.cc:7187 cp/reflect.cc:7261
  msgid "value cannot be extracted"
! msgstr "Wert kann nicht extrahiert werden"
  
  #: cp/rtti.cc:592
  msgid "target is not pointer or reference to class"
*************** msgid "%<-mrelax%> is only supported for
*** 24326,24335 ****
  msgstr "%<-mrelax%> wird nur für RTP PIC unterstützt"
  
  #: cobol/exceptg.h:80
! #, fuzzy, gcc-internal-format
! #| msgid "exception '%s'"
  msgid "exception %qs"
! msgstr "Ausnahme »%s«"
  
  #: cobol/parse_ante.h:1659
  #, gcc-internal-format, gfc-internal-format
--- 23951,23959 ----
  msgstr "%<-mrelax%> wird nur für RTP PIC unterstützt"
  
  #: cobol/exceptg.h:80
! #, gcc-internal-format
  msgid "exception %qs"
! msgstr "Ausnahme %qs"
  
  #: cobol/parse_ante.h:1659
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "%s:%d: ungültiger %<symbol_type
*** 24345,24351 ****
  #: cobol/parse_ante.h:3268
  #, gcc-internal-format
  msgid "SET identifier-11 TO LOCALE"
! msgstr ""
  
  #: cobol/parse_util.h:360
  #, gcc-internal-format
--- 23969,23975 ----
  #: cobol/parse_ante.h:3268
  #, gcc-internal-format
  msgid "SET identifier-11 TO LOCALE"
! msgstr "SET identifier-11 TO LOCALE"
  
  #: cobol/parse_util.h:360
  #, gcc-internal-format
*************** msgid "scan.o: %s"
*** 24363,24390 ****
  msgstr "scan.o: %s"
  
  #: cobol/scan_ante.h:673
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s:%d: invalid %<symbol_type_t%> %d"
  msgid "%s:%d: invalid level '%s'"
! msgstr "%s:%d: ungültiger %<symbol_type_t%> %d"
  
  #: cobol/scan_ante.h:1218
! #, fuzzy, gcc-internal-format
! #| msgid "%s:%d: invalid %<symbol_type_t%> %d"
  msgid "%s:%d: invalid symbol type %s for symbol %qs"
! msgstr "%s:%d: ungültiger %<symbol_type_t%> %d"
  
  #: cobol/scan_ante.h:1250
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s:%d: could not add '%s'"
  msgid "%s:%d: invalid integer '%s'"
! msgstr "%s:%d: »%s« konnte nicht hinzugefügt werden"
  
  #: cobol/scan_post.h:123
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s: %s: %s"
  msgid "%s:%d: %s: %s"
! msgstr "%s: %s: %s"
  
  #. Use CHECK_FIELD when a should be non-null, and a->var_decl_node also should
  #. by non-null.  (The useless calls to abort() are because cppcheck doesn't
--- 23987,24010 ----
  msgstr "scan.o: %s"
  
  #: cobol/scan_ante.h:673
! #, gcc-internal-format, gfc-internal-format
  msgid "%s:%d: invalid level '%s'"
! msgstr "%s:%d: invalid level '%s'"
  
  #: cobol/scan_ante.h:1218
! #, gcc-internal-format
  msgid "%s:%d: invalid symbol type %s for symbol %qs"
! msgstr "%s:%d: invalid symbol type %s for symbol %qs"
  
  #: cobol/scan_ante.h:1250
! #, gcc-internal-format, gfc-internal-format
  msgid "%s:%d: invalid integer '%s'"
! msgstr "%s:%d: invalid integer '%s'"
  
  #: cobol/scan_post.h:123
! #, gcc-internal-format, gfc-internal-format
  msgid "%s:%d: %s: %s"
! msgstr "%s:%d: %s: %s"
  
  #. Use CHECK_FIELD when a should be non-null, and a->var_decl_node also should
  #. by non-null.  (The useless calls to abort() are because cppcheck doesn't
*************** msgstr "%s: %s: %s"
*** 24394,24403 ****
  #. This version is a bit more lax, for special cases
  #: cobol/show_parse.h:452 cobol/show_parse.h:456 cobol/show_parse.h:469
  #: cobol/show_parse.h:473 cobol/show_parse.h:486
! #, fuzzy, gcc-internal-format
! #| msgid "unused parameter %qD"
  msgid "%s: parameter %<"
! msgstr "unverwendeter Parameter %qD"
  
  #. A general purpose syntax error.
  #: fortran/gfortran.h:3644 fortran/io.cc:3728 fortran/io.cc:4428
--- 24014,24022 ----
  #. This version is a bit more lax, for special cases
  #: cobol/show_parse.h:452 cobol/show_parse.h:456 cobol/show_parse.h:469
  #: cobol/show_parse.h:473 cobol/show_parse.h:486
! #, gcc-internal-format
  msgid "%s: parameter %<"
! msgstr "%s: parameter %<"
  
  #. A general purpose syntax error.
  #: fortran/gfortran.h:3644 fortran/io.cc:3728 fortran/io.cc:4428
*************** msgid "%<-mintel-syntax%> and %<-mno-int
*** 24484,24493 ****
  msgstr "%<-mintel-syntax%> und %<-mno-intel-syntax%> sind veraltet; stattdessen %<-masm=intel%> und %<-masm=att%> verwenden"
  
  #: config/i386/i386.opt:655
! #, fuzzy, gcc-internal-format
! #| msgid "%<-mvrsave=no%> is deprecated; use %<-mno-vrsave%> instead"
  msgid "%<-mstore-max=%> is deprecated; use %<-mmove-max=%> instead"
! msgstr "%<-mvrsave=no%> ist veraltet. Verwenden Sie stattdessen %<-mno-vrsave%>"
  
  #: config/i386/i386.opt:720
  #, gcc-internal-format
--- 24103,24111 ----
  msgstr "%<-mintel-syntax%> und %<-mno-intel-syntax%> sind veraltet; stattdessen %<-masm=intel%> und %<-masm=att%> verwenden"
  
  #: config/i386/i386.opt:655
! #, gcc-internal-format
  msgid "%<-mstore-max=%> is deprecated; use %<-mmove-max=%> instead"
! msgstr "%<-mstore-max=%> ist veraltet. Verwenden Sie stattdessen %<-mmove-max=%>"
  
  #: config/i386/i386.opt:720
  #, gcc-internal-format
*************** msgid "unknown LTO partitioning model %q
*** 24564,24573 ****
  msgstr "Unbekanntes LTO-Partitionierungs-Modell %qs"
  
  #: params.opt:524
! #, fuzzy, gcc-internal-format
! #| msgid "unknown LTO partitioning model %qs"
  msgid "unknown LTO locality partitioning heuristics %qs"
! msgstr "Unbekanntes LTO-Partitionierungs-Modell %qs"
  
  #: params.opt:978
  #, gcc-internal-format
--- 24182,24190 ----
  msgstr "Unbekanntes LTO-Partitionierungs-Modell %qs"
  
  #: params.opt:524
! #, gcc-internal-format
  msgid "unknown LTO locality partitioning heuristics %qs"
! msgstr "Unbekanntes LTO-Lokalitäts-Partitionierungs-Modell %qs"
  
  #: params.opt:978
  #, gcc-internal-format
*************** msgid "unrecognized zero init padding bi
*** 24700,24715 ****
  msgstr "nicht erkannte Padding-Bits-Art %qs für Null-Initialisierung"
  
  #: algol68/lang.opt:52
! #, fuzzy, gcc-internal-format
! #| msgid "argument %qs to %<-Wbidi-chars%> not recognized"
  msgid "argument %qs to %<-Whidden-declaration%> not recognized"
! msgstr "Argument %qs für %<-Wbidi-chars%> nicht bekannt"
  
  #: algol68/lang.opt:118
! #, fuzzy, gcc-internal-format
! #| msgid "unknown trampoline implementation %qs"
  msgid "unknown stropping_regime setting %qs"
! msgstr "unbekannte Trampolinimplementierung %qs"
  
  #: rust/lang.opt:90
  #, gcc-internal-format
--- 24317,24330 ----
  msgstr "nicht erkannte Padding-Bits-Art %qs für Null-Initialisierung"
  
  #: algol68/lang.opt:52
! #, gcc-internal-format
  msgid "argument %qs to %<-Whidden-declaration%> not recognized"
! msgstr "Argument %qs für %<-Whidden-declaration%> nicht erkannt"
  
  #: algol68/lang.opt:118
! #, gcc-internal-format
  msgid "unknown stropping_regime setting %qs"
! msgstr "unbekannte Stropping-Regime-Einstellung %qs"
  
  #: rust/lang.opt:90
  #, gcc-internal-format
*************** msgid "no class name specified with %qs"
*** 24801,24816 ****
  msgstr "kein Klassenname mit %qs angegeben"
  
  #: c-family/c.opt:1910
! #, fuzzy, gcc-internal-format
! #| msgid "unrecognized state string %qs"
  msgid "unrecognized contract evaluation semantic %qs"
! msgstr "nicht erkannte Statuszeichenkette %qs"
  
  #: c-family/c.opt:1942
! #, fuzzy, gcc-internal-format
! #| msgid "unrecognized argument in option %qs"
  msgid "unrecognized client contract check option %qs"
! msgstr "nicht erkanntes Kommandozeilenargument in Option %qs"
  
  #: c-family/c.opt:1958
  #, gcc-internal-format
--- 24416,24429 ----
  msgstr "kein Klassenname mit %qs angegeben"
  
  #: c-family/c.opt:1910
! #, gcc-internal-format
  msgid "unrecognized contract evaluation semantic %qs"
! msgstr "unbekannte Vertragsauswertungssemantik %qs"
  
  #: c-family/c.opt:1942
! #, gcc-internal-format
  msgid "unrecognized client contract check option %qs"
! msgstr "unbekannte Clientvertragsprüfungsoption %qs"
  
  #: c-family/c.opt:1958
  #, gcc-internal-format
*************** msgid "unknown C++ standard %qs"
*** 24868,24935 ****
  msgstr "unbekannter C++-Standard %qs"
  
  #: attr-callback.cc:199
! #, fuzzy, gcc-internal-format
! #| msgid "standard %qE attribute can only be applied to functions"
  msgid "%qE attribute can only be used on functions"
! msgstr "das Standardattribut %qE bezieht sich nur auf Funktionen"
  
  #: attr-callback.cc:207
! #, fuzzy, gcc-internal-format
! #| msgid "requested position is not an integer constant"
  msgid "argument specifying callback function position is not an integer constant"
! msgstr "Angeforderte Position ist keine Ganzzahlkonstante"
  
  #: attr-callback.cc:227
! #, fuzzy, gcc-internal-format
! #| msgid "virtual functions cannot be friends"
  msgid "callback function position cannot be marked as unknown"
! msgstr "virtuelle Funktionen können keine friends sein"
  
  #: attr-callback.cc:235
! #, fuzzy, gcc-internal-format
! #| msgid "pack index is out of range"
  msgid "callback function position out of range"
! msgstr "Packindex liegt außerhalb des Bereichs"
  
  #: attr-callback.cc:246
! #, fuzzy, gcc-internal-format
! #| msgid "plugin %s registered a null callback function for event %s"
  msgid "could not retrieve callback function from arguments"
! msgstr "Plugin %s hat eine Null-Callback-Funktion für Ereignis %s registriert"
  
  #: attr-callback.cc:255
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "argument %d of %qE must not be a pointer to a function"
  msgid "argument no. %d is not an address of a function"
! msgstr "Argument %d von %qE darf kein Zeiger auf eine Funktion sein"
  
  #: attr-callback.cc:275
  #, gcc-internal-format, gfc-internal-format
  msgid "argument number mismatch, %d expected, got %d"
! msgstr ""
  
  #: attr-callback.cc:293
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "argument %qd is not a constant"
  msgid "argument no. %d is not an integer constant"
! msgstr "Argument %qd ist keine Konstante"
  
  #: attr-callback.cc:311
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "pack index is out of range"
  msgid "callback argument index %d is out of range"
! msgstr "Packindex liegt außerhalb des Bereichs"
  
  #: attr-callback.cc:324
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "operand type %qT is incompatible with argument %d of %qE"
  msgid "argument type at index %d is not compatible with callback argument type at index %d"
! msgstr "Operandentyp %qT ist inkompatibel mit Argument %d von %qE"
  
  #: attr-callback.cc:339
  #, gcc-internal-format, gfc-internal-format
  msgid "function declaration has multiple callback attributes describing argument no. %d"
! msgstr ""
  
  #: attribs.cc:245 attribs.cc:268 attribs.cc:281
  #, gcc-internal-format
--- 24481,24539 ----
  msgstr "unbekannter C++-Standard %qs"
  
  #: attr-callback.cc:199
! #, gcc-internal-format
  msgid "%qE attribute can only be used on functions"
! msgstr "das Attribut %qE bezieht sich nur auf Funktionen"
  
  #: attr-callback.cc:207
! #, gcc-internal-format
  msgid "argument specifying callback function position is not an integer constant"
! msgstr "das Argument, das die Position der Rückruffunktion angibt, ist keine Ganzzahlkonstante"
  
  #: attr-callback.cc:227
! #, gcc-internal-format
  msgid "callback function position cannot be marked as unknown"
! msgstr "Position der Rückruffunktion kann nicht als unbekannt markiert werden"
  
  #: attr-callback.cc:235
! #, gcc-internal-format
  msgid "callback function position out of range"
! msgstr "Position der Rückruffunktion liegt außerhalb des Bereichs"
  
  #: attr-callback.cc:246
! #, gcc-internal-format
  msgid "could not retrieve callback function from arguments"
! msgstr "Fehler beim Ermitteln der Rückruffunktion aus den Argumenten"
  
  #: attr-callback.cc:255
! #, gcc-internal-format, gfc-internal-format
  msgid "argument no. %d is not an address of a function"
! msgstr "Argument %d ist nicht die Adresse einer Funktion"
  
  #: attr-callback.cc:275
  #, gcc-internal-format, gfc-internal-format
  msgid "argument number mismatch, %d expected, got %d"
! msgstr "Anzahl der Argumente passt nicht, %d erwartet, %d bekommen"
  
  #: attr-callback.cc:293
! #, gcc-internal-format, gfc-internal-format
  msgid "argument no. %d is not an integer constant"
! msgstr "Argument %d ist keine Ganzzahlkonstante"
  
  #: attr-callback.cc:311
! #, gcc-internal-format, gfc-internal-format
  msgid "callback argument index %d is out of range"
! msgstr "Argumentindex %d für die Rückruffunktion liegt außerhalb des Bereichs"
  
  #: attr-callback.cc:324
! #, gcc-internal-format, gfc-internal-format
  msgid "argument type at index %d is not compatible with callback argument type at index %d"
! msgstr "Argumenttyp an Index %d ist inkompatibel dem Argumenttyp der Rückruffunktion an Index %d"
  
  #: attr-callback.cc:339
  #, gcc-internal-format, gfc-internal-format
  msgid "function declaration has multiple callback attributes describing argument no. %d"
! msgstr "Funktionsdeklaration hat mehrere Rückruf-Attribute, die das Argument %d beschreiben"
  
  #: attribs.cc:245 attribs.cc:268 attribs.cc:281
  #, gcc-internal-format
*************** msgid "variable %q+D definition is marke
*** 25119,25134 ****
  msgstr "Variablendefinition von %q+D ist als dllimport markiert"
  
  #: attribs.cc:2016
! #, fuzzy, gcc-internal-format
! #| msgid "initialized variable %q+D is marked dllimport"
  msgid "thread-local variable %q+D declared as dllimport"
! msgstr "initialisierte Variable %q+D ist als »dllimport« markiert"
  
  #: attribs.cc:2046
! #, fuzzy, gcc-internal-format
! #| msgid "to be allocated variable declared here"
  msgid "thread-local variable %q+D declared as dllexport"
! msgstr "die zu allozierende Variable ist hier deklariert"
  
  #: attribs.cc:2054
  #, gcc-internal-format
--- 24723,24736 ----
  msgstr "Variablendefinition von %q+D ist als dllimport markiert"
  
  #: attribs.cc:2016
! #, gcc-internal-format
  msgid "thread-local variable %q+D declared as dllimport"
! msgstr "threadlokale Variable %q+D ist als »dllimport« deklariert"
  
  #: attribs.cc:2046
! #, gcc-internal-format
  msgid "thread-local variable %q+D declared as dllexport"
! msgstr "threadlokale Variable %q+D ist als »dllexport« deklariert"
  
  #: attribs.cc:2054
  #, gcc-internal-format
*************** msgstr[1] "%qD legt weniger eingeschrän
*** 25160,25284 ****
  #: auto-profile.cc:823
  #, gcc-internal-format, gfc-internal-format
  msgid "auto-profile cannot encode offset %i that exceeds 16 bytes"
! msgstr ""
  
  #: auto-profile.cc:827
! #, fuzzy, gcc-internal-format
! #| msgid "deallocation of already deallocated storage"
  msgid "location offset is related to"
! msgstr "Versuch, bereits freigegebenen Speicher freizugeben"
  
  #: auto-profile.cc:830
  #, gcc-internal-format
  msgid "auto-profile cannot encode discriminators that exceeds 16 bytes"
! msgstr ""
  
  #: auto-profile.cc:866
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute is not supported for R8C target"
  msgid "auto-profile is not supported for targets with user label prefix"
! msgstr "Attribut %qE wird für Ziel R8C nicht unterstützt"
  
  #: auto-profile.cc:1086
  #, gcc-internal-format, gfc-internal-format
  msgid "auto-profile contains invalid symbol name index %d"
! msgstr ""
  
  #: auto-profile.cc:1102
  #, gcc-internal-format, gfc-internal-format
  msgid "auto-profile contains invalid filename index %d"
! msgstr ""
  
  #: auto-profile.cc:1604
  #, gcc-internal-format
  msgid "auto-profile of %q+F contains inlined function with symbol name %s instead of symbol name %s"
! msgstr ""
  
  #: auto-profile.cc:1607 auto-profile.cc:1833 auto-profile.cc:1842
  #: auto-profile.cc:1884
! #, fuzzy, gcc-internal-format
! #| msgid "edge %s->%s has no corresponding call_stmt"
  msgid "corresponding call"
! msgstr "Interner Fehler: edge %s->%s has no corresponding call_stmt"
  
  #: auto-profile.cc:1652
  #, gcc-internal-format
  msgid "duplicated count information in auto-profile of %q+F with relative location %i discriminator %i"
! msgstr ""
  
  #: auto-profile.cc:1657
! #, fuzzy, gcc-internal-format
! #| msgid "no corresponding deallocation function for %qD"
  msgid "corresponding source location"
! msgstr "keine passende Freigabefunktion für %qD"
  
  #: auto-profile.cc:1828
  #, gcc-internal-format
  msgid "duplicated callsite in auto-profile of %q+F with relative location %i, discriminator %i"
! msgstr ""
  
  #: auto-profile.cc:1836
  #, gcc-internal-format
  msgid "both call targets and inline callsite information is present in auto-profile of function %q+F with relative location %i, discriminator %i"
! msgstr ""
  
  #: auto-profile.cc:1876
  #, gcc-internal-format
  msgid "auto-profile of %q+F seem to contain lost discriminator %i for call of %s at relative location %i"
! msgstr ""
  
  #: auto-profile.cc:1920
  #, gcc-internal-format
  msgid "auto-profile of %q+F contains multiple targets for a direct call with relative location %i, discriminator %i"
! msgstr ""
  
  #: auto-profile.cc:1936
  #, gcc-internal-format, gfc-internal-format
  msgid "function contains two calls of the same relative location +%i, discriminator %i, that leads to lost auto-profile"
! msgstr ""
  
  #: auto-profile.cc:1944
! #, fuzzy, gcc-internal-format
! #| msgid "call invocation refers to locals"
  msgid "location of the first call"
! msgstr "der Aufruf des Funktionsaufrufs verweist auf lokale Variablen"
  
  #: auto-profile.cc:1946
! #, fuzzy, gcc-internal-format
! #| msgid "location of the previous reduction for %qE"
  msgid "location of the second call"
! msgstr "Stelle der vorherigen Reduktion für %qE"
  
  #: auto-profile.cc:2000
  #, gcc-internal-format
  msgid "auto-profile of %q+F contains indirect call targets not associated with an indirect call statement"
! msgstr ""
  
  #: auto-profile.cc:2005 auto-profile.cc:2052
  #, gcc-internal-format
  msgid "count %<PRIu64> with relative location +%i, discriminator %i"
! msgstr ""
  
  #: auto-profile.cc:2048
  #, gcc-internal-format
  msgid "auto-profile of %q+F contains extra statements"
! msgstr ""
  
  #: auto-profile.cc:2058 auto-profile.cc:2099
! #, fuzzy, gcc-internal-format
! #| msgid "creating array of functions"
  msgid "location is after end of function"
! msgstr "Array von Funktionen wird erzeugt"
  
  #: auto-profile.cc:2087
  #, gcc-internal-format
  msgid "auto-profile of %q+F contains extra callsites"
! msgstr ""
  
  #: auto-profile.cc:2092
  #, gcc-internal-format
  msgid "call of %s with total count %<PRId64>, relative location +%i, discriminator %i"
! msgstr ""
  
  #: auto-profile.cc:3026
  #, gcc-internal-format
--- 24762,24879 ----
  #: auto-profile.cc:823
  #, gcc-internal-format, gfc-internal-format
  msgid "auto-profile cannot encode offset %i that exceeds 16 bytes"
! msgstr "Auto-Profil kann den Offset %i nicht codieren, da er 16 Bits überschreitet"
  
  #: auto-profile.cc:827
! #, gcc-internal-format
  msgid "location offset is related to"
! msgstr "der Ortsoffset hängt zusammen mit"
  
  #: auto-profile.cc:830
  #, gcc-internal-format
  msgid "auto-profile cannot encode discriminators that exceeds 16 bytes"
! msgstr "Auto-Profil kann Diskriminatoren nicht codieren, die 16 Bit überschreiten"
  
  #: auto-profile.cc:866
! #, gcc-internal-format
  msgid "auto-profile is not supported for targets with user label prefix"
! msgstr "Auto-Profil wird für Ziele mit user_label_prefix nicht unterstützt"
  
  #: auto-profile.cc:1086
  #, gcc-internal-format, gfc-internal-format
  msgid "auto-profile contains invalid symbol name index %d"
! msgstr "Auto-Profil enthält ungültigen Index %d für Symbolname"
  
  #: auto-profile.cc:1102
  #, gcc-internal-format, gfc-internal-format
  msgid "auto-profile contains invalid filename index %d"
! msgstr "Auto-Profil enthält ungültigen Index %d für Dateiname"
  
  #: auto-profile.cc:1604
  #, gcc-internal-format
  msgid "auto-profile of %q+F contains inlined function with symbol name %s instead of symbol name %s"
! msgstr "Auto-Profil von %q+F enthält eine Inline-Funktion mit Symbolname %qs statt Symbolname %qs"
  
  #: auto-profile.cc:1607 auto-profile.cc:1833 auto-profile.cc:1842
  #: auto-profile.cc:1884
! #, gcc-internal-format
  msgid "corresponding call"
! msgstr "entsprechender Aufruf"
  
  #: auto-profile.cc:1652
  #, gcc-internal-format
  msgid "duplicated count information in auto-profile of %q+F with relative location %i discriminator %i"
! msgstr "doppelte Zählerinformation in Auto-Profil von %q+F mit relativem Ort %i, Diskriminator %i"
  
  #: auto-profile.cc:1657
! #, gcc-internal-format
  msgid "corresponding source location"
! msgstr "entsprechender Quellort"
  
  #: auto-profile.cc:1828
  #, gcc-internal-format
  msgid "duplicated callsite in auto-profile of %q+F with relative location %i, discriminator %i"
! msgstr "doppelte Aufrufstelle in Auto-Profil von %q+F mit relativem Ort %i, Diskriminator %i"
  
  #: auto-profile.cc:1836
  #, gcc-internal-format
  msgid "both call targets and inline callsite information is present in auto-profile of function %q+F with relative location %i, discriminator %i"
! msgstr "sowohl Aufrufziele als auch Inline-Aufrufortsinformationen sind im Auto-Profil der Funktion %q+F mit relativem Ort %i und Diskriminator %i vorhanden"
  
  #: auto-profile.cc:1876
  #, gcc-internal-format
  msgid "auto-profile of %q+F seem to contain lost discriminator %i for call of %s at relative location %i"
! msgstr "Auto-Profil von %q+F scheint einen verlorenen Diskriminator %i für den Aufruf von %qs am relativen Ort %i zu enthalten"
  
  #: auto-profile.cc:1920
  #, gcc-internal-format
  msgid "auto-profile of %q+F contains multiple targets for a direct call with relative location %i, discriminator %i"
! msgstr "Auto-Profil von %q+F enthält mehrere Ziele für einen direkten Aufruf mit relativem Ort %i, Diskriminator %i"
  
  #: auto-profile.cc:1936
  #, gcc-internal-format, gfc-internal-format
  msgid "function contains two calls of the same relative location +%i, discriminator %i, that leads to lost auto-profile"
! msgstr "Funktion enthält zwei Aufrufe desselben relativen Orts +%i, Diskriminator %i, was zum Verlust des Auto-Profils führt"
  
  #: auto-profile.cc:1944
! #, gcc-internal-format
  msgid "location of the first call"
! msgstr "Ort des ersten Aufrufs"
  
  #: auto-profile.cc:1946
! #, gcc-internal-format
  msgid "location of the second call"
! msgstr "Ort des zweiten Aufrufs"
  
  #: auto-profile.cc:2000
  #, gcc-internal-format
  msgid "auto-profile of %q+F contains indirect call targets not associated with an indirect call statement"
! msgstr "Auto-Profil von %q+F enthält indirekte Aufrufziele, die nicht mit einer indirekten Aufrufanweisung zusammenhängen"
  
  #: auto-profile.cc:2005 auto-profile.cc:2052
  #, gcc-internal-format
  msgid "count %<PRIu64> with relative location +%i, discriminator %i"
! msgstr "Anzahl %<PRIu64> mit relativem Ort +%i, Diskriminator %i"
  
  #: auto-profile.cc:2048
  #, gcc-internal-format
  msgid "auto-profile of %q+F contains extra statements"
! msgstr "Auto-Profil von %q+F enthält zusätzliche Anweisungen"
  
  #: auto-profile.cc:2058 auto-profile.cc:2099
! #, gcc-internal-format
  msgid "location is after end of function"
! msgstr "Ort ist nach dem Ende der Funktion"
  
  #: auto-profile.cc:2087
  #, gcc-internal-format
  msgid "auto-profile of %q+F contains extra callsites"
! msgstr "Auto-Profil von %q+F enthält zusätzliche Aufruforte"
  
  #: auto-profile.cc:2092
  #, gcc-internal-format
  msgid "call of %s with total count %<PRId64>, relative location +%i, discriminator %i"
! msgstr "Aufruf von %qs mit Gesamtanzahl %<PRId64>, relativem Ort +%i, Diskriminator %i"
  
  #: auto-profile.cc:3026
  #, gcc-internal-format
*************** msgstr "Unerwartetes TAG."
*** 25288,25294 ****
  #: auto-profile.cc:3049
  #, gcc-internal-format, gfc-internal-format
  msgid "auto-profile contains duplicated function instance %s"
! msgstr ""
  
  #: auto-profile.cc:3211
  #, gcc-internal-format, gfc-internal-format
--- 24883,24889 ----
  #: auto-profile.cc:3049
  #, gcc-internal-format, gfc-internal-format
  msgid "auto-profile contains duplicated function instance %s"
! msgstr "Auto-Profil enthält doppelte Funktionsinstanz »%s«"
  
  #: auto-profile.cc:3211
  #, gcc-internal-format, gfc-internal-format
*************** msgid "AutoFDO profile version %u does n
*** 25306,25320 ****
  msgstr "Version %u des AutoFDO-Profils passt nicht zu %u"
  
  #: auto-profile.cc:3237
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "cannot read string table from %s"
  msgid "cannot read summary information from %s"
! msgstr "Zeichenkettentabelle aus %s konnte nicht gelesen werden"
  
  #: auto-profile.cc:3245
  #, gcc-internal-format, gfc-internal-format
  msgid "cannot read string table from %s"
! msgstr "Zeichenkettentabelle aus %s konnte nicht gelesen werden"
  
  #: auto-profile.cc:3254
  #, gcc-internal-format, gfc-internal-format
--- 24901,24914 ----
  msgstr "Version %u des AutoFDO-Profils passt nicht zu %u"
  
  #: auto-profile.cc:3237
! #, gcc-internal-format, gfc-internal-format
  msgid "cannot read summary information from %s"
! msgstr "Zusammenfassung aus %s kann nicht gelesen werden"
  
  #: auto-profile.cc:3245
  #, gcc-internal-format, gfc-internal-format
  msgid "cannot read string table from %s"
! msgstr "Zeichenkettentabelle aus %s kann nicht gelesen werden"
  
  #: auto-profile.cc:3254
  #, gcc-internal-format, gfc-internal-format
*************** msgid "cannot read function profile from
*** 25322,25331 ****
  msgstr "Funktionsprofil aus %s kann nicht gelesen werden"
  
  #: auto-profile.cc:3264
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "cannot read function profile from %s"
  msgid "cannot read module profile from %s"
! msgstr "Funktionsprofil aus %s kann nicht gelesen werden"
  
  #: builtins.cc:702
  #, gcc-internal-format
--- 24916,24924 ----
  msgstr "Funktionsprofil aus %s kann nicht gelesen werden"
  
  #: auto-profile.cc:3264
! #, gcc-internal-format, gfc-internal-format
  msgid "cannot read module profile from %s"
! msgstr "Modulprofil aus %s kann nicht gelesen werden"
  
  #: builtins.cc:702
  #, gcc-internal-format
*************** msgid "%s does not support dump_bb_for_g
*** 25720,25729 ****
  msgstr "Interner Fehler: %s does not support dump_bb_for_graph"
  
  #: cfghooks.cc:364
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s does not support dump_bb_for_graph"
  msgid "%s does not support dump_bb_as_sarif_properties"
! msgstr "Interner Fehler: %s does not support dump_bb_for_graph"
  
  #: cfghooks.cc:418
  #, gcc-internal-format, gfc-internal-format
--- 25313,25321 ----
  msgstr "Interner Fehler: %s does not support dump_bb_for_graph"
  
  #: cfghooks.cc:364
! #, gcc-internal-format, gfc-internal-format
  msgid "%s does not support dump_bb_as_sarif_properties"
! msgstr "Interner Fehler: %s does not support dump_bb_as_sarif_properties"
  
  #: cfghooks.cc:418
  #, gcc-internal-format, gfc-internal-format
*************** msgid "inline clone is forced to output"
*** 26266,26275 ****
  msgstr "Interner Fehler: inline clone is forced to output"
  
  #: cgraph.cc:4011
! #, fuzzy, gcc-internal-format
! #| msgid "inline clone is forced to output"
  msgid "inline clone is referenced by assembly"
! msgstr "Interner Fehler: inline clone is forced to output"
  
  #: cgraph.cc:4018
  #, gcc-internal-format
--- 25858,25866 ----
  msgstr "Interner Fehler: inline clone is forced to output"
  
  #: cgraph.cc:4011
! #, gcc-internal-format
  msgid "inline clone is referenced by assembly"
! msgstr "Inline-Klon wird aus Assemblercode heraus referenziert"
  
  #: cgraph.cc:4018
  #, gcc-internal-format
*************** msgid "edge count is not compatible with
*** 26302,26311 ****
  msgstr "edge count is not compatible with function count"
  
  #: cgraph.cc:4062
! #, fuzzy, gcc-internal-format
! #| msgid "edge count is not compatible with function count"
  msgid "edge count is not compatible with inlined to function count"
! msgstr "edge count is not compatible with function count"
  
  #: cgraph.cc:4070
  #, gcc-internal-format, gfc-internal-format
--- 25893,25901 ----
  msgstr "edge count is not compatible with function count"
  
  #: cgraph.cc:4062
! #, gcc-internal-format
  msgid "edge count is not compatible with inlined to function count"
! msgstr "Anzahl der Kanten passt nicht zur Anzahl der Inline-Aufrufe"
  
  #: cgraph.cc:4070
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Interner Fehler: reference to de
*** 26450,26482 ****
  #: cgraph.cc:4386
  #, gcc-internal-format
  msgid "non-callback edge has callback_id set"
! msgstr ""
  
  #: cgraph.cc:4392
! #, fuzzy, gcc-internal-format
! #| msgid "edge has both call_stmt and lto_stmt_uid set"
  msgid "edge has both callback and has_callback set"
! msgstr "Kante hat sowohl call_stmt als auch lto_stmt_uid gesetzt"
  
  #: cgraph.cc:4400
  #, gcc-internal-format, gfc-internal-format
  msgid "callback edge %s->%s has no callback-carrying"
! msgstr ""
  
  #: cgraph.cc:4428
  #, gcc-internal-format, gfc-internal-format
  msgid "callback edge %s->%s callback edge count mismatch, expected at most %d, found %d"
! msgstr ""
  
  #: cgraph.cc:4441
  #, gcc-internal-format, gfc-internal-format
  msgid "callback-carrying edge is pointing towards __builtin_unreachable, but its callback edge %s -> %s is not"
! msgstr ""
  
  #: cgraph.cc:4448
  #, gcc-internal-format, gfc-internal-format
  msgid "edge %s->%s has no corresponding call_stmt"
! msgstr "Interner Fehler: edge %s->%s has no corresponding call_stmt"
  
  #: cgraph.cc:4460
  #, gcc-internal-format, gfc-internal-format
--- 26040,26071 ----
  #: cgraph.cc:4386
  #, gcc-internal-format
  msgid "non-callback edge has callback_id set"
! msgstr "Kante, die kein Rückruf ist, hat trotzdem callback_id"
  
  #: cgraph.cc:4392
! #, gcc-internal-format
  msgid "edge has both callback and has_callback set"
! msgstr "Kante hat sowohl %<callback%> als auch %<has_callback%>"
  
  #: cgraph.cc:4400
  #, gcc-internal-format, gfc-internal-format
  msgid "callback edge %s->%s has no callback-carrying"
! msgstr "Rückrufkante %s->%s hat keinen Rückruf-Übertrag"
  
  #: cgraph.cc:4428
  #, gcc-internal-format, gfc-internal-format
  msgid "callback edge %s->%s callback edge count mismatch, expected at most %d, found %d"
! msgstr "Rückrufkante %s->%s hat inkonsistente Kantenanzahl: höchstens %d erwartet, tatsächlich %d"
  
  #: cgraph.cc:4441
  #, gcc-internal-format, gfc-internal-format
  msgid "callback-carrying edge is pointing towards __builtin_unreachable, but its callback edge %s -> %s is not"
! msgstr "Eine rückruftragende Kante zeigt auf __builtin_unreachable, aber ihre Rückruf-Kante %s->%s tut das nicht"
  
  #: cgraph.cc:4448
  #, gcc-internal-format, gfc-internal-format
  msgid "edge %s->%s has no corresponding call_stmt"
! msgstr "Kante %s->%s hat kein entsprechendes call_stmt"
  
  #: cgraph.cc:4460
  #, gcc-internal-format, gfc-internal-format
*************** msgid "invalid lvalue in %<asm%> output
*** 29537,29546 ****
  msgstr "ungültiger L-Wert in %<asm%>-Ausgabe %d"
  
  #: gimplify.cc:8243
! #, fuzzy, gcc-internal-format
! #| msgid "multiple parameters named %qD"
  msgid "multiple outputs to lvalue %qE"
! msgstr "mehrere Parameter wurden %qD genannt"
  
  #: gimplify.cc:8278
  #, gcc-internal-format, gfc-internal-format
--- 29126,29134 ----
  msgstr "ungültiger L-Wert in %<asm%>-Ausgabe %d"
  
  #: gimplify.cc:8243
! #, gcc-internal-format
  msgid "multiple outputs to lvalue %qE"
! msgstr "mehrere Ausgaben für lvalue %qE"
  
  #: gimplify.cc:8278
  #, gcc-internal-format, gfc-internal-format
*************** msgid "iteration variable %qE should not
*** 29663,29684 ****
  msgstr "Iterationsvariable %qE sollte nicht »linear« sein"
  
  #: gimplify.cc:10082
! #, fuzzy, gcc-internal-format
! #| msgid "threadprivate variable %qE used in target region"
  msgid "iterator variable %qE not used in clause expression"
! msgstr "threadprivate Variable %qE in Zielregion verwendet"
  
  #: gimplify.cc:10201
! #, fuzzy, gcc-internal-format
! #| msgid "iterator %qD has zero step"
  msgid "iteration count is zero"
! msgstr "Iterator %qD hat Schrittweite 0"
  
  #. Handle dynamic sizes.
  #: gimplify.cc:10245
  #, gcc-internal-format
  msgid "dynamic iterator sizes not implemented yet"
! msgstr ""
  
  #: gimplify.cc:10993 gimplify.cc:11004 gimplify.cc:11016 gimplify.cc:11032
  #: gimplify.cc:11237 gimplify.cc:11260 gimplify.cc:11271 gimplify.cc:11289
--- 29251,29270 ----
  msgstr "Iterationsvariable %qE sollte nicht »linear« sein"
  
  #: gimplify.cc:10082
! #, gcc-internal-format
  msgid "iterator variable %qE not used in clause expression"
! msgstr "Iteratorvariable %qE wird nicht in Klauselausdruck verwendet"
  
  #: gimplify.cc:10201
! #, gcc-internal-format
  msgid "iteration count is zero"
! msgstr "Iterationsanzahl ist 0"
  
  #. Handle dynamic sizes.
  #: gimplify.cc:10245
  #, gcc-internal-format
  msgid "dynamic iterator sizes not implemented yet"
! msgstr "dynamische Iteratorgrößen sind noch nicht implementiert"
  
  #: gimplify.cc:10993 gimplify.cc:11004 gimplify.cc:11016 gimplify.cc:11032
  #: gimplify.cc:11237 gimplify.cc:11260 gimplify.cc:11271 gimplify.cc:11289
*************** msgstr "Feld %qE der Struktur variabler
*** 29714,29720 ****
  #: gimplify.cc:13614 c-family/c-omp.cc:4459 c-family/c-omp.cc:4559
  #, gcc-internal-format
  msgid "user-defined mapper with non-unit length array section"
! msgstr ""
  
  #: gimplify.cc:13833 gimplify.cc:13839
  #, gcc-internal-format
--- 29300,29306 ----
  #: gimplify.cc:13614 c-family/c-omp.cc:4459 c-family/c-omp.cc:4559
  #, gcc-internal-format
  msgid "user-defined mapper with non-unit length array section"
! msgstr "benutzerdefinierter Zuordner mit Arrayabschnitt, dessen Länge nicht genau eine Einheit ist"
  
  #: gimplify.cc:13833 gimplify.cc:13839
  #, gcc-internal-format
*************** msgid "with %<ancestor%>, only the %<dev
*** 29773,29787 ****
  msgstr "mit %<ancestor%> dürfen nur die Klauseln %<device%>, %<firstprivate%>, %<private%>, %<defaultmap%> und %<map%> in dem Konstrukt erscheinen"
  
  #: gimplify.cc:14863
! #, fuzzy, gcc-internal-format
! #| msgid "%<uses_allocators%> clause with traits and memory spaces"
  msgid "%<uses_allocators%> clause"
! msgstr "%<uses_allocators%>-Klausel mit Traits und Speicherbereichen"
  
  #: gimplify.cc:14893
  #, gcc-internal-format
  msgid "%<dyn_groupprivate%> clause"
! msgstr ""
  
  #: gimplify.cc:15012
  #, gcc-internal-format
--- 29359,29372 ----
  msgstr "mit %<ancestor%> dürfen nur die Klauseln %<device%>, %<firstprivate%>, %<private%>, %<defaultmap%> und %<map%> in dem Konstrukt erscheinen"
  
  #: gimplify.cc:14863
! #, gcc-internal-format
  msgid "%<uses_allocators%> clause"
! msgstr "%<uses_allocators%>-Klausel"
  
  #: gimplify.cc:14893
  #, gcc-internal-format
  msgid "%<dyn_groupprivate%> clause"
! msgstr "%<dyn_groupprivate%>-Klausel"
  
  #: gimplify.cc:15012
  #, gcc-internal-format
*************** msgstr "im selben Selektor-Set mit %<kin
*** 30999,31011 ****
  #: omp-general.cc:1563
  #, gcc-internal-format
  msgid "multiple definitions of variants with the same context selector violate the one-definition rule"
! msgstr ""
  
  #: omp-general.cc:1566
! #, fuzzy, gcc-internal-format
! #| msgid "previous declaration here"
  msgid "previous variant declaration here"
! msgstr "vorherige Deklaration hier"
  
  #: omp-general.cc:1606
  #, gcc-internal-format
--- 30584,30595 ----
  #: omp-general.cc:1563
  #, gcc-internal-format
  msgid "multiple definitions of variants with the same context selector violate the one-definition rule"
! msgstr "mehrere Definitionen von Varianten mit demselben Kontextselektor verletzen die Eine-Definition-Regel"
  
  #: omp-general.cc:1566
! #, gcc-internal-format
  msgid "previous variant declaration here"
! msgstr "vorherige Variantendeklaration hier"
  
  #: omp-general.cc:1606
  #, gcc-internal-format
*************** msgid "first offset must be in opposite
*** 31333,31347 ****
  msgstr "erster Offset muss in umgedrehter Richtung der Schleifeniterationen sein"
  
  #: omp-low.cc:12897
! #, fuzzy, gcc-internal-format
! #| msgid "%<__builtin_has_attribute%> with dependent argument not supported yet"
  msgid "iterators used together with deep mapping are not supported yet"
! msgstr "%<__builtin_has_attribute%> mit abhängigem Argument wird noch nicht unterstützt"
  
  #: omp-low.cc:13174
  #, gcc-internal-format
  msgid "only the %<device_type(any)%> is supported"
! msgstr ""
  
  #: omp-low.cc:15475
  #, gcc-internal-format, gfc-internal-format
--- 30917,30930 ----
  msgstr "erster Offset muss in umgedrehter Richtung der Schleifeniterationen sein"
  
  #: omp-low.cc:12897
! #, gcc-internal-format
  msgid "iterators used together with deep mapping are not supported yet"
! msgstr "gemeinsam verwendete Iteratoren mit tiefer Zuordnung werden noch nicht unterstützt"
  
  #: omp-low.cc:13174
  #, gcc-internal-format
  msgid "only the %<device_type(any)%> is supported"
! msgstr "nur der %<device_type(any)%> ist unterstützt"
  
  #: omp-low.cc:15475
  #, gcc-internal-format, gfc-internal-format
*************** msgid "%<-fsanitize=pointer-subtract%> m
*** 31736,31745 ****
  msgstr "%<-fsanitize=pointer-subtract%> muss mit %<-fsanitize=address%> oder %<-fsanitize=kernel-address%> kombiniert werden"
  
  #: opts.cc:1357
! #, fuzzy, gcc-internal-format
! #| msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present"
  msgid "%<--param hwasan-random-frame-tag=0%> is ignored when %<-fsanitize=memtag-stack%> is present"
! msgstr "%<-Wstrict-flex-arrays%> wird ignoriert, wenn %<-fstrict-flex-arrays%> nicht angegeben wurde"
  
  #: opts.cc:1366
  #, gcc-internal-format
--- 31319,31327 ----
  msgstr "%<-fsanitize=pointer-subtract%> muss mit %<-fsanitize=address%> oder %<-fsanitize=kernel-address%> kombiniert werden"
  
  #: opts.cc:1357
! #, gcc-internal-format
  msgid "%<--param hwasan-random-frame-tag=0%> is ignored when %<-fsanitize=memtag-stack%> is present"
! msgstr "%<--param hwasan-random-frame-tag=0%> wird ignoriert, wenn %<-fsanitize=memtag-stack%> angegeben wurde"
  
  #: opts.cc:1366
  #, gcc-internal-format
*************** msgid "RTL flag check: %s used with unex
*** 32510,32543 ****
  msgstr "Interner Fehler: RTL flag check: %s used with unexpected rtx code '%s' in %s, at %s:%d"
  
  #: stmt.cc:227
! #, fuzzy, gcc-internal-format
! #| msgid "data type of %q+D isn%'t suitable for a register"
  msgid "data type isn%'t suitable for register %s of operand %i"
! msgstr "Datentyp von %q+D ist nicht für Register geeignet"
  
  #: stmt.cc:230
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "the register specified for %q+D cannot be accessed by the current target"
  msgid "register %s for operand %i cannot be accessed by the current target"
! msgstr "für %q+D angegebenes Register kann vom aktuellen Ziel nicht zugegriffen werden"
  
  #: stmt.cc:233
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "the register specified for %q+D is not general enough to be used as a register variable"
  msgid "register %s for operand %i is not general enough to be used as a register variable"
! msgstr "für %q+D angegebenes Register ist nicht allgemein genug, um als eine Registervariable verwendet zu werden"
  
  #: stmt.cc:236
! #, fuzzy, gcc-internal-format
! #| msgid "register specified for %q+D isn%'t suitable for data type"
  msgid "register %s for operand %i isn%'t suitable for data type"
! msgstr "für %q+D angegebenes Register eignet sich nicht für Datentyp"
  
  #: stmt.cc:245
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "register specified for %q+D is an internal GCC implementation detail"
  msgid "register for operand %i is an internal GCC implementation detail"
! msgstr "für %q+D angegebenes Register ist ein GCC-internes Implementierungsdetail"
  
  #: stmt.cc:291
  #, gcc-internal-format
--- 32092,32120 ----
  msgstr "Interner Fehler: RTL flag check: %s used with unexpected rtx code '%s' in %s, at %s:%d"
  
  #: stmt.cc:227
! #, gcc-internal-format
  msgid "data type isn%'t suitable for register %s of operand %i"
! msgstr "Datentyp ist nicht für Register %s von Operand %i geeignet"
  
  #: stmt.cc:230
! #, gcc-internal-format, gfc-internal-format
  msgid "register %s for operand %i cannot be accessed by the current target"
! msgstr "auf Register %s für Operand %i kann vom aktuellen Ziel aus nicht zugegriffen werden"
  
  #: stmt.cc:233
! #, gcc-internal-format, gfc-internal-format
  msgid "register %s for operand %i is not general enough to be used as a register variable"
! msgstr "Register %s für Operand %i ist nicht allgemein genug, um als eine Registervariable verwendet zu werden"
  
  #: stmt.cc:236
! #, gcc-internal-format
  msgid "register %s for operand %i isn%'t suitable for data type"
! msgstr "Register %s für Operand %i eignet sich nicht für Datentyp"
  
  #: stmt.cc:245
! #, gcc-internal-format, gfc-internal-format
  msgid "register for operand %i is an internal GCC implementation detail"
! msgstr "Register für Operand %i ist ein GCC-internes Implementierungsdetail"
  
  #: stmt.cc:291
  #, gcc-internal-format
*************** msgstr "%<:%>-Einschränkung für Ausgab
*** 32572,32611 ****
  #: stmt.cc:395 stmt.cc:642
  #, gcc-internal-format
  msgid "hard register constraints are only supported while using LRA"
! msgstr ""
  
  #: stmt.cc:403 stmt.cc:470 stmt.cc:650 stmt.cc:725
  #, gcc-internal-format
  msgid "hard register constraints and regular register constraints in one alternative are not supported"
! msgstr ""
  
  #: stmt.cc:410 stmt.cc:657
! #, fuzzy, gcc-internal-format
! #| msgid "multiple cc output constraints not supported"
  msgid "multiple hard register constraints in one alternative are not supported"
! msgstr "mehrere cc-Ausgabebeschränkungen nicht unterstützt"
  
  #: stmt.cc:418
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "invalid cc output constraint: %qs"
  msgid "invalid output constraint: %s"
! msgstr "ungültige cc-Ausgabebeschränkung: %qs"
  
  #: stmt.cc:426 stmt.cc:498
  #, gcc-internal-format, gfc-internal-format
  msgid "multiple outputs to hard register: %s"
! msgstr ""
  
  #: stmt.cc:435
! #, fuzzy, gcc-internal-format
! #| msgid "%<asm%> specifier for cc output conflicts with %<asm%> clobber list"
  msgid "hard register constraint for output %i conflicts with %<asm%> clobber list"
! msgstr "%<asm%>-Spezifizierer für cc-Ausgabe steht in Konflikt mit %<asm%>-Clobber-Liste"
  
  #: stmt.cc:447
  #, gcc-internal-format
  msgid "constraint and register %<asm%> for output operand %i are unsatisfiable"
! msgstr ""
  
  #: stmt.cc:491 stmt.cc:748 varasm.cc:1558
  #, gcc-internal-format
--- 32149,32185 ----
  #: stmt.cc:395 stmt.cc:642
  #, gcc-internal-format
  msgid "hard register constraints are only supported while using LRA"
! msgstr "strenge Registerbeschränkungen werden nur zusammen mit LRA unterstützt"
  
  #: stmt.cc:403 stmt.cc:470 stmt.cc:650 stmt.cc:725
  #, gcc-internal-format
  msgid "hard register constraints and regular register constraints in one alternative are not supported"
! msgstr "strenge Registerbeschränkungen und reguläre Registereinschränkungen werden zusammen in einer Alternative nicht unterstützt"
  
  #: stmt.cc:410 stmt.cc:657
! #, gcc-internal-format
  msgid "multiple hard register constraints in one alternative are not supported"
! msgstr "mehrere strenge Registerbeschränkungen in einer Alternative werden nicht unterstützt"
  
  #: stmt.cc:418
! #, gcc-internal-format, gfc-internal-format
  msgid "invalid output constraint: %s"
! msgstr "ungültige Ausgabebeschränkung: %s"
  
  #: stmt.cc:426 stmt.cc:498
  #, gcc-internal-format, gfc-internal-format
  msgid "multiple outputs to hard register: %s"
! msgstr "mehrere Ausgaben an einem festen Register: %s"
  
  #: stmt.cc:435
! #, gcc-internal-format
  msgid "hard register constraint for output %i conflicts with %<asm%> clobber list"
! msgstr "Beschränkung für feste Register für Ausgabe %i steht in Konflikt mit %<asm%>-Clobber"
  
  #: stmt.cc:447
  #, gcc-internal-format
  msgid "constraint and register %<asm%> for output operand %i are unsatisfiable"
! msgstr "Beschränkung und Register %<asm%> für Ausgabeoperand %i sind nicht erfüllbar"
  
  #: stmt.cc:491 stmt.cc:748 varasm.cc:1558
  #, gcc-internal-format
*************** msgid "matching constraint references in
*** 32628,32653 ****
  msgstr "dazu passende Bedingung referenziert ungültige Operandennummer"
  
  #: stmt.cc:665
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "invalid cc output constraint: %qs"
  msgid "invalid input constraint: %s"
! msgstr "ungültige cc-Ausgabebeschränkung: %qs"
  
  #: stmt.cc:673 stmt.cc:755
  #, gcc-internal-format, gfc-internal-format
  msgid "multiple inputs to hard register: %s"
! msgstr ""
  
  #: stmt.cc:680
! #, fuzzy, gcc-internal-format
! #| msgid "%<asm%> specifier for cc output conflicts with %<asm%> clobber list"
  msgid "hard register constraint for input %i conflicts with %<asm%> clobber list"
! msgstr "%<asm%>-Spezifizierer für cc-Ausgabe steht in Konflikt mit %<asm%>-Clobber-Liste"
  
  #: stmt.cc:699
  #, gcc-internal-format
  msgid "constraint and register %<asm%> for input operand %i are unsatisfiable"
! msgstr ""
  
  #: stmt.cc:715
  #, gcc-internal-format
--- 32202,32225 ----
  msgstr "dazu passende Bedingung referenziert ungültige Operandennummer"
  
  #: stmt.cc:665
! #, gcc-internal-format, gfc-internal-format
  msgid "invalid input constraint: %s"
! msgstr "ungültige Eingabebeschränkung: %s"
  
  #: stmt.cc:673 stmt.cc:755
  #, gcc-internal-format, gfc-internal-format
  msgid "multiple inputs to hard register: %s"
! msgstr "mehrere Eingaben zu festem Register: %s"
  
  #: stmt.cc:680
! #, gcc-internal-format
  msgid "hard register constraint for input %i conflicts with %<asm%> clobber list"
! msgstr "Beschränkung für festes Register mit Eingabe %i steht im Konflikt mit %<asm%> Clobber-Liste"
  
  #: stmt.cc:699
  #, gcc-internal-format
  msgid "constraint and register %<asm%> for input operand %i are unsatisfiable"
! msgstr "Beschränkung und Register %<asm%> für Eingabeoperand %i sind nicht erfüllbar"
  
  #: stmt.cc:715
  #, gcc-internal-format
*************** msgid "%qs should be from a scalar to a
*** 33603,33612 ****
  msgstr "%qs sollte von einem Skalar auf einen gleichartigen Vektor abbilden"
  
  #: tree-cfg.cc:3789
! #, fuzzy, gcc-internal-format
! #| msgid "invalid types for %qs"
  msgid "invalid type for %qs"
! msgstr "ungültiger Typen für %qs"
  
  #: tree-cfg.cc:3813
  #, gcc-internal-format
--- 33175,33183 ----
  msgstr "%qs sollte von einem Skalar auf einen gleichartigen Vektor abbilden"
  
  #: tree-cfg.cc:3789
! #, gcc-internal-format
  msgid "invalid type for %qs"
! msgstr "ungültiger Typ für %qs"
  
  #: tree-cfg.cc:3813
  #, gcc-internal-format
*************** msgid "non-trivial conversion in %qs"
*** 33704,33713 ****
  msgstr "nicht-triviale Umwandlung in %qs"
  
  #: tree-cfg.cc:4519
! #, fuzzy, gcc-internal-format
! #| msgid "invalid cpu %qs for %s%qs%s"
  msgid "invalid LHS (%qs) for assignment: %qs"
! msgstr "ungültige CPU %qs für %s%qs%s"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:4527
--- 33275,33283 ----
  msgstr "nicht-triviale Umwandlung in %qs"
  
  #: tree-cfg.cc:4519
! #, gcc-internal-format
  msgid "invalid LHS (%qs) for assignment: %qs"
! msgstr "ungültige linke Seite %qs für Zuweisung: %qs"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:4527
*************** msgid "invalid RHS for gimple memory sto
*** 33737,33746 ****
  msgstr "ungültige rechte Seite für GIMPLE-Speicherung: %qs"
  
  #: tree-cfg.cc:4648
! #, fuzzy, gcc-internal-format
! #| msgid "non-register as LHS of ternary operation"
  msgid "non-register as LHS with vector constructor"
! msgstr "Nicht-Register als LHS von ternärer Operation"
  
  #: tree-cfg.cc:4670 tree-cfg.cc:4688
  #, gcc-internal-format
--- 33307,33315 ----
  msgstr "ungültige rechte Seite für GIMPLE-Speicherung: %qs"
  
  #: tree-cfg.cc:4648
! #, gcc-internal-format
  msgid "non-register as LHS with vector constructor"
! msgstr "Nicht-Register als linke Seite mit Vektorkonstruktor"
  
  #: tree-cfg.cc:4670 tree-cfg.cc:4688
  #, gcc-internal-format
*************** msgstr "falscher Typ der Elemente eines
*** 33760,33981 ****
  #: tree-cfg.cc:4713
  #, gcc-internal-format
  msgid "vector %qs with non-NULL element index"
! msgstr "Vektor-%qs mit Elementindex, der nicht NULL ist"
  
  #: tree-cfg.cc:4720
  #, gcc-internal-format
  msgid "vector %qs element is not a GIMPLE value"
! msgstr "%qs-Element des Vektors ist kein GIMPLE-Wert"
  
  #: tree-cfg.cc:4729
  #, gcc-internal-format
  msgid "non-vector %qs with elements"
! msgstr "%qs mit Elementen ist kein Vektor"
  
  #: tree-cfg.cc:4756
  #, gcc-internal-format
  msgid "nontemporal store lhs cannot be a gimple register"
! msgstr "die linke Seite der nichttemporalen Speicheroperation kann kein Gimple-Register sein"
  
  #: tree-cfg.cc:4799
  #, gcc-internal-format
  msgid "invalid operand in return statement"
! msgstr "ungültiger Operand in »return«-Anweisung"
  
  #: tree-cfg.cc:4809 c/gimple-parser.cc:2656
  #, gcc-internal-format
  msgid "invalid conversion in return statement"
! msgstr "ungültige Umwandlung in »return«-Anweisung"
  
  #: tree-cfg.cc:4833
  #, gcc-internal-format
  msgid "goto destination is neither a label nor a pointer"
! msgstr "Goto-Ziel ist weder eine Marke noch ein Zeiger"
  
  #: tree-cfg.cc:4852
  #, gcc-internal-format
  msgid "invalid operand to switch statement"
! msgstr "ungültiger Operand für switch-Anweisung"
  
  #: tree-cfg.cc:4860
  #, gcc-internal-format
  msgid "non-integral type switch statement"
! msgstr "switch-Anweisung ohne eingebauten Typ"
  
  #: tree-cfg.cc:4870
  #, gcc-internal-format
  msgid "invalid default case label in switch statement"
! msgstr "ungültige %<default%>-Sprungmarke in switch-Anweisung"
  
  #: tree-cfg.cc:4882
  #, gcc-internal-format
  msgid "invalid %<CASE_CHAIN%>"
! msgstr "ungültiges %<CASE_CHAIN%>"
  
  #: tree-cfg.cc:4888
  #, gcc-internal-format
  msgid "invalid case label in switch statement"
! msgstr "ungültige »case«-Marke in switch-Anweisung"
  
  #: tree-cfg.cc:4895
  #, gcc-internal-format
  msgid "invalid case range in switch statement"
! msgstr "ungültiger »case«-Bereich in switch-Anweisung"
  
  #: tree-cfg.cc:4905
  #, gcc-internal-format
  msgid "type precision mismatch in switch statement"
! msgstr "unpassende Präzision für Typ in switch-Anweisung"
  
  #: tree-cfg.cc:4912
  #, gcc-internal-format
  msgid "type mismatch for case label in switch statement"
! msgstr "unpassender Typ für »case«-Marke in switch-Anweisung"
  
  #: tree-cfg.cc:4921
  #, gcc-internal-format
  msgid "case labels not sorted in switch statement"
! msgstr "unsortierte case-Marken in switch-Anweisung"
  
  #: tree-cfg.cc:4964
  #, gcc-internal-format
  msgid "label context is not the current function declaration"
! msgstr "der Label-Kontext ist nicht die aktuelle Funktionsdeklaration"
  
! # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:4973
  #, gcc-internal-format
  msgid "incorrect entry in %<label_to_block_map%>"
! msgstr "falscher Eintrag in %<label_to_block_map%>"
  
! # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:4983
  #, gcc-internal-format
  msgid "incorrect setting of landing pad number"
! msgstr "incorrect setting of landing pad number"
  
! # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:4999
  #, gcc-internal-format
  msgid "invalid comparison code in gimple cond"
! msgstr "invalid comparison code in gimple cond"
  
! # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5007
  #, gcc-internal-format
  msgid "invalid labels in gimple cond"
! msgstr "Ungültiger Marken in GIMPLE-Bedingung"
  
  #: tree-cfg.cc:5020
  #, gcc-internal-format
  msgid "gimple cond condition cannot throw"
! msgstr ""
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5106 tree-cfg.cc:5115
  #, gcc-internal-format
  msgid "invalid %<PHI%> result"
! msgstr "ungültiges %<PHI%>-Ergebnis"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93852
  #: tree-cfg.cc:5125
  #, gcc-internal-format
  msgid "missing %<PHI%> def"
! msgstr "fehlende %<PHI%>-Definition"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5139
  #, gcc-internal-format
  msgid "invalid %<PHI%> argument"
! msgstr "ungültiges %<PHI%>-Argument"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5146
  #, gcc-internal-format
  msgid "incompatible types in %<PHI%> argument %u"
! msgstr "inkompatible Typen in %<PHI%>-Argument %u"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5249
  #, gcc-internal-format
  msgid "%<verify_gimple%> failed"
! msgstr "%<verify_gimple%> failed"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5308
  #, gcc-internal-format
  msgid "dead statement in EH table"
! msgstr "unerreichbare Anweisung in EH-Tabelle"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5324
  #, gcc-internal-format
  msgid "location references block not in block tree"
! msgstr "location references block not in block tree"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5373
  #, gcc-internal-format
  msgid "local declaration from a different function"
! msgstr "local declaration from a different function"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5476
  #, gcc-internal-format
  msgid "gimple_bb (phi) is set to a wrong basic block"
! msgstr "gimple_bb (phi) is set to a wrong basic block"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5485
  #, gcc-internal-format
  msgid "PHI node with location"
! msgstr "PHI node with location"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5496 tree-cfg.cc:5543
  #, gcc-internal-format
  msgid "incorrect sharing of tree nodes"
! msgstr "incorrect sharing of tree nodes"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5504
  #, gcc-internal-format
  msgid "virtual PHI with argument locations"
! msgstr "virtual PHI with argument locations"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5531
  #, gcc-internal-format
  msgid "gimple_bb (stmt) is set to a wrong basic block"
! msgstr "gimple_bb (stmt) is set to a wrong basic block"
  
  #: tree-cfg.cc:5571
  #, gcc-internal-format
  msgid "statement marked for throw, but doesn%'t"
! msgstr "Anweisung für throw markiert, wirft jedoch nichts"
  
  #: tree-cfg.cc:5577
  #, gcc-internal-format
  msgid "statement marked for throw in middle of block"
! msgstr "Anweisung inmitten eines Blocks für throw markiert"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5599
  #, gcc-internal-format
  msgid "verify_gimple failed"
! msgstr "verify_gimple failed"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5623
  #, gcc-internal-format
  msgid "ENTRY_BLOCK has IL associated with it"
! msgstr "ENTRY_BLOCK has IL associated with it"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5630
  #, gcc-internal-format
  msgid "EXIT_BLOCK has IL associated with it"
! msgstr "EXIT_BLOCK has IL associated with it"
  
  #: tree-cfg.cc:5637
  #, gcc-internal-format, gfc-internal-format
--- 33329,33550 ----
  #: tree-cfg.cc:4713
  #, gcc-internal-format
  msgid "vector %qs with non-NULL element index"
! msgstr "Interner Fehler: vector %qs with non-NULL element index"
  
  #: tree-cfg.cc:4720
  #, gcc-internal-format
  msgid "vector %qs element is not a GIMPLE value"
! msgstr "Interner Fehler: vector %qs element is not a GIMPLE value"
  
  #: tree-cfg.cc:4729
  #, gcc-internal-format
  msgid "non-vector %qs with elements"
! msgstr "Interner Fehler: non-vector %qs with elements"
  
  #: tree-cfg.cc:4756
  #, gcc-internal-format
  msgid "nontemporal store lhs cannot be a gimple register"
! msgstr "Interner Fehler: nontemporal store lhs cannot be a gimple register"
  
  #: tree-cfg.cc:4799
  #, gcc-internal-format
  msgid "invalid operand in return statement"
! msgstr "Interner Fehler: invalid operand in return statement"
  
  #: tree-cfg.cc:4809 c/gimple-parser.cc:2656
  #, gcc-internal-format
  msgid "invalid conversion in return statement"
! msgstr "Interner Fehler: invalid conversion in return statement"
  
  #: tree-cfg.cc:4833
  #, gcc-internal-format
  msgid "goto destination is neither a label nor a pointer"
! msgstr "Interner Fehler: goto destination is neither a label nor a pointer"
  
  #: tree-cfg.cc:4852
  #, gcc-internal-format
  msgid "invalid operand to switch statement"
! msgstr "Interner Fehler: invalid operand to switch statement"
  
  #: tree-cfg.cc:4860
  #, gcc-internal-format
  msgid "non-integral type switch statement"
! msgstr "Interner Fehler: non-integral type switch statement"
  
  #: tree-cfg.cc:4870
  #, gcc-internal-format
  msgid "invalid default case label in switch statement"
! msgstr "Interner Fehler: invalid default case label in switch statement"
  
  #: tree-cfg.cc:4882
  #, gcc-internal-format
  msgid "invalid %<CASE_CHAIN%>"
! msgstr "Interner Fehler: invalid %<CASE_CHAIN%>"
  
  #: tree-cfg.cc:4888
  #, gcc-internal-format
  msgid "invalid case label in switch statement"
! msgstr "Interner Fehler: invalid case label in switch statement"
  
  #: tree-cfg.cc:4895
  #, gcc-internal-format
  msgid "invalid case range in switch statement"
! msgstr "Interner Fehler: invalid case range in switch statement"
  
  #: tree-cfg.cc:4905
  #, gcc-internal-format
  msgid "type precision mismatch in switch statement"
! msgstr "Interner Fehler: type precision mismatch in switch statement"
  
  #: tree-cfg.cc:4912
  #, gcc-internal-format
  msgid "type mismatch for case label in switch statement"
! msgstr "Interner Fehler: type mismatch for case label in switch statement"
  
  #: tree-cfg.cc:4921
  #, gcc-internal-format
  msgid "case labels not sorted in switch statement"
! msgstr "Interner Fehler: case labels not sorted in switch statement"
  
  #: tree-cfg.cc:4964
  #, gcc-internal-format
  msgid "label context is not the current function declaration"
! msgstr "Interner Fehler: label context is not the current function declaration"
  
! # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90149
  #: tree-cfg.cc:4973
  #, gcc-internal-format
  msgid "incorrect entry in %<label_to_block_map%>"
! msgstr "Interner Fehler: incorrect entry in %<label_to_block_map%>"
  
! # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90149
  #: tree-cfg.cc:4983
  #, gcc-internal-format
  msgid "incorrect setting of landing pad number"
! msgstr "Interner Fehler: incorrect setting of landing pad number"
  
! # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90149
  #: tree-cfg.cc:4999
  #, gcc-internal-format
  msgid "invalid comparison code in gimple cond"
! msgstr "Interner Fehler: invalid comparison code in gimple cond"
  
! # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90149
  #: tree-cfg.cc:5007
  #, gcc-internal-format
  msgid "invalid labels in gimple cond"
! msgstr "Interner Fehler: invalid labels in gimple cond"
  
  #: tree-cfg.cc:5020
  #, gcc-internal-format
  msgid "gimple cond condition cannot throw"
! msgstr "Interner Fehler: gimple cond condition cannot throw"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5106 tree-cfg.cc:5115
  #, gcc-internal-format
  msgid "invalid %<PHI%> result"
! msgstr "Interner Fehler: invalid %<PHI%> result"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93852
  #: tree-cfg.cc:5125
  #, gcc-internal-format
  msgid "missing %<PHI%> def"
! msgstr "Interner Fehler: missing %<PHI%> def"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5139
  #, gcc-internal-format
  msgid "invalid %<PHI%> argument"
! msgstr "Interner Fehler: invalid %<PHI%> argument"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5146
  #, gcc-internal-format
  msgid "incompatible types in %<PHI%> argument %u"
! msgstr "Interner Fehler: incompatible types in %<PHI%> argument %u"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5249
  #, gcc-internal-format
  msgid "%<verify_gimple%> failed"
! msgstr "Interner Fehler: %<verify_gimple%> failed"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5308
  #, gcc-internal-format
  msgid "dead statement in EH table"
! msgstr "Interner Fehler: dead statement in EH table"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5324
  #, gcc-internal-format
  msgid "location references block not in block tree"
! msgstr "Interner Fehler: location references block not in block tree"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5373
  #, gcc-internal-format
  msgid "local declaration from a different function"
! msgstr "Interner Fehler: local declaration from a different function"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5476
  #, gcc-internal-format
  msgid "gimple_bb (phi) is set to a wrong basic block"
! msgstr "Interner Fehler: gimple_bb (phi) is set to a wrong basic block"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5485
  #, gcc-internal-format
  msgid "PHI node with location"
! msgstr "Interner Fehler: PHI node with location"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5496 tree-cfg.cc:5543
  #, gcc-internal-format
  msgid "incorrect sharing of tree nodes"
! msgstr "Interner Fehler: incorrect sharing of tree nodes"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5504
  #, gcc-internal-format
  msgid "virtual PHI with argument locations"
! msgstr "Interner Fehler: virtual PHI with argument locations"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5531
  #, gcc-internal-format
  msgid "gimple_bb (stmt) is set to a wrong basic block"
! msgstr "Interner Fehler: gimple_bb (stmt) is set to a wrong basic block"
  
  #: tree-cfg.cc:5571
  #, gcc-internal-format
  msgid "statement marked for throw, but doesn%'t"
! msgstr "Interner Fehler: statement marked for throw, but doesn%'t"
  
  #: tree-cfg.cc:5577
  #, gcc-internal-format
  msgid "statement marked for throw in middle of block"
! msgstr "Interner Fehler: statement marked for throw in middle of block"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5599
  #, gcc-internal-format
  msgid "verify_gimple failed"
! msgstr "Interner Fehler: verify_gimple failed"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5623
  #, gcc-internal-format
  msgid "ENTRY_BLOCK has IL associated with it"
! msgstr "Interner Fehler: ENTRY_BLOCK has IL associated with it"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: tree-cfg.cc:5630
  #, gcc-internal-format
  msgid "EXIT_BLOCK has IL associated with it"
! msgstr "Interner Fehler: EXIT_BLOCK has IL associated with it"
  
  #: tree-cfg.cc:5637
  #, gcc-internal-format, gfc-internal-format
*************** msgid "probability of edge from entry bl
*** 33998,34007 ****
  msgstr "Interner Fehler: probability of edge from entry block not initialized"
  
  #: tree-cfg.cc:5662
! #, fuzzy, gcc-internal-format
! #| msgid "edge count is not compatible with function count"
  msgid "exit block count is not compatible with entry block count"
! msgstr "edge count is not compatible with function count"
  
  #: tree-cfg.cc:5677
  #, gcc-internal-format, gfc-internal-format
--- 33567,33575 ----
  msgstr "Interner Fehler: probability of edge from entry block not initialized"
  
  #: tree-cfg.cc:5662
! #, gcc-internal-format
  msgid "exit block count is not compatible with entry block count"
! msgstr "Interner Fehler: exit block count is not compatible with entry block count"
  
  #: tree-cfg.cc:5677
  #, gcc-internal-format, gfc-internal-format
*************** msgid "probability of edge %d->%d not in
*** 34014,34023 ****
  msgstr "Interner Fehler: probability of edge %d->%d not initialized"
  
  #: tree-cfg.cc:5690
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "edge count is not compatible with function count"
  msgid "count of bb %d is not compatible with entry block count"
! msgstr "edge count is not compatible with function count"
  
  #: tree-cfg.cc:5709
  #, gcc-internal-format
--- 33582,33590 ----
  msgstr "Interner Fehler: probability of edge %d->%d not initialized"
  
  #: tree-cfg.cc:5690
! #, gcc-internal-format, gfc-internal-format
  msgid "count of bb %d is not compatible with entry block count"
! msgstr "Interner Fehler: count of bb %d is not compatible with entry block count"
  
  #: tree-cfg.cc:5709
  #, gcc-internal-format
*************** msgstr "Interner Fehler: missing edge %i
*** 34109,34125 ****
  #: tree-cfg.cc:9785
  #, gcc-internal-format
  msgid "%<noreturn%> function does return"
! msgstr "%<noreturn%>-Funktion kehrt zurück"
  
  #: tree-cfg.cc:9805 tree-cfg.cc:9840
  #, gcc-internal-format
  msgid "control reaches end of non-void function"
! msgstr "Kontrollfluss erreicht Ende von Nicht-void-Funktion"
  
  #: tree-cfg.cc:9910
  #, gcc-internal-format
  msgid "ignoring return value of %qD declared with attribute %<warn_unused_result%>"
! msgstr "Der Rückgabewert von %qD, der mit dem Attribut %<warn_unused_result%> deklariert wurde, wird ignoriert"
  
  #: tree-cfg.cc:9915 cp/cvt.cc:1167
  #, gcc-internal-format
--- 33676,33692 ----
  #: tree-cfg.cc:9785
  #, gcc-internal-format
  msgid "%<noreturn%> function does return"
! msgstr "Interner Fehler: %<noreturn%> function does return"
  
  #: tree-cfg.cc:9805 tree-cfg.cc:9840
  #, gcc-internal-format
  msgid "control reaches end of non-void function"
! msgstr "Interner Fehler: control reaches end of non-void function"
  
  #: tree-cfg.cc:9910
  #, gcc-internal-format
  msgid "ignoring return value of %qD declared with attribute %<warn_unused_result%>"
! msgstr "Rückgabewert von %qD, die mit dem Attribut %<warn_unused_result%> deklariert wurde, wird ignoriert"
  
  #: tree-cfg.cc:9915 cp/cvt.cc:1167
  #, gcc-internal-format
*************** msgid "invalid regular expression %qs in
*** 34292,34299 ****
  msgstr "ungültiger regulärer Ausdruck %qs in %qs"
  
  #: tree-profile.cc:1855
! #, fuzzy, gcc-internal-format
! #| msgid "target does not support atomic profile update, single mode is selected"
  msgid "target does not fully support atomic profile update, single mode is selected with partial atomic updates"
  msgstr "Ziel unterstützt kein Aktualisieren des atomaren Profils, einfacher Modus wird ausgewählt"
  
--- 33859,33865 ----
  msgstr "ungültiger regulärer Ausdruck %qs in %qs"
  
  #: tree-profile.cc:1855
! #, gcc-internal-format
  msgid "target does not fully support atomic profile update, single mode is selected with partial atomic updates"
  msgstr "Ziel unterstützt kein Aktualisieren des atomaren Profils, einfacher Modus wird ausgewählt"
  
*************** msgid "in a call to function %qD declare
*** 34338,34347 ****
  msgstr "in einem Aufruf der Funktion %qD, die als %qs deklariert ist"
  
  #: tree-ssa-ccp.cc:3257 c-family/c-common.cc:6138
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "argument %u null where non-null expected because argument %u is nonzero"
  msgid "argument %u null where non-null expected because arguments %u and %u are nonzero"
! msgstr "Argument %u ist null, aber nichtnull wird erwartet, da das Argument %u nicht 0 ist"
  
  #: tree-ssa-ccp.cc:3263 c-family/c-common.cc:6149
  #, gcc-internal-format, gfc-internal-format
--- 33904,33912 ----
  msgstr "in einem Aufruf der Funktion %qD, die als %qs deklariert ist"
  
  #: tree-ssa-ccp.cc:3257 c-family/c-common.cc:6138
! #, gcc-internal-format, gfc-internal-format
  msgid "argument %u null where non-null expected because arguments %u and %u are nonzero"
! msgstr "Argument %u ist null, aber nichtnull wird erwartet, da die Argumente %u und %u nicht 0 sind"
  
  #: tree-ssa-ccp.cc:3263 c-family/c-common.cc:6149
  #, gcc-internal-format, gfc-internal-format
*************** msgid "%<TYPE_MODE%> of %<TYPE_CANONICAL
*** 35128,35137 ****
  msgstr "Interner Compilerfehler: %<TYPE_MODE%> of %<TYPE_CANONICAL%> is not compatible"
  
  #: tree.cc:14494
! #, fuzzy, gcc-internal-format
! #| msgid "%<TYPE_CANONICAL%> of main variant is not main variant"
  msgid "main variant of %<TYPE_CANONICAL%> of main variant is not its own %<TYPE_CANONICAL%>"
! msgstr "Interner Compilerfehler: %<TYPE_CANONICAL%> of main variant is not main variant"
  
  #: tree.cc:14512
  #, gcc-internal-format
--- 34693,34701 ----
  msgstr "Interner Compilerfehler: %<TYPE_MODE%> of %<TYPE_CANONICAL%> is not compatible"
  
  #: tree.cc:14494
! #, gcc-internal-format
  msgid "main variant of %<TYPE_CANONICAL%> of main variant is not its own %<TYPE_CANONICAL%>"
! msgstr "Interner Compilerfehler: main variant of %<TYPE_CANONICAL%> of main variant is not its own %<TYPE_CANONICAL%>"
  
  #: tree.cc:14512
  #, gcc-internal-format
*************** msgid "previous declaration of %qD"
*** 35266,35287 ****
  msgstr "vorherige Deklaration von %qD"
  
  #: tree.cc:15784
! #, fuzzy, gcc-internal-format
! #| msgid "%q#D conflicts with a previous declaration"
  msgid "%qD conflicts with overlapping %<target_clone%> declaration"
! msgstr "%q#D steht mit vorheriger Deklaration in Konflikt"
  
  #: tree.cc:15803
- #, fuzzy
- #| msgid "%q#D conflicts with version inherited from %qT"
  msgid "%qD conflicts for version %qB"
! msgstr "%q#D steht in Konflikt mit von %qT geerbter Version"
  
  #: tree.cc:15816
- #, fuzzy
- #| msgid "%q#D conflicts with a previous declaration"
  msgid "%qD conflicts with a previous declaration for version %qB"
! msgstr "%q#D steht mit vorheriger Deklaration in Konflikt"
  
  #: tsan.cc:509
  #, gcc-internal-format
--- 34830,34846 ----
  msgstr "vorherige Deklaration von %qD"
  
  #: tree.cc:15784
! #, gcc-internal-format
  msgid "%qD conflicts with overlapping %<target_clone%> declaration"
! msgstr "%q#D steht mit der überlappenden %<target_clone%>-Deklaration in Konflikt"
  
  #: tree.cc:15803
  msgid "%qD conflicts for version %qB"
! msgstr "%qD steht für Version %qB in Konflikt"
  
  #: tree.cc:15816
  msgid "%qD conflicts with a previous declaration for version %qB"
! msgstr "%qD steht mit einer vorherigen Deklaration für Version %qB in Konflikt"
  
  #: tsan.cc:509
  #, gcc-internal-format
*************** msgid "%qE attribute is not allowed for
*** 35893,35902 ****
  msgstr "Attribut %qE ist in der Deklaration %q+D nicht erlaubt, da sie kein Feld deklariert"
  
  #: c-family/c-attribs.cc:2959
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute is not allowed for a non-array field"
  msgid "%qE attribute is not allowed for a non-array or non-pointer field"
! msgstr "Attribut %qE kann nur für Array-Felder angegeben werden"
  
  #: c-family/c-attribs.cc:2968
  #, gcc-internal-format
--- 35452,35460 ----
  msgstr "Attribut %qE ist in der Deklaration %q+D nicht erlaubt, da sie kein Feld deklariert"
  
  #: c-family/c-attribs.cc:2959
! #, gcc-internal-format
  msgid "%qE attribute is not allowed for a non-array or non-pointer field"
! msgstr "Attribut %qE kann nur für Array-Felder oder Zeiger-Felder angegeben werden"
  
  #: c-family/c-attribs.cc:2968
  #, gcc-internal-format
*************** msgid "%qE attribute is not allowed for
*** 35904,35925 ****
  msgstr "Attribut %qE kann nur für flexible Array-Felder angegeben werden"
  
  #: c-family/c-attribs.cc:2980
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute is for pointer types only"
  msgid "%qE attribute is used for a pointer to void"
! msgstr "Attribut %qE kann nur auf Zeigertypen angewendet werden"
  
  #: c-family/c-attribs.cc:2988
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute is not allowed for a non-array field"
  msgid "%qE attribute is not allowed for a pointer to function"
! msgstr "Attribut %qE kann nur für Array-Felder angegeben werden"
  
  #: c-family/c-attribs.cc:2999
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute is not allowed for a non-flexible array member field"
  msgid "%qE attribute is not allowed for a pointer to structure or union with flexible array member"
! msgstr "Attribut %qE kann nur für flexible Array-Felder angegeben werden"
  
  #: c-family/c-attribs.cc:3007
  #, gcc-internal-format
--- 35462,35480 ----
  msgstr "Attribut %qE kann nur für flexible Array-Felder angegeben werden"
  
  #: c-family/c-attribs.cc:2980
! #, gcc-internal-format
  msgid "%qE attribute is used for a pointer to void"
! msgstr "Attribut %qE wird für einen Void-Zeiger verwendet"
  
  #: c-family/c-attribs.cc:2988
! #, gcc-internal-format
  msgid "%qE attribute is not allowed for a pointer to function"
! msgstr "Attribut %qE ist für einen Funktionszeiger nicht erlaubt"
  
  #: c-family/c-attribs.cc:2999
! #, gcc-internal-format
  msgid "%qE attribute is not allowed for a pointer to structure or union with flexible array member"
! msgstr "Attribut %qE ist nicht erlaubt für einen Zeiger auf eine Struktur oder Union mit flexiblem Array-Feld"
  
  #: c-family/c-attribs.cc:3007
  #, gcc-internal-format
*************** msgid "%qE attribute requires a string a
*** 36339,36348 ****
  msgstr "Attribut %qE erfordert eine Zeichenkettenkonstante als Argument"
  
  #: c-family/c-attribs.cc:5215
! #, fuzzy, gcc-internal-format
! #| msgid "unrecognized interrupt vector argument of %qE attribute"
  msgid "unsupported wide string type argument in %qE attribute"
! msgstr "unbekanntes Interrupt-Vektor-Argument für Attribut %qE"
  
  #: c-family/c-attribs.cc:5249 c-family/c-attribs.cc:5331
  #, gcc-internal-format
--- 35894,35902 ----
  msgstr "Attribut %qE erfordert eine Zeichenkettenkonstante als Argument"
  
  #: c-family/c-attribs.cc:5215
! #, gcc-internal-format
  msgid "unsupported wide string type argument in %qE attribute"
! msgstr "im Attribut %qE wird ein Attribut mit Wide-String-Typ nicht unterstützt"
  
  #: c-family/c-attribs.cc:5249 c-family/c-attribs.cc:5331
  #, gcc-internal-format
*************** msgid "%<__alignof%> applied to a bit-fi
*** 36813,36852 ****
  msgstr "%<__alignof%> auf Bitfeld angewandt"
  
  #: c-family/c-common.cc:4150
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %qs to incomplete type %qT"
  msgid "invalid application of %<_Countof%> to type %qT"
! msgstr "Ungültige Anwendung von %qs auf unvollständigen Typen %qT"
  
  #: c-family/c-common.cc:4156
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %qs to incomplete type %qT"
  msgid "invalid application of %<_Countof%> to incomplete type %qT"
! msgstr "Ungültige Anwendung von %qs auf unvollständigen Typen %qT"
  
  #: c-family/c-common.cc:4177
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %<__alignof%> to a bit-field"
  msgid "invalid application of %<_Maxof%> to type %qT"
! msgstr "ungültige Anwendung von %<__alignof%> auf ein Bitfeld"
  
  #: c-family/c-common.cc:4182
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %qs to incomplete type %qT"
  msgid "invalid application of %<_Maxof%> to incomplete type %qT"
! msgstr "Ungültige Anwendung von %qs auf unvollständigen Typen %qT"
  
  #: c-family/c-common.cc:4198
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %<__alignof%> to a bit-field"
  msgid "invalid application of %<_Minof%> to type %qT"
! msgstr "ungültige Anwendung von %<__alignof%> auf ein Bitfeld"
  
  #: c-family/c-common.cc:4203
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %qs to incomplete type %qT"
  msgid "invalid application of %<_Minof%> to incomplete type %qT"
! msgstr "Ungültige Anwendung von %qs auf unvollständigen Typen %qT"
  
  #: c-family/c-common.cc:5005
  #, gcc-internal-format
--- 36367,36400 ----
  msgstr "%<__alignof%> auf Bitfeld angewandt"
  
  #: c-family/c-common.cc:4150
! #, gcc-internal-format
  msgid "invalid application of %<_Countof%> to type %qT"
! msgstr "ungültige Anwendung von %<_Countof%> auf den Typ %qT"
  
  #: c-family/c-common.cc:4156
! #, gcc-internal-format
  msgid "invalid application of %<_Countof%> to incomplete type %qT"
! msgstr "ungültige Anwendung von %<_Countof%> auf unvollständigen Typ %qT"
  
  #: c-family/c-common.cc:4177
! #, gcc-internal-format
  msgid "invalid application of %<_Maxof%> to type %qT"
! msgstr "ungültige Anwendung von %<_Maxof%> auf den Typ %qT"
  
  #: c-family/c-common.cc:4182
! #, gcc-internal-format
  msgid "invalid application of %<_Maxof%> to incomplete type %qT"
! msgstr "ungültige Anwendung von %<_Maxof%> auf unvollständigen Typ %qT"
  
  #: c-family/c-common.cc:4198
! #, gcc-internal-format
  msgid "invalid application of %<_Minof%> to type %qT"
! msgstr "ungültige Anwendung von %<_Minog%> auf den Typ %qT"
  
  #: c-family/c-common.cc:4203
! #, gcc-internal-format
  msgid "invalid application of %<_Minof%> to incomplete type %qT"
! msgstr "ungültige Anwendung von %<_Minog%> auf unvollständigen Typ %qT"
  
  #: c-family/c-common.cc:5005
  #, gcc-internal-format
*************** msgid "%qE is a member of a union"
*** 38179,38188 ****
  msgstr "%qE ist ein Element eines Union-Typs"
  
  #: c-family/c-omp.cc:4357 c-family/c-omp.cc:4478 c-family/c-omp.cc:4572
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not of type %qT"
  msgid "mapper %qE not found for type %qT"
! msgstr "%qE ist nicht vom Typ %qT"
  
  #: c-family/c-opts.cc:348
  #, gcc-internal-format
--- 37727,37735 ----
  msgstr "%qE ist ein Element eines Union-Typs"
  
  #: c-family/c-omp.cc:4357 c-family/c-omp.cc:4478 c-family/c-omp.cc:4572
! #, gcc-internal-format
  msgid "mapper %qE not found for type %qT"
! msgstr "Zuordner %qE für den Typ %qT nicht gefunden"
  
  #: c-family/c-opts.cc:348
  #, gcc-internal-format
*************** msgstr "%qs ist definiert, wenn die Opti
*** 39729,39735 ****
  #: c-family/known-headers.cc:372
  #, gcc-internal-format
  msgid "%qs is a function-like macro and might be used incorrectly"
! msgstr ""
  
  #: common/config/aarch64/aarch64-common.cc:244
  #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442
--- 39276,39282 ----
  #: c-family/known-headers.cc:372
  #, gcc-internal-format
  msgid "%qs is a function-like macro and might be used incorrectly"
! msgstr "%qs ist ein funktionsartiges Makro und könnte falsch verwendet werden"
  
  #: common/config/aarch64/aarch64-common.cc:244
  #: common/config/arm/arm-common.cc:378 common/config/arm/arm-common.cc:442
*************** msgstr "%<-march=%s%>: für %<%s%dp%dp?%
*** 40008,40020 ****
  #: common/config/riscv/riscv-common.cc:919
  #, gcc-internal-format, gfc-internal-format
  msgid "Should use \"%c\" to contact Profiles with other extensions"
! msgstr ""
  
  #: common/config/riscv/riscv-common.cc:959
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: ISA string must begin with rv32 or rv64"
  msgid "%<-march=%s%>: ISA string must begin with rv32, rv64, a supported RVA profile or refer to a supported CPU"
! msgstr "%<-march=%s%>: ISA-Zeichenkette muss mit %<rv32%> oder %<rv64%> anfangen"
  
  #: common/config/riscv/riscv-common.cc:985
  #, gcc-internal-format
--- 39555,39566 ----
  #: common/config/riscv/riscv-common.cc:919
  #, gcc-internal-format, gfc-internal-format
  msgid "Should use \"%c\" to contact Profiles with other extensions"
! msgstr "zwischen Profil und Ergänzung sollte ein »%c« stehen"
  
  #: common/config/riscv/riscv-common.cc:959
! #, gcc-internal-format
  msgid "%<-march=%s%>: ISA string must begin with rv32, rv64, a supported RVA profile or refer to a supported CPU"
! msgstr "%<-march=%s%>: ISA-Zeichenkette muss mit %<rv32%>, %<rv64%>, einem unterstützten RVA-Profil anfangen oder auf eine unterstützte CPU verweisen"
  
  #: common/config/riscv/riscv-common.cc:985
  #, gcc-internal-format
*************** msgstr "%<-march=%s%>: Erweiterung zcf w
*** 40044,40095 ****
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1156
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: zilsd extension supports in rv32 only"
! msgstr "%<-march=%s%>: Erweiterung zcf wird nur in rv32 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1160
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: zclsd extension supports in rv32 only"
! msgstr "%<-march=%s%>: Erweiterung zcf wird nur in rv32 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1164
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: ssnpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: Erweiterung zcf wird nur in rv32 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1168
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: smnpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: Erweiterung zcf wird nur in rv32 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1172
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: smmpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: Erweiterung zcf wird nur in rv32 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1176
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: sspm extension supports in rv64 only"
! msgstr "%<-march=%s%>: Erweiterung zcf wird nur in rv32 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1180
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: supm extension supports in rv64 only"
! msgstr "%<-march=%s%>: Erweiterung zcf wird nur in rv32 unterstützt"
  
  #: common/config/riscv/riscv-common.cc:1185
  #, gcc-internal-format
--- 39590,39634 ----
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1156
! #, gcc-internal-format
  msgid "%<-march=%s%>: zilsd extension supports in rv32 only"
! msgstr "%<-march=%s%>: Erweiterung zilsd wird nur in rv32 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1160
! #, gcc-internal-format
  msgid "%<-march=%s%>: zclsd extension supports in rv32 only"
! msgstr "%<-march=%s%>: Erweiterung zclsd wird nur in rv32 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1164
! #, gcc-internal-format
  msgid "%<-march=%s%>: ssnpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: Erweiterung ssnpm wird nur in rv64 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1168
! #, gcc-internal-format
  msgid "%<-march=%s%>: smnpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: Erweiterung smnpm wird nur in rv64 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1172
! #, gcc-internal-format
  msgid "%<-march=%s%>: smmpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: Erweiterung smmpm wird nur in rv64 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1176
! #, gcc-internal-format
  msgid "%<-march=%s%>: sspm extension supports in rv64 only"
! msgstr "%<-march=%s%>: Erweiterung sspm wird nur in rv64 unterstützt"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99291
  #: common/config/riscv/riscv-common.cc:1180
! #, gcc-internal-format
  msgid "%<-march=%s%>: supm extension supports in rv64 only"
! msgstr "%<-march=%s%>: Erweiterung supm wird nur in rv64 unterstützt"
  
  #: common/config/riscv/riscv-common.cc:1185
  #, gcc-internal-format
*************** msgstr "unbekannte Option %qs für %<#pr
*** 40581,40764 ****
  #: config/aarch64/aarch64-json-tunings-parser.cc:122
  #, gcc-internal-format
  msgid "static storage conflict - multiple pointer members of the same type cannot be parsed"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:139
  #, gcc-internal-format
  msgid "expected a string but got something else or NULL"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:153
! #, fuzzy, gcc-internal-format
! #| msgid "expected a JSON value but got %s"
  msgid "expected an integer value but got something else or NULL"
! msgstr "ein JSON-Wert wurde erwartet, aber ein %s gefunden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:168
  #, gcc-internal-format
  msgid "expected an unsigned integer value but got something else or NULL"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:182
! #, fuzzy, gcc-internal-format
! #| msgid "expected a JSON value but got %s"
  msgid "expected a boolean value but got something else or NULL"
! msgstr "ein JSON-Wert wurde erwartet, aber ein %s gefunden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:206
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "expected string literal"
  msgid "expected string for enum field %s"
! msgstr "Zeichenkettenliteral erwartet"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:221
! #, fuzzy, gcc-internal-format
! #| msgid "unrecognized argument in option %qs"
  msgid "%s not recognized, defaulting to %qs"
! msgstr "nicht erkanntes Kommandozeilenargument in Option %qs"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:246
! #, fuzzy, gcc-internal-format
! #| msgid "type %qs is not an expression"
  msgid "key %qs is not a tuning parameter, skipping"
! msgstr "Typ %qs ist kein Ausdruck"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: config/aarch64/aarch64-json-tunings-parser.cc:261
! #, fuzzy, gcc-internal-format
! #| msgid "expected an SSA_NAME object"
  msgid "key %qs expected to be an object"
! msgstr "expected an SSA_NAME object"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:269
  #, gcc-internal-format
  msgid "key %qs expected to be an array"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:282
! #, fuzzy, gcc-internal-format
! #| msgid "expected integer"
  msgid "key %qs expected to be an integer"
! msgstr "Ganzzahl erwartet"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:293
  #, gcc-internal-format
  msgid "key %qs value %ld is out of range for %<int%> type [%d, %d]"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:304
! #, fuzzy, gcc-internal-format
! #| msgid "argument %d must be an unsigned literal"
  msgid "key %qs expected to be an unsigned integer"
! msgstr "Argument %d muss ein vorzeichenloses Literal sein"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:315
  #, gcc-internal-format
  msgid "key %qs value %ld is out of range for %<uint%> type [0, %u]"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:326
! #, fuzzy, gcc-internal-format
! #| msgid "Expected real string"
  msgid "key %qs expected to be a string"
! msgstr "Echte Zeichenkette erwartet"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:335
  #, gcc-internal-format
  msgid "key %qs expected to be a boolean (true/false)"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:344
  #, gcc-internal-format
  msgid "key %qs expected to be an enum (string)"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:351
! #, fuzzy, gcc-internal-format
! #| msgid "name %qT has incomplete type"
  msgid "key %qs has unsupported type"
! msgstr "Name %qT hat unvollständigen Typen"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:357
  #, gcc-internal-format
  msgid "key %qs has unexpected format in schema"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:371
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "could not open response file %s"
  msgid "could not open file %s"
! msgstr "Antwortdatei %s konnte nicht geöffnet werden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:383
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "error writing %qs"
  msgid "error reading file %s"
! msgstr "Fehler beim Schreiben von %qs"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:415
  #, gcc-internal-format
  msgid "JSON tuning file does not contain version information; compatibility cannot be verified"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:422
  #, gcc-internal-format, gfc-internal-format
  msgid "JSON tuning file was created with GCC version %d but current GCC version is %d"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:425
  #, gcc-internal-format
  msgid "JSON tuning files must be regenerated when switching between major GCC versions"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:446
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Error writing JSON output file %s\n"
  msgid "error parsing JSON data: %s"
! msgstr "Fehler beim Schreiben der JSON-Ausgabedatei »%s«\n"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:453
  #, gcc-internal-format
  msgid "JSON parsing returned null data"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:459
  #, gcc-internal-format
  msgid "no JSON object found in the provided data"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:481
  #, gcc-internal-format
  msgid "key %<tune_params%> not found in JSON data"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:488
! #, fuzzy, gcc-internal-format
! #| msgid "invalid embedcfg: Patterns is not a JSON object"
  msgid "key %<tune_params%> is not a JSON object"
! msgstr "ungültige embedcfg: »Patterns« ist kein JSON-Objekt"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:494
  #, gcc-internal-format
  msgid "validation failed for the provided JSON data"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:507
  #, gcc-internal-format
  msgid "JSON tuning enables dispatch scheduling but %<dispatch_constraints%> is not available; disabling dispatch scheduling"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:524
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "cannot read LTO mode table from %s"
  msgid "cannot read JSON data in %s"
! msgstr "LTO-Modus-Tabelle kann nicht aus %s gelesen werden"
  
  #: config/aarch64/aarch64-json-tunings-printer.cc:139
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Cannot open file %qs"
  msgid "Error opening file %s"
! msgstr "Datei %qs kann nicht geöffnet werden"
  
  #: config/aarch64/aarch64-sve-builtins.cc:1754
  #, gcc-internal-format
--- 40120,40287 ----
  #: config/aarch64/aarch64-json-tunings-parser.cc:122
  #, gcc-internal-format
  msgid "static storage conflict - multiple pointer members of the same type cannot be parsed"
! msgstr "Konflikt in statischem Speicher – mehrere Zeigerelemente desselben Typs können nicht geparst werden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:139
  #, gcc-internal-format
  msgid "expected a string but got something else or NULL"
! msgstr "Zeichenkette erwartet, aber etwas anderes oder NULL gefunden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:153
! #, gcc-internal-format
  msgid "expected an integer value but got something else or NULL"
! msgstr "ein ganzzahliger Wert wurde erwartet, aber etwas anderes oder NULL gefunden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:168
  #, gcc-internal-format
  msgid "expected an unsigned integer value but got something else or NULL"
! msgstr "ein vorzeichenloser ganzzahliger Wert wurde erwartet, aber etwas anderes oder NULL gefunden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:182
! #, gcc-internal-format
  msgid "expected a boolean value but got something else or NULL"
! msgstr "ein boolescher Wert wurde erwartet, aber etwas anderes oder NULL gefunden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:206
! #, gcc-internal-format, gfc-internal-format
  msgid "expected string for enum field %s"
! msgstr "Zeichenkette für Aufzählungsfeld %s erwartet"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:221
! #, gcc-internal-format
  msgid "%s not recognized, defaulting to %qs"
! msgstr "%s wird nicht erkannt, stattdessen wird %qs verwendet"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:246
! #, gcc-internal-format
  msgid "key %qs is not a tuning parameter, skipping"
! msgstr "der Schlüssel %qs ist kein Tuning-Parameter, wird daher übersprungen"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: config/aarch64/aarch64-json-tunings-parser.cc:261
! #, gcc-internal-format
  msgid "key %qs expected to be an object"
! msgstr "Schlüssel %qs muss ein Objekt sein"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:269
  #, gcc-internal-format
  msgid "key %qs expected to be an array"
! msgstr "Schlüssel %qs muss ein Array sein"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:282
! #, gcc-internal-format
  msgid "key %qs expected to be an integer"
! msgstr "Schlüssel %qs muss eine Ganzzahl sein"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:293
  #, gcc-internal-format
  msgid "key %qs value %ld is out of range for %<int%> type [%d, %d]"
! msgstr "Schlüssel %qs mit Wert %ld liegt außerhalb des Bereichs für den Typ %<int%> [%d, %d]"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:304
! #, gcc-internal-format
  msgid "key %qs expected to be an unsigned integer"
! msgstr "Schlüssel %qs muss eine vorzeichenlose Ganzzahl sein"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:315
  #, gcc-internal-format
  msgid "key %qs value %ld is out of range for %<uint%> type [0, %u]"
! msgstr "Schlüssel %qs mit Wert %ld liegt außerhalb des Bereichs für Typ %<uint%> [0, %u]"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:326
! #, gcc-internal-format
  msgid "key %qs expected to be a string"
! msgstr "Schlüssel %qs muss eine Zeichenkette sein"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:335
  #, gcc-internal-format
  msgid "key %qs expected to be a boolean (true/false)"
! msgstr "Schlüssel %qs muss ein Boolean (true/false) sein"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:344
  #, gcc-internal-format
  msgid "key %qs expected to be an enum (string)"
! msgstr "Schlüssel %qs muss eine Aufzählung (Zeichenkette) sein"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:351
! #, gcc-internal-format
  msgid "key %qs has unsupported type"
! msgstr "Schlüssel %qs hat nicht unterstützten Typ"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:357
  #, gcc-internal-format
  msgid "key %qs has unexpected format in schema"
! msgstr "Schlüssel %qs hat unerwartetes Format im Schema"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:371
! #, gcc-internal-format, gfc-internal-format
  msgid "could not open file %s"
! msgstr "Datei »%s« konnte nicht geöffnet werden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:383
! #, gcc-internal-format, gfc-internal-format
  msgid "error reading file %s"
! msgstr "Fehler beim Lesen der Datei »%s«"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:415
  #, gcc-internal-format
  msgid "JSON tuning file does not contain version information; compatibility cannot be verified"
! msgstr "die JSON-Tuning-Datei enthält keine Versionsinformationen; die Kompatibilität kann nicht überprüft werden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:422
  #, gcc-internal-format, gfc-internal-format
  msgid "JSON tuning file was created with GCC version %d but current GCC version is %d"
! msgstr "die JSON-Tuning-Datei wurde mit GCC Version %d erstellt, aber der jetzige GCC hat Version %d"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:425
  #, gcc-internal-format
  msgid "JSON tuning files must be regenerated when switching between major GCC versions"
! msgstr "JSON-Tuning-Dateien müssen beim Wechsel zwischen GCC-Hauptversionen neu generiert werden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:446
! #, gcc-internal-format, gfc-internal-format
  msgid "error parsing JSON data: %s"
! msgstr "Fehler beim Parsen der JSON-Daten: %s"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:453
  #, gcc-internal-format
  msgid "JSON parsing returned null data"
! msgstr "Parsen der JSON-Daten ergab null"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:459
  #, gcc-internal-format
  msgid "no JSON object found in the provided data"
! msgstr "kein JSON-Objekt in den bereitgestellten Daten gefunden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:481
  #, gcc-internal-format
  msgid "key %<tune_params%> not found in JSON data"
! msgstr "Schlüssel %<tune_params%> nicht in den JSON-Daten gefunden"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:488
! #, gcc-internal-format
  msgid "key %<tune_params%> is not a JSON object"
! msgstr "Schlüssel %<tune_params%> muss ein JSON-Objekt sein"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:494
  #, gcc-internal-format
  msgid "validation failed for the provided JSON data"
! msgstr "Validierung der bereitgestellten JSON-Daten fehlgeschlagen"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:507
  #, gcc-internal-format
  msgid "JSON tuning enables dispatch scheduling but %<dispatch_constraints%> is not available; disabling dispatch scheduling"
! msgstr "JSON-Optimierung ermöglicht die Dispatch-Planung, aber %<dispatch_constraints%> ist nicht verfügbar; Dispatch-Planung wird deaktiviert"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:524
! #, gcc-internal-format, gfc-internal-format
  msgid "cannot read JSON data in %s"
! msgstr "Fehler beim Lesen der JSON-Daten in »%s«"
  
  #: config/aarch64/aarch64-json-tunings-printer.cc:139
! #, gcc-internal-format, gfc-internal-format
  msgid "Error opening file %s"
! msgstr "Fehler beim Öffnen der Datei »%s«"
  
  #: config/aarch64/aarch64-sve-builtins.cc:1754
  #, gcc-internal-format
*************** msgid "%<-fsanitize=shadow-call-stack%>
*** 41393,41408 ****
  msgstr "%<-fsanitize=shadow-call-stack%> erfordert %<-ffixed-x18%>"
  
  #: config/aarch64/aarch64.cc:19653
! #, fuzzy, gcc-internal-format
! #| msgid "%<-fsanitize=shadow-call-stack%> not supported in current platform"
  msgid "%<-fsanitize=shadow-call-stack%> conflicts with the use of register x18 by the target operating system"
! msgstr "%<-fsanitize=shadow-call-stack%> wird für dieses Ziel nicht unterstützt"
  
  #: config/aarch64/aarch64.cc:19659
! #, fuzzy, gcc-internal-format
! #| msgid "functions with SME state require the ISA extension %qs"
  msgid "%<-fsanitize=memtag-stack%> requires the ISA extension %qs"
! msgstr "Funktionen mit SME-Zustand erfordern die ISA-Erweiterung %qs"
  
  #: config/aarch64/aarch64.cc:19667
  #, gcc-internal-format
--- 40916,40929 ----
  msgstr "%<-fsanitize=shadow-call-stack%> erfordert %<-ffixed-x18%>"
  
  #: config/aarch64/aarch64.cc:19653
! #, gcc-internal-format
  msgid "%<-fsanitize=shadow-call-stack%> conflicts with the use of register x18 by the target operating system"
! msgstr "%<-fsanitize=shadow-call-stack%> steht in Konflikt mit der Verwendung von Register x18 durch das Zielbetriebssystem"
  
  #: config/aarch64/aarch64.cc:19659
! #, gcc-internal-format
  msgid "%<-fsanitize=memtag-stack%> requires the ISA extension %qs"
! msgstr "%<-fsanitize=memtag-stack%> erfordert die ISA-Erweiterung %qs"
  
  #: config/aarch64/aarch64.cc:19667
  #, gcc-internal-format
*************** msgstr "Multiversionierung erfordert %<i
*** 41616,41628 ****
  #: config/aarch64/aarch64.cc:21808
  #, gcc-internal-format
  msgid "%q+D has an inconsistent function multi-version priority value"
! msgstr ""
  
  #: config/aarch64/aarch64.cc:21811
! #, fuzzy, gcc-internal-format
! #| msgid "%qD was previously declared here"
  msgid "%q+D was previously declared here with priority value of %d"
! msgstr "%qD wurde vorher hier deklariert"
  
  #: config/aarch64/aarch64.cc:23420 config/arm/arm.cc:6689
  #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:13289
--- 41137,41148 ----
  #: config/aarch64/aarch64.cc:21808
  #, gcc-internal-format
  msgid "%q+D has an inconsistent function multi-version priority value"
! msgstr "%q+D hat einen inkonsistenten Prioritätswert für die Funktion mit mehreren Versionen"
  
  #: config/aarch64/aarch64.cc:21811
! #, gcc-internal-format
  msgid "%q+D was previously declared here with priority value of %d"
! msgstr "%q+D wurde vorher hier deklariert mit Prioritätswert %d"
  
  #: config/aarch64/aarch64.cc:23420 config/arm/arm.cc:6689
  #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:13289
*************** msgid "passing %wd to argument %d of %qE
*** 41732,41759 ****
  msgstr "Übergabe von %wd an Argument %d von %qE, das jedoch einen gültigen %qT-Wert erwartet"
  
  #: config/aarch64/aarch64.cc:33099
! #, fuzzy, gcc-internal-format
! #| msgid "an empty string cannot be in %<target_clones%> attribute"
  msgid "empty string not valid for a %<target_clones%> version"
! msgstr "das Attribut %<target_clones%> darf keine leere Zeichenkette enthalten"
  
  #: config/aarch64/aarch64.cc:33103
- #, fuzzy
- #| msgid "invalid feature modifier %qs of value %qs in %<target_version%> attribute"
  msgid "invalid feature modifier %qs in version %qB for %<target_clones%> attribute"
! msgstr "ungültiger Featuremodifizierer %qs mit Wert %qs in Attribut %<target_version%>"
  
  #: config/aarch64/aarch64.cc:33109
- #, fuzzy
- #| msgid "duplicate feature modifier %qs of value %qs in %<target_version%> attribute"
  msgid "duplicate feature modifier %qs in version %qB for %<target_clones%> attribute"
! msgstr "doppelter Featuremodifizierer %qs mit Wert %qs in Attribut %<target_version%>"
  
  #: config/aarch64/aarch64.cc:33115
- #, fuzzy
- #| msgid "invalid feature modifier %qs of value %qs in %<target_version%> attribute"
  msgid "invalid feature %qs in version %qB for %<target_clones%> attribute"
! msgstr "ungültiger Featuremodifizierer %qs mit Wert %qs in Attribut %<target_version%>"
  
  #: config/alpha/alpha.cc:420
  #, gcc-internal-format
--- 41252,41272 ----
  msgstr "Übergabe von %wd an Argument %d von %qE, das jedoch einen gültigen %qT-Wert erwartet"
  
  #: config/aarch64/aarch64.cc:33099
! #, gcc-internal-format
  msgid "empty string not valid for a %<target_clones%> version"
! msgstr "das Attribut %<target_clones%> darf keine leere Zeichenkette sein"
  
  #: config/aarch64/aarch64.cc:33103
  msgid "invalid feature modifier %qs in version %qB for %<target_clones%> attribute"
! msgstr "ungültiger Featuremodifizierer %qs in Version %qB für Attribut %<target_clones%>"
  
  #: config/aarch64/aarch64.cc:33109
  msgid "duplicate feature modifier %qs in version %qB for %<target_clones%> attribute"
! msgstr "doppelter Featuremodifizierer %qs in Version %qB für Attribut %<target_clones%>"
  
  #: config/aarch64/aarch64.cc:33115
  msgid "invalid feature %qs in version %qB for %<target_clones%> attribute"
! msgstr "ungültiges Feature %qs in Version %qB für Attribut %<target_clones%>"
  
  #: config/alpha/alpha.cc:420
  #, gcc-internal-format
*************** msgstr "Argument falschen Typs für »%s
*** 43250,43261 ****
  #: config/gcn/gcn.cc:2951
  #, gcc-internal-format
  msgid "Unified Shared Memory is required, but XNACK is disabled"
! msgstr ""
  
  #: config/gcn/gcn.cc:2952
  #, gcc-internal-format
  msgid "Try -foffload-options=-mxnack=any"
! msgstr ""
  
  #: config/gcn/gcn.cc:3928
  #, gcc-internal-format
--- 42763,42774 ----
  #: config/gcn/gcn.cc:2951
  #, gcc-internal-format
  msgid "Unified Shared Memory is required, but XNACK is disabled"
! msgstr "Einheitlicher gemeinsamer Speicher ist erforderlich, aber XNACK ist deaktiviert"
  
  #: config/gcn/gcn.cc:2952
  #, gcc-internal-format
  msgid "Try -foffload-options=-mxnack=any"
! msgstr "Versuchen Sie -foffload-options=-mxnack=any"
  
  #: config/gcn/gcn.cc:3928
  #, gcc-internal-format
*************** msgstr "Löschen der Datei %qs: %m"
*** 43305,43311 ****
  #: config/gcn/mkoffload.cc:632
  #, gcc-internal-format
  msgid "conflicting settings; XNACK is forced off but Unified Shared Memory is required"
! msgstr ""
  
  #: config/gcn/mkoffload.cc:833
  #, gcc-internal-format
--- 42818,42824 ----
  #: config/gcn/mkoffload.cc:632
  #, gcc-internal-format
  msgid "conflicting settings; XNACK is forced off but Unified Shared Memory is required"
! msgstr "widersprüchliche Einstellungen; XNACK wird deaktiviert, aber Unified Shared Memory ist erforderlich"
  
  #: config/gcn/mkoffload.cc:833
  #, gcc-internal-format
*************** msgstr "%<-mno-fentry%> ist nicht mit SE
*** 43972,43978 ****
  #: config/i386/i386-options.cc:2879
  #, gcc-internal-format
  msgid "%<-pg%> without %<-mfentry%> may be unreliable with shrink wrapping"
! msgstr ""
  
  #: config/i386/i386-options.cc:2884
  #, gcc-internal-format
--- 43485,43491 ----
  #: config/i386/i386-options.cc:2879
  #, gcc-internal-format
  msgid "%<-pg%> without %<-mfentry%> may be unreliable with shrink wrapping"
! msgstr "%<-pg%> ohne %<-mfentry%> kann bei Schrumpfpackung unzuverlässig sein"
  
  #: config/i386/i386-options.cc:2884
  #, gcc-internal-format
*************** msgid "fastcall and regparm attributes a
*** 44067,44076 ****
  msgstr "Attribute fastcall und regparm sind nicht verträglich"
  
  #: config/i386/i386-options.cc:3635 config/i386/i386-options.cc:3729
! #, fuzzy, gcc-internal-format
! #| msgid "regparam and thiscall attributes are not compatible"
  msgid "regparm and thiscall attributes are not compatible"
! msgstr "Attribute regparam und thiscall sind nicht verträglich"
  
  #: config/i386/i386-options.cc:3642 config/i386/i386-options.cc:3861
  #, gcc-internal-format
--- 43580,43588 ----
  msgstr "Attribute fastcall und regparm sind nicht verträglich"
  
  #: config/i386/i386-options.cc:3635 config/i386/i386-options.cc:3729
! #, gcc-internal-format
  msgid "regparm and thiscall attributes are not compatible"
! msgstr "Attribute regparm und thiscall sind nicht verträglich"
  
  #: config/i386/i386-options.cc:3642 config/i386/i386-options.cc:3861
  #, gcc-internal-format
*************** msgid "%<-fsplit-stack%> does not suppor
*** 44332,44353 ****
  msgstr "%<-fsplit-stack%> unterstützt nicht 3 Registerparameter"
  
  #: config/i386/i386.cc:12532
! #, fuzzy, gcc-internal-format
! #| msgid "%s instructions aren%'t allowed in a function with the %<no_caller_saved_registers%> attribute"
  msgid "%<-mtls-dialect=gnu2%> must be used with a function with the %<no_caller_saved_registers%> attribute"
! msgstr "%s-Befehle sind in Funktionen mit %<no_caller_saved_registers%>-Attribut nicht erlaubt"
  
  #: config/i386/i386.cc:12536
! #, fuzzy, gcc-internal-format
! #| msgid "%s instructions aren%'t allowed in an exception service routine"
  msgid "%<-mtls-dialect=gnu2%> must be used with an exception service routine"
! msgstr "%s-Befehle sind in Exception-Serviceroutine nicht erlaubt"
  
  #: config/i386/i386.cc:12538
! #, fuzzy, gcc-internal-format
! #| msgid "%s instructions aren%'t allowed in an interrupt service routine"
  msgid "%<-mtls-dialect=gnu2%> must be used with an interrupt service routine"
! msgstr "%s-Befehle sind in Interrupt-Serviceroutine nicht erlaubt"
  
  #: config/i386/i386.cc:13882
  #, gcc-internal-format
--- 43844,43862 ----
  msgstr "%<-fsplit-stack%> unterstützt nicht 3 Registerparameter"
  
  #: config/i386/i386.cc:12532
! #, gcc-internal-format
  msgid "%<-mtls-dialect=gnu2%> must be used with a function with the %<no_caller_saved_registers%> attribute"
! msgstr "%<-mtls-dialect=gnu2%> kann nur an einer Funktion mit dem Attribut %<no_caller_saved_registers%> verwendet werden"
  
  #: config/i386/i386.cc:12536
! #, gcc-internal-format
  msgid "%<-mtls-dialect=gnu2%> must be used with an exception service routine"
! msgstr "%<-mtls-dialect=gnu2%> kann nur mit einer Ausnahme-Serviceroutine verwendet werden"
  
  #: config/i386/i386.cc:12538
! #, gcc-internal-format
  msgid "%<-mtls-dialect=gnu2%> must be used with an interrupt service routine"
! msgstr "%<-mtls-dialect=gnu2%> kann nur mit einer Interrupt-Service-Routine verwendet werden"
  
  #: config/i386/i386.cc:13882
  #, gcc-internal-format
*************** msgid "%qs does not work on a cross comp
*** 44542,44551 ****
  msgstr "%qs funktioniert nicht auf einem Cross-Compiler"
  
  #: config/loongarch/loongarch-opts.cc:365
! #, fuzzy, gcc-internal-format
! #| msgid "PIC is not supported for %qs"
  msgid "SIMD is not supported on LA32"
! msgstr "PIC wird für %qs nicht unterstützt"
  
  #: config/loongarch/loongarch-opts.cc:384
  #, gcc-internal-format
--- 44051,44059 ----
  msgstr "%qs funktioniert nicht auf einem Cross-Compiler"
  
  #: config/loongarch/loongarch-opts.cc:365
! #, gcc-internal-format
  msgid "SIMD is not supported on LA32"
! msgstr "SIMD wird auf LA32 nicht unterstützt"
  
  #: config/loongarch/loongarch-opts.cc:384
  #, gcc-internal-format
*************** msgid "%qs cannot be used for compiling
*** 44619,44628 ****
  msgstr "%qs kann nicht zum Übersetzen einer gemeinsam genutzten Bibliothek verwendet werden"
  
  #: config/loongarch/loongarch-target-attr.cc:261
! #, fuzzy, gcc-internal-format
! #| msgid "pragma or attribute %<target(\"%s\")%> is not valid"
  msgid "the value of pragma or attribute %<target(\"%s\")%> not be empty"
! msgstr "Pragma oder Attribut %<target(\"%s\")%> ist nicht gültig"
  
  #: config/loongarch/loongarch-target-attr.cc:332 config/s390/s390.cc:17045
  #: config/s390/s390.cc:17096 config/s390/s390.cc:17114
--- 44127,44135 ----
  msgstr "%qs kann nicht zum Übersetzen einer gemeinsam genutzten Bibliothek verwendet werden"
  
  #: config/loongarch/loongarch-target-attr.cc:261
! #, gcc-internal-format
  msgid "the value of pragma or attribute %<target(\"%s\")%> not be empty"
! msgstr "der Wert des Pragma oder des Attributs %<target(\"%s\")%> darf nicht leer sein"
  
  #: config/loongarch/loongarch-target-attr.cc:332 config/s390/s390.cc:17045
  #: config/s390/s390.cc:17096 config/s390/s390.cc:17114
*************** msgstr "beim Attribut %<target%> ist das
*** 44633,44684 ****
  #: config/loongarch/loongarch-target-attr.cc:544
  #, gcc-internal-format
  msgid "\"default\" cannot be set together with other features in %qs"
! msgstr ""
  
  #: config/loongarch/loongarch-target-attr.cc:556
! #, fuzzy, gcc-internal-format
! #| msgid "clones for %<target_clones%> attribute cannot be created"
  msgid "characher before %<;%> in attribute %qs cannot be empty"
! msgstr "Klone für Attribut %<target_clones%> können nicht erzeugt werden"
  
  #: config/loongarch/loongarch-target-attr.cc:567
! #, fuzzy, gcc-internal-format
! #| msgid "%qs property cannot be set"
  msgid "in attribute %qs priority cannot be empty"
! msgstr "Eigenschaft %qs kann nicht gesetzt werden"
  
  #: config/loongarch/loongarch-target-attr.cc:576
  #, gcc-internal-format
  msgid "in attribute %qs the number of reatures cannot exceed two"
! msgstr ""
  
  #: config/loongarch/loongarch-target-attr.cc:600
  #, gcc-internal-format
  msgid "Setting the priority value to %qs is illegal in attribute %qs"
! msgstr ""
  
  #: config/loongarch/loongarch-target-attr.cc:611
  #, gcc-internal-format
  msgid "in attribute %qs, the second feature should be \"priority=%<num%>\" instead of %qs"
! msgstr ""
  
  #: config/loongarch/loongarch-target-attr.cc:630
  #: config/loongarch/loongarch-target-attr.cc:662
  #, gcc-internal-format
  msgid "in attribute %qs you need to set a legal value for \"arch\""
! msgstr ""
  
  #: config/loongarch/loongarch-target-attr.cc:684
! #, fuzzy, gcc-internal-format
! #| msgid "value %qs is not supported by attribute %<target%>"
  msgid "attribute %qs is not supported in %<target_version%> or %<target_clones%>"
! msgstr "Wert %qs wird von Attribut %<target%> nicht unterstützt"
  
  #: config/loongarch/loongarch-target-attr.cc:701
! #, fuzzy, gcc-internal-format
! #| msgid "%qs is not supported on this target"
  msgid "%qs is not supported in target attribute"
! msgstr "%qs wird auf diesem Ziel nicht unterstützt"
  
  #: config/loongarch/loongarch.cc:8618
  #, gcc-internal-format
--- 44140,44187 ----
  #: config/loongarch/loongarch-target-attr.cc:544
  #, gcc-internal-format
  msgid "\"default\" cannot be set together with other features in %qs"
! msgstr "»default« darf nicht zusammen mit anderen Features in %qs festgelegt werden"
  
  #: config/loongarch/loongarch-target-attr.cc:556
! #, gcc-internal-format
  msgid "characher before %<;%> in attribute %qs cannot be empty"
! msgstr "das Zeichen vor %<;%> in Attribut %qs darf nicht leer sein"
  
  #: config/loongarch/loongarch-target-attr.cc:567
! #, gcc-internal-format
  msgid "in attribute %qs priority cannot be empty"
! msgstr "im Attribut %qs darf die Priorität nicht leer sein"
  
  #: config/loongarch/loongarch-target-attr.cc:576
  #, gcc-internal-format
  msgid "in attribute %qs the number of reatures cannot exceed two"
! msgstr "im Attribut %qs darf die Anzahl der Features höchstens 2 sein"
  
  #: config/loongarch/loongarch-target-attr.cc:600
  #, gcc-internal-format
  msgid "Setting the priority value to %qs is illegal in attribute %qs"
! msgstr "ungültiger Wert %qs für Attribut %qs"
  
  #: config/loongarch/loongarch-target-attr.cc:611
  #, gcc-internal-format
  msgid "in attribute %qs, the second feature should be \"priority=%<num%>\" instead of %qs"
! msgstr "im Attribut %qs sollte das zweite Feature \"priority=%<Zahl%>\" sein statt %qs"
  
  #: config/loongarch/loongarch-target-attr.cc:630
  #: config/loongarch/loongarch-target-attr.cc:662
  #, gcc-internal-format
  msgid "in attribute %qs you need to set a legal value for \"arch\""
! msgstr "im Attribut %qs fehlt der Wert für \"arch\""
  
  #: config/loongarch/loongarch-target-attr.cc:684
! #, gcc-internal-format
  msgid "attribute %qs is not supported in %<target_version%> or %<target_clones%>"
! msgstr "Attribut %qs wird weder in %<target_version%> noch in %<target_clones%> unterstützt"
  
  #: config/loongarch/loongarch-target-attr.cc:701
! #, gcc-internal-format
  msgid "%qs is not supported in target attribute"
! msgstr "%qs wird im Zielattribut nicht unterstützt"
  
  #: config/loongarch/loongarch.cc:8618
  #, gcc-internal-format
*************** msgid "function pointers not supported w
*** 45766,45775 ****
  msgstr "Funktionszeiger werden mit der Option %<-mabi=ti%> nicht unterstützt"
  
  #: config/pru/pru-passes.cc:111
! #, fuzzy, gcc-internal-format
! #| msgid "function pointers not supported with %<-mabi=ti%> option"
  msgid "bit-fields not supported with %<-mabi=ti%> option"
! msgstr "Funktionszeiger werden mit der Option %<-mabi=ti%> nicht unterstützt"
  
  #: config/pru/pru-passes.cc:136
  #, gcc-internal-format
--- 45269,45277 ----
  msgstr "Funktionszeiger werden mit der Option %<-mabi=ti%> nicht unterstützt"
  
  #: config/pru/pru-passes.cc:111
! #, gcc-internal-format
  msgid "bit-fields not supported with %<-mabi=ti%> option"
! msgstr "Bitfelder werden mit der Option %<-mabi=ti%> nicht unterstützt"
  
  #: config/pru/pru-passes.cc:136
  #, gcc-internal-format
*************** msgid "redefinition of %<CTABLE_ENTRY %w
*** 45803,45812 ****
  msgstr "Neudefinition von %<CTABLE_ENTRY %wd%>"
  
  #: config/pru/pru-pragma.cc:66
! #, fuzzy, gcc-internal-format
! #| msgid "%<CTABLE_ENTRY%> base address is not a multiple of 256"
  msgid "%<CTABLE_ENTRY%> base address does not fit in 32-bits"
! msgstr "%<CTABLE_ENTRY%>-Basisadresse muss ein Vielfaches von 256 sein"
  
  #: config/pru/pru-pragma.cc:70
  #, gcc-internal-format
--- 45305,45313 ----
  msgstr "Neudefinition von %<CTABLE_ENTRY %wd%>"
  
  #: config/pru/pru-pragma.cc:66
! #, gcc-internal-format
  msgid "%<CTABLE_ENTRY%> base address does not fit in 32-bits"
! msgstr "%<CTABLE_ENTRY%>-Basisadresse passt nicht in 32 Bits"
  
  #: config/pru/pru-pragma.cc:70
  #, gcc-internal-format
*************** msgstr "falsch geformtes %<target()%>-At
*** 45931,45947 ****
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868
  #: config/riscv/riscv-target-attr.cc:336
! #, fuzzy, gcc-internal-format
! #| msgid "attribute %<target(\"%s\")%> does not accept an argument"
  msgid "attribute %<target(\"%s\")%> has empty argument"
! msgstr "Attribut %<target(\"%s\")%> akzeptiert keine Argumente"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868
  #: config/riscv/riscv-target-attr.cc:352
! #, fuzzy, gcc-internal-format
! #| msgid "attribute %<target(\"%s\")%> does not accept an argument"
  msgid "attribute %<target(\"%s\")%> expects an argument"
! msgstr "Attribut %<target(\"%s\")%> akzeptiert keine Argumente"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868
  #: config/riscv/riscv-target-attr.cc:360
--- 45432,45446 ----
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868
  #: config/riscv/riscv-target-attr.cc:336
! #, gcc-internal-format
  msgid "attribute %<target(\"%s\")%> has empty argument"
! msgstr "Argument des Attributs %<target(\"%s\")%> darf nicht leer sein"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868
  #: config/riscv/riscv-target-attr.cc:352
! #, gcc-internal-format
  msgid "attribute %<target(\"%s\")%> expects an argument"
! msgstr "Attribut %<target(\"%s\")%> erfordert ein Argument"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79868
  #: config/riscv/riscv-target-attr.cc:360
*************** msgid "attribute %<target(\"%s\")%> does
*** 45950,45965 ****
  msgstr "Attribut %<target(\"%s\")%> akzeptiert keine Argumente"
  
  #: config/riscv/riscv-target-attr.cc:369
! #, fuzzy, gcc-internal-format
! #| msgid "Got unknown attribute %<target(\"%s\")%>"
  msgid "unknown attribute %<target(\"%s\")%>"
  msgstr "unbekanntes Attribut %<target(\"%s\")%>"
  
  #: config/riscv/riscv-target-attr.cc:435
- #, fuzzy
- #| msgid "malformed %<target(\"%s\")%> attribute"
  msgid "malformed %<target(\"%B\")%> attribute"
! msgstr "falsch geformtes Attribut %<target(\"%s\")%>"
  
  #: config/riscv/riscv-v.cc:317
  #, gcc-internal-format, gfc-internal-format
--- 45449,45461 ----
  msgstr "Attribut %<target(\"%s\")%> akzeptiert keine Argumente"
  
  #: config/riscv/riscv-target-attr.cc:369
! #, gcc-internal-format
  msgid "unknown attribute %<target(\"%s\")%>"
  msgstr "unbekanntes Attribut %<target(\"%s\")%>"
  
  #: config/riscv/riscv-target-attr.cc:435
  msgid "malformed %<target(\"%B\")%> attribute"
! msgstr "falsch geformtes Attribut %<target(\"%B\")%>"
  
  #: config/riscv/riscv-v.cc:317
  #, gcc-internal-format, gfc-internal-format
*************** msgid "built-in function %qE requires th
*** 46072,46081 ****
  msgstr "Eingebaute Funktion %qE erfordert die ISA-Erweiterung zve64x, zve64f, zve64d oder v"
  
  #: config/riscv/riscv-vector-builtins.cc:5713
! #, fuzzy, gcc-internal-format
! #| msgid "unrecognized gcc debugging option: %c"
  msgid "unrecognized RVV builtin"
! msgstr "GCC-Debuggingoption nicht erkannt: %c"
  
  #: config/riscv/riscv-vector-builtins.cc:5720
  #, gcc-internal-format
--- 45568,45576 ----
  msgstr "Eingebaute Funktion %qE erfordert die ISA-Erweiterung zve64x, zve64f, zve64d oder v"
  
  #: config/riscv/riscv-vector-builtins.cc:5713
! #, gcc-internal-format
  msgid "unrecognized RVV builtin"
! msgstr "unerkanntes eingebaute Funktion für RVV"
  
  #: config/riscv/riscv-vector-builtins.cc:5720
  #, gcc-internal-format
*************** msgid "ABI for flattened struct with zer
*** 46108,46117 ****
  msgstr "ABI für abgeflachte Struktur mit Bit-Feldern der Länge 0 hat wurde mit GCC 10 geändert"
  
  #: config/riscv/riscv.cc:6337 config/riscv/riscv.cc:6414
! #, fuzzy, gcc-internal-format
! #| msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10"
  msgid "ABI for flattened empty union and zero length array changed in GCC 16"
! msgstr "ABI für abgeflachte Struktur mit Bit-Feldern der Länge 0 hat wurde mit GCC 10 geändert"
  
  #: config/riscv/riscv.cc:7029
  #, gcc-internal-format
--- 45603,45611 ----
  msgstr "ABI für abgeflachte Struktur mit Bit-Feldern der Länge 0 hat wurde mit GCC 10 geändert"
  
  #: config/riscv/riscv.cc:6337 config/riscv/riscv.cc:6414
! #, gcc-internal-format
  msgid "ABI for flattened empty union and zero length array changed in GCC 16"
! msgstr "ABI für abgeflachte leere Union und Array mit Länge 0 wurde mit GCC 16 geändert"
  
  #: config/riscv/riscv.cc:7029
  #, gcc-internal-format
*************** msgstr "Funktionsattribut %qs erfordert
*** 46156,46180 ****
  #: config/riscv/riscv.cc:7464
  #, gcc-internal-format
  msgid "unsupported %<ABI_VLEN%> value %d for %qs attribute;%<ABI_VLEN must%> be in the range [32, 16384] and must be a power of 2"
! msgstr ""
  
  #: config/riscv/riscv.cc:7489
! #, fuzzy, gcc-internal-format
! #| msgid "function attribute %qs requires the V ISA extension"
  msgid "function attribute %qs requires the vector ISA extension"
! msgstr "Funktionsattribut %qs erfordert die ISA-Erweiterung V"
  
  #: config/riscv/riscv.cc:7599
! #, fuzzy, gcc-internal-format
! #| msgid "function attribute %qs requires the V ISA extension"
  msgid "attribute 'rnmi' requires the Smrnmi ISA extension"
! msgstr "Funktionsattribut %qs erfordert die ISA-Erweiterung V"
  
  #: config/riscv/riscv.cc:7607
! #, fuzzy, gcc-internal-format
! #| msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>"
  msgid "argument to %qE attribute is not %<\"supervisor\"%>, %<\"machine\"%>, or %<\"rnmi\"%>"
! msgstr "Argument des Attributs %qE muss %<\"user\"%>, %<\"supervisor\"%> oder %<\"machine\"%> sein"
  
  #: config/riscv/riscv.cc:7649
  #, gcc-internal-format
--- 45650,45671 ----
  #: config/riscv/riscv.cc:7464
  #, gcc-internal-format
  msgid "unsupported %<ABI_VLEN%> value %d for %qs attribute;%<ABI_VLEN must%> be in the range [32, 16384] and must be a power of 2"
! msgstr "der Wert %d für %<ABI_VLEN%> des Attributs %qs muss eine Zweierpotenz im Bereich [32, 16384] sein"
  
  #: config/riscv/riscv.cc:7489
! #, gcc-internal-format
  msgid "function attribute %qs requires the vector ISA extension"
! msgstr "das Funktionsattribut %qs erfordert die Vektor-ISA-Erweiterung"
  
  #: config/riscv/riscv.cc:7599
! #, gcc-internal-format
  msgid "attribute 'rnmi' requires the Smrnmi ISA extension"
! msgstr "das Attribut »rnmi« erfordert die ISA-Erweiterung Smrnmi"
  
  #: config/riscv/riscv.cc:7607
! #, gcc-internal-format
  msgid "argument to %qE attribute is not %<\"supervisor\"%>, %<\"machine\"%>, or %<\"rnmi\"%>"
! msgstr "Argument des Attributs %qE muss %<\"supervisor\"%>, %<\"machine\"%> oder %<\"rnmi\"%> sein"
  
  #: config/riscv/riscv.cc:7649
  #, gcc-internal-format
*************** msgid "only uninitialized variables can
*** 47542,47556 ****
  msgstr "Nur uninitialisierte Variablen können in einem %<.bss%>-Abschnitt platziert werden"
  
  #: config/xtensa/xtensa.cc:6141
! #, fuzzy, gcc-internal-format
! #| msgid "constant literal %qs contains %qc, expected %qs"
  msgid "constantsynth: method %qs invalid insn sequence, expected %wd (%wx)"
! msgstr "Konstantenliteral %qs enthält %qc, %qs erwartet"
  
  #: config/xtensa/xtensa.cc:6146
  #, gcc-internal-format
  msgid "constantsynth: method %qs value mismatch, expected %wd (%wx) synthesized %wd (%wx)"
! msgstr ""
  
  #: ada/gcc-interface/misc.cc:157
  #, gcc-internal-format
--- 47033,47046 ----
  msgstr "Nur uninitialisierte Variablen können in einem %<.bss%>-Abschnitt platziert werden"
  
  #: config/xtensa/xtensa.cc:6141
! #, gcc-internal-format
  msgid "constantsynth: method %qs invalid insn sequence, expected %wd (%wx)"
! msgstr "Interner Fehler: constantsynth: method %qs invalid insn sequence, expected %wd (%wx)"
  
  #: config/xtensa/xtensa.cc:6146
  #, gcc-internal-format
  msgid "constantsynth: method %qs value mismatch, expected %wd (%wx) synthesized %wd (%wx)"
! msgstr "Interner Fehler: constantsynth: Methode %qs Wert nicht übereinstimmend, erwartet %wd (%wx) synthetisiert %wd (%wx)"
  
  #: ada/gcc-interface/misc.cc:157
  #, gcc-internal-format
*************** msgid "Argument to %<-fcheck%> is not va
*** 47650,47729 ****
  msgstr "Argument für %<-fcheck%> ist ungültig: %s"
  
  #: algol68/a68-lang.cc:535
! #, fuzzy, gcc-internal-format
! #| msgid "bad argument for %<-fmodule-file=%>: %qs"
  msgid "invalid argument for %<-fmodules-map%>: %s"
! msgstr "falsches Argument für %<-fmodule-file=%>: %qs"
  
  #: algol68/a68-lang.cc:544
! #, fuzzy, gcc-internal-format
! #| msgid "cannot open profile file %s"
  msgid "cannot open modules map file %<%s%>"
! msgstr "Profilingdatei %s kann nicht geöffnet werden"
  
  #: algol68/a68-lang.cc:549
! #, fuzzy, gcc-internal-format
! #| msgid "Cannot delete module file %qs: %s"
  msgid "cannot determine size of modules map file %<%s%>"
! msgstr "Moduldatei %qs kann nicht gelöscht werden: %s"
  
  #: algol68/a68-lang.cc:556
! #, fuzzy, gcc-internal-format
! #| msgid "cannot read omp_requires file %qs"
  msgid "cannot read contents of modules map file %<%s%>"
! msgstr "Fehler beim Lesen der omp_requires-Datei %qs"
  
  #: algol68/a68-lang.cc:666
! #, fuzzy, gcc-internal-format
! #| msgid "method attributes must be specified at the end only"
  msgid "exactly one source file must be specified on the command line"
! msgstr "Methodenattribute dürfen nur am Ende angegeben werden"
  
  #: algol68/a68-low-coercions.cc:403
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "cannot write to %s: %m"
  msgid "cannot do widening from %s to %s"
! msgstr "in %s kann nicht geschrieben werden: %m"
  
  #: algol68/a68-low-moids.cc:648
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Cannot open %s"
  msgid "Cannot lower mode %s"
! msgstr "»%s« kann nicht geöffnet werden"
  
  #: algol68/a68-low-prelude.cc:52
  #, gcc-internal-format
  msgid "no lowering routine installed for construct.  jemarch has been lazy"
! msgstr ""
  
  #: algol68/a68-low.cc:318
  #, gcc-internal-format, gfc-internal-format
  msgid "get skip tree: cannot compute SKIP for mode %s"
! msgstr ""
  
  #: algol68/a68-low.cc:1720
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "cannot open %s"
  msgid "cannot lower node %s"
! msgstr "»%s« kann nicht geöffnet werden"
  
  #: algol68/a68-parser-scanner.cc:337
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "could not open response file %s"
  msgid "could not open source file %s"
! msgstr "Antwortdatei %s konnte nicht geöffnet werden"
  
  #: algol68/a68-parser-scanner.cc:344
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%qs is not a directory"
  msgid "specified file %s is a directory"
! msgstr "%qs ist kein Verzeichnis"
  
  #: algol68/a68-parser-scanner.cc:349
! #, fuzzy, gcc-internal-format
! #| msgid "could not write to response file %s"
  msgid "could not get size of source file"
! msgstr "in Antwortdatei %s konnte nicht geschrieben werden"
  
  #: c/c-convert.cc:104 c/c-typeck.cc:2805 c/c-typeck.cc:15412 cp/typeck.cc:2635
  #: cp/typeck.cc:9874 cp/typeck.cc:10682 d/d-convert.cc:262
--- 47140,47208 ----
  msgstr "Argument für %<-fcheck%> ist ungültig: %s"
  
  #: algol68/a68-lang.cc:535
! #, gcc-internal-format
  msgid "invalid argument for %<-fmodules-map%>: %s"
! msgstr "falsches Argument für %<-fmodules-map=%>: %s"
  
  #: algol68/a68-lang.cc:544
! #, gcc-internal-format
  msgid "cannot open modules map file %<%s%>"
! msgstr "Modulzuordnungsdatei %qs kann nicht geöffnet werden"
  
  #: algol68/a68-lang.cc:549
! #, gcc-internal-format
  msgid "cannot determine size of modules map file %<%s%>"
! msgstr "Größe der Modulzuordnungsdatei %qs kann nicht ermittelt werden"
  
  #: algol68/a68-lang.cc:556
! #, gcc-internal-format
  msgid "cannot read contents of modules map file %<%s%>"
! msgstr "Inhalt der Modulzuordnungsdatei %qs kann nicht gelesen werden"
  
  #: algol68/a68-lang.cc:666
! #, gcc-internal-format
  msgid "exactly one source file must be specified on the command line"
! msgstr "genau eine Quelldatei muss in der Befehlszeile angegeben werden"
  
  #: algol68/a68-low-coercions.cc:403
! #, gcc-internal-format, gfc-internal-format
  msgid "cannot do widening from %s to %s"
! msgstr "Erweiterung von %s auf %s nicht möglich"
  
  #: algol68/a68-low-moids.cc:648
! #, gcc-internal-format, gfc-internal-format
  msgid "Cannot lower mode %s"
! msgstr "Modus »%s« kann nicht abgesenkt werden"
  
  #: algol68/a68-low-prelude.cc:52
  #, gcc-internal-format
  msgid "no lowering routine installed for construct.  jemarch has been lazy"
! msgstr "für das Konstrukt ist keine Absenkungsroutine installiert"
  
  #: algol68/a68-low.cc:318
  #, gcc-internal-format, gfc-internal-format
  msgid "get skip tree: cannot compute SKIP for mode %s"
! msgstr "Interner Fehler: get skip tree: cannot compute SKIP for mode %s"
  
  #: algol68/a68-low.cc:1720
! #, gcc-internal-format, gfc-internal-format
  msgid "cannot lower node %s"
! msgstr "Knoten »%s« kann nicht abgesenkt werden"
  
  #: algol68/a68-parser-scanner.cc:337
! #, gcc-internal-format, gfc-internal-format
  msgid "could not open source file %s"
! msgstr "Quelldatei %s konnte nicht geöffnet werden"
  
  #: algol68/a68-parser-scanner.cc:344
! #, gcc-internal-format, gfc-internal-format
  msgid "specified file %s is a directory"
! msgstr "die angegebene Datei %s ist ein Verzeichnis"
  
  #: algol68/a68-parser-scanner.cc:349
! #, gcc-internal-format
  msgid "could not get size of source file"
! msgstr "Größe der Quelldatei kann nicht ermittelt werden"
  
  #: c/c-convert.cc:104 c/c-typeck.cc:2805 c/c-typeck.cc:15412 cp/typeck.cc:2635
  #: cp/typeck.cc:9874 cp/typeck.cc:10682 d/d-convert.cc:262
*************** msgid "underspecified declaration of %qE
*** 47807,47816 ****
  msgstr "%qE wurde in diesem Gültigkeitsbereich bereits deklariert und ist unvollständig deklariert"
  
  #: c/c-decl.cc:1735 c/c-decl.cc:7962
! #, fuzzy, gcc-internal-format
! #| msgid "defining a type in a cast is invalid in C++"
  msgid "using %qD as both a typedef and a tag is invalid in C++"
! msgstr "Definition eines Typs in einer Umwandlung ist in C++ ungültig"
  
  #: c/c-decl.cc:1738 c/c-decl.cc:7965 c/c-decl.cc:8971 c/c-decl.cc:9967
  #: c/c-decl.cc:9973 c/c-decl.cc:10204
--- 47286,47294 ----
  msgstr "%qE wurde in diesem Gültigkeitsbereich bereits deklariert und ist unvollständig deklariert"
  
  #: c/c-decl.cc:1735 c/c-decl.cc:7962
! #, gcc-internal-format
  msgid "using %qD as both a typedef and a tag is invalid in C++"
! msgstr "die Verwendung von %qD sowohl als Typedef als auch als Tag ist in C++ ungültig"
  
  #: c/c-decl.cc:1738 c/c-decl.cc:7965 c/c-decl.cc:8971 c/c-decl.cc:9967
  #: c/c-decl.cc:9973 c/c-decl.cc:10204
*************** msgid "previous declaration of %q+D with
*** 47866,47875 ****
  msgstr "vorherige Deklaration von %qD vom Typ %qT"
  
  #: c/c-decl.cc:2109
! #, fuzzy, gcc-internal-format
! #| msgid "virtual function multiversioning not supported"
  msgid "cannot use function multiversioning on a renamed function"
! msgstr "Multiversionierung virtueller Funktionen wird nicht unterstützt"
  
  #: c/c-decl.cc:2162
  #, gcc-internal-format
--- 47344,47352 ----
  msgstr "vorherige Deklaration von %qD vom Typ %qT"
  
  #: c/c-decl.cc:2109
! #, gcc-internal-format
  msgid "cannot use function multiversioning on a renamed function"
! msgstr "Multiversionierung wird für umbenannte Funktionen nicht unterstützt"
  
  #: c/c-decl.cc:2162
  #, gcc-internal-format
*************** msgid "redeclaration of %q+D with no lin
*** 48027,48036 ****
  msgstr "Redeklaration von %q+D ohne Bindung"
  
  #: c/c-decl.cc:2702
! #, fuzzy, gcc-internal-format
! #| msgid "declaration of function %qD in invalid context"
  msgid "duplicate declaration of %qD is invalid in C++"
! msgstr "Deklaration der Funktion %qD in ungültigem Kontext"
  
  #: c/c-decl.cc:2712
  #, gcc-internal-format
--- 47504,47512 ----
  msgstr "Redeklaration von %q+D ohne Bindung"
  
  #: c/c-decl.cc:2702
! #, gcc-internal-format
  msgid "duplicate declaration of %qD is invalid in C++"
! msgstr "doppelte Deklaration von %qD ist in C++ ungültig"
  
  #: c/c-decl.cc:2712
  #, gcc-internal-format
*************** msgid "traditional C lacks a separate na
*** 48178,48187 ****
  msgstr "traditionelles C bietet keinen separaten Namensraum für Marken an, Bezeichner %qE steht in Konflikt"
  
  #: c/c-decl.cc:4495
! #, fuzzy, gcc-internal-format
! #| msgid "jump into scope of identifier with variably modified type"
  msgid "switch jumps into scope of identifier with variably modified type"
! msgstr "in Gültigkeitsbereich des Bezeichners mit variabel modifiziertem Typen springen"
  
  #: c/c-decl.cc:4505
  #, gcc-internal-format
--- 47654,47662 ----
  msgstr "traditionelles C bietet keinen separaten Namensraum für Marken an, Bezeichner %qE steht in Konflikt"
  
  #: c/c-decl.cc:4495
! #, gcc-internal-format
  msgid "switch jumps into scope of identifier with variably modified type"
! msgstr "eine Switch-Anweisung springt in den Gültigkeitsbereich eines Bezeichners mit variabel modifiziertem Typ"
  
  #: c/c-decl.cc:4505
  #, gcc-internal-format
*************** msgid "inline function %q+D given attrib
*** 48399,48408 ****
  msgstr "der inline-Funktion %q+D wurde das Attribut %qs gegeben"
  
  #: c/c-decl.cc:5945
! #, fuzzy, gcc-internal-format
! #| msgid "%<__label__%> declarations are only allowed in function scopes"
  msgid "versioned declarations are only allowed at file scope"
! msgstr "%<__label__%>-Deklarationen sind nur im Funktionsgültigkeitsbereich erlaubt"
  
  #: c/c-decl.cc:5985
  #, gcc-internal-format
--- 47874,47882 ----
  msgstr "der inline-Funktion %q+D wurde das Attribut %qs gegeben"
  
  #: c/c-decl.cc:5945
! #, gcc-internal-format
  msgid "versioned declarations are only allowed at file scope"
! msgstr "versionierte Deklarationen sind nur im Datei-Gültigkeitsbereich erlaubt"
  
  #: c/c-decl.cc:5985
  #, gcc-internal-format
*************** msgid "%q+D in declare target directive
*** 48450,48459 ****
  msgstr "%q+D in »declare target«-Direktive hat keinen zuordenbaren Typ"
  
  #: c/c-decl.cc:6440
! #, fuzzy, gcc-internal-format
! #| msgid "Warn about mismatched declarations of VLA parameters."
  msgid "more than one list of forward declarations of parameters"
! msgstr "Warnen, wenn Deklarationen von VLA-Parametern nicht übereinstimmen."
  
  #: c/c-decl.cc:6443
  #, gcc-internal-format
--- 47924,47932 ----
  msgstr "%q+D in »declare target«-Direktive hat keinen zuordenbaren Typ"
  
  #: c/c-decl.cc:6440
! #, gcc-internal-format
  msgid "more than one list of forward declarations of parameters"
! msgstr "mehr als eine Liste von Vorwärtsdeklarationen von Parametern"
  
  #: c/c-decl.cc:6443
  #, gcc-internal-format
*************** msgid "array of unknown size with empty
*** 48476,48485 ****
  msgstr "Array unbekannter Länge mit leerem Initialisierer"
  
  #: c/c-decl.cc:6555
! #, fuzzy, gcc-internal-format
! #| msgid "storage size of %qD isn%'t constant"
  msgid "storage size isn%'t constant"
! msgstr "Speichergröße von %qD ist nicht konstant"
  
  #: c/c-decl.cc:6599
  #, gcc-internal-format
--- 47949,47957 ----
  msgstr "Array unbekannter Länge mit leerem Initialisierer"
  
  #: c/c-decl.cc:6555
! #, gcc-internal-format
  msgid "storage size isn%'t constant"
! msgstr "Speichergröße ist nicht konstant"
  
  #: c/c-decl.cc:6599
  #, gcc-internal-format
*************** msgid "%<[*]%> not in a declaration"
*** 48790,48799 ****
  msgstr "%<[*]%> nicht in einer Deklaration"
  
  #: c/c-decl.cc:7597
! #, fuzzy, gcc-internal-format
! #| msgid "%<[*]%> not allowed in other than function prototype scope"
  msgid "%<[*]%> not allowed in other than function prototype scope or generic association"
! msgstr "%<[*]%> außerhalb des Bereichs des Funktionsprototypen nicht erlaubt"
  
  #: c/c-decl.cc:7663
  #, gcc-internal-format
--- 48262,48270 ----
  msgstr "%<[*]%> nicht in einer Deklaration"
  
  #: c/c-decl.cc:7597
! #, gcc-internal-format
  msgid "%<[*]%> not allowed in other than function prototype scope or generic association"
! msgstr "%<[*]%> ist nur in Funktionsprototypen oder generischen Zuordnungen erlaubt"
  
  #: c/c-decl.cc:7663
  #, gcc-internal-format
*************** msgstr "Objekt mit variabel geändertem
*** 49055,49061 ****
  #: c/c-decl.cc:8465
  #, gcc-internal-format
  msgid "non-local variable %qD with anonymous type is questionable in C++"
! msgstr ""
  
  #. A function definition isn't function prototype scope C99 6.2.1p4.
  #. C99 6.7.5.2p4
--- 48526,48532 ----
  #: c/c-decl.cc:8465
  #, gcc-internal-format
  msgid "non-local variable %qD with anonymous type is questionable in C++"
! msgstr "nichtlokale Variable %qD mit anonymem Typ ist in C++ fragwürdig"
  
  #. A function definition isn't function prototype scope C99 6.2.1p4.
  #. C99 6.7.5.2p4
*************** msgid "empty union has size 0 in C, size
*** 49190,49199 ****
  msgstr "leere Union hat Größe 0 in C, aber 1 in C++"
  
  #: c/c-decl.cc:9333
! #, fuzzy, gcc-internal-format
! #| msgid "defining a type in a compound literal is invalid in C++"
  msgid "using %qD as both field and typedef name is invalid in C++"
! msgstr "Definition eines Typs in einem zusammengesetzten Literal ist in C++ ungültig"
  
  #: c/c-decl.cc:9543
  #, gcc-internal-format
--- 48661,48669 ----
  msgstr "leere Union hat Größe 0 in C, aber 1 in C++"
  
  #: c/c-decl.cc:9333
! #, gcc-internal-format
  msgid "using %qD as both field and typedef name is invalid in C++"
! msgstr "Verwendung von %qD sowohl als Feld als auch als Typedefname ist in C++ ungültig"
  
  #: c/c-decl.cc:9543
  #, gcc-internal-format
*************** msgid "type %qT is too large"
*** 49251,49260 ****
  msgstr "Typ %qT ist zu groß"
  
  #: c/c-decl.cc:9823
! #, fuzzy, gcc-internal-format
! #| msgid "bit-field %qs has invalid type"
  msgid "bit-field %qD has invalid type"
! msgstr "Bitfeld %qs hat ungültigen Typen"
  
  #: c/c-decl.cc:9878
  #, gcc-internal-format
--- 48721,48729 ----
  msgstr "Typ %qT ist zu groß"
  
  #: c/c-decl.cc:9823
! #, gcc-internal-format
  msgid "bit-field %qD has invalid type"
! msgstr "Bitfeld %qD hat ungültigen Typen"
  
  #: c/c-decl.cc:9878
  #, gcc-internal-format
*************** msgid "%qD is normally a non-static func
*** 49402,49411 ****
  msgstr "%qD ist normalerweise eine nicht-statische Funktion"
  
  #: c/c-decl.cc:10991
! #, fuzzy, gcc-internal-format
! #| msgid "%<__label__%> declarations are only allowed in function scopes"
  msgid "versioned definitions are only allowed at file scope"
! msgstr "%<__label__%>-Deklarationen sind nur im Funktionsgültigkeitsbereich erlaubt"
  
  #: c/c-decl.cc:11035
  #, gcc-internal-format
--- 48871,48879 ----
  msgstr "%qD ist normalerweise eine nicht-statische Funktion"
  
  #: c/c-decl.cc:10991
! #, gcc-internal-format
  msgid "versioned definitions are only allowed at file scope"
! msgstr "versionierte Definitionen sind nur im Datei-Gültigkeitsbereich erlaubt"
  
  #: c/c-decl.cc:11035
  #, gcc-internal-format
*************** msgstr "%<long long long%> ist für GCC
*** 49617,49626 ****
  #: c/c-decl.cc:12925 c/c-decl.cc:12929 c/c-decl.cc:12933 c/c-decl.cc:12937
  #: c/c-decl.cc:12941 c/c-decl.cc:12945 c/c-decl.cc:12949 c/c-decl.cc:12979
  #: c/c-decl.cc:12996 c/c-decl.cc:13000 c/c-decl.cc:13004 c/c-decl.cc:13008
! #, fuzzy, gcc-internal-format
! #| msgid "both %qs and %qs specified"
  msgid "both %qs and %qs in declaration specifiers"
! msgstr "sowohl %qs als auch %qs angegeben"
  
  #: c/c-decl.cc:12210
  #, gcc-internal-format
--- 49085,49093 ----
  #: c/c-decl.cc:12925 c/c-decl.cc:12929 c/c-decl.cc:12933 c/c-decl.cc:12937
  #: c/c-decl.cc:12941 c/c-decl.cc:12945 c/c-decl.cc:12949 c/c-decl.cc:12979
  #: c/c-decl.cc:12996 c/c-decl.cc:13000 c/c-decl.cc:13004 c/c-decl.cc:13008
! #, gcc-internal-format
  msgid "both %qs and %qs in declaration specifiers"
! msgstr "sowohl %qs als auch %qs in Deklarationsangaben"
  
  #: c/c-decl.cc:12210
  #, gcc-internal-format
*************** msgid "ISO C90 does not support %<long l
*** 49628,49645 ****
  msgstr "ISO-C90 unterstützt nicht %<long long%>"
  
  #: c/c-decl.cc:12229 c/c-decl.cc:12293 c/c-decl.cc:12518 c/c-decl.cc:12674
! #, fuzzy, gcc-internal-format
! #| msgid "two or more data types in declaration specifiers"
  msgid "both %qs and %<__int%d%> in declaration specifiers"
! msgstr "zwei oder mehr Datentypen in Deklaration"
  
  #: c/c-decl.cc:12249 c/c-decl.cc:12317 c/c-decl.cc:12373 c/c-decl.cc:12429
  #: c/c-decl.cc:12554 c/c-decl.cc:12855 c/c-decl.cc:12863 c/c-decl.cc:12871
  #: c/c-decl.cc:12879 c/c-decl.cc:12887
! #, fuzzy, gcc-internal-format
! #| msgid "multiple storage classes in declaration specifiers"
  msgid "both %qs and %<_Float%d%s%> in declaration specifiers"
! msgstr "mehrere Speicherklassen in Deklaration"
  
  #: c/c-decl.cc:12461 c/c-parser.cc:12885
  #, gcc-internal-format
--- 49095,49110 ----
  msgstr "ISO-C90 unterstützt nicht %<long long%>"
  
  #: c/c-decl.cc:12229 c/c-decl.cc:12293 c/c-decl.cc:12518 c/c-decl.cc:12674
! #, gcc-internal-format
  msgid "both %qs and %<__int%d%> in declaration specifiers"
! msgstr "sowohl %qs als auch %<__int%d%> in Deklarationsangaben"
  
  #: c/c-decl.cc:12249 c/c-decl.cc:12317 c/c-decl.cc:12373 c/c-decl.cc:12429
  #: c/c-decl.cc:12554 c/c-decl.cc:12855 c/c-decl.cc:12863 c/c-decl.cc:12871
  #: c/c-decl.cc:12879 c/c-decl.cc:12887
! #, gcc-internal-format
  msgid "both %qs and %<_Float%d%s%> in declaration specifiers"
! msgstr "sowohl %qs als auch %<_Float%d%s%> in Deklarationsangaben"
  
  #: c/c-decl.cc:12461 c/c-parser.cc:12885
  #, gcc-internal-format
*************** msgid "ISO C does not support %<__int%d%
*** 49672,49681 ****
  msgstr "ISO-C unterstützt die Typen %<__int%d%> nicht"
  
  #: c/c-decl.cc:12670 c/c-decl.cc:12678
! #, fuzzy, gcc-internal-format
! #| msgid "two or more data types in declaration specifiers"
  msgid "both %<__int%d%> and %qs in declaration specifiers"
! msgstr "zwei oder mehr Datentypen in Deklaration"
  
  #: c/c-decl.cc:12684
  #, gcc-internal-format
--- 49137,49145 ----
  msgstr "ISO-C unterstützt die Typen %<__int%d%> nicht"
  
  #: c/c-decl.cc:12670 c/c-decl.cc:12678
! #, gcc-internal-format
  msgid "both %<__int%d%> and %qs in declaration specifiers"
! msgstr "sowohl %<__int%d%> als auch %qs in Deklarationsangaben"
  
  #: c/c-decl.cc:12684
  #, gcc-internal-format
*************** msgid "%qs without corresponding %qs"
*** 49981,49990 ****
  msgstr "%qs ohne entsprechendes %qs"
  
  #: c/c-parser.cc:2122 cp/semantics.cc:4068
! #, fuzzy, gcc-internal-format
! #| msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%> or %<#pragma omp begin declare target%>"
  msgid "%<omp begin declare variant%> without corresponding %<omp end declare variant%>"
! msgstr "%<#pragma omp end declare target%> ohne zugehöriges %<#pragma omp declare target%> oder %<#pragma omp begin declare target%>"
  
  #: c/c-parser.cc:2226 c/c-parser.cc:14906
  #, gcc-internal-format
--- 49445,49453 ----
  msgstr "%qs ohne entsprechendes %qs"
  
  #: c/c-parser.cc:2122 cp/semantics.cc:4068
! #, gcc-internal-format
  msgid "%<omp begin declare variant%> without corresponding %<omp end declare variant%>"
! msgstr "%<omp begin declare target%> ohne zugehöriges %<omp end declare variant%>"
  
  #: c/c-parser.cc:2226 c/c-parser.cc:14906
  #, gcc-internal-format
*************** msgid "ISO C forbids nested functions"
*** 50145,50160 ****
  msgstr "ISO-C verbietet verschachtelte Funktionen"
  
  #: c/c-parser.cc:3366
! #, fuzzy, gcc-internal-format
! #| msgid "%<__RTL%> function cannot be compiled with %<-flto%>"
  msgid "%<__RTL%> function cannot be a nested function"
! msgstr "Funktion %<__RTL%> kann nicht mit %<-flto%> kompiliert werden"
  
  #: c/c-parser.cc:3368
! #, fuzzy, gcc-internal-format
! #| msgid "%<__RTL%> function cannot be compiled with %<-flto%>"
  msgid "%<__GIMPLE%> function cannot be a nested function"
! msgstr "Funktion %<__RTL%> kann nicht mit %<-flto%> kompiliert werden"
  
  #: c/c-parser.cc:3530 c/c-parser.cc:9828 c/c-parser.cc:16365
  #: c/c-parser.cc:21723 cp/parser.cc:46080
--- 49608,49621 ----
  msgstr "ISO-C verbietet verschachtelte Funktionen"
  
  #: c/c-parser.cc:3366
! #, gcc-internal-format
  msgid "%<__RTL%> function cannot be a nested function"
! msgstr "%<__RTL%>-Funktion kann keine geschachtelte Funktion sein"
  
  #: c/c-parser.cc:3368
! #, gcc-internal-format
  msgid "%<__GIMPLE%> function cannot be a nested function"
! msgstr "%<__GIMPLE%>-Funktion kann keine geschachtelte Funktion sein"
  
  #: c/c-parser.cc:3530 c/c-parser.cc:9828 c/c-parser.cc:16365
  #: c/c-parser.cc:21723 cp/parser.cc:46080
*************** msgid "traditional C rejects the unary p
*** 50660,50693 ****
  msgstr "traditionelles C weist den unären Plus-Operator zurück"
  
  #: c/c-parser.cc:10824
! #, fuzzy, gcc-internal-format
! #| msgid "ISO C does not support if declarations before C2Y"
  msgid "ISO C does not support static assertions in expressions before C2Y"
! msgstr "ISO-C unterstützt if-Deklarationen erst ab C2Y"
  
  #: c/c-parser.cc:10857
! #, fuzzy, gcc-internal-format
! #| msgid "ISO C does not support %qs before C23"
  msgid "ISO C does not support %qs before C2Y"
! msgstr "ISO-C unterstützt %qs erst ab C23"
  
  #: c/c-parser.cc:10897
! #, fuzzy, gcc-internal-format
! #| msgid "storage class specifier in %qE"
  msgid "storage class specifier in %qs"
! msgstr "Speicherklasse in %qE angegeben"
  
  #: c/c-parser.cc:10900 c/c-parser.cc:11086
! #, fuzzy, gcc-internal-format
! #| msgid "alignment specified for type name in %qE"
  msgid "alignment specified for type name in %qs"
! msgstr "Ausrichtung für Typnamen in %qE angegeben"
  
  #: c/c-parser.cc:10927
! #, fuzzy, gcc-internal-format
! #| msgid "%<sizeof%> applied to a bit-field"
  msgid "%qs applied to a bit-field"
! msgstr "%<sizeof%> auf ein Bitfeld angewandt"
  
  #: c/c-parser.cc:11003
  #, gcc-internal-format
--- 50121,50149 ----
  msgstr "traditionelles C weist den unären Plus-Operator zurück"
  
  #: c/c-parser.cc:10824
! #, gcc-internal-format
  msgid "ISO C does not support static assertions in expressions before C2Y"
! msgstr "ISO-C unterstützt statische Zusicherungen erst ab C2Y"
  
  #: c/c-parser.cc:10857
! #, gcc-internal-format
  msgid "ISO C does not support %qs before C2Y"
! msgstr "ISO-C unterstützt %qs erst ab C2Y"
  
  #: c/c-parser.cc:10897
! #, gcc-internal-format
  msgid "storage class specifier in %qs"
! msgstr "Speicherklasse in %qs angegeben"
  
  #: c/c-parser.cc:10900 c/c-parser.cc:11086
! #, gcc-internal-format
  msgid "alignment specified for type name in %qs"
! msgstr "Ausrichtung für Typnamen in %qs angegeben"
  
  #: c/c-parser.cc:10927
! #, gcc-internal-format
  msgid "%qs applied to a bit-field"
! msgstr "%qs auf ein Bitfeld angewandt"
  
  #: c/c-parser.cc:11003
  #, gcc-internal-format
*************** msgid "ISO C does not allow %<%E (expres
*** 50705,50720 ****
  msgstr "ISO-C erlaubt kein %<%E (Ausdruck)%>"
  
  #: c/c-parser.cc:11058
! #, fuzzy, gcc-internal-format
! #| msgid "ISO C99 does not support %qE"
  msgid "ISO C does not support %qs"
! msgstr "ISO-C99 unterstützt nicht %qE"
  
  #: c/c-parser.cc:11071
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %qs to a void type"
  msgid "invalid application of %qs to something not a type"
! msgstr "Ungültige Anwendung von %qs auf einen void-Typen"
  
  #: c/c-parser.cc:11244
  #, gcc-internal-format
--- 50161,50174 ----
  msgstr "ISO-C erlaubt kein %<%E (Ausdruck)%>"
  
  #: c/c-parser.cc:11058
! #, gcc-internal-format
  msgid "ISO C does not support %qs"
! msgstr "ISO-C unterstützt %qs nicht"
  
  #: c/c-parser.cc:11071
! #, gcc-internal-format
  msgid "invalid application of %qs to something not a type"
! msgstr "ungültige Anwendung von %qs auf etwas, das kein Typ ist"
  
  #: c/c-parser.cc:11244
  #, gcc-internal-format
*************** msgid "ISO C does not support %<_Generic
*** 50747,50756 ****
  msgstr "ISO-C unterstützt %<_Generic%>-Zuordnung mit unvollständigem Typ erst ab C2Y"
  
  #: c/c-parser.cc:11455
! #, fuzzy, gcc-internal-format
! #| msgid "ISO C does not support %<_Generic%> association with incomplete type before C2Y"
  msgid "ISO C does not support %<_Generic%> association with variably-modified type before C2Y"
! msgstr "ISO-C unterstützt %<_Generic%>-Zuordnung mit unvollständigem Typ erst ab C2Y"
  
  #: c/c-parser.cc:11497
  #, gcc-internal-format
--- 50201,50209 ----
  msgstr "ISO-C unterstützt %<_Generic%>-Zuordnung mit unvollständigem Typ erst ab C2Y"
  
  #: c/c-parser.cc:11455
! #, gcc-internal-format
  msgid "ISO C does not support %<_Generic%> association with variably-modified type before C2Y"
! msgstr "ISO-C unterstützt %<_Generic%>-Zuordnung mit variabel modifiziertem Typ erst ab C2Y"
  
  #: c/c-parser.cc:11497
  #, gcc-internal-format
*************** msgid "wrong number of arguments to %<__
*** 50975,50990 ****
  msgstr "falsche Anzahl von Argumenten für %<__builtin_counted_by_ref%>"
  
  #: c/c-parser.cc:12923
! #, fuzzy, gcc-internal-format
! #| msgid "the argument to %<__builtin_counted_by_ref%> must be an array"
  msgid "the argument to %<__builtin_counted_by_ref%> must be an array or pointer"
! msgstr "das Argument für %<__builtin_counted_by_ref%> muss ein Array sein"
  
  #: c/c-parser.cc:12931
! #, fuzzy, gcc-internal-format
! #| msgid "the argument to %<__builtin_counted_by_ref%> must be an array"
  msgid "the argument to %<__builtin_counted_by_ref%> must be a field of a structure"
! msgstr "das Argument für %<__builtin_counted_by_ref%> muss ein Array sein"
  
  #: c/c-parser.cc:12982 c/c-parser.cc:13011 cp/parser.cc:8701
  #, gcc-internal-format
--- 50428,50441 ----
  msgstr "falsche Anzahl von Argumenten für %<__builtin_counted_by_ref%>"
  
  #: c/c-parser.cc:12923
! #, gcc-internal-format
  msgid "the argument to %<__builtin_counted_by_ref%> must be an array or pointer"
! msgstr "das Argument für %<__builtin_counted_by_ref%> muss ein Array oder Zeiger sein"
  
  #: c/c-parser.cc:12931
! #, gcc-internal-format
  msgid "the argument to %<__builtin_counted_by_ref%> must be a field of a structure"
! msgstr "das Argument für %<__builtin_counted_by_ref%> muss ein Feld einer Struktur sein"
  
  #: c/c-parser.cc:12982 c/c-parser.cc:13011 cp/parser.cc:8701
  #, gcc-internal-format
*************** msgid "%<#pragma GCC unroll%> requires a
*** 51217,51226 ****
  msgstr "%<#pragma GCC unroll%> erfordert einen Zuweisungsausdruck, der zu einer nichtnegativen Ganzzahlkonstante kleiner als %u evaluiert"
  
  #: c/c-parser.cc:16006 cp/parser.cc:56966
! #, fuzzy, gcc-internal-format
! #| msgid "intervening code must not contain OpenMP directives"
  msgid "intervening code must not contain executable OpenMP directives"
! msgstr "dazwischenliegender Code darf keine OpenMP-Direktiven enthalten"
  
  #: c/c-parser.cc:16026 c/c-parser.cc:26701 c/c-parser.cc:27010
  #: c/c-parser.cc:27073 c/c-parser.cc:27183 cp/parser.cc:51253
--- 50668,50676 ----
  msgstr "%<#pragma GCC unroll%> erfordert einen Zuweisungsausdruck, der zu einer nichtnegativen Ganzzahlkonstante kleiner als %u evaluiert"
  
  #: c/c-parser.cc:16006 cp/parser.cc:56966
! #, gcc-internal-format
  msgid "intervening code must not contain executable OpenMP directives"
! msgstr "dazwischenliegender Code darf keine ausführbaren OpenMP-Direktiven enthalten"
  
  #: c/c-parser.cc:16026 c/c-parser.cc:26701 c/c-parser.cc:27010
  #: c/c-parser.cc:27073 c/c-parser.cc:27183 cp/parser.cc:51253
*************** msgstr "Argument für %<ordered%> muss e
*** 51450,51456 ****
  #: c/c-parser.cc:18898 cp/parser.cc:43337
  #, gcc-internal-format
  msgid "%<-%> operator for reductions deprecated in OpenMP 5.2"
! msgstr ""
  
  #: c/c-parser.cc:18937 c/c-parser.cc:29308 cp/parser.cc:55275
  #, gcc-internal-format
--- 50900,50906 ----
  #: c/c-parser.cc:18898 cp/parser.cc:43337
  #, gcc-internal-format
  msgid "%<-%> operator for reductions deprecated in OpenMP 5.2"
! msgstr "der Operator %<-%> für Reduktionen ist in OpenMP 5.2 veraltet"
  
  #: c/c-parser.cc:18937 c/c-parser.cc:29308 cp/parser.cc:55275
  #, gcc-internal-format
*************** msgid "%<allocate%> clause %<align%> mod
*** 51524,51549 ****
  msgstr "in der %<allocate%>-Klausel muss das Argument des %<align%>-Modifizierers eine positive konstante Zweierpotenz eines ganzzahligen Ausdrucks sein"
  
  #: c/c-parser.cc:19726
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<class%> or %<typename%>"
  msgid "expected %<traits%> or %<memspace%>"
! msgstr "%<class%> oder %<typename%> erwartet"
  
  #: c/c-parser.cc:19791
  #, gcc-internal-format
  msgid "legacy %<%s(%s)%> traits syntax not allowed in %<uses_allocators%> clause when using modifiers"
! msgstr ""
  
  #: c/c-parser.cc:19809 cp/parser.cc:44110
  #, gcc-internal-format
  msgid "the specification of arguments to %<uses_allocators%> where each item is of the form %<allocator(traits)%> is deprecated since OpenMP 5.2"
! msgstr ""
  
  #: c/c-parser.cc:19817 cp/parser.cc:44118
! #, fuzzy, gcc-internal-format
! #| msgid "%<uses_allocators%> clause with traits and memory spaces"
  msgid "%<uses_allocators%> clause only accepts a single allocator when using modifiers"
! msgstr "%<uses_allocators%>-Klausel mit Traits und Speicherbereichen"
  
  #: c/c-parser.cc:19951 cp/parser.cc:44328
  #, gcc-internal-format
--- 50974,50997 ----
  msgstr "in der %<allocate%>-Klausel muss das Argument des %<align%>-Modifizierers eine positive konstante Zweierpotenz eines ganzzahligen Ausdrucks sein"
  
  #: c/c-parser.cc:19726
! #, gcc-internal-format
  msgid "expected %<traits%> or %<memspace%>"
! msgstr "%<traits%> oder %<memspace%> erwartet"
  
  #: c/c-parser.cc:19791
  #, gcc-internal-format
  msgid "legacy %<%s(%s)%> traits syntax not allowed in %<uses_allocators%> clause when using modifiers"
! msgstr "die veraltete %<%s(%s)%>-Merkmalssyntax ist in %<uses_allocators%>-Klauseln mit Modifikatoren nicht erlaubt"
  
  #: c/c-parser.cc:19809 cp/parser.cc:44110
  #, gcc-internal-format
  msgid "the specification of arguments to %<uses_allocators%> where each item is of the form %<allocator(traits)%> is deprecated since OpenMP 5.2"
! msgstr "die Angabe von Argumenten für %<uses_allocators%>, wobei jedes Element die Form %<allocator(traits)%> hat, ist seit OpenMP 5.2 veraltet"
  
  #: c/c-parser.cc:19817 cp/parser.cc:44118
! #, gcc-internal-format
  msgid "%<uses_allocators%> clause only accepts a single allocator when using modifiers"
! msgstr "die Klausel %<uses_allocators%> akzeptiert bei Verwendung von Modifikatoren nur einen einzigen Allokator"
  
  #: c/c-parser.cc:19951 cp/parser.cc:44328
  #, gcc-internal-format
*************** msgstr "Schrittweite der %<linear%>-Klau
*** 51563,51569 ****
  #: c/c-parser.cc:20033 cp/parser.cc:44464
  #, gcc-internal-format
  msgid "specifying the list items as arguments to the modifiers is deprecated since OpenMP 5.2"
! msgstr ""
  
  #: c/c-parser.cc:20072
  #, gcc-internal-format
--- 51011,51017 ----
  #: c/c-parser.cc:20033 cp/parser.cc:44464
  #, gcc-internal-format
  msgid "specifying the list items as arguments to the modifiers is deprecated since OpenMP 5.2"
! msgstr "die Angabe der Listenelemente als Argumente für die Modifikatoren ist seit OpenMP 5.2 veraltet"
  
  #: c/c-parser.cc:20072
  #, gcc-internal-format
*************** msgstr "Ausdruck der %<simdlen%>-Klausel
*** 51578,51589 ****
  #: c/c-parser.cc:20459 cp/parser.cc:44919
  #, gcc-internal-format
  msgid "%<sink%> modifier with %<depend%> clause deprecated since OpenMP 5.2, use with %<doacross%>"
! msgstr ""
  
  #: c/c-parser.cc:20468 cp/parser.cc:44928
  #, gcc-internal-format
  msgid "%<source%> modifier with %<depend%> clause deprecated since OpenMP 5.2, use with %<doacross%>"
! msgstr ""
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79924
  #: c/c-parser.cc:20485 cp/parser.cc:44945
--- 51026,51037 ----
  #: c/c-parser.cc:20459 cp/parser.cc:44919
  #, gcc-internal-format
  msgid "%<sink%> modifier with %<depend%> clause deprecated since OpenMP 5.2, use with %<doacross%>"
! msgstr "der Modifikator %<sink%> mit der Klausel %<depend%> ist seit OpenMP 5.2 veraltet; verwenden Sie stattdessen %<doacross%>"
  
  #: c/c-parser.cc:20468 cp/parser.cc:44928
  #, gcc-internal-format
  msgid "%<source%> modifier with %<depend%> clause deprecated since OpenMP 5.2, use with %<doacross%>"
! msgstr "der Modifikator %<source%> mit der Klausel %<depend%> ist seit OpenMP 5.2 veraltet; verwenden Sie stattdessen %<doacross%>"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79924
  #: c/c-parser.cc:20485 cp/parser.cc:44945
*************** msgid "invalid doacross kind"
*** 51602,51629 ****
  msgstr "ungültige »doacross«-Art"
  
  #: c/c-parser.cc:20629 cp/parser.cc:45231
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<cancel%> %<if%> clause modifier"
  msgid "expected %<fallback%> modifier"
! msgstr "Klauselmodifizierer %<cancel%> %<if%> erwartet"
  
  #: c/c-parser.cc:20646 cp/parser.cc:45255
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<read%>, %<write%>, %<update%>, or %<capture%> clause"
  msgid "expected %<abort%>, %<default_mem%>, or %<null%> as fallback mode"
! msgstr "eine der Klauseln %<read%>, %<write%>, %<update%> oder %<capture%> erwartet"
  
  #: c/c-parser.cc:20675 cp/semantics.cc:8473
! #, fuzzy, gcc-internal-format
! #| msgid "%<priority%> value must be non-negative"
  msgid "%<dyn_groupprivate%> value must be non-negative"
! msgstr "Wert von %<priority%> muss positiv sein"
  
  #: c/c-parser.cc:20783 cp/parser.cc:45371
! #, fuzzy, gcc-internal-format
! #| msgid "illegal operand "
  msgid "illegal comma"
! msgstr "ungültiger Operand "
  
  #: c/c-parser.cc:20793 cp/parser.cc:45381
  #, gcc-internal-format
--- 51050,51073 ----
  msgstr "ungültige »doacross«-Art"
  
  #: c/c-parser.cc:20629 cp/parser.cc:45231
! #, gcc-internal-format
  msgid "expected %<fallback%> modifier"
! msgstr "Modifizierer %<fallback%> erwartet"
  
  #: c/c-parser.cc:20646 cp/parser.cc:45255
! #, gcc-internal-format
  msgid "expected %<abort%>, %<default_mem%>, or %<null%> as fallback mode"
! msgstr "%<abort%>, %<default_mem%> oder %<null%> als Fallback-Modus erwartet"
  
  #: c/c-parser.cc:20675 cp/semantics.cc:8473
! #, gcc-internal-format
  msgid "%<dyn_groupprivate%> value must be non-negative"
! msgstr "Wert von %<dyn_groupprivate%> muss 0 oder positiv sein"
  
  #: c/c-parser.cc:20783 cp/parser.cc:45371
! #, gcc-internal-format
  msgid "illegal comma"
! msgstr "unerlaubtes Komma"
  
  #: c/c-parser.cc:20793 cp/parser.cc:45381
  #, gcc-internal-format
*************** msgstr "zu viele %<close%>-Modifizierer"
*** 51637,51664 ****
  
  #: c/c-parser.cc:20815 c/c-parser.cc:21307 cp/parser.cc:45155
  #: cp/parser.cc:45409
! #, fuzzy, gcc-internal-format
! #| msgid "too many %<present%> modifiers"
  msgid "too many %<iterator%> modifiers"
! msgstr "zu viele %<present%>-Modifizierer"
  
  #: c/c-parser.cc:20831 cp/parser.cc:45429
! #, fuzzy, gcc-internal-format
! #| msgid "too many %<present%> modifiers"
  msgid "too many %<mapper%> modifiers"
! msgstr "zu viele %<present%>-Modifizierer"
  
  #: c/c-parser.cc:20851 cp/parser.cc:45455
  #, gcc-internal-format
  msgid "in %<declare mapper%> directives, parameter to %<mapper%> modifier must be %<default%>"
! msgstr ""
  
  #: c/c-parser.cc:20867 c/c-parser.cc:29130 cp/parser.cc:45472
  #: cp/parser.cc:55511
! #, fuzzy, gcc-internal-format
! #| msgid "expected identifier or %<(%>"
  msgid "expected identifier or %<default%>"
! msgstr "Bezeichner oder %<(%> erwartet"
  
  #: c/c-parser.cc:20885 c/c-parser.cc:21296 cp/parser.cc:45141
  #: cp/parser.cc:45494
--- 51081,51105 ----
  
  #: c/c-parser.cc:20815 c/c-parser.cc:21307 cp/parser.cc:45155
  #: cp/parser.cc:45409
! #, gcc-internal-format
  msgid "too many %<iterator%> modifiers"
! msgstr "zu viele %<iterator%>-Modifizierer"
  
  #: c/c-parser.cc:20831 cp/parser.cc:45429
! #, gcc-internal-format
  msgid "too many %<mapper%> modifiers"
! msgstr "zu viele %<mapper%>-Modifizierer"
  
  #: c/c-parser.cc:20851 cp/parser.cc:45455
  #, gcc-internal-format
  msgid "in %<declare mapper%> directives, parameter to %<mapper%> modifier must be %<default%>"
! msgstr "in %<declare mapper%>-Direktiven muss der Parameter für den Modifikator %<mapper%> %<default%> sein"
  
  #: c/c-parser.cc:20867 c/c-parser.cc:29130 cp/parser.cc:45472
  #: cp/parser.cc:55511
! #, gcc-internal-format
  msgid "expected identifier or %<default%>"
! msgstr "Bezeichner oder %<default%> erwartet"
  
  #: c/c-parser.cc:20885 c/c-parser.cc:21296 cp/parser.cc:45141
  #: cp/parser.cc:45494
*************** msgid "too many %<present%> modifiers"
*** 51667,51681 ****
  msgstr "zu viele %<present%>-Modifizierer"
  
  #: c/c-parser.cc:20894 cp/parser.cc:45506
! #, fuzzy, gcc-internal-format
! #| msgid "%<map%> clause with map-type modifier other than %<always%>, %<close%> or %<present%>"
  msgid "%<map%> clause with map-type modifier other than %<always%>, %<close%>, %<iterator%>, %<mapper%> or %<present%>"
! msgstr "%<map%>-Klausel mit einem anderen map-type-Modifikator als %<always%>, %<close%> oder %<present%>"
  
  #: c/c-parser.cc:20906 cp/parser.cc:45521
  #, gcc-internal-format
  msgid "%<map%> clause modifiers without comma separation is deprecated since OpenMP 5.2"
! msgstr ""
  
  #: c/c-parser.cc:20941 cp/parser.cc:45555
  #, gcc-internal-format
--- 51108,51121 ----
  msgstr "zu viele %<present%>-Modifizierer"
  
  #: c/c-parser.cc:20894 cp/parser.cc:45506
! #, gcc-internal-format
  msgid "%<map%> clause with map-type modifier other than %<always%>, %<close%>, %<iterator%>, %<mapper%> or %<present%>"
! msgstr "%<map%>-Klausel mit einem anderen map-type-Modifikator als %<always%>, %<close%>, %<iterator%>, %<mapper%> oder %<present%>"
  
  #: c/c-parser.cc:20906 cp/parser.cc:45521
  #, gcc-internal-format
  msgid "%<map%> clause modifiers without comma separation is deprecated since OpenMP 5.2"
! msgstr "%<map%>-Klauselmodifikatoren ohne Komma-Trennung sind seit OpenMP 5.2 veraltet"
  
  #: c/c-parser.cc:20941 cp/parser.cc:45555
  #, gcc-internal-format
*************** msgstr "ungültige »dist_schedule«-Art
*** 51705,51711 ****
  #: c/c-parser.cc:21157 cp/parser.cc:45772
  #, gcc-internal-format
  msgid "%<master%> affinity deprecated since OpenMP 5.1, use %<primary%>"
! msgstr ""
  
  #: c/c-parser.cc:21180
  #, gcc-internal-format
--- 51145,51151 ----
  #: c/c-parser.cc:21157 cp/parser.cc:45772
  #, gcc-internal-format
  msgid "%<master%> affinity deprecated since OpenMP 5.1, use %<primary%>"
! msgstr "%<master%>-Affinität ist seit OpenMP 5.1 veraltet, verwenden Sie %<primary%>"
  
  #: c/c-parser.cc:21180
  #, gcc-internal-format
*************** msgid "expected %<host%>, %<nohost%> or
*** 51718,51727 ****
  msgstr "%<host%>, %<nohost%> oder %<any%> erwartet"
  
  #: c/c-parser.cc:21317 cp/parser.cc:45170
! #, fuzzy, gcc-internal-format
! #| msgid "%<map%> clause with map-type modifier other than %<always%>, %<close%> or %<present%>"
  msgid "%qs clause with modifier other than %<iterator%> or %<present%>"
! msgstr "%<map%>-Klausel mit einem anderen map-type-Modifikator als %<always%>, %<close%> oder %<present%>"
  
  #: c/c-parser.cc:21413 cp/semantics.cc:10088 cp/semantics.cc:10106
  #, gcc-internal-format
--- 51158,51166 ----
  msgstr "%<host%>, %<nohost%> oder %<any%> erwartet"
  
  #: c/c-parser.cc:21317 cp/parser.cc:45170
! #, gcc-internal-format
  msgid "%qs clause with modifier other than %<iterator%> or %<present%>"
! msgstr "%qs-Klausel mit einem anderen Modifikator als %<iterator%> oder %<present%>"
  
  #: c/c-parser.cc:21413 cp/semantics.cc:10088 cp/semantics.cc:10106
  #, gcc-internal-format
*************** msgstr "%qs muss die erste Klausel von %
*** 51832,51838 ****
  #: c/c-parser.cc:22380 cp/parser.cc:46860
  #, gcc-internal-format
  msgid "%<to%> clause with %<declare target%> deprecated since OpenMP 5.2, use %<enter%>"
! msgstr ""
  
  #: c/c-parser.cc:22541 cp/parser.cc:47040
  #, gcc-internal-format
--- 51271,51277 ----
  #: c/c-parser.cc:22380 cp/parser.cc:46860
  #, gcc-internal-format
  msgid "%<to%> clause with %<declare target%> deprecated since OpenMP 5.2, use %<enter%>"
! msgstr "die Klausel %<to%> mit %<declare target%> ist seit OpenMP 5.2 veraltet; verwenden Sie stattdessen %<enter%>"
  
  #: c/c-parser.cc:22541 cp/parser.cc:47040
  #, gcc-internal-format
*************** msgstr "Schleifenvariable %qD sollte nic
*** 52219,52225 ****
  #: c/c-parser.cc:25792 cp/parser.cc:50512
  #, gcc-internal-format
  msgid "%<master%> construct deprecated since OpenMP 5.1, use %<masked%>"
! msgstr ""
  
  #: c/c-parser.cc:25984 cp/parser.cc:50671
  #, gcc-internal-format
--- 51658,51664 ----
  #: c/c-parser.cc:25792 cp/parser.cc:50512
  #, gcc-internal-format
  msgid "%<master%> construct deprecated since OpenMP 5.1, use %<masked%>"
! msgstr "das Konstrukt %<master%> ist seit OpenMP 5.1 veraltet; verwenden Sie stattdessen %<masked%>"
  
  #: c/c-parser.cc:25984 cp/parser.cc:50671
  #, gcc-internal-format
*************** msgid "variant %qD is a built-in"
*** 52367,52376 ****
  msgstr "die Variante %qD ist eine eingebaute"
  
  #: c/c-parser.cc:28011 cp/decl.cc:9226
! #, fuzzy, gcc-internal-format
! #| msgid "variant %qD is not a function"
  msgid "variant %qD is the same as base function"
! msgstr "Variante %qD ist keine Funktion"
  
  #: c/c-parser.cc:28065 cp/parser.cc:53629
  #, gcc-internal-format
--- 51806,51814 ----
  msgstr "die Variante %qD ist eine eingebaute"
  
  #: c/c-parser.cc:28011 cp/decl.cc:9226
! #, gcc-internal-format
  msgid "variant %qD is the same as base function"
! msgstr "Variante %qD ist dieselbe wie die Basisfunktion"
  
  #: c/c-parser.cc:28065 cp/parser.cc:53629
  #, gcc-internal-format
*************** msgid "expected %<interop%>"
*** 52413,52422 ****
  msgstr "%<interop%> erwartet"
  
  #: c/c-parser.cc:28245 cp/parser.cc:53838
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<catch%>"
  msgid "expected %<match%> clause"
! msgstr "%<catch%> erwartet"
  
  #: c/c-parser.cc:28261
  #, gcc-internal-format
--- 51851,51859 ----
  msgstr "%<interop%> erwartet"
  
  #: c/c-parser.cc:28245 cp/parser.cc:53838
! #, gcc-internal-format
  msgid "expected %<match%> clause"
! msgstr "%<match%>-Klausel erwartet"
  
  #: c/c-parser.cc:28261
  #, gcc-internal-format
*************** msgid "an %qs clause can only be specifi
*** 52424,52439 ****
  msgstr "eine %qs-Klausel kann nur angegeben werden, wenn der %<dispatch%>-Selektor des %<construct%>-Selektorsatzes in der %<match%>-Klausel vorkommt"
  
  #: c/c-parser.cc:28288
! #, fuzzy, gcc-internal-format
! #| msgid "%<requires%> selector is not supported yet"
  msgid "%<append_args%> with unprototyped base function is not supported yet"
! msgstr "der %<requires%>-Selektor wird noch nicht unterstützt"
  
  #: c/c-parser.cc:28291
! #, fuzzy, gcc-internal-format
! #| msgid "built-in %qD declared here"
  msgid "base function %qD declared here"
! msgstr "eingebaute %qD ist hier deklariert"
  
  #: c/c-parser.cc:28326 cp/decl.cc:9286
  #, gcc-internal-format
--- 51861,51874 ----
  msgstr "eine %qs-Klausel kann nur angegeben werden, wenn der %<dispatch%>-Selektor des %<construct%>-Selektorsatzes in der %<match%>-Klausel vorkommt"
  
  #: c/c-parser.cc:28288
! #, gcc-internal-format
  msgid "%<append_args%> with unprototyped base function is not supported yet"
! msgstr "%<append_args%> mit prototyploser Basisfunktion wird noch nicht unterstützt"
  
  #: c/c-parser.cc:28291
! #, gcc-internal-format
  msgid "base function %qD declared here"
! msgstr "Basisfunktion %qD ist hier deklariert"
  
  #: c/c-parser.cc:28326 cp/decl.cc:9286
  #, gcc-internal-format
*************** msgid "%<append_args%> specified here"
*** 52446,52455 ****
  msgstr "%<append_args%> ist hier angegeben"
  
  #: c/c-parser.cc:28373
! #, fuzzy, gcc-internal-format
! #| msgid "variant %qD and base %qD have incompatible types"
  msgid "variant %qD and base %qD have incompatible types after %<append_args%> adjustment"
! msgstr "Variante %qD und Basis %qD haben unverträgliche Typen"
  
  #: c/c-parser.cc:28392 cp/decl.cc:9295
  #, gcc-internal-format
--- 51881,51889 ----
  msgstr "%<append_args%> ist hier angegeben"
  
  #: c/c-parser.cc:28373
! #, gcc-internal-format
  msgid "variant %qD and base %qD have incompatible types after %<append_args%> adjustment"
! msgstr "Variante %qD und Basis %qD haben unverträgliche Typen nach %<append_args%>-Anpassung"
  
  #: c/c-parser.cc:28392 cp/decl.cc:9295
  #, gcc-internal-format
*************** msgid "%<#pragma omp declare %s%> not im
*** 52467,52493 ****
  msgstr "hinter %<#pragma omp declare %s%> muss direkt eine einzelne Funktionsdeklaration oder -definition stehen"
  
  #: c/c-parser.cc:28471
! #, fuzzy, gcc-internal-format
! #| msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition"
  msgid "%<#pragma omp declare %s%> cannot be used with function multi-versioning"
! msgstr "%<#pragma omp declare %s%> muss vor der Deklaration oder Definition einer Funktion auftreten"
  
  #: c/c-parser.cc:28563
! #, fuzzy, gcc-internal-format
! #| msgid "implicit declaration of function %qE"
  msgid "no declaration of base function %qs"
! msgstr "Implizite Deklaration der Funktion %qE"
  
  #: c/c-parser.cc:28571 cp/parser.cc:25655
! #, fuzzy, gcc-internal-format
! #| msgid "function definition does not declare parameters"
  msgid "variant function definition does not match declaration of %qE"
! msgstr "Funktionsdefinition deklariert keine Parameter"
  
  #: c/c-parser.cc:28729 cp/parser.cc:54284
  #, gcc-internal-format
  msgid "use of %<omp declare target%> as a synonym for %<omp begin declare target%> has been deprecated since OpenMP 5.2"
! msgstr ""
  
  #: c/c-parser.cc:28766 cp/parser.cc:54177
  #, gcc-internal-format
--- 51901,51924 ----
  msgstr "hinter %<#pragma omp declare %s%> muss direkt eine einzelne Funktionsdeklaration oder -definition stehen"
  
  #: c/c-parser.cc:28471
! #, gcc-internal-format
  msgid "%<#pragma omp declare %s%> cannot be used with function multi-versioning"
! msgstr "%<#pragma omp declare %s%> kann nicht zusammen mit Multiversionierung von Funktionen verwendet werden"
  
  #: c/c-parser.cc:28563
! #, gcc-internal-format
  msgid "no declaration of base function %qs"
! msgstr "keine Deklaration der Basisfunktion %qs"
  
  #: c/c-parser.cc:28571 cp/parser.cc:25655
! #, gcc-internal-format
  msgid "variant function definition does not match declaration of %qE"
! msgstr "Definition der Funktionsvariante entspricht nicht der Deklaration von %qE"
  
  #: c/c-parser.cc:28729 cp/parser.cc:54284
  #, gcc-internal-format
  msgid "use of %<omp declare target%> as a synonym for %<omp begin declare target%> has been deprecated since OpenMP 5.2"
! msgstr "die Verwendung von %<omp declare target%> als Synonym für %<omp begin declare target%> ist seit OpenMP 5.2 veraltet"
  
  #: c/c-parser.cc:28766 cp/parser.cc:54177
  #, gcc-internal-format
*************** msgid "%<device_type%> clause must speci
*** 52510,52531 ****
  msgstr "die %<device_type%>-Klausel muss 'any' angeben, wenn sie mit einer %<indirect%>-Klausel verwendet wird"
  
  #: c/c-parser.cc:28897 cp/parser.cc:54392
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<catch%>"
  msgid "expected %<match%>"
! msgstr "%<catch%> erwartet"
  
  #: c/c-parser.cc:28950 c/c-parser.cc:29052 cp/parser.cc:54445
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<none%> or %<present%>"
  msgid "expected %<target%> or %<variant%>"
! msgstr "%<none%> oder %<present%> erwartet"
  
  #: c/c-parser.cc:28964 cp/parser.cc:54458
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<declare target%> or %<assumes%>"
  msgid "expected %<declare target%>, %<declare variant%>, or %<assumes%>"
! msgstr "%<declare target%> oder %<assumes%> erwartet"
  
  #: c/c-parser.cc:28997 cp/parser.cc:54496
  #, gcc-internal-format
--- 51941,51959 ----
  msgstr "die %<device_type%>-Klausel muss 'any' angeben, wenn sie mit einer %<indirect%>-Klausel verwendet wird"
  
  #: c/c-parser.cc:28897 cp/parser.cc:54392
! #, gcc-internal-format
  msgid "expected %<match%>"
! msgstr "%<match%> erwartet"
  
  #: c/c-parser.cc:28950 c/c-parser.cc:29052 cp/parser.cc:54445
! #, gcc-internal-format
  msgid "expected %<target%> or %<variant%>"
! msgstr "%<target%> oder %<variant%> erwartet"
  
  #: c/c-parser.cc:28964 cp/parser.cc:54458
! #, gcc-internal-format
  msgid "expected %<declare target%>, %<declare variant%>, or %<assumes%>"
! msgstr "%<declare target%>, %<declare variant%> oder %<assumes%> erwartet"
  
  #: c/c-parser.cc:28997 cp/parser.cc:54496
  #, gcc-internal-format
*************** msgid "%qs in pragma syntax terminated w
*** 52545,52566 ****
  msgstr "%qs beginnt in der Pragmasyntax, wird aber mit %qs in der Attributsyntax abgeschlossen"
  
  #: c/c-parser.cc:29029 cp/parser.cc:54528
! #, fuzzy, gcc-internal-format
! #| msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%> or %<#pragma omp begin declare target%>"
  msgid "%<#pragma omp end declare variant%> without corresponding %<#pragma omp begin declare variant%>"
! msgstr "%<#pragma omp end declare target%> ohne zugehöriges %<#pragma omp declare target%> oder %<#pragma omp begin declare target%>"
  
  #: c/c-parser.cc:29039 cp/parser.cc:54538
! #, fuzzy, gcc-internal-format
! #| msgid "%qs in attribute syntax terminated with %qs in pragma syntax"
  msgid "%<begin declare variant%> in attribute syntax terminated with %<end declare variant%> in pragma syntax"
! msgstr "%qs beginnt in der Attributsyntax, wird aber mit %qs in der Pragmasyntax abgeschlossen"
  
  #: c/c-parser.cc:29044 cp/parser.cc:54543
! #, fuzzy, gcc-internal-format
! #| msgid "%qs in pragma syntax terminated with %qs in attribute syntax"
  msgid "%<begin declare variant%> in pragma syntax terminated with %<end declare variant%> in attribute syntax"
! msgstr "%qs beginnt in der Pragmasyntax, wird aber mit %qs in der Attributsyntax abgeschlossen"
  
  #: c/c-parser.cc:29086 cp/parser.cc:54585
  #, gcc-internal-format
--- 51973,51991 ----
  msgstr "%qs beginnt in der Pragmasyntax, wird aber mit %qs in der Attributsyntax abgeschlossen"
  
  #: c/c-parser.cc:29029 cp/parser.cc:54528
! #, gcc-internal-format
  msgid "%<#pragma omp end declare variant%> without corresponding %<#pragma omp begin declare variant%>"
! msgstr "%<#pragma omp end declare variant%> ohne zugehöriges %<#pragma omp begin declare variant%>"
  
  #: c/c-parser.cc:29039 cp/parser.cc:54538
! #, gcc-internal-format
  msgid "%<begin declare variant%> in attribute syntax terminated with %<end declare variant%> in pragma syntax"
! msgstr "%<begin declare variant%> beginnt in der Attributsyntax, endet aber mit %<end declare variant%> in der Pragmasyntax"
  
  #: c/c-parser.cc:29044 cp/parser.cc:54543
! #, gcc-internal-format
  msgid "%<begin declare variant%> in pragma syntax terminated with %<end declare variant%> in attribute syntax"
! msgstr "%<begin declare variant%> beginnt in der Pragmasyntax, endet aber mit %<end declare variant%> in der Attributsyntax"
  
  #: c/c-parser.cc:29086 cp/parser.cc:54585
  #, gcc-internal-format
*************** msgid "expected %<declare%> or %<assumes
*** 52568,52608 ****
  msgstr "%<declare%> oder %<assumes%> erwartet"
  
  #: c/c-parser.cc:29104
! #, fuzzy, gcc-internal-format
! #| msgid "%<#pragma omp declare reduction%> not at file or block scope"
  msgid "%<#pragma omp declare mapper%> not at file or block scope"
! msgstr "%<#pragma omp declare reduction%> darf nur im Datei- oder Block-Gültigkeitsbereich auftreten"
  
  #: c/c-parser.cc:29150
! #, fuzzy, gcc-internal-format
! #| msgid "const, volatile or restrict qualified type in %<#pragma omp declare reduction%>"
  msgid "%qT is not a struct or union type in %<#pragma omp declare mapper%>"
! msgstr "mit const, volatile oder restrict qualifizierter Typ in %<#pragma omp declare reduction%>"
  
  #: c/c-parser.cc:29158
! #, fuzzy, gcc-internal-format
! #| msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT"
  msgid "redeclaration of %qs %<#pragma omp declare mapper%> for type %qT"
! msgstr "Redeklaration von %qs %<#pragma omp declare reduction%> für Typ %qT"
  
  #: c/c-parser.cc:29166
! #, fuzzy, gcc-internal-format
! #| msgid "%q#T was previously declared here"
  msgid "%<#pragma omp declare mapper%> previously declared here"
! msgstr "%q#T wurde vorher hier deklariert"
  
  #: c/c-parser.cc:29202 cp/parser.cc:55580
! #, fuzzy, gcc-internal-format
! #| msgid "expected class-key"
  msgid "unexpected clause"
! msgstr "Klassenschlüssel erwartet"
  
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93852
  #: c/c-parser.cc:29210 cp/parser.cc:55591
! #, fuzzy, gcc-internal-format
! #| msgid "missing %<PHI%> def"
  msgid "missing %<map%> clause"
! msgstr "fehlende %<PHI%>-Definition"
  
  #: c/c-parser.cc:29258
  #, gcc-internal-format
--- 51993,52026 ----
  msgstr "%<declare%> oder %<assumes%> erwartet"
  
  #: c/c-parser.cc:29104
! #, gcc-internal-format
  msgid "%<#pragma omp declare mapper%> not at file or block scope"
! msgstr "%<#pragma omp declare mapper%> darf nur im Datei- oder Block-Gültigkeitsbereich auftreten"
  
  #: c/c-parser.cc:29150
! #, gcc-internal-format
  msgid "%qT is not a struct or union type in %<#pragma omp declare mapper%>"
! msgstr "%qT in %<#pragma omp declare mapper%> muss eine Struktur oder Union sein"
  
  #: c/c-parser.cc:29158
! #, gcc-internal-format
  msgid "redeclaration of %qs %<#pragma omp declare mapper%> for type %qT"
! msgstr "Redeklaration von %qs %<#pragma omp declare mapper%> für Typ %qT"
  
  #: c/c-parser.cc:29166
! #, gcc-internal-format
  msgid "%<#pragma omp declare mapper%> previously declared here"
! msgstr "%<#pragma omp declare mapper%> wurde vorher hier deklariert"
  
  #: c/c-parser.cc:29202 cp/parser.cc:55580
! #, gcc-internal-format
  msgid "unexpected clause"
! msgstr "unerwartete Klausel"
  
  #: c/c-parser.cc:29210 cp/parser.cc:55591
! #, gcc-internal-format
  msgid "missing %<map%> clause"
! msgstr "fehlende %<map%>-Klausel"
  
  #: c/c-parser.cc:29258
  #, gcc-internal-format
*************** msgid "redeclaration of %qs %<#pragma om
*** 52635,52642 ****
  msgstr "Redeklaration von %qs %<#pragma omp declare reduction%> für Typ %qT"
  
  #: c/c-parser.cc:29362
! #, fuzzy, gcc-internal-format
! #| msgid "previous %<pragma omp declare reduction%> declaration"
  msgid "%<#pragma omp declare reduction%> previously declared here"
  msgstr "vorherige Deklaration von %<#pragma omp declare reduction%>"
  
--- 52053,52059 ----
  msgstr "Redeklaration von %qs %<#pragma omp declare reduction%> für Typ %qT"
  
  #: c/c-parser.cc:29362
! #, gcc-internal-format
  msgid "%<#pragma omp declare reduction%> previously declared here"
  msgstr "vorherige Deklaration von %<#pragma omp declare reduction%>"
  
*************** msgid "%<#pragma omp error%> with %<at(e
*** 52726,52735 ****
  msgstr "%<#pragma omp error%> mit %<at(execution)%>-Klausel darf nur in Verbundanweisungen verwendet werden"
  
  #: c/c-parser.cc:30192 cp/parser.cc:56036
! #, fuzzy, gcc-internal-format
! #| msgid "%<#pragma omp error%> with %<at(execution)%> clause may only be used in compound statements"
  msgid "%<#pragma omp error%> with %<at(execution)%> clause may not be used in intervening code"
! msgstr "%<#pragma omp error%> mit %<at(execution)%>-Klausel darf nur in Verbundanweisungen verwendet werden"
  
  #: c/c-parser.cc:30219 cp/parser.cc:56067
  #, gcc-internal-format
--- 52143,52151 ----
  msgstr "%<#pragma omp error%> mit %<at(execution)%>-Klausel darf nur in Verbundanweisungen verwendet werden"
  
  #: c/c-parser.cc:30192 cp/parser.cc:56036
! #, gcc-internal-format
  msgid "%<#pragma omp error%> with %<at(execution)%> clause may not be used in intervening code"
! msgstr "%<#pragma omp error%> mit %<at(execution)%>-Klausel darf nicht in intervenierendem Code verwendet werden"
  
  #: c/c-parser.cc:30219 cp/parser.cc:56067
  #, gcc-internal-format
*************** msgstr "eine der Klauseln %<when%>, %<ot
*** 52790,52796 ****
  #: c/c-parser.cc:30561 cp/parser.cc:54720
  #, gcc-internal-format
  msgid "%<default%> clause on metadirectives deprecated since OpenMP 5.2, use %<otherwise%>"
! msgstr ""
  
  #: c/c-parser.cc:30571 cp/parser.cc:54730
  #, gcc-internal-format
--- 52206,52212 ----
  #: c/c-parser.cc:30561 cp/parser.cc:54720
  #, gcc-internal-format
  msgid "%<default%> clause on metadirectives deprecated since OpenMP 5.2, use %<otherwise%>"
! msgstr "die Klausel %<default%> in Metadirektiven ist seit OpenMP 5.2 veraltet; verwenden Sie stattdessen %<otherwise%>"
  
  #: c/c-parser.cc:30571 cp/parser.cc:54730
  #, gcc-internal-format
*************** msgstr "deklarative Direktivenvarianten
*** 52820,52826 ****
  #: c/c-parser.cc:31019 cp/parser.cc:51180
  #, gcc-internal-format
  msgid "%<omp groupprivate%>"
! msgstr ""
  
  #: c/c-parser.cc:31045 cp/semantics.cc:10768
  #, gcc-internal-format
--- 52236,52242 ----
  #: c/c-parser.cc:31019 cp/parser.cc:51180
  #, gcc-internal-format
  msgid "%<omp groupprivate%>"
! msgstr "%<omp groupprivate%>"
  
  #: c/c-parser.cc:31045 cp/semantics.cc:10768
  #, gcc-internal-format
*************** msgid "converting an array compound lite
*** 52966,52975 ****
  msgstr "Umwandlung eines zusammengesetzten Arrayliterals in einen Zeiger führt in C++ zu einem baumelnden Zeiger"
  
  #: c/c-typeck.cc:3050
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute is not allowed for a non-flexible array member field"
  msgid "%<counted_by%> attribute is not allowed for a pointer to structure or union with flexible array member"
! msgstr "Attribut %qE kann nur für flexible Array-Felder angegeben werden"
  
  #: c/c-typeck.cc:3292 c/c-typeck.cc:11224
  #, gcc-internal-format
--- 52382,52390 ----
  msgstr "Umwandlung eines zusammengesetzten Arrayliterals in einen Zeiger führt in C++ zu einem baumelnden Zeiger"
  
  #: c/c-typeck.cc:3050
! #, gcc-internal-format
  msgid "%<counted_by%> attribute is not allowed for a pointer to structure or union with flexible array member"
! msgstr "das Attribut %<counted_by%> ist für einen Zeiger auf eine Struktur oder Union mit flexiblen Array-Elementen nicht zulässig"
  
  #: c/c-typeck.cc:3292 c/c-typeck.cc:11224
  #, gcc-internal-format
*************** msgid "subscripted value is pointer to f
*** 53027,53042 ****
  msgstr "indizierter Wert ist Zeiger auf Funktion"
  
  #: c/c-typeck.cc:3565
! #, fuzzy, gcc-internal-format
! #| msgid "array subscript is not an integer"
  msgid "array subscript is negative"
! msgstr "Arrayindex ist keine Ganzzahl"
  
  #: c/c-typeck.cc:3578
! #, fuzzy, gcc-internal-format
! #| msgid "ISO C forbids subscripting %<register%> array"
  msgid "ISO C forbids subscripting %<register%> array before C2Y"
! msgstr "ISO-C verbietet, ein %<register%>-Array zu indizieren"
  
  #: c/c-typeck.cc:3582
  #, gcc-internal-format
--- 52442,52455 ----
  msgstr "indizierter Wert ist Zeiger auf Funktion"
  
  #: c/c-typeck.cc:3565
! #, gcc-internal-format
  msgid "array subscript is negative"
! msgstr "Arrayindex ist negativ"
  
  #: c/c-typeck.cc:3578
! #, gcc-internal-format
  msgid "ISO C forbids subscripting %<register%> array before C2Y"
! msgstr "ISO-C verbietet vor C2Y, ein %<register%>-Array zu indizieren"
  
  #: c/c-typeck.cc:3582
  #, gcc-internal-format
*************** msgid "underspecified %qD referenced in
*** 53049,53058 ****
  msgstr "unvollständig angegebenes %qD wird in seinem Initialisierer referenziert"
  
  #: c/c-typeck.cc:3832
! #, fuzzy, gcc-internal-format
! #| msgid "enum conversion in initialization is invalid in C++"
  msgid "enum constant defined in struct or union is not visible in C++"
! msgstr "enum-Umwandlung in Initialisierung ist in C++ ungültig"
  
  #: c/c-typeck.cc:3834
  #, gcc-internal-format
--- 52462,52470 ----
  msgstr "unvollständig angegebenes %qD wird in seinem Initialisierer referenziert"
  
  #: c/c-typeck.cc:3832
! #, gcc-internal-format
  msgid "enum constant defined in struct or union is not visible in C++"
! msgstr "die Aufzählungskonstante ist in C++ nicht sichtbar, da sie in einer Struktur oder Union definiert ist"
  
  #: c/c-typeck.cc:3834
  #, gcc-internal-format
*************** msgid "non-lvalue array in conditional e
*** 53364,53373 ****
  msgstr "Nicht-L-Wert-Array in bedingtem Ausdruck"
  
  #: c/c-typeck.cc:6613
! #, fuzzy, gcc-internal-format
! #| msgid "defining a type in a compound literal is invalid in C++"
  msgid "different enum types in conditional is invalid in C++: %qT vs %qT"
! msgstr "Definition eines Typs in einem zusammengesetzten Literal ist in C++ ungültig"
  
  #: c/c-typeck.cc:6673
  #, gcc-internal-format
--- 52776,52784 ----
  msgstr "Nicht-L-Wert-Array in bedingtem Ausdruck"
  
  #: c/c-typeck.cc:6613
! #, gcc-internal-format
  msgid "different enum types in conditional is invalid in C++: %qT vs %qT"
! msgstr "unterschiedliche Aufzählungstypen in Bedingung sind in C++ ungültig: %qT gegenüber %qT"
  
  #: c/c-typeck.cc:6673
  #, gcc-internal-format
*************** msgid "function returns address of label
*** 54189,54198 ****
  msgstr "Funktion liefert Adresse einer Sprungmarke zurück"
  
  #: c/c-typeck.cc:13417
! #, fuzzy, gcc-internal-format
! #| msgid "function returns address of local variable"
  msgid "function returns address of nested function referencing local context"
! msgstr "Funktion liefert Adresse einer lokalen Variablen zurück"
  
  #: c/c-typeck.cc:13510 cp/semantics.cc:1945
  #, gcc-internal-format
--- 53600,53608 ----
  msgstr "Funktion liefert Adresse einer Sprungmarke zurück"
  
  #: c/c-typeck.cc:13417
! #, gcc-internal-format
  msgid "function returns address of nested function referencing local context"
! msgstr "Funktion liefert Adresse einer geschachtelten Funktion, die auf lokalen Kontext verweist"
  
  #: c/c-typeck.cc:13510 cp/semantics.cc:1945
  #, gcc-internal-format
*************** msgid "%qE appears more than once in %<a
*** 54688,54735 ****
  msgstr "%qE kommt mehr als einmal in %<allocate%>-Klauseln vor"
  
  #: c/c-typeck.cc:17296 cp/semantics.cc:8969
! #, fuzzy, gcc-internal-format
! #| msgid "Allocator %qs at %L in USES_ALLOCATORS must be a scalar integer of kind %<omp_allocator_handle_kind%>"
  msgid "allocator %qE must be of %<omp_allocator_handle_t%> type"
! msgstr "Allokator %qs bei %L in USES_ALLOCATORS muss eine skalare Ganzzahl der Art %<omp_allocator_handle_kind%> sein"
  
  #: c/c-typeck.cc:17314 cp/semantics.cc:8990
! #, fuzzy, gcc-internal-format
! #| msgid "Allocator %qs at %L in USES_ALLOCATORS must either a variable or a predefined allocator"
  msgid "allocator %qE must be either a variable or a predefined allocator"
! msgstr "Allokator %qs bei %L in USES_ALLOCATORS muss entweder eine Variable oder ein vordefinierter Allokator sein"
  
  #: c/c-typeck.cc:17328
! #, fuzzy, gcc-internal-format
! #| msgid "The name %qs cannot be used as a defined operator at %C"
  msgid "modifiers cannot be used with predefined allocator %qE"
! msgstr "Der Name %qs bei %C kann nicht als ein definierter Operator verwendet werden"
  
  #: c/c-typeck.cc:17345 cp/semantics.cc:9022
  #, gcc-internal-format
  msgid "memspace modifier %qE must be constant enum of %<omp_memspace_handle_t%> type"
! msgstr ""
  
  #: c/c-typeck.cc:17361 cp/semantics.cc:9042
  #, gcc-internal-format
  msgid "traits array %qE must be defined in same scope as the construct on which the clause appears"
! msgstr ""
  
  #: c/c-typeck.cc:17386 cp/semantics.cc:9066
  #, gcc-internal-format
  msgid "traits array %qE must be of %<const omp_alloctrait_t []%> type"
! msgstr ""
  
  #: c/c-typeck.cc:17389
  #, gcc-internal-format
  msgid "traits array must be of %<const omp_alloctrait_t []%> type"
! msgstr ""
  
  #: c/c-typeck.cc:17398 cp/semantics.cc:9082
! #, fuzzy, gcc-internal-format
! #| msgid "array cannot be initialized with a %qs"
  msgid "traits array must be initialized with constants"
! msgstr "Interner Fehler: array cannot be initialized with a %qs"
  
  #: c/c-typeck.cc:17434 cp/semantics.cc:9119
  #, gcc-internal-format
--- 54098,54141 ----
  msgstr "%qE kommt mehr als einmal in %<allocate%>-Klauseln vor"
  
  #: c/c-typeck.cc:17296 cp/semantics.cc:8969
! #, gcc-internal-format
  msgid "allocator %qE must be of %<omp_allocator_handle_t%> type"
! msgstr "Allokator %qE muss vom Typ %<omp_allocator_handle_t%> sein"
  
  #: c/c-typeck.cc:17314 cp/semantics.cc:8990
! #, gcc-internal-format
  msgid "allocator %qE must be either a variable or a predefined allocator"
! msgstr "Allokator %qE muss entweder eine Variable oder ein vordefinierter Allokator sein"
  
  #: c/c-typeck.cc:17328
! #, gcc-internal-format
  msgid "modifiers cannot be used with predefined allocator %qE"
! msgstr "Modifikatoren können nicht mit dem vordefinierten Allokator %qE verwendet werden"
  
  #: c/c-typeck.cc:17345 cp/semantics.cc:9022
  #, gcc-internal-format
  msgid "memspace modifier %qE must be constant enum of %<omp_memspace_handle_t%> type"
! msgstr "der Speicherplatzmodifikator %qE muss eine Aufzählungskonstante vom Typ %<omp_memspace_handle_t%> sein"
  
  #: c/c-typeck.cc:17361 cp/semantics.cc:9042
  #, gcc-internal-format
  msgid "traits array %qE must be defined in same scope as the construct on which the clause appears"
! msgstr "das Merkmalsarray %qE muss in demselben Gültigkeitsbereich definiert sein wie das Konstrukt, in dem die Klausel vorkommt"
  
  #: c/c-typeck.cc:17386 cp/semantics.cc:9066
  #, gcc-internal-format
  msgid "traits array %qE must be of %<const omp_alloctrait_t []%> type"
! msgstr "das Merkmalsarray %qE muss vom Typ %<const omp_alloctrait_t []%> sein"
  
  #: c/c-typeck.cc:17389
  #, gcc-internal-format
  msgid "traits array must be of %<const omp_alloctrait_t []%> type"
! msgstr "das Merkmalsarray muss vom Typ %<const imp_alloctrait_t []%> sein"
  
  #: c/c-typeck.cc:17398 cp/semantics.cc:9082
! #, gcc-internal-format
  msgid "traits array must be initialized with constants"
! msgstr "das Merkmalsarray muss mit Konstanten initialisiert sein"
  
  #: c/c-typeck.cc:17434 cp/semantics.cc:9119
  #, gcc-internal-format
*************** msgid "second argument to %<va_arg%> is
*** 54927,54936 ****
  msgstr "zweites Argument für %<va_arg%> ist ein Funktionstyp %qT"
  
  #: c/c-typeck.cc:18676 c/c-typeck.cc:18686
! #, fuzzy, gcc-internal-format
! #| msgid "second argument to %<va_arg%> is a function type %qT"
  msgid "second argument to %<va_arg%> is an array type %qT"
! msgstr "zweites Argument für %<va_arg%> ist ein Funktionstyp %qT"
  
  #: c/c-typeck.cc:18682
  #, gcc-internal-format
--- 54333,54341 ----
  msgstr "zweites Argument für %<va_arg%> ist ein Funktionstyp %qT"
  
  #: c/c-typeck.cc:18676 c/c-typeck.cc:18686
! #, gcc-internal-format
  msgid "second argument to %<va_arg%> is an array type %qT"
! msgstr "zweites Argument für %<va_arg%> ist ein Arraytyp %qT"
  
  #: c/c-typeck.cc:18682
  #, gcc-internal-format
*************** msgid "expected constant step for %<__ME
*** 55079,55088 ****
  msgstr "Interner Fehler: expected constant step for %<__MEM%> operand"
  
  #: c/gimple-parser.cc:1644
! #, fuzzy, gcc-internal-format
! #| msgid "invalid clique in %qs"
  msgid "invalid clique/base pair"
! msgstr "ungültige Clique in %qs"
  
  #: c/gimple-parser.cc:1703
  #, gcc-internal-format
--- 54484,54492 ----
  msgstr "Interner Fehler: expected constant step for %<__MEM%> operand"
  
  #: c/gimple-parser.cc:1644
! #, gcc-internal-format
  msgid "invalid clique/base pair"
! msgstr "ungültiges Clique-/Basis-Paar"
  
  #: c/gimple-parser.cc:1703
  #, gcc-internal-format
*************** msgid "exception '%s'"
*** 55170,55185 ****
  msgstr "Ausnahme »%s«"
  
  #: cobol/cobol1.cc:366
! #, fuzzy, gcc-internal-format
! #| msgid "no such exception: 0x%x"
  msgid "no such charset %qs"
! msgstr "keine solche Ausnahme: 0x%x"
  
  #: cobol/cobol1.cc:372
! #, fuzzy, gcc-internal-format
! #| msgid "unknown assumption clause %qs"
  msgid "no such national charset %qs"
! msgstr "unbekanntes Annahme-Klausel %qs"
  
  #: cobol/cobol1.cc:435
  #, gcc-internal-format, gfc-internal-format
--- 54574,54587 ----
  msgstr "Ausnahme »%s«"
  
  #: cobol/cobol1.cc:366
! #, gcc-internal-format
  msgid "no such charset %qs"
! msgstr "unbekannter Zeichensatz %qs"
  
  #: cobol/cobol1.cc:372
! #, gcc-internal-format
  msgid "no such national charset %qs"
! msgstr "unbekannter nationaler Zeichensatz %qs"
  
  #: cobol/cobol1.cc:435
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Wahrscheinliche Ursache: Es wurd
*** 55210,55216 ****
  #: cobol/genapi.cc:597
  #, gcc-internal-format
  msgid "That string should not be that long."
! msgstr ""
  
  #: cobol/genapi.cc:1213
  #, gcc-internal-format, gfc-internal-format
--- 54612,54618 ----
  #: cobol/genapi.cc:597
  #, gcc-internal-format
  msgid "That string should not be that long."
! msgstr "Diese Zeichenkette sollte nicht so lang sein."
  
  #: cobol/genapi.cc:1213
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Interner Fehler: %s(%s) improper
*** 55460,55466 ****
  #: cobol/genapi.cc:17235
  #, gcc-internal-format
  msgid "%<our_index%> is NULL under unanticipated circumstances"
! msgstr ""
  
  #: cobol/genapi.cc:17319
  #, gcc-internal-format, gfc-internal-format
--- 54862,54868 ----
  #: cobol/genapi.cc:17235
  #, gcc-internal-format
  msgid "%<our_index%> is NULL under unanticipated circumstances"
! msgstr "%<our_index%> ist unter unvorhergesehenen Umständen NULL"
  
  #: cobol/genapi.cc:17319
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Interner Fehler: Attempting an a
*** 55495,55526 ****
  #: cobol/gengen.cc:526
  #, gcc-internal-format, gfc-internal-format
  msgid "Somebody asked for the field %s.%s, which does not exist"
! msgstr ""
  
  #: cobol/gengen.cc:2159 cobol/gengen.cc:2212 cobol/gengen.cc:3039
  #: cobol/gengen.cc:3094
  #, gcc-internal-format
  msgid "You *must* be joking"
! msgstr ""
  
  #. Warning:  This test is not completely reliable, because a garbage
  #. byte could have a valid TREE_CODE.  But it does help.
  #: cobol/gengen.cc:2166
  #, gcc-internal-format
  msgid "You forgot to put a %<NULL_TREE%> at the end of a %<gg_printf()%> again"
! msgstr ""
  
  #. Warning:  This test is not completely reliable, because a garbage
  #. byte could have a valid TREE_CODE.  But it does help.
  #: cobol/gengen.cc:2590 cobol/gengen.cc:2749
  #, gcc-internal-format
  msgid "You forgot to put a %<NULL_TREE%> at the end of a %<gg_define_function()%> again"
! msgstr ""
  
  #: cobol/gengen.cc:2601 cobol/gengen.cc:2760
  #, gcc-internal-format, gfc-internal-format
  msgid "%d parameters? Really? Are you insane?"
! msgstr ""
  
  #: cobol/gengen.cc:2882
  #, gcc-internal-format
--- 54897,54928 ----
  #: cobol/gengen.cc:526
  #, gcc-internal-format, gfc-internal-format
  msgid "Somebody asked for the field %s.%s, which does not exist"
! msgstr "Interner Fehler: Somebody asked for the field %s.%s, which does not exist"
  
  #: cobol/gengen.cc:2159 cobol/gengen.cc:2212 cobol/gengen.cc:3039
  #: cobol/gengen.cc:3094
  #, gcc-internal-format
  msgid "You *must* be joking"
! msgstr "Interner Fehler: You *must* be joking"
  
  #. Warning:  This test is not completely reliable, because a garbage
  #. byte could have a valid TREE_CODE.  But it does help.
  #: cobol/gengen.cc:2166
  #, gcc-internal-format
  msgid "You forgot to put a %<NULL_TREE%> at the end of a %<gg_printf()%> again"
! msgstr "Interner Fehler: You forgot to put a %<NULL_TREE%> at the end of a %<gg_printf()%> again"
  
  #. Warning:  This test is not completely reliable, because a garbage
  #. byte could have a valid TREE_CODE.  But it does help.
  #: cobol/gengen.cc:2590 cobol/gengen.cc:2749
  #, gcc-internal-format
  msgid "You forgot to put a %<NULL_TREE%> at the end of a %<gg_define_function()%> again"
! msgstr "Interner Fehler: You forgot to put a %<NULL_TREE%> at the end of a %<gg_define_function()%> again"
  
  #: cobol/gengen.cc:2601 cobol/gengen.cc:2760
  #, gcc-internal-format, gfc-internal-format
  msgid "%d parameters? Really? Are you insane?"
! msgstr "Interner Fehler: %d parameters? Really? Are you insane?"
  
  #: cobol/gengen.cc:2882
  #, gcc-internal-format
*************** msgstr "Interner Fehler: %s:%d: LblNone
*** 55559,55565 ****
  #: cobol/symbols.cc:1878
  #, gcc-internal-format, gfc-internal-format
  msgid "%s: data item %s #"
! msgstr ""
  
  #: cobol/symbols.cc:2042
  #, gcc-internal-format, gfc-internal-format
--- 54961,54967 ----
  #: cobol/symbols.cc:1878
  #, gcc-internal-format, gfc-internal-format
  msgid "%s: data item %s #"
! msgstr "Interner Fehler: %s: data item %s #"
  
  #: cobol/symbols.cc:2042
  #, gcc-internal-format, gfc-internal-format
*************** msgid "%s: key must be field"
*** 55567,55576 ****
  msgstr "%s: Schlüssel muss Feld sein"
  
  #: cobol/symbols.cc:4179
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s%qs%s is invalid"
  msgid "%s: %s %s has invalid encoding"
! msgstr "%s%qs%s ist ungültig"
  
  #: cobol/symbols.cc:4347 cobol/symbols.cc:4450 cobol/symbols.cc:4480
  #, gcc-internal-format, gfc-internal-format
--- 54969,54977 ----
  msgstr "%s: Schlüssel muss Feld sein"
  
  #: cobol/symbols.cc:4179
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: %s %s has invalid encoding"
! msgstr "%s: %s %s hat ungültige Zeichencodierung"
  
  #: cobol/symbols.cc:4347 cobol/symbols.cc:4450 cobol/symbols.cc:4480
  #, gcc-internal-format, gfc-internal-format
*************** msgid "%s:%d: could not add '%s'"
*** 55578,55597 ****
  msgstr "%s:%d: »%s« konnte nicht hinzugefügt werden"
  
  #: cobol/util.cc:1767
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s: %s: %s"
  msgid "%s: %s %lu %s %lu"
! msgstr "%s: %s: %s"
  
  #: cobol/util.cc:1782
  #, gcc-internal-format, gfc-internal-format
  msgid "%s: nbytes %lu %s %lu"
! msgstr ""
  
  #: cobol/util.cc:1860
  #, gcc-internal-format, gfc-internal-format
  msgid "%s:%d: type %s, who woulda thunk?"
! msgstr ""
  
  #: cobol/util.cc:2215
  #, gcc-internal-format, gfc-internal-format
--- 54979,54997 ----
  msgstr "%s:%d: »%s« konnte nicht hinzugefügt werden"
  
  #: cobol/util.cc:1767
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: %s %lu %s %lu"
! msgstr "%s: %s %lu %s %lu"
  
  #: cobol/util.cc:1782
  #, gcc-internal-format, gfc-internal-format
  msgid "%s: nbytes %lu %s %lu"
! msgstr "%s: nbytes %lu %s %lu"
  
  #: cobol/util.cc:1860
  #, gcc-internal-format, gfc-internal-format
  msgid "%s:%d: type %s, who woulda thunk?"
! msgstr "%s:%d: type %s, who woulda thunk?"
  
  #: cobol/util.cc:2215
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Umformung von %qH nach %qI ist m
*** 55762,55769 ****
  #. The expression is generated by a trait check, we don't have
  #. a useful location to highlight the label.
  #: cp/call.cc:4942
- #, fuzzy
- #| msgid "cannot convert %qH to %qI"
  msgid "could not convert %qH to %qI"
  msgstr "%qH kann nicht nach %qI umgewandelt werden"
  
--- 55162,55167 ----
*************** msgid "%q+#D marked %<override%>, but do
*** 56661,56670 ****
  msgstr "%q+#D als %<override%> markiert, überschreibt aber nicht"
  
  #: cp/class.cc:3262
! #, fuzzy, gcc-internal-format
! #| msgid "constructor cannot be static member function"
  msgid "contracts cannot be added to virtual functions"
! msgstr "Konstruktor kann keine statische Elementfunktion sein"
  
  #: cp/class.cc:3265
  #, gcc-internal-format
--- 56059,56067 ----
  msgstr "%q+#D als %<override%> markiert, überschreibt aber nicht"
  
  #: cp/class.cc:3262
! #, gcc-internal-format
  msgid "contracts cannot be added to virtual functions"
! msgstr "Verträge können nicht zu virtuellen Funktionen hinzugefügt werden"
  
  #: cp/class.cc:3265
  #, gcc-internal-format
*************** msgstr "Redefinition von %q#T"
*** 57004,57015 ****
  #: cp/class.cc:7975
  #, gcc-internal-format
  msgid "defining %qT, which previously failed to be complete in a SFINAE context"
! msgstr ""
  
  #: cp/class.cc:7978 cp/decl.cc:20556
  #, gcc-internal-format
  msgid "here.  Use %qs for a diagnostic at that point"
! msgstr ""
  
  #: cp/class.cc:8124
  #, gcc-internal-format
--- 56401,56412 ----
  #: cp/class.cc:7975
  #, gcc-internal-format
  msgid "defining %qT, which previously failed to be complete in a SFINAE context"
! msgstr "%qT wird definiert, war jedoch vorher in einem SFINAE-Kontext nicht vollständig"
  
  #: cp/class.cc:7978 cp/decl.cc:20556
  #, gcc-internal-format
  msgid "here.  Use %qs for a diagnostic at that point"
! msgstr "hier; verwenden Sie %qs für eine Diagnosemeldung an dieser Stelle"
  
  #: cp/class.cc:8124
  #, gcc-internal-format
*************** msgid "invalid return type %qT of %<cons
*** 57149,57164 ****
  msgstr "ungültiger Rückgabetyp %qT der %<constexpr%>-Funktion %q+D"
  
  #: cp/constexpr.cc:316
! #, fuzzy, gcc-internal-format
! #| msgid "%<constexpr%> destructors only available with %<-std=c++20%> or %<-std=gnu++20%>"
  msgid "%<constexpr%> constructor in %q#T that has virtual base classes only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "%<constexpr%>-Destruktoren sind erst ab %<-std=c++20%> oder %<-std=gnu++20%> verfügbar"
  
  #: cp/constexpr.cc:320
! #, fuzzy, gcc-internal-format
! #| msgid "%<constexpr%> destructors only available with %<-std=c++20%> or %<-std=gnu++20%>"
  msgid "%<constexpr%> destructor in %q#T that has virtual base classes only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "%<constexpr%>-Destruktoren sind erst ab %<-std=c++20%> oder %<-std=gnu++20%> verfügbar"
  
  #: cp/constexpr.cc:580
  #, gcc-internal-format
--- 56546,56559 ----
  msgstr "ungültiger Rückgabetyp %qT der %<constexpr%>-Funktion %q+D"
  
  #: cp/constexpr.cc:316
! #, gcc-internal-format
  msgid "%<constexpr%> constructor in %q#T that has virtual base classes only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "%<constexpr%>-Konstruktor im Typ %q#T mit virtueller Basisklasse ist erst ab %<-std=c++2c%> oder %<-std=gnu++2c%> verfügbar"
  
  #: cp/constexpr.cc:320
! #, gcc-internal-format
  msgid "%<constexpr%> destructor in %q#T that has virtual base classes only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "%<constexpr%>-Destruktor in %q#T mit virtuellen Basisklassen ist erst ab %<-std=c++2c%> oder %<-std=gnu++2c%> verfügbar"
  
  #: cp/constexpr.cc:580
  #, gcc-internal-format
*************** msgstr "%qE wird außerhalb seiner Leben
*** 57198,57310 ****
  #: cp/constexpr.cc:1739
  #, gcc-internal-format
  msgid "%qs called after throwing an exception of type %qT; %<what()%>: %qs"
! msgstr ""
  
  #: cp/constexpr.cc:1754
  #, gcc-internal-format
  msgid "%qs called after throwing an exception %qE"
! msgstr ""
  
  #: cp/constexpr.cc:1757
! #, fuzzy, gcc-internal-format
! #| msgid "%qs applied to non-vector type %qT"
  msgid "%qs called after throwing an exception of type %qT"
! msgstr "%qs angewendet auf den Nicht-Vektor-Typ %qT"
  
  #: cp/constexpr.cc:1771
! #, fuzzy, gcc-internal-format
! #| msgid "cannot cast expression of type %qs to %qs"
  msgid "uncaught exception of type %qT; %<what()%>: %qs"
! msgstr "Ausdruck vom Typ %qs kann nicht in %qs umgewandelt werden"
  
  #: cp/constexpr.cc:1785
! #, fuzzy, gcc-internal-format
! #| msgid "no such exception: 0x%x"
  msgid "uncaught exception %qE"
! msgstr "keine solche Ausnahme: 0x%x"
  
  #: cp/constexpr.cc:1787
! #, fuzzy, gcc-internal-format
! #| msgid "cannot decompose union type %qT"
  msgid "uncaught exception of type %qT"
! msgstr "Union-Typ %qT kann nicht dekomponiert werden"
  
  #: cp/constexpr.cc:1911
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute not available to functions with variable number of arguments"
  msgid "call to %qD function with incorrect number of arguments"
! msgstr "Attribut %qE ist nicht auf Funktionen anwendbar, die variable Anzahl von Argumenten haben"
  
  #: cp/constexpr.cc:1929
! #, fuzzy, gcc-internal-format
! #| msgid "%q+D declared with an exception specification"
  msgid "%qD called with no caught exceptions pending"
! msgstr "%q+D mit einer Ausnahmespezifikation deklariert"
  
  #: cp/constexpr.cc:2013
! #, fuzzy, gcc-internal-format
! #| msgid "cannot allocate array: size not constant"
  msgid "cannot allocate exception: size not constant"
! msgstr "Array kann nicht alloziert werden: Größe nicht konstant"
  
  #: cp/constexpr.cc:2033
  #, gcc-internal-format
  msgid "first argument to %qD function not result of %<__cxa_allocate_exception%>"
! msgstr ""
  
  #: cp/constexpr.cc:2064 cp/constexpr.cc:2116
! #, fuzzy, gcc-internal-format
! #| msgid "%q+D declared with an exception specification"
  msgid "%qD called with no caught exceptions active"
! msgstr "%q+D mit einer Ausnahmespezifikation deklariert"
  
  #: cp/constexpr.cc:2154
  #, gcc-internal-format
  msgid "%qD called without %<std::%D%> being defined"
! msgstr ""
  
  #: cp/constexpr.cc:2223
! #, fuzzy, gcc-internal-format
! #| msgid "%qs does not support feature %qs"
  msgid "%qD called without supportable %qs"
! msgstr "%qs unterstützt %qs nicht"
  
  #: cp/constexpr.cc:2279
! #, fuzzy, gcc-internal-format
! #| msgid "Procedure unexpected as argument"
  msgid "%qD called with unexpected %qs argument"
! msgstr "Prozedur als Argument unerwartet"
  
  #: cp/constexpr.cc:2307
  #, gcc-internal-format
  msgid "%qD called with second argument other than 1 or -1"
! msgstr ""
  
  #: cp/constexpr.cc:2345
! #, fuzzy, gcc-internal-format
! #| msgid "wrong number of arguments to %qs"
  msgid "wrong number of arguments to %qs call"
! msgstr "falsche Anzahl an Argumenten für %qs"
  
  #: cp/constexpr.cc:2372
  #, gcc-internal-format
  msgid "first %qs call argument should be 0, 1, 2, 16, 17 or 18"
! msgstr ""
  
  #: cp/constexpr.cc:2419
  #, gcc-internal-format
  msgid "%qs tag string contains %qc character other than letters, digits or %<_%>"
! msgstr ""
  
  #: cp/constexpr.cc:2453
  msgid "constexpr message: %.*s [%r%.*s%R]"
! msgstr ""
  
  #: cp/constexpr.cc:2457
! #, fuzzy, gcc-internal-format
! #| msgid "%<#pragma message: %s%>"
  msgid "constexpr message: %.*s"
! msgstr "%<#pragma message: %s%>"
  
  #: cp/constexpr.cc:2563 cp/constexpr.cc:4538
  #: rust/backend/rust-constexpr.cc:3510
--- 56593,56693 ----
  #: cp/constexpr.cc:1739
  #, gcc-internal-format
  msgid "%qs called after throwing an exception of type %qT; %<what()%>: %qs"
! msgstr "%qs wurde nach dem Auslösen einer Ausnahme vom Typ %qT aufgerufen; %<what()%>: %qs"
  
  #: cp/constexpr.cc:1754
  #, gcc-internal-format
  msgid "%qs called after throwing an exception %qE"
! msgstr "%qs wurde nach dem Auslösen einer Ausnahme %qE aufgerufen"
  
  #: cp/constexpr.cc:1757
! #, gcc-internal-format
  msgid "%qs called after throwing an exception of type %qT"
! msgstr "%qs wurde nach dem Auslösen einer Ausnahme vom Typ %qT aufgerufen"
  
  #: cp/constexpr.cc:1771
! #, gcc-internal-format
  msgid "uncaught exception of type %qT; %<what()%>: %qs"
! msgstr "unbehandelte Ausnahme vom Typ %qT; %<what()%>: %qs"
  
  #: cp/constexpr.cc:1785
! #, gcc-internal-format
  msgid "uncaught exception %qE"
! msgstr "unbehandelte Ausnahme %qE"
  
  #: cp/constexpr.cc:1787
! #, gcc-internal-format
  msgid "uncaught exception of type %qT"
! msgstr "unbehandelte Ausnahme vom Typ %qT"
  
  #: cp/constexpr.cc:1911
! #, gcc-internal-format
  msgid "call to %qD function with incorrect number of arguments"
! msgstr "Aufruf der Funktion %qD mit falscher Anzahl von Argumenten"
  
  #: cp/constexpr.cc:1929
! #, gcc-internal-format
  msgid "%qD called with no caught exceptions pending"
! msgstr "%qD wurde aufgerufen, obwohl es keine ausstehenden Ausnahmen gibt"
  
  #: cp/constexpr.cc:2013
! #, gcc-internal-format
  msgid "cannot allocate exception: size not constant"
! msgstr "Fehler beim Zuweisen von Speicher: Größe nicht konstant"
  
  #: cp/constexpr.cc:2033
  #, gcc-internal-format
  msgid "first argument to %qD function not result of %<__cxa_allocate_exception%>"
! msgstr "das erste Argument der Funktion %qD ist nicht das Ergebnis von %<__cxa_allocate_exception%>"
  
  #: cp/constexpr.cc:2064 cp/constexpr.cc:2116
! #, gcc-internal-format
  msgid "%qD called with no caught exceptions active"
! msgstr "%qD wurde aufgerufen, obwohl keine gefangene Ausnahme aktiv ist"
  
  #: cp/constexpr.cc:2154
  #, gcc-internal-format
  msgid "%qD called without %<std::%D%> being defined"
! msgstr "%qD wurde aufgerufen, obwohl %<std::%D%> nicht definiert ist"
  
  #: cp/constexpr.cc:2223
! #, gcc-internal-format
  msgid "%qD called without supportable %qs"
! msgstr "%qD wurde aufgerufen, obwohl %qs nicht unterstützbar ist"
  
  #: cp/constexpr.cc:2279
! #, gcc-internal-format
  msgid "%qD called with unexpected %qs argument"
! msgstr "%qD wurde mit unerwartetem Argument %qs aufgerufen"
  
  #: cp/constexpr.cc:2307
  #, gcc-internal-format
  msgid "%qD called with second argument other than 1 or -1"
! msgstr "%qD wurde mit einem zweiten Argument außer 1 oder -1 aufgerufen"
  
  #: cp/constexpr.cc:2345
! #, gcc-internal-format
  msgid "wrong number of arguments to %qs call"
! msgstr "falsche Anzahl an Argumenten für den Aufruf von %qs"
  
  #: cp/constexpr.cc:2372
  #, gcc-internal-format
  msgid "first %qs call argument should be 0, 1, 2, 16, 17 or 18"
! msgstr "das erste Argument des Aufrufs von %qs sollte 0, 1, 2, 16, 17 oder 18 sein"
  
  #: cp/constexpr.cc:2419
  #, gcc-internal-format
  msgid "%qs tag string contains %qc character other than letters, digits or %<_%>"
! msgstr "die Zeichenfolge des Tags %qs enthält das Zeichen %qc, das weder Buchstabe, Ziffer noch %<_%> ist"
  
  #: cp/constexpr.cc:2453
  msgid "constexpr message: %.*s [%r%.*s%R]"
! msgstr "constexpr-Meldung: %.*s [%r%.*s%R]"
  
  #: cp/constexpr.cc:2457
! #, gcc-internal-format
  msgid "constexpr message: %.*s"
! msgstr "constexpr-Meldung: %.*s"
  
  #: cp/constexpr.cc:2563 cp/constexpr.cc:4538
  #: rust/backend/rust-constexpr.cc:3510
*************** msgstr "»constexpr«-Elementfunktion %q
*** 57404,57410 ****
  #: cp/constexpr.cc:3905
  #, gcc-internal-format
  msgid "couldn%'t throw %qT"
! msgstr ""
  
  #: cp/constexpr.cc:3980 rust/backend/rust-constexpr.cc:3571
  #, gcc-internal-format
--- 56787,56793 ----
  #: cp/constexpr.cc:3905
  #, gcc-internal-format
  msgid "couldn%'t throw %qT"
! msgstr "%qT konnte nicht geworfen werden"
  
  #: cp/constexpr.cc:3980 rust/backend/rust-constexpr.cc:3571
  #, gcc-internal-format
*************** msgid "accessing uninitialized member %q
*** 57557,57566 ****
  msgstr "Zugriff auf uninitialisiertes Element %qD"
  
  #: cp/constexpr.cc:6083
! #, fuzzy, gcc-internal-format
! #| msgid "accessing %qD member instead of initialized %qD member in constant expression"
  msgid "accessing %qD member instead of active %qD member in constant expression"
! msgstr "Zugriff auf Element %qD statt auf initialisiertes Element %qD in Konstantenausdruck"
  
  #: cp/constexpr.cc:6096 cp/constexpr.cc:8148
  #: rust/backend/rust-constexpr.cc:1825
--- 56940,56948 ----
  msgstr "Zugriff auf uninitialisiertes Element %qD"
  
  #: cp/constexpr.cc:6083
! #, gcc-internal-format
  msgid "accessing %qD member instead of active %qD member in constant expression"
! msgstr "Zugriff auf Element %qD statt auf aktives Element %qD in Konstantenausdruck"
  
  #: cp/constexpr.cc:6096 cp/constexpr.cc:8148
  #: rust/backend/rust-constexpr.cc:1825
*************** msgid "%qs cannot be constant evaluated
*** 57644,57659 ****
  msgstr "%qs kann nicht als konstanter Ausdruck ausgewertet werden, da das Argument nicht interpretiert werden kann"
  
  #: cp/constexpr.cc:7503
! #, fuzzy, gcc-internal-format
! #| msgid "accessing value of %qE through a %qT glvalue in a constant expression"
  msgid "accessing value of %qT object through a %qT glvalue in a constant expression"
! msgstr "auf Wert von %qE wird über ein %qT GL-Wert in Konstantenausdruck zugegriffen"
  
  #: cp/constexpr.cc:7511
! #, fuzzy, gcc-internal-format
! #| msgid "%qT temporary created here"
  msgid "%qT object created here"
! msgstr "unbenanntes temporäres Objekt %qT wird hier definiert"
  
  #: cp/constexpr.cc:7514 cp/parser.cc:13136 cp/parser.cc:13147
  #: cp/reflect.cc:8428 cp/semantics.cc:4701 cp/semantics.cc:4717
--- 57026,57039 ----
  msgstr "%qs kann nicht als konstanter Ausdruck ausgewertet werden, da das Argument nicht interpretiert werden kann"
  
  #: cp/constexpr.cc:7503
! #, gcc-internal-format
  msgid "accessing value of %qT object through a %qT glvalue in a constant expression"
! msgstr "auf den Wert vom Typ %qT wird über ein Glvalue vom Typ %qT in einem Konstantenausdruck zugegriffen"
  
  #: cp/constexpr.cc:7511
! #, gcc-internal-format
  msgid "%qT object created here"
! msgstr "Objekt vom Typ %qT wird hier erzeugt"
  
  #: cp/constexpr.cc:7514 cp/parser.cc:13136 cp/parser.cc:13147
  #: cp/reflect.cc:8428 cp/semantics.cc:4701 cp/semantics.cc:4717
*************** msgid "you can stabilize this value with
*** 57800,57809 ****
  msgstr "Sie können diesen Wert mit %<--param hardware_destructive_interference_size=%d%> stabilisieren, oder diese Warnung mit %<-Wno-interference-size%> deaktivieren"
  
  #: cp/constexpr.cc:9092
! #, fuzzy, gcc-internal-format
! #| msgid "%q+D declared with an exception specification"
  msgid "destructor exited with an exception"
! msgstr "%q+D mit einer Ausnahmespezifikation deklariert"
  
  #: cp/constexpr.cc:9170
  #, gcc-internal-format
--- 57180,57188 ----
  msgstr "Sie können diesen Wert mit %<--param hardware_destructive_interference_size=%d%> stabilisieren, oder diese Warnung mit %<-Wno-interference-size%> deaktivieren"
  
  #: cp/constexpr.cc:9092
! #, gcc-internal-format
  msgid "destructor exited with an exception"
! msgstr "Destruktor ist mit einer Ausnahme ausgestiegen"
  
  #: cp/constexpr.cc:9170
  #, gcc-internal-format
*************** msgid "temporary of non-literal type %qT
*** 57832,57851 ****
  msgstr "Zwischenergebnis des nicht-literalen Typs %qT in konstantem Ausdruck"
  
  #: cp/constexpr.cc:9670
! #, fuzzy, gcc-internal-format
! #| msgid "invalid return type %qT of %<constexpr%> function %q+D"
  msgid "uncaught exception exited from %<noexcept%> function %qD"
! msgstr "ungültiger Rückgabetyp %qT der %<constexpr%>-Funktion %q+D"
  
  #: cp/constexpr.cc:9674
  #, gcc-internal-format
  msgid "destructor exited with an exception after initializing the exception object"
! msgstr ""
  
  #: cp/constexpr.cc:9677
  #, gcc-internal-format
  msgid "constructor exited with another exception while entering handler"
! msgstr ""
  
  #: cp/constexpr.cc:10053 cp/constexpr.cc:12146
  #, gcc-internal-format
--- 57211,57229 ----
  msgstr "Zwischenergebnis des nicht-literalen Typs %qT in konstantem Ausdruck"
  
  #: cp/constexpr.cc:9670
! #, gcc-internal-format
  msgid "uncaught exception exited from %<noexcept%> function %qD"
! msgstr "unerwartete Ausnahme aus der %<noexcept%>-Funktion %qD"
  
  #: cp/constexpr.cc:9674
  #, gcc-internal-format
  msgid "destructor exited with an exception after initializing the exception object"
! msgstr "der Destruktor wurde nach der Initialisierung des Ausnahmeobjekts mit einer Ausnahme beendet"
  
  #: cp/constexpr.cc:9677
  #, gcc-internal-format
  msgid "constructor exited with another exception while entering handler"
! msgstr "der Konstruktor wurde beim Aufruf des Handlers mit einer weiteren Ausnahme beendet"
  
  #: cp/constexpr.cc:10053 cp/constexpr.cc:12146
  #, gcc-internal-format
*************** msgid "unexpected expression %qE of kind
*** 57910,57925 ****
  msgstr "unexpected expression %qE of kind %s"
  
  #: cp/constexpr.cc:10626
! #, fuzzy, gcc-internal-format
! #| msgid "accessing %qE outside its lifetime"
  msgid "%qE accesses an object outside its lifetime"
! msgstr "Zugriff auf %qE außerhalb seiner Lebensdauer"
  
  #: cp/constexpr.cc:10764
! #, fuzzy, gcc-internal-format
! #| msgid "'B' operand is not constant"
  msgid "contract condition is not constant"
! msgstr "»B«-Operand ist nicht konstant"
  
  #: cp/constexpr.cc:10770
  #, gcc-internal-format
--- 57288,57301 ----
  msgstr "unexpected expression %qE of kind %s"
  
  #: cp/constexpr.cc:10626
! #, gcc-internal-format
  msgid "%qE accesses an object outside its lifetime"
! msgstr "%qE greift auf ein Objekt außerhalb dessen Lebensdauer zu"
  
  #: cp/constexpr.cc:10764
! #, gcc-internal-format
  msgid "contract condition is not constant"
! msgstr "Vertragsbedingung ist nicht konstant"
  
  #: cp/constexpr.cc:10770
  #, gcc-internal-format
*************** msgid "contract predicate is false in co
*** 57927,57948 ****
  msgstr "Vertragsbedingung ist false in konstantem Ausdruck"
  
  #: cp/constexpr.cc:10955
! #, fuzzy, gcc-internal-format
! #| msgid "break statement not within loop or switch"
  msgid "%<break%> outside of a loop or %<switch%>"
! msgstr "break-Anweisung nicht innerhalb einer Schleife oder »switch«"
  
  #: cp/constexpr.cc:10957
! #, fuzzy, gcc-internal-format
! #| msgid "%<friend%> used outside of class"
  msgid "%<continue%> outside of a loop"
! msgstr "%<friend%> außerhalb einer Klasse verwendet"
  
  #: cp/constexpr.cc:10959
! #, fuzzy, gcc-internal-format
! #| msgid "jump into statement expression"
  msgid "%<return%> in a statement expression"
! msgstr "Sprung in Anweisungs-Ausdruck"
  
  #: cp/constexpr.cc:11000 rust/backend/rust-constexpr.cc:5382
  #, gcc-internal-format
--- 57303,57321 ----
  msgstr "Vertragsbedingung ist false in konstantem Ausdruck"
  
  #: cp/constexpr.cc:10955
! #, gcc-internal-format
  msgid "%<break%> outside of a loop or %<switch%>"
! msgstr "%<break%>-Anweisung außerhalb einer Schleife oder %<switch%>"
  
  #: cp/constexpr.cc:10957
! #, gcc-internal-format
  msgid "%<continue%> outside of a loop"
! msgstr "%<continue%> außerhalb einer Schleife"
  
  #: cp/constexpr.cc:10959
! #, gcc-internal-format
  msgid "%<return%> in a statement expression"
! msgstr "%<return%> in einem Anweisungsausdruck"
  
  #: cp/constexpr.cc:11000 rust/backend/rust-constexpr.cc:5382
  #, gcc-internal-format
*************** msgid "%qE is not a constant expression
*** 57950,57959 ****
  msgstr "%qE ist kein Konstantenausdruck, da er auf veränderliche Teilobjekte von %qT verweist"
  
  #: cp/constexpr.cc:11016
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not a constant expression because it refers to a result of %<operator new%>"
  msgid "%qE is not a constant expression because it refers to exception object allocated with %<__cxa_allocate_exception%>"
! msgstr "%qE ist kein konstanter Ausdruck, da er auf das Ergebnis von %<operator new%> verweist"
  
  #: cp/constexpr.cc:11020 rust/backend/rust-constexpr.cc:5407
  #, gcc-internal-format
--- 57323,57331 ----
  msgstr "%qE ist kein Konstantenausdruck, da er auf veränderliche Teilobjekte von %qT verweist"
  
  #: cp/constexpr.cc:11016
! #, gcc-internal-format
  msgid "%qE is not a constant expression because it refers to exception object allocated with %<__cxa_allocate_exception%>"
! msgstr "%qE ist kein konstanter Ausdruck, da er auf ein Ausnahmeobjekt verweist, das mit %<__cxa_allocate_exception%> alloziert wurde"
  
  #: cp/constexpr.cc:11020 rust/backend/rust-constexpr.cc:5407
  #, gcc-internal-format
*************** msgstr "Konstantenauswertung liefert Adr
*** 57978,57989 ****
  #: cp/constexpr.cc:11083
  #, gcc-internal-format
  msgid "reference into an object of consteval-only type is not a constant expression unless it also has consteval-only type"
! msgstr ""
  
  #: cp/constexpr.cc:11088
  #, gcc-internal-format
  msgid "pointer into an object of consteval-only type is not a constant expression unless it also has consteval-only type"
! msgstr ""
  
  #: cp/constexpr.cc:11104 rust/backend/rust-constexpr.cc:5391
  #, gcc-internal-format
--- 57350,57361 ----
  #: cp/constexpr.cc:11083
  #, gcc-internal-format
  msgid "reference into an object of consteval-only type is not a constant expression unless it also has consteval-only type"
! msgstr "ein Verweis auf ein Objekt eines Consteval-Only-Typs ist kein konstanter Ausdruck, es sei denn, er ist ebenfalls von einem Consteval-Only-Typ"
  
  #: cp/constexpr.cc:11088
  #, gcc-internal-format
  msgid "pointer into an object of consteval-only type is not a constant expression unless it also has consteval-only type"
! msgstr "ein Zeiger in ein Objekt eines Consteval-Only-Typs ist kein konstanter Ausdruck, es sei denn, er ist ebenfalls von einem Consteval-Only-Typ"
  
  #: cp/constexpr.cc:11104 rust/backend/rust-constexpr.cc:5391
  #, gcc-internal-format
*************** msgstr "die verschachtelte Anforderung %
*** 58182,58193 ****
  #: cp/constraint.cc:1912
  #, gcc-internal-format
  msgid "failed to complete %qT in SFINAE context"
! msgstr ""
  
  #: cp/constraint.cc:1915
  #, gcc-internal-format
  msgid "failed to deduce %qD in SFINAE context"
! msgstr ""
  
  #: cp/constraint.cc:2175
  #, gcc-internal-format
--- 57554,57565 ----
  #: cp/constraint.cc:1912
  #, gcc-internal-format
  msgid "failed to complete %qT in SFINAE context"
! msgstr "%qT konnte im SFINAE-Kontext nicht vervollständigt werden"
  
  #: cp/constraint.cc:1915
  #, gcc-internal-format
  msgid "failed to deduce %qD in SFINAE context"
! msgstr "%qD konnte im SFINAE-Kontext nicht deduziert werden"
  
  #: cp/constraint.cc:2175
  #, gcc-internal-format
*************** msgid "the operand %qE is unsatisfied be
*** 58215,58296 ****
  msgstr "der Operand %qE ist nicht erfüllt, da"
  
  #: cp/constraint.cc:3138
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not nothrow copy assignable"
  msgid "%qT is not nothrow copy assignable"
! msgstr "  %qT ist nicht per %<nothrow%>-Kopie zuweisbar"
  
  #: cp/constraint.cc:3141
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not nothrow default constructible"
  msgid "%qT is not nothrow default constructible"
! msgstr "  %qT kann nicht per %<nothrow%> mit dem Standardkonstruktor erzeugt werden"
  
  #: cp/constraint.cc:3144
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not nothrow copy constructible"
  msgid "%qT is not nothrow copy constructible"
! msgstr "  %qT kann nicht per %<nothrow%> mit dem Standardkonstruktor kopiert werden"
  
  #: cp/constraint.cc:3147
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not trivially copy assignable"
  msgid "%qT is not trivially copy assignable"
! msgstr "  %qT nicht per trivialer Kopie zugewiesen werden kann"
  
  #: cp/constraint.cc:3150
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not trivially default constructible"
  msgid "%qT is not trivially default constructible"
! msgstr "  %qT nicht trivial mit dem Standardkonstruktor erzeugt werden kann"
  
  #: cp/constraint.cc:3153
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not trivially copy constructible"
  msgid "%qT is not trivially copy constructible"
! msgstr "  %qT nicht per trivialer Kopie erzeugt werden kann"
  
  #: cp/constraint.cc:3156
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not trivially destructible"
  msgid "%qT is not trivially destructible"
! msgstr "  %qT nicht trivial zerstört werden kann"
  
  #: cp/constraint.cc:3159
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT does not have unique object representations"
  msgid "%qT does not have unique object representations, because"
! msgstr "  %qT keine eindeutige Objektrepräsentationen hat"
  
  #: cp/constraint.cc:3169
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT does not have a virtual destructor"
  msgid "%qT does not have a virtual destructor"
! msgstr "  %qT keinen virtuellen Destruktor hat"
  
  #: cp/constraint.cc:3173
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not an abstract class"
  msgid "%qT is not an abstract class"
! msgstr "  %qT keine abstrakte Klasse ist"
  
  #: cp/constraint.cc:3176
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not an aggregate"
  msgid "%qT is not an aggregate"
! msgstr "  %qT kein Aggregat ist"
  
  #: cp/constraint.cc:3179
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not an array"
  msgid "%qT is not an array"
! msgstr "  %qT kein Array ist"
  
  #: cp/constraint.cc:3182
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not assignable from %qT"
  msgid "%qT is not assignable from %qT, because"
! msgstr " %qT nicht vom Typ %qT zugewiesen werden kann"
  
  #: cp/constraint.cc:3186 cp/semantics.cc:13525 cp/typeck.cc:3701
  #, gcc-internal-format
--- 57587,57655 ----
  msgstr "der Operand %qE ist nicht erfüllt, da"
  
  #: cp/constraint.cc:3138
! #, gcc-internal-format
  msgid "%qT is not nothrow copy assignable"
! msgstr "%qT ist nicht per %<nothrow%> als Kopie zuweisbar"
  
  #: cp/constraint.cc:3141
! #, gcc-internal-format
  msgid "%qT is not nothrow default constructible"
! msgstr "%qT kann nicht per %<nothrow%> mit dem Standardkonstruktor erzeugt werden"
  
  #: cp/constraint.cc:3144
! #, gcc-internal-format
  msgid "%qT is not nothrow copy constructible"
! msgstr "%qT ist nicht per %<nothrow%> als Kopie erzeugbar"
  
  #: cp/constraint.cc:3147
! #, gcc-internal-format
  msgid "%qT is not trivially copy assignable"
! msgstr "%qT ist nicht trivial als Kopie zuweisbar"
  
  #: cp/constraint.cc:3150
! #, gcc-internal-format
  msgid "%qT is not trivially default constructible"
! msgstr "%qT ist nicht trivial mit dem Standardkonstruktor erzeugbar"
  
  #: cp/constraint.cc:3153
! #, gcc-internal-format
  msgid "%qT is not trivially copy constructible"
! msgstr "%qT ist nicht trivial als Kopie erzeugbar"
  
  #: cp/constraint.cc:3156
! #, gcc-internal-format
  msgid "%qT is not trivially destructible"
! msgstr "%qT ist nicht trivial zerstörbar"
  
  #: cp/constraint.cc:3159
! #, gcc-internal-format
  msgid "%qT does not have unique object representations, because"
! msgstr "%qT hat keine eindeutigen Objektrepräsentationen, denn"
  
  #: cp/constraint.cc:3169
! #, gcc-internal-format
  msgid "%qT does not have a virtual destructor"
! msgstr "%qT hat keinen virtuellen Destruktor"
  
  #: cp/constraint.cc:3173
! #, gcc-internal-format
  msgid "%qT is not an abstract class"
! msgstr "%qT ist keine abstrakte Klasse"
  
  #: cp/constraint.cc:3176
! #, gcc-internal-format
  msgid "%qT is not an aggregate"
! msgstr "%qT ist kein Aggregat"
  
  #: cp/constraint.cc:3179
! #, gcc-internal-format
  msgid "%qT is not an array"
! msgstr "%qT ist kein Array"
  
  #: cp/constraint.cc:3182
! #, gcc-internal-format
  msgid "%qT is not assignable from %qT, because"
! msgstr "%qT ist nicht vom Typ %qT zuweisbar, denn"
  
  #: cp/constraint.cc:3186 cp/semantics.cc:13525 cp/typeck.cc:3701
  #, gcc-internal-format
*************** msgid "%qT is not a base of %qT"
*** 58298,58607 ****
  msgstr "%qT ist keine Basis von %qT"
  
  #: cp/constraint.cc:3189
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a bounded array"
  msgid "%qT is not a bounded array"
! msgstr "  %qT kein begrenztes Array ist"
  
  #: cp/constraint.cc:3192
! #, fuzzy, gcc-internal-format
! #| msgid "%q#T is not a class"
  msgid "%qT is not a class"
! msgstr "%q#T ist keine Klasse"
  
  #: cp/constraint.cc:3195
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a const type"
  msgid "%qT is not a const type"
! msgstr "  %qT kein const-Typ ist"
  
  #: cp/constraint.cc:3199
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not default constructible"
  msgid "%qT is not default constructible, because"
! msgstr "  %qT nicht mit dem Standardkonstruktor erzeugt werden kann"
  
  #: cp/constraint.cc:3201
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not constructible from %qE"
  msgid "%qT is not constructible from %qT, because"
! msgstr " %qT nicht von %qE konstruiert werden kann"
  
  #: cp/constraint.cc:3210
! #, fuzzy, gcc-internal-format
! #| msgid "%q+T is not literal because:"
  msgid "%qT is not destructible, because"
! msgstr "%q+T ist kein Literal, denn:"
  
  #: cp/constraint.cc:3214
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not an empty class"
  msgid "%qT is not an empty class"
! msgstr "  %qT keine leere Klasse ist"
  
  #: cp/constraint.cc:3217
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not an enum"
  msgid "%qT is not an enum"
! msgstr "  %qT keine Aufzählung ist"
  
  #: cp/constraint.cc:3220
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a final class"
  msgid "%qT is not a final class"
! msgstr "  %qT keine finale Klasse ist"
  
  #: cp/constraint.cc:3223
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a function"
  msgid "%qT is not a function"
! msgstr "  %qT keine Funktion ist"
  
  #: cp/constraint.cc:3226
! #, fuzzy, gcc-internal-format
! #| msgid "%qT is not a template type"
  msgid "%qT is not an implicit-lifetime type"
! msgstr "%qT ist kein Template-Typ"
  
  #: cp/constraint.cc:3231
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not invocable"
  msgid "%qT is not invocable, because"
! msgstr "  %qT nicht aufrufbar ist"
  
  #: cp/constraint.cc:3233
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not invocable by %qE"
  msgid "%qT is not invocable by %qT, because"
! msgstr " %qT nicht von %qE aufrufbar ist"
  
  #: cp/constraint.cc:3238
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not layout compatible with %qT"
  msgid "%qT is not layout compatible with %qT, because"
! msgstr "  das Layout von %qT nicht zu %qT kompatibel ist"
  
  #: cp/constraint.cc:3242
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a literal type"
  msgid "%qT is not a literal type"
! msgstr "  %qT kein literaler Typ ist"
  
  #: cp/constraint.cc:3245
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a member function pointer"
  msgid "%qT is not a member function pointer"
! msgstr "  %qT kein Member-Funktionszeiger ist"
  
  #: cp/constraint.cc:3248
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a member object pointer"
  msgid "%qT is not a member object pointer"
! msgstr "  %qT kein Member-Objektzeiger ist"
  
  #: cp/constraint.cc:3251
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a member pointer"
  msgid "%qT is not a member pointer"
! msgstr "  %qT kein Member-Zeiger ist"
  
  #: cp/constraint.cc:3254
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not nothrow assignable from %qT"
  msgid "%qT is not nothrow assignable from %qT, because"
! msgstr "  %qT ist nicht per %<nothrow%>-Kopie von %qT zuweisbar"
  
  #: cp/constraint.cc:3259
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not nothrow default constructible"
  msgid "%qT is not nothrow default constructible, because"
! msgstr "  %qT kann nicht per %<nothrow%> mit dem Standardkonstruktor erzeugt werden"
  
  #: cp/constraint.cc:3261
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not nothrow constructible from %qE"
  msgid "%qT is not nothrow constructible from %qT, because"
! msgstr "  %qT kann nicht per %<nothrow%> von %qE konstruiert werden"
  
  #: cp/constraint.cc:3266
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not nothrow convertible from %qE"
  msgid "%qT is not nothrow convertible from %qT, because"
! msgstr "  %qT kann nicht per %<nothrow%> von %qE umgewandelt werden"
  
  #: cp/constraint.cc:3270
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not nothrow default constructible"
  msgid "%qT is not nothrow destructible, because"
! msgstr "  %qT kann nicht per %<nothrow%> mit dem Standardkonstruktor erzeugt werden"
  
  #: cp/constraint.cc:3276
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not nothrow invocable"
  msgid "%qT is not nothrow invocable, because"
! msgstr "  %qT nicht %<nothrow%>-aufrufbar ist"
  
  #: cp/constraint.cc:3278
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not nothrow invocable by %qE"
  msgid "%qT is not nothrow invocable by %qT, because"
! msgstr "  %qT nicht von %qE aus %<nothrow%>-aufrufbar ist"
  
  #: cp/constraint.cc:3285
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not an object type"
  msgid "%qT is not an object type"
! msgstr "  %qT kein Objekttyp ist"
  
  #: cp/constraint.cc:3289
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not pointer-interconvertible base of %qT"
  msgid "%qT is not a pointer-interconvertible base of %qT, because"
! msgstr "  %qT keine Zeiger-konvertierbare Basis von %qT ist"
  
  #: cp/constraint.cc:3294
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a POD type"
  msgid "%qT is not a POD type"
! msgstr "  %qT kein POD-Typ ist"
  
  #: cp/constraint.cc:3297
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a pointer"
  msgid "%qT is not a pointer"
! msgstr "  %qT kein Zeiger ist"
  
  #: cp/constraint.cc:3300
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a polymorphic type"
  msgid "%qT is not a polymorphic type"
! msgstr "  %qT kein polymorpher Typ ist"
  
  #: cp/constraint.cc:3303
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a reference"
  msgid "%qT is not a reference"
! msgstr "  %qT keine Referenz ist"
  
  #: cp/constraint.cc:3306
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not the same as %qT"
  msgid "%q#T is not the same as %q#T"
! msgstr "  %qT nicht derselbe Typ wie %qT ist"
  
  #: cp/constraint.cc:3309
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a scoped enum"
  msgid "%qT is not a scoped enum"
! msgstr "  %qT keine Aufzählung mit Gültigkeitsbereich ist"
  
  #: cp/constraint.cc:3312
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not an standard layout type"
  msgid "%qT is not a standard layout type"
! msgstr "  %qT kein Typ mit Standardlayout ist"
  
  #: cp/constraint.cc:3315
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a trivial type"
  msgid "%qT is not a trivial type"
! msgstr "  %qT kein trivialer Typ ist"
  
  #: cp/constraint.cc:3318
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not trivially assignable from %qT"
  msgid "%qT is not trivially assignable from %qT, because"
! msgstr "  %qT nicht per trivialer Kopie von %qT zugewiesen werden kann"
  
  #: cp/constraint.cc:3323
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not trivially default constructible"
  msgid "%qT is not trivially default constructible, because"
! msgstr "  %qT nicht trivial mit dem Standardkonstruktor erzeugt werden kann"
  
  #: cp/constraint.cc:3325
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not trivially constructible from %qE"
  msgid "%qT is not trivially constructible from %qT, because"
! msgstr "  %qT nicht trivial von %qE konstruiert werden kann"
  
  #: cp/constraint.cc:3330 cp/tree.cc:5014
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not trivially copyable"
  msgid "%qT is not trivially copyable"
! msgstr "  %qT nicht trivial kopierbar"
  
  #: cp/constraint.cc:3333
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not trivially destructible"
  msgid "%qT is not trivially destructible, because"
! msgstr "  %qT nicht trivial zerstört werden kann"
  
  #: cp/constraint.cc:3337
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not an unbounded array"
  msgid "%qT is not an unbounded array"
! msgstr "  %qT kein unbegrenztes Array ist"
  
  #: cp/constraint.cc:3340
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a union"
  msgid "%qT is not a union"
! msgstr "  %qT kein Vereinigungstyp ist"
  
  #: cp/constraint.cc:3343
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a virtual base of %qT"
  msgid "%qT is not a virtual base of %qT"
! msgstr "  %qT keine virtuelle Basis von %qT ist"
  
  #: cp/constraint.cc:3346
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a volatile type"
  msgid "%qT is not a volatile type"
! msgstr "  %qT kein %<volatile%>-Typ ist"
  
  #: cp/constraint.cc:3349
! #, fuzzy, gcc-internal-format
! #| msgid "%q#D is not const"
  msgid "%qT is not consteval-only"
! msgstr "%q#D ist nicht konstant"
  
  #: cp/constraint.cc:3352
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT cannot yield a rank"
  msgid "%qT cannot yield a rank"
! msgstr "  %qT keinen Rang ergeben kann"
  
  #: cp/constraint.cc:3355
! #, fuzzy, gcc-internal-format
! #| msgid "%qs and %qs cannot both be enabled"
  msgid "%qT and %qT cannot be ordered"
! msgstr "%qs und %qs können nicht gleichzeitig eingeschaltet sein"
  
  #: cp/constraint.cc:3358
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not default constructible"
  msgid "%qT is not destructurable"
! msgstr "  %qT nicht mit dem Standardkonstruktor erzeugt werden kann"
  
  #: cp/constraint.cc:3361
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a reference that binds to a temporary object of type %qT (direct-initialization)"
  msgid "%qT is not a reference that binds to a temporary object of type %qT (direct-initialization)"
! msgstr "  %qT ist keine Referenz, die mit einem temporären Objekt vom Typ %qT verbunden ist (direct-initialization)"
  
  #: cp/constraint.cc:3365
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a reference that binds to a temporary object of type %qT (copy-initialization)"
  msgid "%qT is not a reference that binds to a temporary object of type %qT (copy-initialization)"
! msgstr "  %qT ist keine Referenz, die mit einem temporären Objekt vom Typ %qT verbunden ist (copy-initialization)"
  
  #: cp/constraint.cc:3369
! #, fuzzy, gcc-internal-format
! #| msgid "  %qD is not deducible from %qT"
  msgid "%qD is not deducible from %qT"
! msgstr "  %qD lässt sich nicht vom Typ %qT schlussfolgern"
  
  #: cp/constraint.cc:3436
  #, gcc-internal-format
--- 57657,57915 ----
  msgstr "%qT ist keine Basis von %qT"
  
  #: cp/constraint.cc:3189
! #, gcc-internal-format
  msgid "%qT is not a bounded array"
! msgstr "%qT ist kein begrenztes Array"
  
  #: cp/constraint.cc:3192
! #, gcc-internal-format
  msgid "%qT is not a class"
! msgstr "%qT ist keine Klasse"
  
  #: cp/constraint.cc:3195
! #, gcc-internal-format
  msgid "%qT is not a const type"
! msgstr "%qT ist kein const-Typ"
  
  #: cp/constraint.cc:3199
! #, gcc-internal-format
  msgid "%qT is not default constructible, because"
! msgstr "%qT kann nicht mit dem Standardkonstruktor erzeugt werden, denn"
  
  #: cp/constraint.cc:3201
! #, gcc-internal-format
  msgid "%qT is not constructible from %qT, because"
! msgstr "%qT ist nicht aus %qT konstruierbar, denn"
  
  #: cp/constraint.cc:3210
! #, gcc-internal-format
  msgid "%qT is not destructible, because"
! msgstr "%qT ist nicht zerstörbar, denn"
  
  #: cp/constraint.cc:3214
! #, gcc-internal-format
  msgid "%qT is not an empty class"
! msgstr "%qT ist keine leere Klasse"
  
  #: cp/constraint.cc:3217
! #, gcc-internal-format
  msgid "%qT is not an enum"
! msgstr "%qT ist keine Aufzählung"
  
  #: cp/constraint.cc:3220
! #, gcc-internal-format
  msgid "%qT is not a final class"
! msgstr "%qT ist keine finale Klasse"
  
  #: cp/constraint.cc:3223
! #, gcc-internal-format
  msgid "%qT is not a function"
! msgstr "%qT ist keine Funktion"
  
  #: cp/constraint.cc:3226
! #, gcc-internal-format
  msgid "%qT is not an implicit-lifetime type"
! msgstr "%qT ist kein Typ mit impliziter Lebenszeit"
  
  #: cp/constraint.cc:3231
! #, gcc-internal-format
  msgid "%qT is not invocable, because"
! msgstr "%qT ist nicht aufrufbar, denn"
  
  #: cp/constraint.cc:3233
! #, gcc-internal-format
  msgid "%qT is not invocable by %qT, because"
! msgstr "%qT ist nicht von %qT aufrufbar, denn"
  
  #: cp/constraint.cc:3238
! #, gcc-internal-format
  msgid "%qT is not layout compatible with %qT, because"
! msgstr "das Layout von %qT nicht zu %qT kompatibel, denn"
  
  #: cp/constraint.cc:3242
! #, gcc-internal-format
  msgid "%qT is not a literal type"
! msgstr "%qT ist kein literaler Typ"
  
  #: cp/constraint.cc:3245
! #, gcc-internal-format
  msgid "%qT is not a member function pointer"
! msgstr "%qT ist kein Member-Funktionszeiger"
  
  #: cp/constraint.cc:3248
! #, gcc-internal-format
  msgid "%qT is not a member object pointer"
! msgstr "%qT ist kein Member-Objektzeiger"
  
  #: cp/constraint.cc:3251
! #, gcc-internal-format
  msgid "%qT is not a member pointer"
! msgstr "%qT ist kein Member-Zeiger"
  
  #: cp/constraint.cc:3254
! #, gcc-internal-format
  msgid "%qT is not nothrow assignable from %qT, because"
! msgstr "%qT ist nicht per %<nothrow%> als Kopie von %qT zuweisbar, denn"
  
  #: cp/constraint.cc:3259
! #, gcc-internal-format
  msgid "%qT is not nothrow default constructible, because"
! msgstr "%qT ist nicht per %<nothrow%> mit dem Standardkonstruktor erzeugbar, denn"
  
  #: cp/constraint.cc:3261
! #, gcc-internal-format
  msgid "%qT is not nothrow constructible from %qT, because"
! msgstr "%qT ist nicht per %<nothrow%> von %qT erzeugbar, denn"
  
  #: cp/constraint.cc:3266
! #, gcc-internal-format
  msgid "%qT is not nothrow convertible from %qT, because"
! msgstr "%qT ist nicht per %<nothrow%> von %qT umwandelbar, denn"
  
  #: cp/constraint.cc:3270
! #, gcc-internal-format
  msgid "%qT is not nothrow destructible, because"
! msgstr "%qT ist nicht per %<nothrow%> zerstörbar, denn"
  
  #: cp/constraint.cc:3276
! #, gcc-internal-format
  msgid "%qT is not nothrow invocable, because"
! msgstr "%qT ist nicht mit %<nothrow%> aufrufbar, denn"
  
  #: cp/constraint.cc:3278
! #, gcc-internal-format
  msgid "%qT is not nothrow invocable by %qT, because"
! msgstr "%qT ist nicht mit %<nothrow%> von %qT aufrufbar, denn"
  
  #: cp/constraint.cc:3285
! #, gcc-internal-format
  msgid "%qT is not an object type"
! msgstr "%qT ist kein Objekttyp"
  
  #: cp/constraint.cc:3289
! #, gcc-internal-format
  msgid "%qT is not a pointer-interconvertible base of %qT, because"
! msgstr "%qT ist keine Zeiger-konvertierbare Basis von %qT, denn"
  
  #: cp/constraint.cc:3294
! #, gcc-internal-format
  msgid "%qT is not a POD type"
! msgstr "%qT ist kein POD-Typ"
  
  #: cp/constraint.cc:3297
! #, gcc-internal-format
  msgid "%qT is not a pointer"
! msgstr "%qT ist kein Zeiger"
  
  #: cp/constraint.cc:3300
! #, gcc-internal-format
  msgid "%qT is not a polymorphic type"
! msgstr "%qT ist kein polymorpher Typ"
  
  #: cp/constraint.cc:3303
! #, gcc-internal-format
  msgid "%qT is not a reference"
! msgstr "%qT ist keine Referenz"
  
  #: cp/constraint.cc:3306
! #, gcc-internal-format
  msgid "%q#T is not the same as %q#T"
! msgstr "%q#T ist nicht derselbe Typ wie %q#T"
  
  #: cp/constraint.cc:3309
! #, gcc-internal-format
  msgid "%qT is not a scoped enum"
! msgstr "%qT ist keine Aufzählung mit Gültigkeitsbereich"
  
  #: cp/constraint.cc:3312
! #, gcc-internal-format
  msgid "%qT is not a standard layout type"
! msgstr "%qT ist kein Typ mit Standardlayout"
  
  #: cp/constraint.cc:3315
! #, gcc-internal-format
  msgid "%qT is not a trivial type"
! msgstr "%qT ist kein trivialer Typ"
  
  #: cp/constraint.cc:3318
! #, gcc-internal-format
  msgid "%qT is not trivially assignable from %qT, because"
! msgstr "%qT ist nicht trivial von %qT zuweisbar, denn"
  
  #: cp/constraint.cc:3323
! #, gcc-internal-format
  msgid "%qT is not trivially default constructible, because"
! msgstr "%qT ist nicht trivial mit dem Standardkonstruktor erzeugbar, denn"
  
  #: cp/constraint.cc:3325
! #, gcc-internal-format
  msgid "%qT is not trivially constructible from %qT, because"
! msgstr "%qT ist nicht trivial von %qT erzeugbar, denn"
  
  #: cp/constraint.cc:3330 cp/tree.cc:5014
! #, gcc-internal-format
  msgid "%qT is not trivially copyable"
! msgstr "%qT ist nicht trivial kopierbar"
  
  #: cp/constraint.cc:3333
! #, gcc-internal-format
  msgid "%qT is not trivially destructible, because"
! msgstr "%qT ist nicht trivial zerstörbar, denn"
  
  #: cp/constraint.cc:3337
! #, gcc-internal-format
  msgid "%qT is not an unbounded array"
! msgstr "%qT ist kein unbegrenztes Array"
  
  #: cp/constraint.cc:3340
! #, gcc-internal-format
  msgid "%qT is not a union"
! msgstr "%qT ist kein Vereinigungstyp"
  
  #: cp/constraint.cc:3343
! #, gcc-internal-format
  msgid "%qT is not a virtual base of %qT"
! msgstr "%qT ist keine virtuelle Basis von %qT"
  
  #: cp/constraint.cc:3346
! #, gcc-internal-format
  msgid "%qT is not a volatile type"
! msgstr "%qT ist kein %<volatile%>-Typ"
  
  #: cp/constraint.cc:3349
! #, gcc-internal-format
  msgid "%qT is not consteval-only"
! msgstr "%qT ist nicht nur consteval"
  
  #: cp/constraint.cc:3352
! #, gcc-internal-format
  msgid "%qT cannot yield a rank"
! msgstr "%qT kann keinen Rang ergeben"
  
  #: cp/constraint.cc:3355
! #, gcc-internal-format
  msgid "%qT and %qT cannot be ordered"
! msgstr "%qT und %qT können nicht geordnet werden"
  
  #: cp/constraint.cc:3358
! #, gcc-internal-format
  msgid "%qT is not destructurable"
! msgstr "%qT ist nicht zerstörbar"
  
  #: cp/constraint.cc:3361
! #, gcc-internal-format
  msgid "%qT is not a reference that binds to a temporary object of type %qT (direct-initialization)"
! msgstr "%qT ist keine Referenz, die mit einem temporären Objekt vom Typ %qT verbunden ist (direct-initialization)"
  
  #: cp/constraint.cc:3365
! #, gcc-internal-format
  msgid "%qT is not a reference that binds to a temporary object of type %qT (copy-initialization)"
! msgstr "%qT ist keine Referenz, die mit einem temporären Objekt vom Typ %qT verbunden ist (copy-initialization)"
  
  #: cp/constraint.cc:3369
! #, gcc-internal-format
  msgid "%qD is not deducible from %qT"
! msgstr "%qD ist nicht schlussfolgerbar von %qT"
  
  #: cp/constraint.cc:3436
  #, gcc-internal-format
*************** msgid "set %qs to at least %d for more d
*** 58629,58638 ****
  msgstr "legen Sie %qs auf mindestens %d fest, um mehr Details zu sehen"
  
  #: cp/contracts.cc:183
! #, fuzzy, gcc-internal-format
! #| msgid "mismatched contract condition in declaration"
  msgid "mismatched contract specifier in declaration"
! msgstr "unpassende Vertragsbedingung in Deklaration"
  
  #: cp/contracts.cc:184 cp/contracts.cc:209
  #, gcc-internal-format
--- 57937,57945 ----
  msgstr "legen Sie %qs auf mindestens %d fest, um mehr Details zu sehen"
  
  #: cp/contracts.cc:183
! #, gcc-internal-format
  msgid "mismatched contract specifier in declaration"
! msgstr "unpassende Vertragsangabe in Deklaration"
  
  #: cp/contracts.cc:184 cp/contracts.cc:209
  #, gcc-internal-format
*************** msgid "declaration has a different numbe
*** 58650,58680 ****
  msgstr "Deklaration hat abweichende Anzahl von Verträgen gegenüber der vorherigen Deklaration"
  
  #: cp/contracts.cc:252
! #, fuzzy, gcc-internal-format
! #| msgid "original declaration with fewer contracts here"
  msgid "previous declaration with fewer contracts here"
! msgstr "ursprüngliche Deklaration mit weniger Verträgen ist hier"
  
  #: cp/contracts.cc:562
  #, gcc-internal-format
  msgid "a value parameter used in a postcondition must be const"
! msgstr ""
  
  #: cp/contracts.cc:563 cp/contracts.cc:1039
! #, fuzzy, gcc-internal-format
! #| msgid "redeclared here"
  msgid "parameter declared here"
! msgstr "hier erneut deklariert"
  
  #: cp/contracts.cc:593
  #, gcc-internal-format
  msgid "value parameter %qE used in a postcondition must be const"
! msgstr ""
  
  #: cp/contracts.cc:1036
  #, gcc-internal-format
  msgid "contract postcondition result name shadows a function parameter"
! msgstr ""
  
  #: cp/contracts.cc:1660
  #, gcc-internal-format
--- 57957,57985 ----
  msgstr "Deklaration hat abweichende Anzahl von Verträgen gegenüber der vorherigen Deklaration"
  
  #: cp/contracts.cc:252
! #, gcc-internal-format
  msgid "previous declaration with fewer contracts here"
! msgstr "vorherige Deklaration mit weniger Verträgen ist hier"
  
  #: cp/contracts.cc:562
  #, gcc-internal-format
  msgid "a value parameter used in a postcondition must be const"
! msgstr "ein Wertparameter, der in einer Nachbedingung verwendet wird, muss const sein"
  
  #: cp/contracts.cc:563 cp/contracts.cc:1039
! #, gcc-internal-format
  msgid "parameter declared here"
! msgstr "der Parameter ist hier deklariert"
  
  #: cp/contracts.cc:593
  #, gcc-internal-format
  msgid "value parameter %qE used in a postcondition must be const"
! msgstr "der Wertparameter %qE wird in einer Nachbedingung verwendet und muss daher const sein"
  
  #: cp/contracts.cc:1036
  #, gcc-internal-format
  msgid "contract postcondition result name shadows a function parameter"
! msgstr "der Name des Ergebnisses der Nachbedingung des Vertrags verdeckt einen Funktionsparameter"
  
  #: cp/contracts.cc:1660
  #, gcc-internal-format
*************** msgid "declaration adds contracts to %q#
*** 58682,58691 ****
  msgstr "Deklaration fügt Verträge zu %q#D hinzu"
  
  #: cp/contracts.cc:1661
! #, fuzzy, gcc-internal-format
! #| msgid " declared here"
  msgid "first declared here"
! msgstr " hier deklariert"
  
  #: cp/contracts.cc:1922
  #, gcc-internal-format
--- 57987,57995 ----
  msgstr "Deklaration fügt Verträge zu %q#D hinzu"
  
  #: cp/contracts.cc:1661
! #, gcc-internal-format
  msgid "first declared here"
! msgstr "hier zuerst deklariert"
  
  #: cp/contracts.cc:1922
  #, gcc-internal-format
*************** msgid "%qD was promoted to an immediate
*** 58936,58945 ****
  msgstr "%qD wurde zu einer unmittelbaren Funktion befördert"
  
  #: cp/cp-gimplify.cc:978
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not a constant expression"
  msgid "%qs used outside of constant expressions"
! msgstr "%qE ist kein Konstantenausdruck"
  
  #: cp/cp-gimplify.cc:1291
  #, gcc-internal-format
--- 58240,58248 ----
  msgstr "%qD wurde zu einer unmittelbaren Funktion befördert"
  
  #: cp/cp-gimplify.cc:978
! #, gcc-internal-format
  msgid "%qs used outside of constant expressions"
! msgstr "%qs wird außerhalb von konstanten Ausdrücken verwendet"
  
  #: cp/cp-gimplify.cc:1291
  #, gcc-internal-format
*************** msgstr "ursprüngliche Definition trat h
*** 59475,59487 ****
  #: cp/decl.cc:1811
  #, gcc-internal-format
  msgid "%<indeterminate%> attribute not specified for parameter %qD on the first declaration of its function"
! msgstr ""
  
  #: cp/decl.cc:1813
! #, fuzzy, gcc-internal-format
! #| msgid "attribute declaration"
  msgid "earlier declaration"
! msgstr "Attribut-Deklaration"
  
  #: cp/decl.cc:1951
  #, gcc-internal-format
--- 58778,58789 ----
  #: cp/decl.cc:1811
  #, gcc-internal-format
  msgid "%<indeterminate%> attribute not specified for parameter %qD on the first declaration of its function"
! msgstr "das Attribut %<indeterminate%> wurde für den Parameter %qD bei der ersten Deklaration seiner Funktion nicht angegeben"
  
  #: cp/decl.cc:1813
! #, gcc-internal-format
  msgid "earlier declaration"
! msgstr "vorherige Deklaration"
  
  #: cp/decl.cc:1951
  #, gcc-internal-format
*************** msgid "  skips initialization of %q#D"
*** 59860,59869 ****
  msgstr "  überspringt Initialisierung von %q#D"
  
  #: cp/decl.cc:4869
! #, fuzzy, gcc-internal-format
! #| msgid "  enters %<constexpr if%> statement"
  msgid "  enters %<template for%> statement"
! msgstr "  betritt %<constexpr if%>-Anweisung"
  
  #: cp/decl.cc:5060 cp/parser.cc:8110
  #, gcc-internal-format
--- 59162,59170 ----
  msgstr "  überspringt Initialisierung von %q#D"
  
  #: cp/decl.cc:4869
! #, gcc-internal-format
  msgid "  enters %<template for%> statement"
! msgstr "  betritt %<template for%>-Anweisung"
  
  #: cp/decl.cc:5060 cp/parser.cc:8110
  #, gcc-internal-format
*************** msgstr "typedef %qD ist initialisiert (s
*** 60095,60101 ****
  #: cp/decl.cc:6591
  #, gcc-internal-format
  msgid "postconditions with deduced result name types must only appear on function definitions"
! msgstr ""
  
  #: cp/decl.cc:6603
  #, gcc-internal-format
--- 59396,59402 ----
  #: cp/decl.cc:6591
  #, gcc-internal-format
  msgid "postconditions with deduced result name types must only appear on function definitions"
! msgstr "Nachbedingungen mit abgeleiteten Ergebnistypen dürfen nur in Funktionsdefinitionen vorkommen"
  
  #: cp/decl.cc:6603
  #, gcc-internal-format
*************** msgid "%<constinit%> can only be applied
*** 60473,60482 ****
  msgstr "Attribut %<constinit%> kann nur für Variablen verwendet werden, die »static« oder threadlokel sind"
  
  #: cp/decl.cc:9847
! #, fuzzy, gcc-internal-format
! #| msgid "structured bindings only available with %<-std=c++17%> or %<-std=gnu++17%>"
  msgid "%<constinit%> can be applied to structured binding only with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "strukturierte Bindungen sind nur mit %<-std=c++17%> oder %<-std=gnu++17%> verfügbar"
  
  #: cp/decl.cc:10064
  #, gcc-internal-format
--- 59774,59782 ----
  msgstr "Attribut %<constinit%> kann nur für Variablen verwendet werden, die »static« oder threadlokel sind"
  
  #: cp/decl.cc:9847
! #, gcc-internal-format
  msgid "%<constinit%> can be applied to structured binding only with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "%<constinit%> kann erst ab %<-std=c++2c%> oder %<-std=gnu++2c%> auf strukturierte Bindungen angewendet werden"
  
  #: cp/decl.cc:10064
  #, gcc-internal-format
*************** msgid "structured binding refers to inco
*** 60529,60538 ****
  msgstr "Strukturierte Bindung verweist auf unvollständigen Typen %qT"
  
  #: cp/decl.cc:10588
! #, fuzzy, gcc-internal-format
! #| msgid "cannot value-initialize array of unknown bound %qT"
  msgid "cannot decompose array of unknown bound %qT"
! msgstr "Feld mit unbekannter Grenze %qT kann nicht mit Werten initialisiert werden"
  
  #: cp/decl.cc:10598 cp/decl.cc:10774
  #, gcc-internal-format
--- 59829,59837 ----
  msgstr "Strukturierte Bindung verweist auf unvollständigen Typen %qT"
  
  #: cp/decl.cc:10588
! #, gcc-internal-format
  msgid "cannot decompose array of unknown bound %qT"
! msgstr "Array mit unbekannter Grenze %qT kann nicht in Komponenten zerlegt werden"
  
  #: cp/decl.cc:10598 cp/decl.cc:10774
  #, gcc-internal-format
*************** msgid "while %qT decomposes into %E elem
*** 60596,60611 ****
  msgstr "während %qT in %E Elemente zerlegt wird"
  
  #: cp/decl.cc:10998 cp/decl.cc:11044
! #, fuzzy, gcc-internal-format
! #| msgid "%<std::tuple_element<%u, %T>::type%> is %<void%>"
  msgid "%<std::tuple_element<%wu, %T>::type%> is %<void%>"
! msgstr "%<std::tuple_element<%u, %T>::type%> ist %<void%>"
  
  #: cp/decl.cc:11004
! #, fuzzy, gcc-internal-format
! #| msgid "in initialization of structured binding variable %qD"
  msgid "in initialization of structured binding pack %qD"
! msgstr "in Initialisierung der Variable %qD für strukturierte Bindung"
  
  #: cp/decl.cc:11050
  #, gcc-internal-format
--- 59895,59908 ----
  msgstr "während %qT in %E Elemente zerlegt wird"
  
  #: cp/decl.cc:10998 cp/decl.cc:11044
! #, gcc-internal-format
  msgid "%<std::tuple_element<%wu, %T>::type%> is %<void%>"
! msgstr "%<std::tuple_element<%wu, %T>::type%> ist %<void%>"
  
  #: cp/decl.cc:11004
! #, gcc-internal-format
  msgid "in initialization of structured binding pack %qD"
! msgstr "in Initialisierung der Packung %qD für strukturierte Bindung"
  
  #: cp/decl.cc:11050
  #, gcc-internal-format
*************** msgid "cannot declare %<::main%> to be s
*** 60799,60808 ****
  msgstr "%<::main%> kann nicht statisch deklariert werden"
  
  #: cp/decl.cc:12369
! #, fuzzy, gcc-internal-format
! #| msgid "cannot declare %<::main%> with a linkage specification"
  msgid "cannot declare %<::main%> with a linkage specification other than %<extern \"C++\"%>"
! msgstr "%<::main%> kann nicht mit einer Bindungsangabe deklariert werden"
  
  #: cp/decl.cc:12374
  #, gcc-internal-format
--- 60096,60104 ----
  msgstr "%<::main%> kann nicht statisch deklariert werden"
  
  #: cp/decl.cc:12369
! #, gcc-internal-format
  msgid "cannot declare %<::main%> with a linkage specification other than %<extern \"C++\"%>"
! msgstr "%<::main%> kann nur mit der Bindungsangabe %<extern \"C++\"%> deklariert werden"
  
  #: cp/decl.cc:12374
  #, gcc-internal-format
*************** msgstr "%<::main%> kann nicht an ein ben
*** 60812,60818 ****
  #: cp/decl.cc:12375
  #, gcc-internal-format
  msgid "use %<extern \"C++\"%> to attach it to the global module instead"
! msgstr ""
  
  #: cp/decl.cc:12436
  #, gcc-internal-format
--- 60108,60114 ----
  #: cp/decl.cc:12375
  #, gcc-internal-format
  msgid "use %<extern \"C++\"%> to attach it to the global module instead"
! msgstr "verwenden Sie %<extern \"C++\"%>, um es stattdessen an das globale Modul anzuhängen"
  
  #: cp/decl.cc:12436
  #, gcc-internal-format
*************** msgstr "»inline«-Variablen sind nur mi
*** 61172,61195 ****
  #: cp/decl.cc:13719
  #, gcc-internal-format
  msgid "anonymous non-C-compatible type given name for linkage purposes by %<typedef%> declaration"
! msgstr ""
  
  #: cp/decl.cc:13735
! #, fuzzy, gcc-internal-format
! #| msgid "type is not compatible with its variant"
  msgid "type is not C-compatible because it has a base class"
! msgstr "Interner Compilerfehler: type is not compatible with its variant"
  
  #: cp/decl.cc:13750
  #, gcc-internal-format
  msgid "type is not C-compatible because %qD has default member initializer"
! msgstr ""
  
  #: cp/decl.cc:13780
! #, fuzzy, gcc-internal-format
! #| msgid "type is not compatible with its variant"
  msgid "type is not C-compatible because it contains %qD declaration"
! msgstr "Interner Compilerfehler: type is not compatible with its variant"
  
  #: cp/decl.cc:13841
  #, gcc-internal-format
--- 60468,60489 ----
  #: cp/decl.cc:13719
  #, gcc-internal-format
  msgid "anonymous non-C-compatible type given name for linkage purposes by %<typedef%> declaration"
! msgstr "anonymer, nicht C-kompatibler Typ, der durch die Deklaration %<typedef%> einen Namen für Bindungszwecke erhält"
  
  #: cp/decl.cc:13735
! #, gcc-internal-format
  msgid "type is not C-compatible because it has a base class"
! msgstr "der Typ ist nicht C-kompatibel, da er eine Basisklasse hat"
  
  #: cp/decl.cc:13750
  #, gcc-internal-format
  msgid "type is not C-compatible because %qD has default member initializer"
! msgstr "der Typ ist nicht C-kompatibel, da %qD einen Standard-Member-Initialisierer hat"
  
  #: cp/decl.cc:13780
! #, gcc-internal-format
  msgid "type is not C-compatible because it contains %qD declaration"
! msgstr "der Typ ist nicht C-kompatibel, da er die Deklaration %qD enthält"
  
  #: cp/decl.cc:13841
  #, gcc-internal-format
*************** msgid "structured binding declaration ca
*** 61372,61381 ****
  msgstr "Deklaration für strukturierte Bindung darf nicht als %qs deklariert werden"
  
  #: cp/decl.cc:14771
! #, fuzzy, gcc-internal-format
! #| msgid "structured binding declaration can be %qs only in %<-std=c++20%> or %<-std=gnu++20%>"
  msgid "structured binding declaration can be %qs only with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "strukturierte Bindungsdeklarationen können erst ab %<-std=c++20%> oder %<-std=gnu++20%> %qs sein"
  
  #: cp/decl.cc:14778 cp/decl.cc:14803
  #, gcc-internal-format
--- 60666,60674 ----
  msgstr "Deklaration für strukturierte Bindung darf nicht als %qs deklariert werden"
  
  #: cp/decl.cc:14771
! #, gcc-internal-format
  msgid "structured binding declaration can be %qs only with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "strukturierte Bindungsdeklarationen können erst ab %<-std=c++2c%> oder %<-std=gnu++2c%> %qs sein"
  
  #: cp/decl.cc:14778 cp/decl.cc:14803
  #, gcc-internal-format
*************** msgstr "nur einfacher Rückgabetyp %<aut
*** 62506,62512 ****
  #: cp/decl.cc:20553
  #, gcc-internal-format
  msgid "defining %qD, which previously failed to be deduced in a SFINAE context"
! msgstr ""
  
  #: cp/decl.cc:20611
  #, gcc-internal-format
--- 61799,61805 ----
  #: cp/decl.cc:20553
  #, gcc-internal-format
  msgid "defining %qD, which previously failed to be deduced in a SFINAE context"
! msgstr "Definition von %qD, das zuvor in einem SFINAE-Kontext nicht abgeleitet werden konnte"
  
  #: cp/decl.cc:20611
  #, gcc-internal-format
*************** msgid "template declaration of %q#D"
*** 62584,62599 ****
  msgstr "Templatedeklaration von %q#D"
  
  #: cp/decl2.cc:936
- #, fuzzy
- #| msgid "parameter %P of %qD has incomplete type %qT"
  msgid "parameter %P of candidate has type %e..."
! msgstr "Parameter %P von %qD hat unvollständigen Typen %qT"
  
  #: cp/decl2.cc:946
- #, fuzzy
- #| msgid "%qE does not name a type"
  msgid "...which does not match type %e"
! msgstr "%qE bezeichnet keinen Typ"
  
  #: cp/decl2.cc:1013
  #, gcc-internal-format
--- 61877,61888 ----
  msgstr "Templatedeklaration von %q#D"
  
  #: cp/decl2.cc:936
  msgid "parameter %P of candidate has type %e..."
! msgstr "Parameter %P des Kandidaten hat Typen %e,"
  
  #: cp/decl2.cc:946
  msgid "...which does not match type %e"
! msgstr "der nicht zum Typ %e passt"
  
  #: cp/decl2.cc:1013
  #, gcc-internal-format
*************** msgid "In function %qD"
*** 63011,63086 ****
  msgstr "In Funktion %qD"
  
  #: cp/error.cc:3992
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not a type"
  msgid "but %qE is a type"
! msgstr "%qE ist kein Typ"
  
  #: cp/error.cc:3994
! #, fuzzy, gcc-internal-format
! #| msgid "type %qs is not an expression"
  msgid "but %qE is an expression"
! msgstr "Typ %qs ist kein Ausdruck"
  
  #: cp/error.cc:3996
! #, fuzzy, gcc-internal-format
! #| msgid "<structured bindings>"
  msgid "but %qE is a structured binding"
! msgstr "<strukturierte Bindungen>"
  
  #: cp/error.cc:3998
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is unavailable"
  msgid "but %qE is a variable"
! msgstr "%qE ist nicht verfügbar"
  
  #: cp/error.cc:4000
! #, fuzzy, gcc-internal-format
! #| msgid "function parameter"
  msgid "but %qE is a parameter"
! msgstr "Funktionsparameter"
  
  #: cp/error.cc:4002
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a function"
  msgid "but %qE is a function"
! msgstr "  %qT keine Funktion ist"
  
  #: cp/error.cc:4004
! #, fuzzy, gcc-internal-format
! #| msgid "%qD is not a static data member"
  msgid "but %qE is a data member"
! msgstr "%qD ist kein %<static%>-Datenelement"
  
  #: cp/error.cc:4006
! #, fuzzy, gcc-internal-format
! #| msgid "%qD is not a function template"
  msgid "but %qE is a function template"
! msgstr "%qD ist kein Funktionstemplate"
  
  #: cp/error.cc:4008
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not a class template"
  msgid "but %qE is a class template"
! msgstr "%qE ist kein Klassentemplate"
  
  #: cp/error.cc:4010
! #, fuzzy, gcc-internal-format
! #| msgid "%qD is a namespace"
  msgid "but %qE is a namespace"
! msgstr "%qD ist ein Namensbereich"
  
  #: cp/error.cc:4012
! #, fuzzy, gcc-internal-format
! #| msgid "%qD is an enumeration template"
  msgid "but %qE is an enumerator"
! msgstr "%qD ist ein Aufzählungstemplate"
  
  #: cp/error.cc:4040
! #, fuzzy, gcc-internal-format
! #| msgid "%s%s%sIn instantiation of %q#D:\n"
  msgid "%s%s%sIn instantiation of %<template for%> iteration %E:\n"
! msgstr "%s%s%sIn Instanziierung von %q#D:\n"
  
  #: cp/error.cc:4043
  msgid "%s%s%sIn substitution of %qS:\n"
--- 62300,62363 ----
  msgstr "In Funktion %qD"
  
  #: cp/error.cc:3992
! #, gcc-internal-format
  msgid "but %qE is a type"
! msgstr "aber %qE ist ein Typ"
  
  #: cp/error.cc:3994
! #, gcc-internal-format
  msgid "but %qE is an expression"
! msgstr "aber %qE ist ein Ausdruck"
  
  #: cp/error.cc:3996
! #, gcc-internal-format
  msgid "but %qE is a structured binding"
! msgstr "aber %qE ist eine strukturierte Bindung"
  
  #: cp/error.cc:3998
! #, gcc-internal-format
  msgid "but %qE is a variable"
! msgstr "aber %qE ist eine Variable"
  
  #: cp/error.cc:4000
! #, gcc-internal-format
  msgid "but %qE is a parameter"
! msgstr "aber %qE ist ein Parameter"
  
  #: cp/error.cc:4002
! #, gcc-internal-format
  msgid "but %qE is a function"
! msgstr "aber %qE ist eine Funktion"
  
  #: cp/error.cc:4004
! #, gcc-internal-format
  msgid "but %qE is a data member"
! msgstr "aber %qE ist ein Datenmember"
  
  #: cp/error.cc:4006
! #, gcc-internal-format
  msgid "but %qE is a function template"
! msgstr "aber %qE ist ein Funktionstemplate"
  
  #: cp/error.cc:4008
! #, gcc-internal-format
  msgid "but %qE is a class template"
! msgstr "aber %qE ist ein Klassentemplate"
  
  #: cp/error.cc:4010
! #, gcc-internal-format
  msgid "but %qE is a namespace"
! msgstr "aber %qE ist ein Namensraum"
  
  #: cp/error.cc:4012
! #, gcc-internal-format
  msgid "but %qE is an enumerator"
! msgstr "aber %qE ist ein Aufzählungstyp"
  
  #: cp/error.cc:4040
! #, gcc-internal-format
  msgid "%s%s%sIn instantiation of %<template for%> iteration %E:\n"
! msgstr "%s%s%sIn Instanziierung von %<template for%>-Iteration %E:\n"
  
  #: cp/error.cc:4043
  msgid "%s%s%sIn substitution of %qS:\n"
*************** msgid "%r%s:%d:%R   "
*** 63100,63115 ****
  msgstr "%r%s:%d:%R   "
  
  #: cp/error.cc:4173
! #, fuzzy, gcc-internal-format
! #| msgid "recursively required from here\n"
  msgid "recursively required from %<template for%> iteration %E\n"
! msgstr "rekursiv erfordert von hier\n"
  
  #: cp/error.cc:4175
! #, fuzzy, gcc-internal-format
! #| msgid "required for the satisfaction of %qE"
  msgid "required from %<template for%> iteration %E\n"
! msgstr "erforderlich, um %qE zu erfüllen"
  
  #: cp/error.cc:4180
  msgid "recursively required by substitution of %qS\n"
--- 62377,62390 ----
  msgstr "%r%s:%d:%R   "
  
  #: cp/error.cc:4173
! #, gcc-internal-format
  msgid "recursively required from %<template for%> iteration %E\n"
! msgstr "rekursiv erfordert von %<template for%>-Iteration %E\n"
  
  #: cp/error.cc:4175
! #, gcc-internal-format
  msgid "required from %<template for%> iteration %E\n"
! msgstr "erfordert von %<template for%>-Iteration %E\n"
  
  #: cp/error.cc:4180
  msgid "recursively required by substitution of %qS\n"
*************** msgid "but %qD does not throw; perhaps i
*** 63356,63371 ****
  msgstr "aber %qD wirft nicht; vielleicht sollte sie als %<noexcept%> deklariert werden"
  
  #: cp/except.cc:1230
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not %<noexcept%>"
  msgid "%qD is not %<noexcept%>"
! msgstr "%qE ist nicht %<noexcept%>"
  
  #: cp/except.cc:1232
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not %<noexcept%>"
  msgid "%qT is not %<noexcept%>"
! msgstr "%qE ist nicht %<noexcept%>"
  
  #: cp/expr.cc:244
  #, gcc-internal-format
--- 62631,62644 ----
  msgstr "aber %qD wirft nicht; vielleicht sollte sie als %<noexcept%> deklariert werden"
  
  #: cp/except.cc:1230
! #, gcc-internal-format
  msgid "%qD is not %<noexcept%>"
! msgstr "%qD ist nicht %<noexcept%>"
  
  #: cp/except.cc:1232
! #, gcc-internal-format
  msgid "%qT is not %<noexcept%>"
! msgstr "%qT ist nicht %<noexcept%>"
  
  #: cp/expr.cc:244
  #, gcc-internal-format
*************** msgstr "der gemangelte Name von %qT änd
*** 63928,63934 ****
  #: cp/lambda.cc:1942
  #, gcc-internal-format
  msgid "%qD is no longer captured in noexcept lambda in ABI v21 (GCC 16)"
! msgstr ""
  
  #: cp/lex.cc:701
  #, gcc-internal-format
--- 63201,63207 ----
  #: cp/lambda.cc:1942
  #, gcc-internal-format
  msgid "%qD is no longer captured in noexcept lambda in ABI v21 (GCC 16)"
! msgstr "%qD wird in ABI v21 (GCC 16) nicht mehr in noexcept-Lambda festgehalten."
  
  #: cp/lex.cc:701
  #, gcc-internal-format
*************** msgid "synthesized method %qD first requ
*** 64176,64185 ****
  msgstr "erzeugte Methode %qD zuerst hier erfordert"
  
  #: cp/method.cc:1951
! #, fuzzy, gcc-internal-format
! #| msgid "cannot declare pointer to qualified function type %qT"
  msgid "object cannot have qualified function type %qT"
! msgstr "Zeiger auf qualifizierten Funktionstypen %qT kann nicht deklariert werden"
  
  #: cp/method.cc:1998
  #, gcc-internal-format
--- 63449,63457 ----
  msgstr "erzeugte Methode %qD zuerst hier erfordert"
  
  #: cp/method.cc:1951
! #, gcc-internal-format
  msgid "object cannot have qualified function type %qT"
! msgstr "Objekt kann keinen qualifizierten Funktionstyp %qT haben"
  
  #: cp/method.cc:1998
  #, gcc-internal-format
*************** msgid "first argument type %qT of a poin
*** 64197,64250 ****
  msgstr "das erste Argument %qT eines Zeigers auf einen Member muss ein Klassentyp oder ein Zeiger auf einen Klassentyp sein"
  
  #: cp/method.cc:2319 cp/method.cc:2364
! #, fuzzy, gcc-internal-format
! #| msgid "too many initializers for %qT"
  msgid "too many initializers for non-class type %qT"
! msgstr "zu viele Initialisierer für %qT"
  
  #. The message may have been suppressed due to -w + -fpermissive,
  #. emit a generic response instead.
  #: cp/method.cc:2374
! #, fuzzy, gcc-internal-format
! #| msgid "the required expression %qE is invalid"
  msgid "the conversion is invalid"
! msgstr "der erforderliche Ausdruck %qE ist ungültig"
  
  #: cp/method.cc:2399 cp/method.cc:2435
! #, fuzzy, gcc-internal-format
! #| msgid "class type %qT is incomplete"
  msgid "%qT is incomplete"
! msgstr "Klassentyp %qT ist unvollständig"
  
  #: cp/method.cc:2416
! #, fuzzy, gcc-internal-format
! #| msgid "%qT is not a class type"
  msgid "%qT is not a class or scalar type"
! msgstr "%qT ist kein Klassentyp"
  
  #: cp/method.cc:2443
! #, fuzzy, gcc-internal-format
! #| msgid "ISO C forbids qualified function types"
  msgid "%qT is a qualified function type"
! msgstr "ISO-C verbietet qualifizierte Funktionstypen"
  
  #: cp/method.cc:2455
! #, fuzzy, gcc-internal-format
! #| msgid "cannot value-initialize array of unknown bound %qT"
  msgid "cannot construct an array of unknown bound"
! msgstr "Feld mit unbekannter Grenze %qT kann nicht mit Werten initialisiert werden"
  
  #: cp/method.cc:2478
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not initialized"
  msgid "%qE is non-trivial"
! msgstr "%qE ist nicht initialisiert"
  
  #: cp/method.cc:2565
! #, fuzzy, gcc-internal-format
! #| msgid "%qD is a function, not a type"
  msgid "%qT is a function type"
! msgstr "%qD ist eine Funktion, kein Typ"
  
  #: cp/method.cc:2654
  #, gcc-internal-format
--- 63469,63514 ----
  msgstr "das erste Argument %qT eines Zeigers auf einen Member muss ein Klassentyp oder ein Zeiger auf einen Klassentyp sein"
  
  #: cp/method.cc:2319 cp/method.cc:2364
! #, gcc-internal-format
  msgid "too many initializers for non-class type %qT"
! msgstr "zu viele Initialisierer für Nicht-Klassentypen %qT"
  
  #. The message may have been suppressed due to -w + -fpermissive,
  #. emit a generic response instead.
  #: cp/method.cc:2374
! #, gcc-internal-format
  msgid "the conversion is invalid"
! msgstr "die Konvertierung ist ungültig"
  
  #: cp/method.cc:2399 cp/method.cc:2435
! #, gcc-internal-format
  msgid "%qT is incomplete"
! msgstr "%qT ist unvollständig"
  
  #: cp/method.cc:2416
! #, gcc-internal-format
  msgid "%qT is not a class or scalar type"
! msgstr "%qT ist weder Klassen- noch Skalartyp"
  
  #: cp/method.cc:2443
! #, gcc-internal-format
  msgid "%qT is a qualified function type"
! msgstr "%qT ist ein qualifizierter Funktionstyp"
  
  #: cp/method.cc:2455
! #, gcc-internal-format
  msgid "cannot construct an array of unknown bound"
! msgstr "Feld mit unbekannter Grenze kann nicht erzeugt werden"
  
  #: cp/method.cc:2478
! #, gcc-internal-format
  msgid "%qE is non-trivial"
! msgstr "%qE ist nichttrivial"
  
  #: cp/method.cc:2565
! #, gcc-internal-format
  msgid "%qT is a function type"
! msgstr "%qT ist ein Funktionstyp"
  
  #: cp/method.cc:2654
  #, gcc-internal-format
*************** msgid "%q#F is implicitly deleted becaus
*** 64317,64326 ****
  msgstr "%q#F wird implizit gelöscht, da ihre Ausnahme-Spezifikation nicht zur impliziten Ausnahme-Spezifikation %qX passt"
  
  #: cp/method.cc:3689
! #, fuzzy, gcc-internal-format
! #| msgid "friend declaration %qD is not visible to explicit specialization"
  msgid "defaulted declaration %q+D does not match the expected signature"
! msgstr "»friend«-Deklaration %qD ist für explizite Spezialisierung nicht sichtbar"
  
  #: cp/method.cc:3691 cp/method.cc:3736
  #, gcc-internal-format
--- 63581,63589 ----
  msgstr "%q#F wird implizit gelöscht, da ihre Ausnahme-Spezifikation nicht zur impliziten Ausnahme-Spezifikation %qX passt"
  
  #: cp/method.cc:3689
! #, gcc-internal-format
  msgid "defaulted declaration %q+D does not match the expected signature"
! msgstr "Default-Deklaration %q+D passt nicht zur erwarteten Signatur"
  
  #: cp/method.cc:3691 cp/method.cc:3736
  #, gcc-internal-format
*************** msgstr "%qD macht die TU-lokale Entität
*** 64591,64603 ****
  #: cp/module.cc:15842
  #, gcc-internal-format
  msgid "%qD is also TU-local but has been exposed elsewhere"
! msgstr ""
  
  #: cp/module.cc:15895
! #, fuzzy, gcc-internal-format
! #| msgid "%qD refers to TU-local entity %qD and cannot be instantiated in other TUs"
  msgid "%qD refers to TU-local entity %qD, which may cause issues when instantiating in other TUs"
! msgstr "%qD bezieht sich auf die TU-lokale Entität %qD und kann nicht in anderen TUs instanziiert werden"
  
  #: cp/module.cc:15905
  #, gcc-internal-format
--- 63854,63865 ----
  #: cp/module.cc:15842
  #, gcc-internal-format
  msgid "%qD is also TU-local but has been exposed elsewhere"
! msgstr "%qD ist ebenfalls TU-lokal, wurde jedoch an anderer Stelle offengelegt"
  
  #: cp/module.cc:15895
! #, gcc-internal-format
  msgid "%qD refers to TU-local entity %qD, which may cause issues when instantiating in other TUs"
! msgstr "%qD bezieht sich auf die TU-lokale Entität %qD und kann dadurch in anderen TUs zu Problemen führen"
  
  #: cp/module.cc:15905
  #, gcc-internal-format
*************** msgid "recursive lazy load"
*** 64620,64629 ****
  msgstr "rekursives verzögertes Laden"
  
  #: cp/module.cc:16619
! #, fuzzy, gcc-internal-format
! #| msgid "module %qs declared here"
  msgid "module %qs depends on itself"
! msgstr "das Modul %qs ist hier deklariert"
  
  #: cp/module.cc:16621 cp/module.cc:22712
  #, gcc-internal-format
--- 63882,63890 ----
  msgstr "rekursives verzögertes Laden"
  
  #: cp/module.cc:16619
! #, gcc-internal-format
  msgid "module %qs depends on itself"
! msgstr "das Modul %qs hat sich selbst als Abhängigkeit"
  
  #: cp/module.cc:16621 cp/module.cc:22712
  #, gcc-internal-format
*************** msgid "during load of pendings for %<%E%
*** 64863,64878 ****
  msgstr "beim Laden der ausstehenden Einheiten für %<%E%s%E%>"
  
  #: cp/module.cc:22659
! #, fuzzy, gcc-internal-format
! #| msgid "method definition not in @implementation context"
  msgid "import of %qs within its own implementation unit"
! msgstr "Methodendefinition nicht im @implementation-Kontext"
  
  #: cp/module.cc:22661
! #, fuzzy, gcc-internal-format
! #| msgid "module %qs declared here"
  msgid "module declared here"
! msgstr "das Modul %qs ist hier deklariert"
  
  #. Only header units should appear inside language
  #. specifications.  The std doesn't specify this, but I think
--- 64124,64137 ----
  msgstr "beim Laden der ausstehenden Einheiten für %<%E%s%E%>"
  
  #: cp/module.cc:22659
! #, gcc-internal-format
  msgid "import of %qs within its own implementation unit"
! msgstr "Import von %qs innerhalb seiner eigenen Implementierungseinheit"
  
  #: cp/module.cc:22661
! #, gcc-internal-format
  msgid "module declared here"
! msgstr "das Modul ist hier deklariert"
  
  #. Only header units should appear inside language
  #. specifications.  The std doesn't specify this, but I think
*************** msgstr "%<include %s%> wurde übersetzt
*** 64924,64930 ****
  #: cp/module.cc:23073
  #, gcc-internal-format
  msgid "import of %qs failed, falling back to include"
! msgstr ""
  
  #: cp/module.cc:23074
  #, gcc-internal-format
--- 64183,64189 ----
  #: cp/module.cc:23073
  #, gcc-internal-format
  msgid "import of %qs failed, falling back to include"
! msgstr "Import von %qs fehlgeschlagen, Rückfall auf Include"
  
  #: cp/module.cc:23074
  #, gcc-internal-format
*************** msgstr "unbekannte Header-Art %qs"
*** 64989,65001 ****
  #: cp/name-lookup.cc:1337
  #, gcc-internal-format
  msgid "overload set for argument-dependent lookup of %<%D::%D%> in module %qs contains TU-local entities"
! msgstr ""
  
  #: cp/name-lookup.cc:1349
! #, fuzzy, gcc-internal-format
! #| msgid "%q#D declared here with internal linkage"
  msgid "ignoring %qD declared here with internal linkage"
! msgstr "%q#D wird hier mit interner Bindung deklariert"
  
  #: cp/name-lookup.cc:2956 cp/name-lookup.cc:4076 cp/name-lookup.cc:4176
  #, gcc-internal-format
--- 64248,64259 ----
  #: cp/name-lookup.cc:1337
  #, gcc-internal-format
  msgid "overload set for argument-dependent lookup of %<%D::%D%> in module %qs contains TU-local entities"
! msgstr "die Menge der Überladungen für argumentabhängige Suche von %<%D::%D%> im Modul %qs enthält TU-lokale Entitäten"
  
  #: cp/name-lookup.cc:1349
! #, gcc-internal-format
  msgid "ignoring %qD declared here with internal linkage"
! msgstr "%qD wird ignoriert, es wurde hier mit interner Bindung deklariert"
  
  #: cp/name-lookup.cc:2956 cp/name-lookup.cc:4076 cp/name-lookup.cc:4176
  #, gcc-internal-format
*************** msgid "%<omp::%E%> not allowed to be spe
*** 65241,65250 ****
  msgstr "%<omp::%E%> darf in diesem Kontext nicht angegeben werden"
  
  #: cp/name-lookup.cc:9212
! #, fuzzy, gcc-internal-format
! #| msgid "unterminated quoting directive"
  msgid "annotation on using directive"
! msgstr "unbeendete q-Direktive"
  
  #. We only allow depth 255.
  #: cp/name-lookup.cc:9300
--- 64499,64507 ----
  msgstr "%<omp::%E%> darf in diesem Kontext nicht angegeben werden"
  
  #: cp/name-lookup.cc:9212
! #, gcc-internal-format
  msgid "annotation on using directive"
! msgstr "Annotation an einer »using«-Direktive"
  
  #. We only allow depth 255.
  #: cp/name-lookup.cc:9300
*************** msgid "identifier %qE is a keyword in C+
*** 65319,65328 ****
  msgstr "Bezeichner %qE wird in C++20 zum Schlüsselwort"
  
  #: cp/parser.cc:1196
! #, fuzzy, gcc-internal-format
! #| msgid "identifier %qE is a keyword in C++20"
  msgid "identifier %qE is a keyword in C++26"
! msgstr "Bezeichner %qE wird in C++20 zum Schlüsselwort"
  
  #: cp/parser.cc:1746 cp/parser.cc:1759
  #, gcc-internal-format
--- 64576,64584 ----
  msgstr "Bezeichner %qE wird in C++20 zum Schlüsselwort"
  
  #: cp/parser.cc:1196
! #, gcc-internal-format
  msgid "identifier %qE is a keyword in C++26"
! msgstr "Bezeichner %qE wird in C++26 zum Schlüsselwort"
  
  #: cp/parser.cc:1746 cp/parser.cc:1759
  #, gcc-internal-format
*************** msgid "an increment cannot appear in a c
*** 65485,65492 ****
  msgstr "eine Erhöhung kann nicht in einem Konstanten-Ausdruck auftreten"
  
  #: cp/parser.cc:3825
! #, fuzzy, gcc-internal-format
! #| msgid "an decrement cannot appear in a constant-expression"
  msgid "a decrement cannot appear in a constant-expression"
  msgstr "eine Verringerung kann nicht in einem Konstanten-Ausdruck auftreten"
  
--- 64741,64747 ----
  msgstr "eine Erhöhung kann nicht in einem Konstanten-Ausdruck auftreten"
  
  #: cp/parser.cc:3825
! #, gcc-internal-format
  msgid "a decrement cannot appear in a constant-expression"
  msgstr "eine Verringerung kann nicht in einem Konstanten-Ausdruck auftreten"
  
*************** msgid "pack index missing"
*** 65757,65800 ****
  msgstr "%<pack index%> fehlt"
  
  #: cp/parser.cc:6151 cp/parser.cc:10117
! #, fuzzy, gcc-internal-format
! #| msgid "contracts are only available with %<-fcontracts%>"
  msgid "reflection is only available with %<-freflection%>"
! msgstr "Verträge sind nur mit %<-fcontracts%> verfügbar"
  
  #: cp/parser.cc:6261
! #, fuzzy, gcc-internal-format
! #| msgid "expected a function name"
  msgid "expected a reflection of a type"
! msgstr "ein Funktionsname erwartet"
  
  #: cp/parser.cc:6339
! #, fuzzy, gcc-internal-format
! #| msgid "Expected reduction operator or function name at %C"
  msgid "expected a reflection of a function template"
! msgstr "Reduktionsoperator oder Funktionsname bei %C erwartet"
  
  #: cp/parser.cc:6437
  #, gcc-internal-format
  msgid "extra %<template%> in a scope splice"
! msgstr ""
  
  #: cp/parser.cc:6446
! #, fuzzy, gcc-internal-format
! #| msgid "non-deducible template %qT used without template arguments"
  msgid "missing %<template%> in a scope splice with template arguments"
! msgstr "nicht herleitbares Templates %qT wird ohne Template-Argumente verwendet"
  
  #: cp/parser.cc:6448
  #, gcc-internal-format
  msgid "%<template%> may only be omitted when the scope splice is preceded by %<typename%>"
! msgstr ""
  
  #: cp/parser.cc:6461
! #, fuzzy, gcc-internal-format
! #| msgid "%qT is not a class, namespace, or enumeration"
  msgid "expected a reflection of a class, namespace, or enumeration"
! msgstr "%qT ist weder eine Klasse, noch ein Namensbereich oder eine Aufzählung"
  
  #: cp/parser.cc:6622
  #, gcc-internal-format
--- 65012,65050 ----
  msgstr "%<pack index%> fehlt"
  
  #: cp/parser.cc:6151 cp/parser.cc:10117
! #, gcc-internal-format
  msgid "reflection is only available with %<-freflection%>"
! msgstr "Reflektion ist nur mit %<-freflection%> verfügbar"
  
  #: cp/parser.cc:6261
! #, gcc-internal-format
  msgid "expected a reflection of a type"
! msgstr "Reflexion eines Typs erwartet"
  
  #: cp/parser.cc:6339
! #, gcc-internal-format
  msgid "expected a reflection of a function template"
! msgstr "Reflexion eines Funktionstemplates erwartet"
  
  #: cp/parser.cc:6437
  #, gcc-internal-format
  msgid "extra %<template%> in a scope splice"
! msgstr "zusätzliches %<template%> in einem Bereichsspleiß"
  
  #: cp/parser.cc:6446
! #, gcc-internal-format
  msgid "missing %<template%> in a scope splice with template arguments"
! msgstr "%<template%> fehlt in einem Bereichsspleiß mit Templateargumenten"
  
  #: cp/parser.cc:6448
  #, gcc-internal-format
  msgid "%<template%> may only be omitted when the scope splice is preceded by %<typename%>"
! msgstr "%<template%> darf nur weggelassen werden, wenn dem Bereichsspleiß %<typename%> vorangestellt ist"
  
  #: cp/parser.cc:6461
! #, gcc-internal-format
  msgid "expected a reflection of a class, namespace, or enumeration"
! msgstr "Reflexion einer Klasse, eines Namensraums oder einer Aufzählung erwartet"
  
  #: cp/parser.cc:6622
  #, gcc-internal-format
*************** msgid "local variable %qD may not appear
*** 65842,65851 ****
  msgstr "lokale Variable %qD darf in diesem Kontext nicht auftauchen"
  
  #: cp/parser.cc:7192
! #, fuzzy, gcc-internal-format
! #| msgid "contracts are only available with %<-fcontracts%>"
  msgid "reflection is only available in C++26 with %<-freflection%>"
! msgstr "Verträge sind nur mit %<-fcontracts%> verfügbar"
  
  #: cp/parser.cc:7229
  #, gcc-internal-format
--- 65092,65100 ----
  msgstr "lokale Variable %qD darf in diesem Kontext nicht auftauchen"
  
  #: cp/parser.cc:7192
! #, gcc-internal-format
  msgid "reflection is only available in C++26 with %<-freflection%>"
! msgstr "Reflektion ist nur in C++26 mit %<-freflection%> verfügbar"
  
  #: cp/parser.cc:7229
  #, gcc-internal-format
*************** msgstr "%<template%> muss auf einen nest
*** 66019,66028 ****
  
  #. Oy vey, nothing worked.
  #: cp/parser.cc:10205
! #, fuzzy, gcc-internal-format
! #| msgid "%<h%> applied to non-register operand"
  msgid "%<^^%> cannot be applied to this operand"
! msgstr "%<h%> auf nicht-Register-Operand angewandt"
  
  #: cp/parser.cc:10293
  #, gcc-internal-format
--- 65268,65276 ----
  
  #. Oy vey, nothing worked.
  #: cp/parser.cc:10205
! #, gcc-internal-format
  msgid "%<^^%> cannot be applied to this operand"
! msgstr "%<^^%> ist auf diesen Operanden nicht anwendbar"
  
  #: cp/parser.cc:10293
  #, gcc-internal-format
*************** msgstr "case-Marke %qE nicht innerhalb e
*** 66303,66309 ****
  #: cp/parser.cc:14683
  #, gcc-internal-format
  msgid "identifier label %qE in %<template for%> body"
! msgstr ""
  
  #: cp/parser.cc:14795
  #, gcc-internal-format
--- 65551,65557 ----
  #: cp/parser.cc:14683
  #, gcc-internal-format
  msgid "identifier label %qE in %<template for%> body"
! msgstr "Bezeichner-Sprungmarke %qE im Rumpf von %<template for%>"
  
  #: cp/parser.cc:14795
  #, gcc-internal-format
*************** msgid "range-based %<for%> loops only av
*** 66424,66445 ****
  msgstr "Bereichsbasierte %<for%>-Schleifen sind nur mit %<-std=c++11%> oder %<-std=gnu++11%> verfügbar"
  
  #: cp/parser.cc:16576
! #, fuzzy, gcc-internal-format
! #| msgid "%<delete%> reason only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
  msgid "%<template for%> only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "%<delete%>-Grund ist erst mit %<-std=c++2c%> oder %<-std=gnu++2c%> verfügbar"
  
  #: cp/parser.cc:16635
! #, fuzzy, gcc-internal-format
! #| msgid "C99 designator %qE outside aggregate initializer"
  msgid "designators in %<template for%> initializer"
! msgstr "C99-Bezeichner %qE außerhalb von Aggregatinitialisierung"
  
  #: cp/parser.cc:16702
! #, fuzzy, gcc-internal-format
! #| msgid "structured binding declaration cannot be %qs"
  msgid "for-range-declaration cannot be 'constinit'"
! msgstr "Deklaration für strukturierte Bindung darf nicht als %qs deklariert werden"
  
  #: cp/parser.cc:16872
  #, gcc-internal-format
--- 65672,65690 ----
  msgstr "Bereichsbasierte %<for%>-Schleifen sind nur mit %<-std=c++11%> oder %<-std=gnu++11%> verfügbar"
  
  #: cp/parser.cc:16576
! #, gcc-internal-format
  msgid "%<template for%> only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "%<template for%> ist erst ab %<-std=c++2c%> oder %<-std=gnu++2c%> verfügbar"
  
  #: cp/parser.cc:16635
! #, gcc-internal-format
  msgid "designators in %<template for%> initializer"
! msgstr "Designatoren in Initialisierer von %<template for%>"
  
  #: cp/parser.cc:16702
! #, gcc-internal-format
  msgid "for-range-declaration cannot be 'constinit'"
! msgstr "eine for-range-declaration kann nicht »constinit« sein"
  
  #: cp/parser.cc:16872
  #, gcc-internal-format
*************** msgid "multiple declarations in range-ba
*** 66634,66655 ****
  msgstr "mehrere Deklarationen in bereichsbasierter %<for%>-Schleife"
  
  #: cp/parser.cc:18257
! #, fuzzy, gcc-internal-format
! #| msgid "structured binding has incomplete type %qT"
  msgid "structured binding pack outside of template"
! msgstr "Strukturierte Bindung hat unvollständigen Typen %qT"
  
  #: cp/parser.cc:18260
! #, fuzzy, gcc-internal-format
! #| msgid "empty structured binding declaration"
  msgid "multiple packs in structured binding declaration"
! msgstr "leere Deklaration für strukturierte Bindung"
  
  #: cp/parser.cc:18267
! #, fuzzy, gcc-internal-format
! #| msgid "structured bindings only available with %<-std=c++17%> or %<-std=gnu++17%>"
  msgid "structured binding packs only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "strukturierte Bindungen sind nur mit %<-std=c++17%> oder %<-std=gnu++17%> verfügbar"
  
  #: cp/parser.cc:18286
  #, gcc-internal-format
--- 65879,65897 ----
  msgstr "mehrere Deklarationen in bereichsbasierter %<for%>-Schleife"
  
  #: cp/parser.cc:18257
! #, gcc-internal-format
  msgid "structured binding pack outside of template"
! msgstr "Packung einer strukturierten Bindung außerhalb eines Templates"
  
  #: cp/parser.cc:18260
! #, gcc-internal-format
  msgid "multiple packs in structured binding declaration"
! msgstr "mehrere Packungen in Deklaration für strukturierte Bindung"
  
  #: cp/parser.cc:18267
! #, gcc-internal-format
  msgid "structured binding packs only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "Packungen für strukturierte Bindungen sind erst ab %<-std=c++2c%> oder %<-std=gnu++2c%> verfügbar"
  
  #: cp/parser.cc:18286
  #, gcc-internal-format
*************** msgid "structured bindings with attribut
*** 66657,66666 ****
  msgstr "strukturierte Bindungen mit attribuierten Bezeichnern sind erst mit %<-std=c++2c%> oder %<-std=gnu++2c%> verfügbar"
  
  #: cp/parser.cc:18297
! #, fuzzy, gcc-internal-format
! #| msgid "in initialization of structured binding variable %qD"
  msgid "annotation on structured binding"
! msgstr "in Initialisierung der Variable %qD für strukturierte Bindung"
  
  #: cp/parser.cc:18325
  #, gcc-internal-format
--- 65899,65907 ----
  msgstr "strukturierte Bindungen mit attribuierten Bezeichnern sind erst mit %<-std=c++2c%> oder %<-std=gnu++2c%> verfügbar"
  
  #: cp/parser.cc:18297
! #, gcc-internal-format
  msgid "annotation on structured binding"
! msgstr "Annotation an strukturierter Bindung"
  
  #: cp/parser.cc:18325
  #, gcc-internal-format
*************** msgstr "ungültige Initialisierung für
*** 66684,66693 ****
  
  #: cp/parser.cc:18453 cp/parser.cc:18458 cp/parser.cc:26155 cp/parser.cc:26160
  #: cp/parser.cc:26164 cp/parser.cc:26168
! #, fuzzy, gcc-internal-format
! #| msgid "structured binding declaration cannot be %qs"
  msgid "for-range-declaration cannot be %qs"
! msgstr "Deklaration für strukturierte Bindung darf nicht als %qs deklariert werden"
  
  #: cp/parser.cc:18626
  #, gcc-internal-format
--- 65925,65933 ----
  
  #: cp/parser.cc:18453 cp/parser.cc:18458 cp/parser.cc:26155 cp/parser.cc:26160
  #: cp/parser.cc:26164 cp/parser.cc:26168
! #, gcc-internal-format
  msgid "for-range-declaration cannot be %qs"
! msgstr "eine for-range-declaration kann nicht %qs sein"
  
  #: cp/parser.cc:18626
  #, gcc-internal-format
*************** msgid "invalid non-type template argumen
*** 66981,66990 ****
  msgstr "ungültiges Templateargument ohne Typ"
  
  #: cp/parser.cc:22008
! #, fuzzy, gcc-internal-format
! #| msgid "expression cannot be used as a function"
  msgid "unparenthesized splice expression cannot be used as a template argument"
! msgstr "Ausdruck kann nicht als Funktion verwendet werden"
  
  #: cp/parser.cc:22126
  #, gcc-internal-format
--- 66221,66229 ----
  msgstr "ungültiges Templateargument ohne Typ"
  
  #: cp/parser.cc:22008
! #, gcc-internal-format
  msgid "unparenthesized splice expression cannot be used as a template argument"
! msgstr "ein ungeklammerter Spleißausdruck kann nicht als Template-Argument verwendet werden"
  
  #: cp/parser.cc:22126
  #, gcc-internal-format
*************** msgid "add parentheses to declare a vari
*** 67355,67430 ****
  msgstr "fügen Sie Klammern hinzu, um eine Variable zu deklarieren"
  
  #: cp/parser.cc:25520
! #, fuzzy, gcc-internal-format
! #| msgid "%qs cannot be used in a varargs function"
  msgid "cannot handle qualified name for variant function"
! msgstr "%qs kann nicht in einer varargs-Funktion verwendet werden"
  
  #: cp/parser.cc:25529
! #, fuzzy, gcc-internal-format
! #| msgid "qualifiers are not allowed on constructor declaration"
  msgid "declare variant directives are not allowed on constructors"
! msgstr "Qualifizierer sind bei Konstruktordeklarationen nicht erlaubt"
  
  #: cp/parser.cc:25535
! #, fuzzy, gcc-internal-format
! #| msgid "qualifiers are not allowed on destructor declaration"
  msgid "declare variant directives are not allowed on destructors"
! msgstr "Qualifizierer sind bei Destruktordeklarationen nicht erlaubt"
  
  #: cp/parser.cc:25541
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%qE argument not an identifier"
  msgid "cannot handle %s identifier name"
! msgstr "Argument %qE ist kein Bezeichner"
  
  #: cp/parser.cc:25594
! #, fuzzy, gcc-internal-format
! #| msgid "declaration of function %qD in invalid context"
  msgid "no declaration of base function %qs in this scope"
! msgstr "Deklaration der Funktion %qD in ungültigem Kontext"
  
  #: cp/parser.cc:25636
! #, fuzzy, gcc-internal-format
! #| msgid "reference to %qD is ambiguous"
  msgid "base function is ambiguous"
! msgstr "Referenz auf %qD ist mehrdeutig"
  
  #: cp/parser.cc:25644
! #, fuzzy, gcc-internal-format
! #| msgid "%<allocate%> directive must be in the same scope as %qD"
  msgid "variant function must be in the same scope as the base function %qs"
! msgstr "die %<allocate%>-Direktive muss sich im selben Bereich wie %qD befinden"
  
  #: cp/parser.cc:25665
! #, fuzzy, gcc-internal-format
! #| msgid "%<allocate%> directive must be in the same scope as %qD"
  msgid "variant function must be in the same scope as the base function %qE"
! msgstr "die %<allocate%>-Direktive muss sich im selben Bereich wie %qD befinden"
  
  #: cp/parser.cc:25672
! #, fuzzy, gcc-internal-format
! #| msgid "attributes are not allowed on a function-definition"
  msgid "declare variant directives are not allowed on virtual functions"
! msgstr "bei einer Funktionsdefinition sind keine Attribute erlaubt"
  
  #: cp/parser.cc:25679 cp/parser.cc:26128
! #, fuzzy, gcc-internal-format
! #| msgid "attributes are not allowed on a function-definition"
  msgid "declare variant directives are not allowed on defaulted functions"
! msgstr "bei einer Funktionsdefinition sind keine Attribute erlaubt"
  
  #: cp/parser.cc:25686 cp/parser.cc:26135
! #, fuzzy, gcc-internal-format
! #| msgid "attributes are not allowed on a function-definition"
  msgid "declare variant directives are not allowed on deleted functions"
! msgstr "bei einer Funktionsdefinition sind keine Attribute erlaubt"
  
  #: cp/parser.cc:25694
! #, fuzzy, gcc-internal-format
! #| msgid "attributes are not allowed on a function-definition"
  msgid "declare variant directives are not allowed on immediate functions"
! msgstr "bei einer Funktionsdefinition sind keine Attribute erlaubt"
  
  #: cp/parser.cc:25969
  #, gcc-internal-format
--- 66594,66657 ----
  msgstr "fügen Sie Klammern hinzu, um eine Variable zu deklarieren"
  
  #: cp/parser.cc:25520
! #, gcc-internal-format
  msgid "cannot handle qualified name for variant function"
! msgstr "ein qualifizierter Name kann nicht für eine Variantenfunktion verwendet werden"
  
  #: cp/parser.cc:25529
! #, gcc-internal-format
  msgid "declare variant directives are not allowed on constructors"
! msgstr "Direktiven zur Deklaration von Varianten sind an Konstruktoren nicht erlaubt"
  
  #: cp/parser.cc:25535
! #, gcc-internal-format
  msgid "declare variant directives are not allowed on destructors"
! msgstr "Direktiven zur Deklaration von Varianten sind an Destruktoren nicht erlaubt"
  
  #: cp/parser.cc:25541
! #, gcc-internal-format, gfc-internal-format
  msgid "cannot handle %s identifier name"
! msgstr "Bezeichnername %s kann nicht verarbeitet werden"
  
  #: cp/parser.cc:25594
! #, gcc-internal-format
  msgid "no declaration of base function %qs in this scope"
! msgstr "keine Deklaration der Basisfunktion %qs in diesem Gültigkeitsbereich"
  
  #: cp/parser.cc:25636
! #, gcc-internal-format
  msgid "base function is ambiguous"
! msgstr "die Basisfunktion ist mehrdeutig"
  
  #: cp/parser.cc:25644
! #, gcc-internal-format
  msgid "variant function must be in the same scope as the base function %qs"
! msgstr "die Variantenfunktion muss im selben Gültigkeitsbereich wie die Basisfunktion %qs sein"
  
  #: cp/parser.cc:25665
! #, gcc-internal-format
  msgid "variant function must be in the same scope as the base function %qE"
! msgstr "die Variantenfunktion muss im selben Gültigkeitsbereich wie die Basisfunktion %qE sein"
  
  #: cp/parser.cc:25672
! #, gcc-internal-format
  msgid "declare variant directives are not allowed on virtual functions"
! msgstr "»declare variant«-Direktiven sind an virtuellen Funktionen nicht erlaubt"
  
  #: cp/parser.cc:25679 cp/parser.cc:26128
! #, gcc-internal-format
  msgid "declare variant directives are not allowed on defaulted functions"
! msgstr "»declare variant«-Direktiven sind an Standardfunktionen nicht erlaubt"
  
  #: cp/parser.cc:25686 cp/parser.cc:26135
! #, gcc-internal-format
  msgid "declare variant directives are not allowed on deleted functions"
! msgstr "»declare variant«-Direktiven sind an gelöschten Funktionen nicht erlaubt"
  
  #: cp/parser.cc:25694
! #, gcc-internal-format
  msgid "declare variant directives are not allowed on immediate functions"
! msgstr "»declare variant«-Direktiven sind an direkten Funktionen nicht erlaubt"
  
  #: cp/parser.cc:25969
  #, gcc-internal-format
*************** msgstr "Attribut %qs ist mehrfach angege
*** 67940,67946 ****
  #: cp/parser.cc:33401 cp/parser.cc:33493
  #, gcc-internal-format
  msgid "mixing annotations and attributes in the same list"
! msgstr ""
  
  #: cp/parser.cc:33430
  #, gcc-internal-format
--- 67167,67173 ----
  #: cp/parser.cc:33401 cp/parser.cc:33493
  #, gcc-internal-format
  msgid "mixing annotations and attributes in the same list"
! msgstr "Annotationen und Attribute sind in derselben Liste vermischt"
  
  #: cp/parser.cc:33430
  #, gcc-internal-format
*************** msgid "attribute with no arguments conta
*** 67953,67992 ****
  msgstr "Attribut ohne Argumente enthält keine Parameterpakete"
  
  #: cp/parser.cc:33591
! #, fuzzy, gcc-internal-format
! #| msgid "expected call expression"
  msgid "expected conditional-expression"
! msgstr "Aufrufausdruck erwartet"
  
  #: cp/parser.cc:33638
! #, fuzzy, gcc-internal-format
! #| msgid "%qs is incompatible with %qs"
  msgid "%qs is only available with %qs"
! msgstr "%qs ist mit %qs unverträglich"
  
  #: cp/parser.cc:33654
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute ignored for %qE"
  msgid "attributes are ignored on %qs"
! msgstr "Attribut %qE ignoriert für %qE"
  
  #: cp/parser.cc:33770
! #, fuzzy, gcc-internal-format
! #| msgid "attributes ignored on uninstantiated type"
  msgid "attributes are ignored on function contract specifiers"
! msgstr "Attribute an instanziiertem Typen ignoriert"
  
  #: cp/parser.cc:33874
! #, fuzzy, gcc-internal-format
! #| msgid "contracts are only available with %<-fcontracts%>"
  msgid "contracts are only available with %qs"
! msgstr "Verträge sind nur mit %<-fcontracts%> verfügbar"
  
  #: cp/parser.cc:33957
! #, fuzzy, gcc-internal-format
! #| msgid "pack indexing only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
  msgid "annotations only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "%<pack-index%> ist erst mit %<-std=c++2c%> oder %<-std=gnu++2c%> verfügbar"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90184
  #: cp/parser.cc:33988
--- 67180,67213 ----
  msgstr "Attribut ohne Argumente enthält keine Parameterpakete"
  
  #: cp/parser.cc:33591
! #, gcc-internal-format
  msgid "expected conditional-expression"
! msgstr "Bedingungausdruck erwartet"
  
  #: cp/parser.cc:33638
! #, gcc-internal-format
  msgid "%qs is only available with %qs"
! msgstr "%qs ist nur mit %qs verfügbar"
  
  #: cp/parser.cc:33654
! #, gcc-internal-format
  msgid "attributes are ignored on %qs"
! msgstr "an %qs werden Attribute ignoriert"
  
  #: cp/parser.cc:33770
! #, gcc-internal-format
  msgid "attributes are ignored on function contract specifiers"
! msgstr "an Funktionsvertragsangaben werden Attribute ignoriert"
  
  #: cp/parser.cc:33874
! #, gcc-internal-format
  msgid "contracts are only available with %qs"
! msgstr "Verträge sind nur mit %qs verfügbar"
  
  #: cp/parser.cc:33957
! #, gcc-internal-format
  msgid "annotations only available with %<-std=c++2c%> or %<-std=gnu++2c%>"
! msgstr "Annotationen sind erst ab %<-std=c++2c%> oder %<-std=gnu++2c%> verfügbar"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90184
  #: cp/parser.cc:33988
*************** msgid "expected %<class%>, %<typename%>,
*** 68305,68314 ****
  msgstr "%<class%>, %<typename%> oder %<template%> erwartet"
  
  #: cp/parser.cc:37793
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<:%>"
  msgid "expected %<:]%>"
! msgstr "%<:%> erwartet"
  
  #: cp/parser.cc:38128
  #, gcc-internal-format
--- 67526,67534 ----
  msgstr "%<class%>, %<typename%> oder %<template%> erwartet"
  
  #: cp/parser.cc:37793
! #, gcc-internal-format
  msgid "expected %<:]%>"
! msgstr "%<:]%> erwartet"
  
  #: cp/parser.cc:38128
  #, gcc-internal-format
*************** msgstr "ungültiger reduction-identifier
*** 68463,68469 ****
  #: cp/parser.cc:44091
  #, gcc-internal-format
  msgid "legacy %<%E(%E)%> traits syntax not allowed in %<uses_allocators%> clause when using modifiers"
! msgstr ""
  
  #: cp/parser.cc:44727
  #, gcc-internal-format
--- 67683,67689 ----
  #: cp/parser.cc:44091
  #, gcc-internal-format
  msgid "legacy %<%E(%E)%> traits syntax not allowed in %<uses_allocators%> clause when using modifiers"
! msgstr "die veraltete %<%E(%E)%>-Merkmalssyntax ist in %<uses_allocators%>-Klausel bei Verwendung von Modifikatoren nicht zulässig"
  
  #: cp/parser.cc:44727
  #, gcc-internal-format
*************** msgid "%<const%>, %<volatile%> or %<__re
*** 68565,68580 ****
  msgstr "%<const%>-, %<volatile%>- oder %<__restrict%>-qualifizierter Typ %qT in %<#pragma omp declare reduction%>"
  
  #: cp/parser.cc:55521
! #, fuzzy, gcc-internal-format
! #| msgid "types may not be defined in iterator type"
  msgid "types may not be defined within %<declare mapper%>"
! msgstr "Typen dürfen nicht in Iteratortyp definiert werden"
  
  #: cp/parser.cc:55693
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<simd%>, %<reduction%>, %<target%> or %<variant%>"
  msgid "expected %<simd%>, %<reduction%>, %<target%>, %<mapper%> or %<variant%>"
! msgstr "%<simd%>, %<reduction%>, %<target%> oder %<variant%> erwartet"
  
  #: cp/parser.cc:56258
  #, gcc-internal-format
--- 67785,67798 ----
  msgstr "%<const%>-, %<volatile%>- oder %<__restrict%>-qualifizierter Typ %qT in %<#pragma omp declare reduction%>"
  
  #: cp/parser.cc:55521
! #, gcc-internal-format
  msgid "types may not be defined within %<declare mapper%>"
! msgstr "Typen dürfen nicht innerhalb von %<declare mapper%> definiert werden"
  
  #: cp/parser.cc:55693
! #, gcc-internal-format
  msgid "expected %<simd%>, %<reduction%>, %<target%>, %<mapper%> or %<variant%>"
! msgstr "%<simd%>, %<reduction%>, %<target%>, %<mapper%> oder %<variant%> erwartet"
  
  #: cp/parser.cc:56258
  #, gcc-internal-format
*************** msgstr[0] "es gibt %i Kandidaten"
*** 68737,68753 ****
  msgstr[1] "es gibt %i Kandidaten"
  
  #: cp/pt.cc:2112
! #, fuzzy, gcc-internal-format
! #| msgid "candidate is:"
! #| msgid_plural "candidates are:"
  msgid "candidate is: %#qD"
! msgstr "Kandidat ist:"
  
  #: cp/pt.cc:2121
! #, fuzzy, gcc-internal-format
! #| msgid "candidate %i:"
  msgid "candidate %i: %#qD"
! msgstr "Kandidat %i:"
  
  #: cp/pt.cc:2254
  #, gcc-internal-format
--- 67955,67968 ----
  msgstr[1] "es gibt %i Kandidaten"
  
  #: cp/pt.cc:2112
! #, gcc-internal-format
  msgid "candidate is: %#qD"
! msgstr "Kandidat ist: %#qD"
  
  #: cp/pt.cc:2121
! #, gcc-internal-format
  msgid "candidate %i: %#qD"
! msgstr "Kandidat %i: %#qD"
  
  #: cp/pt.cc:2254
  #, gcc-internal-format
*************** msgid "function returning a function"
*** 69651,69666 ****
  msgstr "Funktion gibt eine Funktion"
  
  #: cp/pt.cc:16760
! #, fuzzy, gcc-internal-format
! #| msgid "%qs is not defined as a type"
  msgid "%qE is not usable in a splice type"
! msgstr "%qs ist nicht als ein Typ definiert"
  
  #: cp/pt.cc:16762
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not a variable in clause %qs"
  msgid "%qE is not usable in a splice scope"
! msgstr "%qE ist in Klausel %qs keine Variable"
  
  #: cp/pt.cc:17323
  #, gcc-internal-format
--- 68866,68879 ----
  msgstr "Funktion gibt eine Funktion"
  
  #: cp/pt.cc:16760
! #, gcc-internal-format
  msgid "%qE is not usable in a splice type"
! msgstr "%qE ist nicht als ein Spleißtyp verwendbar"
  
  #: cp/pt.cc:16762
! #, gcc-internal-format
  msgid "%qE is not usable in a splice scope"
! msgstr "%qE ist nicht in einem Spleißtyp verwendbar"
  
  #: cp/pt.cc:17323
  #, gcc-internal-format
*************** msgstr "%qT ist kein Klassen-, Struktur-
*** 69725,69743 ****
  #: cp/pt.cc:17613
  #, gcc-internal-format
  msgid "%qT resolves to %qT, which is not an enumeration type"
! msgstr "%qT wird in %qT aufgelöst, was kein Aufzählungstyp ist"
  
  #: cp/pt.cc:17622
! #, fuzzy, gcc-internal-format
! #| msgid "%qT resolves to %qT, which is not a class type"
  msgid "%qT resolves to %qT, which is not a non-union class type"
! msgstr "%qT wird in %qT aufgelöst, aber das ist kein Klassentyp"
  
  #: cp/pt.cc:17630
! #, fuzzy, gcc-internal-format
! #| msgid "%qT resolves to %qT, which is not an enumeration type"
  msgid "%qT resolves to %qT, which is not a union type"
! msgstr "%qT wird in %qT aufgelöst, was kein Aufzählungstyp ist"
  
  #: cp/pt.cc:17788
  #, gcc-internal-format
--- 68938,68954 ----
  #: cp/pt.cc:17613
  #, gcc-internal-format
  msgid "%qT resolves to %qT, which is not an enumeration type"
! msgstr "%qT wird in %qT aufgelöst, aber das ist kein Aufzählungstyp"
  
  #: cp/pt.cc:17622
! #, gcc-internal-format
  msgid "%qT resolves to %qT, which is not a non-union class type"
! msgstr "%qT wird in %qT aufgelöst, aber das ist kein Nicht-Union-Klassentyp"
  
  #: cp/pt.cc:17630
! #, gcc-internal-format
  msgid "%qT resolves to %qT, which is not a union type"
! msgstr "%qT wird in %qT aufgelöst, aber das ist kein Union-Klassentyp"
  
  #: cp/pt.cc:17788
  #, gcc-internal-format
*************** msgstr "Verwendung von %qs in Template"
*** 69748,69757 ****
  #. instantiation; must be because we're trying to refer to it
  #. while forming its declaration (c++/120204).
  #: cp/pt.cc:17961
! #, fuzzy, gcc-internal-format
! #| msgid "exception specification of %qD depends on itself"
  msgid "declaration of %<%T::%D%> depends on itself"
! msgstr "Ausnahmen-Angabe von %qD hängt von sich selbst ab"
  
  #: cp/pt.cc:18117
  #, gcc-internal-format
--- 68959,68967 ----
  #. instantiation; must be because we're trying to refer to it
  #. while forming its declaration (c++/120204).
  #: cp/pt.cc:17961
! #, gcc-internal-format
  msgid "declaration of %<%T::%D%> depends on itself"
! msgstr "die Deklaration von %<%T::%D%> hängt von sich selbst ab"
  
  #: cp/pt.cc:18117
  #, gcc-internal-format
*************** msgid "deduced expression type does not
*** 70115,70496 ****
  msgstr "hergeleiteter Ausdruckstyp erfüllt die Platzhalterbeschränkungen nicht"
  
  #: cp/reflect.cc:130
! #, fuzzy, gcc-internal-format
! #| msgid "new cannot be applied to a reference type"
  msgid "%<^^%> cannot be applied to a placeholder type"
! msgstr "»new« kann nicht auf Referenztyp angewendet werden"
  
  #: cp/reflect.cc:137
! #, fuzzy, gcc-internal-format
! #| msgid "new cannot be applied to a function type"
  msgid "%<^^%> cannot be applied to a pack index"
! msgstr "»new« kann nicht auf Funktionstyp angewendet werden"
  
  #: cp/reflect.cc:142
! #, fuzzy, gcc-internal-format
! #| msgid "%qE cannot be applied to non-pointer type %qT"
  msgid "%<^^%> cannot be applied to a non-type template parameter %qD"
! msgstr "Attribut %qE kann nur auf Zeigertypen angewendet werden, nicht auf %qT"
  
  #: cp/reflect.cc:150
! #, fuzzy, gcc-internal-format
! #| msgid "%qE cannot be applied to non-pointer type %qT"
  msgid "%<^^%> cannot be applied to a capture %qD"
! msgstr "Attribut %qE kann nur auf Zeigertypen angewendet werden, nicht auf %qT"
  
  #: cp/reflect.cc:157
  #, gcc-internal-format
  msgid "%<^^%> cannot be applied to a local parameter of a requires-expression %qD"
! msgstr ""
  
  #: cp/reflect.cc:173
  #, gcc-internal-format
  msgid "%<^^%> cannot be applied a local entity for which there is an intervening lambda expression"
! msgstr ""
  
  #: cp/reflect.cc:183
! #, fuzzy, gcc-internal-format
! #| msgid "new cannot be applied to a function type"
  msgid "%<^^%> cannot be applied to a using-declaration"
! msgstr "»new« kann nicht auf Funktionstyp angewendet werden"
  
  #: cp/reflect.cc:189
! #, fuzzy, gcc-internal-format
! #| msgid "new cannot be applied to a function type"
  msgid "%<^^%> cannot be applied to a concept check"
! msgstr "»new« kann nicht auf Funktionstyp angewendet werden"
  
  #: cp/reflect.cc:207
  #, gcc-internal-format
  msgid "cannot take the reflection of an overload set"
! msgstr ""
  
  #: cp/reflect.cc:410
! #, fuzzy, gcc-internal-format
! #| msgid "%<::%E%> is not a class or namespace"
  msgid "%<std::ranges%> is not a namespace"
! msgstr "%<::%E%> ist keine Klasse oder Namensbereich"
  
  #: cp/reflect.cc:453
  #, gcc-internal-format
  msgid "%<reflect_constant_string%> called with %qT rather than %<char%>, %<wchar_t%>, %<char8_t%>, %<char16_t%> or %<char32_t%>"
! msgstr ""
  
  #: cp/reflect.cc:489
! #, fuzzy, gcc-internal-format
! #| msgid "%<decltype%> evaluates to %qT, which is not a class or enumeration type"
  msgid "%<reflect_constant_array%> argument with %qT which is not a structural type"
! msgstr "%<decltype%> wird zu %qT ausgewertet, und das ist weder eine Klasse noch ein Aufzählungstyp"
  
  #: cp/reflect.cc:503
  #, gcc-internal-format
  msgid "%<reflect_constant_array%> argument with %qT which is not copy constructible"
! msgstr ""
  
  #: cp/reflect.cc:525
  #, gcc-internal-format
  msgid "%<reflect_constant_array%> argument with %qT which is not constructible from %qT %<std::ranges::range_reference_t%>"
! msgstr ""
  
  #: cp/reflect.cc:654
  #, gcc-internal-format
  msgid "%<std::ranges::data%> or %<std::ranges::size%> are not customization point objects"
! msgstr ""
  
  #: cp/reflect.cc:821
  #, gcc-internal-format
  msgid "missing %<std::ranges::begin%> or %<std::ranges::end%>"
! msgstr ""
  
  #: cp/reflect.cc:839
  #, gcc-internal-format
  msgid "incorrect type %qT of %<std::ranges::begin(arg)%>"
! msgstr ""
  
  #: cp/reflect.cc:846
  #, gcc-internal-format
  msgid "incorrect type %qT of %<std::ranges::end(arg)%>"
! msgstr ""
  
  #: cp/reflect.cc:879
! #, fuzzy, gcc-internal-format
! #| msgid "expected interface or pointer to interface"
  msgid "unexpected type %qT of iterator dereference"
! msgstr "Schnittstelle oder Zeiger auf Schnittstelle erwartet"
  
  #: cp/reflect.cc:947
  #, gcc-internal-format
  msgid "couldn%'t throw %qs"
! msgstr ""
  
  #: cp/reflect.cc:1046
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<operator%>"
  msgid "unexpected %<std::meta::operators%>"
! msgstr "%<operator%> erwartet"
  
  #: cp/reflect.cc:2671
  #, gcc-internal-format
  msgid "couldn%'t look up %<%D::%D%>"
! msgstr ""
  
  #: cp/reflect.cc:2959
! #, fuzzy, gcc-internal-format
! #| msgid "could not include %s"
  msgid "couldn%'t look up %qs"
! msgstr "»%s« konnte nicht eingebunden werden"
  
  #: cp/reflect.cc:3113 cp/reflect.cc:3176 cp/reflect.cc:3231 cp/reflect.cc:3311
  #: cp/reflect.cc:6233
! #, fuzzy, gcc-internal-format
! #| msgid "  expected a type, got %qE"
  msgid "unexpected return type of %qs"
! msgstr "  einen Typ erwartet, %qE erhalten"
  
  #: cp/reflect.cc:3856
  #, gcc-internal-format
  msgid "%qT must be a cv-unqualified structural type that is not a reference type"
! msgstr ""
  
  #: cp/reflect.cc:3880
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not an object type"
  msgid "%qT must be an object type"
! msgstr "  %qT kein Objekttyp ist"
  
  #: cp/reflect.cc:3907
! #, fuzzy, gcc-internal-format
! #| msgid "%qD must be a member function"
  msgid "%qT must be a function type"
! msgstr "%qD muss eine Memberfunktion sein"
  
  #: cp/reflect.cc:4784 cp/reflect.cc:4911
  #, gcc-internal-format
  msgid "couldn%'t instantiate %<std::%s<%T>%>"
! msgstr ""
  
  #: cp/reflect.cc:5515
! #, fuzzy, gcc-internal-format
! #| msgid "expected template-argument"
  msgid "unexpected %<data_member_options%> argument"
! msgstr "Templateargument erwartet"
  
  #: cp/reflect.cc:5884
  #, gcc-internal-format
  msgid "first %<define_aggregate%> argument is not a class type reflection"
! msgstr ""
  
  #: cp/reflect.cc:5892
  #, gcc-internal-format
  msgid "first %<define_aggregate%> argument is a reflection of a type alias"
! msgstr ""
  
  #: cp/reflect.cc:5900
  #, gcc-internal-format
  msgid "first %<define_aggregate%> argument is a cv-qualified class type reflection"
! msgstr ""
  
  #: cp/reflect.cc:5908
  #, gcc-internal-format
  msgid "first %<define_aggregate%> argument is a complete class type reflection"
! msgstr ""
  
  #: cp/reflect.cc:5916
  #, gcc-internal-format
  msgid "first %<define_aggregate%> argument is a reflection of a class type %qT being defined"
! msgstr ""
  
  #: cp/reflect.cc:5929
  #, gcc-internal-format
  msgid "%<define_aggregate%> argument not a data member description"
! msgstr ""
  
  #: cp/reflect.cc:5937
  #, gcc-internal-format
  msgid "%<define_aggregate%> argument data member description without complete type"
! msgstr ""
  
  #: cp/reflect.cc:5947
  #, gcc-internal-format
  msgid "name %qD used in multiple data member descriptions"
! msgstr ""
  
  #: cp/reflect.cc:5956
! #, fuzzy, gcc-internal-format
! #| msgid "cannot declare bit-field %qs with %<warn_if_not_aligned%> type"
  msgid "cannot declare bit-field in %<warn_if_not_aligned%> type"
! msgstr "Bitfeld %qs kann nicht mit %<warn_if_not_aligned%>-Typ deklariert werden"
  
  #: cp/reflect.cc:5966
  #, gcc-internal-format
  msgid "%<define_aggregate%> not evaluated from %<consteval%> block"
! msgstr ""
  
  #: cp/reflect.cc:5987
  #, gcc-internal-format
  msgid "%<define_aggregate%> evaluated from %<consteval%> block which encloses %qT being defined"
! msgstr ""
  
  #: cp/reflect.cc:5991 cp/reflect.cc:6074
! #, fuzzy, gcc-internal-format
! #| msgid "%<switch%> name defined here"
  msgid "%<consteval%> block defined here"
! msgstr "der %<switch%>-Name ist hier definiert"
  
  #: cp/reflect.cc:6007 cp/reflect.cc:6066
  #, gcc-internal-format
  msgid "%qD intervenes between %qT scope and %<consteval%> block %<define_aggregate%> is evaluated from"
! msgstr ""
  
  #: cp/reflect.cc:6011 cp/reflect.cc:6070
  #, gcc-internal-format
  msgid "%qT intervenes between %qT scope and %<consteval%> block %<define_aggregate%> is evaluated from"
! msgstr ""
  
  #: cp/reflect.cc:6022 cp/reflect.cc:6058
  #, gcc-internal-format
  msgid "%qD intervenes between %<consteval%> block %<define_aggregate%> is evaluated from and %qT scope"
! msgstr ""
  
  #: cp/reflect.cc:6026 cp/reflect.cc:6062
  #, gcc-internal-format
  msgid "%qT intervenes between %<consteval%> block %<define_aggregate%> is evaluated from and %qT scope"
! msgstr ""
  
  #: cp/reflect.cc:6036
  #, gcc-internal-format
  msgid "%<define_aggregate%> evaluated from %<consteval%> block enclosed by %qD while %qT type being defined is enclosed by %qD"
! msgstr ""
  
  #: cp/reflect.cc:6041
  #, gcc-internal-format
  msgid "%<define_aggregate%> evaluated from %<consteval%> block enclosed by %qD while %qT type being defined is enclosed by %qT"
! msgstr ""
  
  #: cp/reflect.cc:6046
  #, gcc-internal-format
  msgid "%<define_aggregate%> evaluated from %<consteval%> block enclosed by %qT while %qT type being defined is enclosed by %qD"
! msgstr ""
  
  #: cp/reflect.cc:6051
  #, gcc-internal-format
  msgid "%<define_aggregate%> evaluated from %<consteval%> block enclosed by %qT while %qT type being defined is enclosed by %qT"
! msgstr ""
  
  #: cp/reflect.cc:6212
  #, gcc-internal-format
  msgid "%<access_context::current%> used outside of manifestly constant-evaluation"
! msgstr ""
  
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79878
  #: cp/reflect.cc:6263
! #, fuzzy, gcc-internal-format
! #| msgid "invalid %<PHI%> argument"
  msgid "invalid %<access_context%> argument"
! msgstr "ungültiges %<PHI%>-Argument"
  
  #: cp/reflect.cc:6274
! #, fuzzy, gcc-internal-format
! #| msgid "unexpected %<else%>"
  msgid "unexpected %<access_context::scope()%>"
! msgstr "unerwartetes %<else%> gefunden"
  
  #: cp/reflect.cc:6284
  #, gcc-internal-format
  msgid "unexpected %<access_context::designating_class()%>"
! msgstr ""
  
  #: cp/reflect.cc:7047
! #, fuzzy, gcc-internal-format
! #| msgid "unexpected argument"
  msgid "unexpected argument to %qs"
! msgstr "unerwartetes Argument"
  
  #: cp/reflect.cc:7336
! #, fuzzy, gcc-internal-format
! #| msgid "unknown spec function %qs"
  msgid "unknown metafunction %qD"
! msgstr "unbekannte Spezifikationsfunktion %qs"
  
  #: cp/reflect.cc:8010
! #, fuzzy, gcc-internal-format
! #| msgid "%<score%> argument must be constant integer expression at %C"
  msgid "splice argument must be an expression of type %qs"
! msgstr "das %<score%>-Argument bei %C muss ein konstanter ganzzahliger Ausdruck sein"
  
  #: cp/reflect.cc:8206
  #, gcc-internal-format
  msgid "consteval-only variable %qD not declared %<constexpr%> used outside a constant-evaluated context"
! msgstr ""
  
  #: cp/reflect.cc:8208
! #, fuzzy, gcc-internal-format
! #| msgid "%qE used with %<constexpr%>"
  msgid "add %<constexpr%>"
! msgstr "%qE mit %<constexpr%> verwendet"
  
  #: cp/reflect.cc:8212
  #, gcc-internal-format
  msgid "consteval-only expressions are only allowed in a constant-evaluated context"
! msgstr ""
  
  #: cp/reflect.cc:8319
! #, fuzzy, gcc-internal-format
! #| msgid "function definition declared %qs"
  msgid "function of consteval-only type must be declared %qs"
! msgstr "Funktionsdefinition deklarierte %qs"
  
  #: cp/reflect.cc:8343 cp/reflect.cc:8359
! #, fuzzy, gcc-internal-format
! #| msgid "expected boolean expression"
  msgid "expected a reflection of an expression"
! msgstr "boolescher Ausdruck erwartet"
  
  #: cp/reflect.cc:8349 cp/reflect.cc:8353
! #, fuzzy, gcc-internal-format
! #| msgid "keyword %<typename%> not allowed outside of templates"
  msgid "add %<typename%> to denote a type outside a type-only context"
! msgstr "Schlüsselwort %<typename%> nicht außerhalb von Templates erlaubt"
  
  #: cp/reflect.cc:8372
! #, fuzzy, gcc-internal-format
! #| msgid "expected constructor, destructor, or type conversion"
  msgid "cannot use constructor or destructor %qD in a splice expression"
! msgstr "Konstruktor, Destruktor oder Typumwandlung erwartet"
  
  #: cp/reflect.cc:8380
  #, gcc-internal-format
  msgid "cannot use an unnamed bit-field %qD in a splice expression"
! msgstr ""
  
  #: cp/reflect.cc:8393
! #, fuzzy, gcc-internal-format
! #| msgid "cannot explicitly declare member %q#D to have extern linkage"
  msgid "cannot implicitly reference a class member %qD through a splice"
! msgstr "Element %q#D kann nicht explizit deklariert werden, externe Bindung zu haben"
  
  #: cp/reflect.cc:8407
  #, gcc-internal-format
  msgid "unary %<&%> applied to an anonymous union member %qD that is not a direct member of a named class"
! msgstr ""
  
  #: cp/reflect.cc:8426
! #, fuzzy, gcc-internal-format
! #| msgid "use of local variable with automatic storage from containing function"
  msgid "use of local variable with automatic storage from containing function in a splice expression"
! msgstr "Verwendung lokaler Variable mit automatischer Speicherklasse aus enthaltender Funktion"
  
  #: cp/reflect.cc:8439
! #, fuzzy, gcc-internal-format
! #| msgid "call to consteval function %qE is not a constant expression"
  msgid "cannot use an annotation %qE in a splice expression"
! msgstr "Aufruf der consteval-Funktion %qE ist kein konstanter Ausdruck"
  
  #: cp/reflect.cc:8448
! #, fuzzy, gcc-internal-format
! #| msgid "Warn about uses of a comma operator within a subscripting expression."
  msgid "cannot use a data member specification in a splice expression"
! msgstr "Warnen, wenn innerhalb eines Arrayindex-Ausdrucks ein Komma-Operator verwendet wird."
  
  #: cp/rtti.cc:308
  #, gcc-internal-format
--- 69325,69674 ----
  msgstr "hergeleiteter Ausdruckstyp erfüllt die Platzhalterbeschränkungen nicht"
  
  #: cp/reflect.cc:130
! #, gcc-internal-format
  msgid "%<^^%> cannot be applied to a placeholder type"
! msgstr "%<^^%> kann nicht auf einen Platzhaltertyp angewendet werden"
  
  #: cp/reflect.cc:137
! #, gcc-internal-format
  msgid "%<^^%> cannot be applied to a pack index"
! msgstr "%<^^%> kann nicht auf einen Packungsindex angewendet werden"
  
  #: cp/reflect.cc:142
! #, gcc-internal-format
  msgid "%<^^%> cannot be applied to a non-type template parameter %qD"
! msgstr "%<^^%> kann nicht auf einen Nichttyp-Template-Parameter %qD angewendet werden"
  
  #: cp/reflect.cc:150
! #, gcc-internal-format
  msgid "%<^^%> cannot be applied to a capture %qD"
! msgstr "%<^^%> kann nicht auf eine Capture %qD angewendet werden"
  
  #: cp/reflect.cc:157
  #, gcc-internal-format
  msgid "%<^^%> cannot be applied to a local parameter of a requires-expression %qD"
! msgstr "%<^^%> kann nicht auf einen lokalen Parameter eines requires-Ausdrucks %qD angewendet werden"
  
  #: cp/reflect.cc:173
  #, gcc-internal-format
  msgid "%<^^%> cannot be applied a local entity for which there is an intervening lambda expression"
! msgstr "%<^^%> kann nicht auf eine lokale Entität angewendet werden, für die ein dazwischenliegender Lambda-Ausdruck vorhanden ist"
  
  #: cp/reflect.cc:183
! #, gcc-internal-format
  msgid "%<^^%> cannot be applied to a using-declaration"
! msgstr "%<^^%> kann nicht auf eine using-Deklaration angewendet werden"
  
  #: cp/reflect.cc:189
! #, gcc-internal-format
  msgid "%<^^%> cannot be applied to a concept check"
! msgstr "%<^^%> kann nicht auf eine Konzeptprüfung angewendet werden"
  
  #: cp/reflect.cc:207
  #, gcc-internal-format
  msgid "cannot take the reflection of an overload set"
! msgstr "die Reflexion einer Überlagerungsmenge ist nicht übernehmbar"
  
  #: cp/reflect.cc:410
! #, gcc-internal-format
  msgid "%<std::ranges%> is not a namespace"
! msgstr "%<std::ranges%> ist kein Namensraum"
  
  #: cp/reflect.cc:453
  #, gcc-internal-format
  msgid "%<reflect_constant_string%> called with %qT rather than %<char%>, %<wchar_t%>, %<char8_t%>, %<char16_t%> or %<char32_t%>"
! msgstr "%<reflect_constant_string%> wurde mit %qT statt mit %<char%>, %<wchar_t%>, %<char8_t%>, %<char16_t%> oder %<char32_t%> aufgerufen"
  
  #: cp/reflect.cc:489
! #, gcc-internal-format
  msgid "%<reflect_constant_array%> argument with %qT which is not a structural type"
! msgstr "%<reflect_constant_array%>-Argument mit %qT, aber das ist kein Strukturtyp"
  
  #: cp/reflect.cc:503
  #, gcc-internal-format
  msgid "%<reflect_constant_array%> argument with %qT which is not copy constructible"
! msgstr "%<reflect_constant_array%>-Argument mit %qT, aber das ist nicht kopiererzeugbar"
  
  #: cp/reflect.cc:525
  #, gcc-internal-format
  msgid "%<reflect_constant_array%> argument with %qT which is not constructible from %qT %<std::ranges::range_reference_t%>"
! msgstr "%<reflect_constant_array%>-Argument mit %qT, aber das ist nicht von %qT %<std::ranges::range_reference_t%> erzeugbar"
  
  #: cp/reflect.cc:654
  #, gcc-internal-format
  msgid "%<std::ranges::data%> or %<std::ranges::size%> are not customization point objects"
! msgstr "%<std::ranges::data%> oder %<std::ranges::size%> sind keine Anpassungspunkt-Objekte"
  
  #: cp/reflect.cc:821
  #, gcc-internal-format
  msgid "missing %<std::ranges::begin%> or %<std::ranges::end%>"
! msgstr "fehlendes %<std::ranges::begin%> oder %<std::ranges::end%>"
  
  #: cp/reflect.cc:839
  #, gcc-internal-format
  msgid "incorrect type %qT of %<std::ranges::begin(arg)%>"
! msgstr "falscher Typ %qT von %<std::ranges::begin(arg)%>"
  
  #: cp/reflect.cc:846
  #, gcc-internal-format
  msgid "incorrect type %qT of %<std::ranges::end(arg)%>"
! msgstr "falscher Typ %qT von %<std::ranges::end(arg)%>"
  
  #: cp/reflect.cc:879
! #, gcc-internal-format
  msgid "unexpected type %qT of iterator dereference"
! msgstr "unerwarteter Typ %qT bei der Dereferenzierung des Iterators"
  
  #: cp/reflect.cc:947
  #, gcc-internal-format
  msgid "couldn%'t throw %qs"
! msgstr "Fehler beim Werfen von %qs"
  
  #: cp/reflect.cc:1046
! #, gcc-internal-format
  msgid "unexpected %<std::meta::operators%>"
! msgstr "unerwartetes %<std::meta::operators%>"
  
  #: cp/reflect.cc:2671
  #, gcc-internal-format
  msgid "couldn%'t look up %<%D::%D%>"
! msgstr "konnte %<%D::%D%> nicht nachschlagen"
  
  #: cp/reflect.cc:2959
! #, gcc-internal-format
  msgid "couldn%'t look up %qs"
! msgstr "konnte %qs nicht nachschlagen"
  
  #: cp/reflect.cc:3113 cp/reflect.cc:3176 cp/reflect.cc:3231 cp/reflect.cc:3311
  #: cp/reflect.cc:6233
! #, gcc-internal-format
  msgid "unexpected return type of %qs"
! msgstr "unerwarteter Rückgabetyp von %qs"
  
  #: cp/reflect.cc:3856
  #, gcc-internal-format
  msgid "%qT must be a cv-unqualified structural type that is not a reference type"
! msgstr "%qT muss ein cv-unqualifizierter Strukturtyp sein, der kein Referenztyp ist"
  
  #: cp/reflect.cc:3880
! #, gcc-internal-format
  msgid "%qT must be an object type"
! msgstr "%qT muss ein Objekttyp sein"
  
  #: cp/reflect.cc:3907
! #, gcc-internal-format
  msgid "%qT must be a function type"
! msgstr "%qT muss ein Funktionstyp sein"
  
  #: cp/reflect.cc:4784 cp/reflect.cc:4911
  #, gcc-internal-format
  msgid "couldn%'t instantiate %<std::%s<%T>%>"
! msgstr "konnte %<std::%s<%T>%> nicht instanziieren"
  
  #: cp/reflect.cc:5515
! #, gcc-internal-format
  msgid "unexpected %<data_member_options%> argument"
! msgstr "Unerwartetes %<data_member_options%>-Argument"
  
  #: cp/reflect.cc:5884
  #, gcc-internal-format
  msgid "first %<define_aggregate%> argument is not a class type reflection"
! msgstr "das erste %<define_aggregate%>-Argument ist keine Reflektion eines Klassentyps"
  
  #: cp/reflect.cc:5892
  #, gcc-internal-format
  msgid "first %<define_aggregate%> argument is a reflection of a type alias"
! msgstr "das erste %<define_aggregate%>-Argument ist eine Reflektion eines Typalias"
  
  #: cp/reflect.cc:5900
  #, gcc-internal-format
  msgid "first %<define_aggregate%> argument is a cv-qualified class type reflection"
! msgstr "das erste %<define_aggregate%>-Argument ist eine Reflektion eines cv-qualifizierten Klassentyps"
  
  #: cp/reflect.cc:5908
  #, gcc-internal-format
  msgid "first %<define_aggregate%> argument is a complete class type reflection"
! msgstr "das erste %<define_aggregate%>-Argument ist eine Reflektion eines vollständigen Klassentyps"
  
  #: cp/reflect.cc:5916
  #, gcc-internal-format
  msgid "first %<define_aggregate%> argument is a reflection of a class type %qT being defined"
! msgstr "das erste %<define_aggregate%>-Argument ist eine Reflektion eines Klassentyps %qT, der gerade definiert wird"
  
  #: cp/reflect.cc:5929
  #, gcc-internal-format
  msgid "%<define_aggregate%> argument not a data member description"
! msgstr "%<define_aggregate%>-Argument ist keine Datenelementbeschreibung"
  
  #: cp/reflect.cc:5937
  #, gcc-internal-format
  msgid "%<define_aggregate%> argument data member description without complete type"
! msgstr "die Datenelementbeschreibung des %<define_aggregate%>-Arguments hat keinen vollständigen Typ"
  
  #: cp/reflect.cc:5947
  #, gcc-internal-format
  msgid "name %qD used in multiple data member descriptions"
! msgstr "der Name %qD wird in mehreren Datenelementbeschreibungen verwendet"
  
  #: cp/reflect.cc:5956
! #, gcc-internal-format
  msgid "cannot declare bit-field in %<warn_if_not_aligned%> type"
! msgstr "in einem %<warn_if_not_aligned%>-Typ kann kein Bitfeld deklariert werden"
  
  #: cp/reflect.cc:5966
  #, gcc-internal-format
  msgid "%<define_aggregate%> not evaluated from %<consteval%> block"
! msgstr "%<define_aggregate%> wird nicht aus dem %<consteval%>-Block ausgewertet"
  
  #: cp/reflect.cc:5987
  #, gcc-internal-format
  msgid "%<define_aggregate%> evaluated from %<consteval%> block which encloses %qT being defined"
! msgstr "%<define_aggregate%> wird aus dem %<consteval%>-Block heraus ausgewertet, der %qT definiert, und dieser Typ wird gerade definiert"
  
  #: cp/reflect.cc:5991 cp/reflect.cc:6074
! #, gcc-internal-format
  msgid "%<consteval%> block defined here"
! msgstr "der %<consteval%>-Block ist hier definiert"
  
  #: cp/reflect.cc:6007 cp/reflect.cc:6066
  #, gcc-internal-format
  msgid "%qD intervenes between %qT scope and %<consteval%> block %<define_aggregate%> is evaluated from"
! msgstr "%qD interveniert zwischen dem Gültigkeitsbereich von %qT und dem %<consteval%>-Block, aus dem heraus %<define_aggregate%> ausgewertet wird"
  
  #: cp/reflect.cc:6011 cp/reflect.cc:6070
  #, gcc-internal-format
  msgid "%qT intervenes between %qT scope and %<consteval%> block %<define_aggregate%> is evaluated from"
! msgstr "%qT interveniert zwischen dem Gültigkeitsbereich von %qT und dem %<consteval%>-Block, aus dem heraus %<define_aggregate%> ausgewertet wird"
  
  #: cp/reflect.cc:6022 cp/reflect.cc:6058
  #, gcc-internal-format
  msgid "%qD intervenes between %<consteval%> block %<define_aggregate%> is evaluated from and %qT scope"
! msgstr "%qD interveniert zwischen dem %<consteval%>-Block, aus dem heraus %<define_aggregate%> ausgewertet wird, und dem Gültigkeitsbereich von %qT"
  
  #: cp/reflect.cc:6026 cp/reflect.cc:6062
  #, gcc-internal-format
  msgid "%qT intervenes between %<consteval%> block %<define_aggregate%> is evaluated from and %qT scope"
! msgstr "%qT interveniert zwischen dem %<consteval%>-Block, aus dem heraus %<define_aggregate%> ausgewertet wird, und dem Gültigkeitsbereich von %qT"
  
  #: cp/reflect.cc:6036
  #, gcc-internal-format
  msgid "%<define_aggregate%> evaluated from %<consteval%> block enclosed by %qD while %qT type being defined is enclosed by %qD"
! msgstr "das %<define_aggregate%>, das aus dem %<consteval%>-Block heraus ausgewertet wird und von %qD umschlossen ist, während Typ %qT gerade definiert wird, ist von %qD umschlossen"
  
  #: cp/reflect.cc:6041
  #, gcc-internal-format
  msgid "%<define_aggregate%> evaluated from %<consteval%> block enclosed by %qD while %qT type being defined is enclosed by %qT"
! msgstr "das %<define_aggregate%>, das aus dem %<consteval%>-Block heraus ausgewertet wird und von %qD umschlossen ist, während Typ %qT gerade definiert wird, ist von %qT umschlossen"
  
  #: cp/reflect.cc:6046
  #, gcc-internal-format
  msgid "%<define_aggregate%> evaluated from %<consteval%> block enclosed by %qT while %qT type being defined is enclosed by %qD"
! msgstr "das %<define_aggregate%>, das aus dem %<consteval%>-Block heraus ausgewertet wird und von %qT umschlossen ist, während Typ %qT gerade definiert wird, ist von %qD umschlossen"
  
  #: cp/reflect.cc:6051
  #, gcc-internal-format
  msgid "%<define_aggregate%> evaluated from %<consteval%> block enclosed by %qT while %qT type being defined is enclosed by %qT"
! msgstr "das %<define_aggregate%>, das aus dem %<consteval%>-Block heraus ausgewertet wird und von %qT umschlossen ist, während Typ %qT gerade definiert wird, ist von %qT umschlossen"
  
  #: cp/reflect.cc:6212
  #, gcc-internal-format
  msgid "%<access_context::current%> used outside of manifestly constant-evaluation"
! msgstr "%<access_context::current%> wird außerhalb der manifesten Konstantenauswertung verwendet"
  
  #: cp/reflect.cc:6263
! #, gcc-internal-format
  msgid "invalid %<access_context%> argument"
! msgstr "ungültiges %<access_context%>-Argument"
  
  #: cp/reflect.cc:6274
! #, gcc-internal-format
  msgid "unexpected %<access_context::scope()%>"
! msgstr "unerwartetes %<access_context::scope()%>"
  
  #: cp/reflect.cc:6284
  #, gcc-internal-format
  msgid "unexpected %<access_context::designating_class()%>"
! msgstr "unerwartetes %<access_context::designating_class()%>"
  
  #: cp/reflect.cc:7047
! #, gcc-internal-format
  msgid "unexpected argument to %qs"
! msgstr "unerwartetes Argument für %qs"
  
  #: cp/reflect.cc:7336
! #, gcc-internal-format
  msgid "unknown metafunction %qD"
! msgstr "unbekannte Metafunktion %qD"
  
  #: cp/reflect.cc:8010
! #, gcc-internal-format
  msgid "splice argument must be an expression of type %qs"
! msgstr "das %<splice%>-Argument muss ein Ausdruck vom Typ %qs sein"
  
  #: cp/reflect.cc:8206
  #, gcc-internal-format
  msgid "consteval-only variable %qD not declared %<constexpr%> used outside a constant-evaluated context"
! msgstr "die consteval-only-Variable %qD ist nicht als %<constexpr%> deklariert und wird außerhalb eines konstant ausgewerteten Kontexts verwendet"
  
  #: cp/reflect.cc:8208
! #, gcc-internal-format
  msgid "add %<constexpr%>"
! msgstr "fügen Sie %<constexpr%> hinzu"
  
  #: cp/reflect.cc:8212
  #, gcc-internal-format
  msgid "consteval-only expressions are only allowed in a constant-evaluated context"
! msgstr "»consteval-only«-Ausdrücke sind nur in einem konstant ausgewerteten Kontext zulässig"
  
  #: cp/reflect.cc:8319
! #, gcc-internal-format
  msgid "function of consteval-only type must be declared %qs"
! msgstr "Funktion mit Nur-consteval-Typ muss als %qs deklariert werden"
  
  #: cp/reflect.cc:8343 cp/reflect.cc:8359
! #, gcc-internal-format
  msgid "expected a reflection of an expression"
! msgstr "Reflektion eines Ausdrucks erwartet"
  
  #: cp/reflect.cc:8349 cp/reflect.cc:8353
! #, gcc-internal-format
  msgid "add %<typename%> to denote a type outside a type-only context"
! msgstr "fügen Sie %<typename%> hinzu, um einen Typ außerhalb eines Nur-Typ-Kontexts zu bezeichnen"
  
  #: cp/reflect.cc:8372
! #, gcc-internal-format
  msgid "cannot use constructor or destructor %qD in a splice expression"
! msgstr "in einem Spleißausdruck kann der Konstruktor oder Destruktor %qD nicht verwendet werden"
  
  #: cp/reflect.cc:8380
  #, gcc-internal-format
  msgid "cannot use an unnamed bit-field %qD in a splice expression"
! msgstr "in einem Spleißausdruck kann das Bitfeld %qD nicht verwendet werden"
  
  #: cp/reflect.cc:8393
! #, gcc-internal-format
  msgid "cannot implicitly reference a class member %qD through a splice"
! msgstr "das Klassenelement %qD kann nicht implizit aus einem Spleißausdruck heraus referenziert werden"
  
  #: cp/reflect.cc:8407
  #, gcc-internal-format
  msgid "unary %<&%> applied to an anonymous union member %qD that is not a direct member of a named class"
! msgstr "unäres %<&%>, angewendet auf ein anonymes Unionsmitglied %qD, das kein direktes Mitglied einer benannten Klasse ist"
  
  #: cp/reflect.cc:8426
! #, gcc-internal-format
  msgid "use of local variable with automatic storage from containing function in a splice expression"
! msgstr "in einem Spleißausdruck wird eine lokale Variable mit automatischer Speicherdauer aus der umschließenden Funktion verwendet"
  
  #: cp/reflect.cc:8439
! #, gcc-internal-format
  msgid "cannot use an annotation %qE in a splice expression"
! msgstr "die Annotation %qE kann nicht in einem Spleißausdruck verwendet werden"
  
  #: cp/reflect.cc:8448
! #, gcc-internal-format
  msgid "cannot use a data member specification in a splice expression"
! msgstr "eine Datenelementangabe kann nicht in einem Spleißausdruck verwendet werden"
  
  #: cp/rtti.cc:308
  #, gcc-internal-format
*************** msgid "%<this%> is unavailable for stati
*** 70743,70758 ****
  msgstr "%<this%> ist für statische Elementfunktionen nicht verfügbar"
  
  #: cp/semantics.cc:3675
! #, fuzzy, gcc-internal-format
! #| msgid "invalid use of member %qD in constructor %<pre%> contract"
  msgid "invalid use of %<this%> in a constructor %<pre%> condition"
! msgstr "ungültige Verwendung des Elementes %qD in %<pre%>-Vertrag eines Konstruktors"
  
  #: cp/semantics.cc:3677
! #, fuzzy, gcc-internal-format
! #| msgid "invalid use of member %qD in destructor %<post%> contract"
  msgid "invalid use of %<this%> in a destructor %<post%> condition"
! msgstr "ungültige Verwendung des Elementes %qD in %<post%>-Vertrag eines Destruktors"
  
  #: cp/semantics.cc:3679
  #, gcc-internal-format
--- 69921,69934 ----
  msgstr "%<this%> ist für statische Elementfunktionen nicht verfügbar"
  
  #: cp/semantics.cc:3675
! #, gcc-internal-format
  msgid "invalid use of %<this%> in a constructor %<pre%> condition"
! msgstr "ungültige Verwendung von %<this%> in der %<pre%>-Bedingung eines Konstruktors"
  
  #: cp/semantics.cc:3677
! #, gcc-internal-format
  msgid "invalid use of %<this%> in a destructor %<post%> condition"
! msgstr "ungültige Verwendung von %<this%> in der %<post%>-Bedingung eines Destruktors"
  
  #: cp/semantics.cc:3679
  #, gcc-internal-format
*************** msgstr "%qD kann nicht in Konstanten-Aus
*** 70887,70893 ****
  #: cp/semantics.cc:5030 cp/semantics.cc:5061
  #, gcc-internal-format
  msgid "%qD 'this' required when accessing a member within a constructor precondition or destructor postcondition contract check"
! msgstr ""
  
  #: cp/semantics.cc:5159
  #, gcc-internal-format
--- 70063,70069 ----
  #: cp/semantics.cc:5030 cp/semantics.cc:5061
  #, gcc-internal-format
  msgid "%qD 'this' required when accessing a member within a constructor precondition or destructor postcondition contract check"
! msgstr "%qD »this« erforderlich beim Zugriff auf ein Element innerhalb einer Konstruktor-Vorbedingung oder einer Destruktor-Nachbedingung zur Vertragsüberprüfung"
  
  #: cp/semantics.cc:5159
  #, gcc-internal-format
*************** msgid "%qT is not an enumeration type"
*** 70900,70909 ****
  msgstr "%qT ist kein Aufzählungstyp"
  
  #: cp/semantics.cc:5204
! #, fuzzy, gcc-internal-format
! #| msgid "size of array has non-integral type %qT"
  msgid "pack index has non-integral type %qT"
! msgstr "Arraygröße hat nicht-ganzzahligen Typen %qT"
  
  #: cp/semantics.cc:5211
  #, gcc-internal-format
--- 70076,70084 ----
  msgstr "%qT ist kein Aufzählungstyp"
  
  #: cp/semantics.cc:5204
! #, gcc-internal-format
  msgid "pack index has non-integral type %qT"
! msgstr "Packungsindex hat nicht-ganzzahligen Typen %qT"
  
  #: cp/semantics.cc:5211
  #, gcc-internal-format
*************** msgid "pack index is not an integral con
*** 70911,70926 ****
  msgstr "Packindex ist keine Ganzzahlkonstante"
  
  #: cp/semantics.cc:5219
! #, fuzzy, gcc-internal-format
! #| msgid "pack index is negative"
  msgid "pack index %qE is negative"
! msgstr "Packindex ist negativ"
  
  #: cp/semantics.cc:5225
! #, fuzzy, gcc-internal-format
! #| msgid "pack index is out of range"
  msgid "pack index %qE is out of range for pack of length %qd"
! msgstr "Packindex liegt außerhalb des Bereichs"
  
  #. Parameter packs can only be used in templates
  #: cp/semantics.cc:5363
--- 70086,70099 ----
  msgstr "Packindex ist keine Ganzzahlkonstante"
  
  #: cp/semantics.cc:5219
! #, gcc-internal-format
  msgid "pack index %qE is negative"
! msgstr "Packungsindex %qE ist negativ"
  
  #: cp/semantics.cc:5225
! #, gcc-internal-format
  msgid "pack index %qE is out of range for pack of length %qd"
! msgstr "Packungsindex %qE liegt außerhalb des Bereichs einer Packung der Länge %qd"
  
  #. Parameter packs can only be used in templates
  #: cp/semantics.cc:5363
*************** msgid "user defined reduction with const
*** 70984,70999 ****
  msgstr "benutzerdefinierte Reduktion mit Konstruktorinitialisierung für Basisklasse %qT"
  
  #: cp/semantics.cc:7431
! #, fuzzy, gcc-internal-format
! #| msgid "function or array type in %<#pragma omp declare reduction%>"
  msgid "%qT is not a struct, union or class type in %<#pragma omp declare mapper%>"
! msgstr "Funktions- oder Arraytyp in %<#pragma omp declare reduction%>"
  
  #: cp/semantics.cc:7437
! #, fuzzy, gcc-internal-format
! #| msgid "%qD must be a global variable in %<#pragma acc declare link%>"
  msgid "%qT must not be a virtual base class in %<#pragma omp declare mapper%>"
! msgstr "In %<#pragma acc declare link%> muss %qD eine globale Variable sein"
  
  #: cp/semantics.cc:7743
  #, gcc-internal-format
--- 70157,70170 ----
  msgstr "benutzerdefinierte Reduktion mit Konstruktorinitialisierung für Basisklasse %qT"
  
  #: cp/semantics.cc:7431
! #, gcc-internal-format
  msgid "%qT is not a struct, union or class type in %<#pragma omp declare mapper%>"
! msgstr "%qT ist weder Struktur noch Union noch Klassentyp in %<#pragma omp declare mapper%>"
  
  #: cp/semantics.cc:7437
! #, gcc-internal-format
  msgid "%qT must not be a virtual base class in %<#pragma omp declare mapper%>"
! msgstr "%qT darf keine virtuelle Basisklasse in %<#pragma omp declare mapper%> sein"
  
  #: cp/semantics.cc:7743
  #, gcc-internal-format
*************** msgid "%qD appears more than once in %<a
*** 71162,71183 ****
  msgstr "%qD kommt in %<allocate%>-Klausel mehrfach vor"
  
  #: cp/semantics.cc:8959
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not a variable in %<allocate%> clause"
  msgid "class member %qE not yet supported in %<uses_allocators%> clause"
! msgstr "%qE in %<allocate%>-Klausel ist keine Variable"
  
  #: cp/semantics.cc:9004
! #, fuzzy, gcc-internal-format
! #| msgid "The name %qs cannot be used as a defined operator at %C"
  msgid "modifiers cannot be used with predefined allocators"
! msgstr "Der Name %qs bei %C kann nicht als ein definierter Operator verwendet werden"
  
  #: cp/semantics.cc:9073
! #, fuzzy, gcc-internal-format
! #| msgid "variable length arrays are not yet supported in coroutines"
  msgid "variable length traits arrays are not supported"
! msgstr "Arrays mit variabler Länge werden in Koroutinen noch nicht unterstützt"
  
  #: cp/semantics.cc:9147
  #, gcc-internal-format
--- 70333,70351 ----
  msgstr "%qD kommt in %<allocate%>-Klausel mehrfach vor"
  
  #: cp/semantics.cc:8959
! #, gcc-internal-format
  msgid "class member %qE not yet supported in %<uses_allocators%> clause"
! msgstr "Klassenelement %qE wird in der Klausel %<uses_allocators%> noch nicht unterstützt"
  
  #: cp/semantics.cc:9004
! #, gcc-internal-format
  msgid "modifiers cannot be used with predefined allocators"
! msgstr "Modifikatoren können nicht mit vordefinierten Allokatoren verwendet werden"
  
  #: cp/semantics.cc:9073
! #, gcc-internal-format
  msgid "variable length traits arrays are not supported"
! msgstr "Arrays von Merkmalen mit variabler Länge werden nicht unterstützt"
  
  #: cp/semantics.cc:9147
  #, gcc-internal-format
*************** msgstr "%<size()%> des %<constexpr%>-Str
*** 71292,71298 ****
  #: cp/semantics.cc:12852
  #, gcc-internal-format
  msgid "unhandled return from %<data()%>"
! msgstr ""
  
  #: cp/semantics.cc:12951
  #, gcc-internal-format
--- 70460,70466 ----
  #: cp/semantics.cc:12852
  #, gcc-internal-format
  msgid "unhandled return from %<data()%>"
! msgstr "unverarbeiteter Rückgabewert von %<data()%>"
  
  #: cp/semantics.cc:12951
  #, gcc-internal-format
*************** msgstr "%<data()%> des %<constexpr%>-Str
*** 71307,71318 ****
  #: cp/semantics.cc:13015
  #, gcc-internal-format
  msgid "could not convert constexpr string from UTF-8 encoding to source character set"
! msgstr ""
  
  #: cp/semantics.cc:13019
  #, gcc-internal-format
  msgid "could not convert constexpr string from ordinary literal encoding to source character set"
! msgstr ""
  
  #: cp/semantics.cc:13129
  #, gcc-internal-format
--- 70475,70486 ----
  #: cp/semantics.cc:13015
  #, gcc-internal-format
  msgid "could not convert constexpr string from UTF-8 encoding to source character set"
! msgstr "die constexpr-Zeichenkette konnte nicht von UTF-8 in den Quellzeichensatz konvertiert werden"
  
  #: cp/semantics.cc:13019
  #, gcc-internal-format
  msgid "could not convert constexpr string from ordinary literal encoding to source character set"
! msgstr "die constexpr-Zeichenkette konnte nicht von der normalen Literalkodierung in den Quellzeichensatz konvertiert werden"
  
  #: cp/semantics.cc:13129
  #, gcc-internal-format
*************** msgid "%<decltype%> cannot resolve addre
*** 71335,71350 ****
  msgstr "%<decltype%> kann die Adresse der überladenen Funktion nicht auflösen"
  
  #: cp/semantics.cc:13495 cp/semantics.cc:13502
! #, fuzzy, gcc-internal-format
! #| msgid "%qT is not a class type"
  msgid "%qT is not a non-union class type"
! msgstr "%qT ist kein Klassentyp"
  
  #: cp/semantics.cc:13513 cp/typeck.cc:1926 cp/typeck.cc:1933
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not an standard layout type"
  msgid "%qT is not a standard-layout type"
! msgstr "  %qT kein Typ mit Standardlayout ist"
  
  #: cp/semantics.cc:13574 rust/backend/rust-tree.cc:5250
  #, gcc-internal-format
--- 70503,70516 ----
  msgstr "%<decltype%> kann die Adresse der überladenen Funktion nicht auflösen"
  
  #: cp/semantics.cc:13495 cp/semantics.cc:13502
! #, gcc-internal-format
  msgid "%qT is not a non-union class type"
! msgstr "%qT ist ein Klassentyp, der aber keine Union ist"
  
  #: cp/semantics.cc:13513 cp/typeck.cc:1926 cp/typeck.cc:1933
! #, gcc-internal-format
  msgid "%qT is not a standard-layout type"
! msgstr "%qT ist kein Typ mit Standardlayout"
  
  #: cp/semantics.cc:13574 rust/backend/rust-tree.cc:5250
  #, gcc-internal-format
*************** msgid "%<__builtin_is_corresponding_memb
*** 71372,71397 ****
  msgstr "Argument von %<__builtin_is_corresponding_member%> muss ein Zeiger auf Member sein"
  
  #: cp/semantics.cc:13876
! #, fuzzy, gcc-internal-format
! #| msgid "%<__builtin_is_pointer_interconvertible_with_class%> needs a single argument"
  msgid "%<__builtin_is_string_literal%> needs a single argument"
! msgstr "%<__builtin_is_pointer_interconvertible_with_class%> benötigt ein einziges Argument"
  
  #: cp/semantics.cc:13888
  #, gcc-internal-format
  msgid "%<__builtin_is_string_literal%> argument is not %<const char*%>, %<const wchar_t*%>, %<const char8_t*%>, %<const char16_t*%> or %<const char32_t*%>"
! msgstr ""
  
  #: cp/semantics.cc:14003
  #, gcc-internal-format
  msgid "checking %qs for type %qT with a destructor that cannot be called"
! msgstr ""
  
  #: cp/semantics.cc:14300
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not a reference"
  msgid "%qs argument %qT is a reference"
! msgstr "  %qT keine Referenz ist"
  
  #: cp/semantics.cc:14471
  #, gcc-internal-format
--- 70538,70561 ----
  msgstr "Argument von %<__builtin_is_corresponding_member%> muss ein Zeiger auf Member sein"
  
  #: cp/semantics.cc:13876
! #, gcc-internal-format
  msgid "%<__builtin_is_string_literal%> needs a single argument"
! msgstr "%<__builtin_is_string_literal%> benötigt ein einziges Argument"
  
  #: cp/semantics.cc:13888
  #, gcc-internal-format
  msgid "%<__builtin_is_string_literal%> argument is not %<const char*%>, %<const wchar_t*%>, %<const char8_t*%>, %<const char16_t*%> or %<const char32_t*%>"
! msgstr "das Argument für %<__builtin_is_string_literal%> ist weder %<const char*%>, %<const wchar_t*%>, %<const char8_t*%>, %<const char16_t*%> noch %<const char32_t*%>"
  
  #: cp/semantics.cc:14003
  #, gcc-internal-format
  msgid "checking %qs for type %qT with a destructor that cannot be called"
! msgstr "Überprüfung von %qs auf Typ %qT mit einem Destruktor, der nicht aufrufbar ist"
  
  #: cp/semantics.cc:14300
! #, gcc-internal-format
  msgid "%qs argument %qT is a reference"
! msgstr "das Argument %2$qT für %1$qs ist eine Referenz"
  
  #: cp/semantics.cc:14471
  #, gcc-internal-format
*************** msgid "%<__builtin_bit_cast%> destinatio
*** 71432,71441 ****
  msgstr "Zieltyp %qT von %<__builtin_bit_cast%> ist nicht trivial kopierbar"
  
  #: cp/semantics.cc:14843
! #, fuzzy, gcc-internal-format
! #| msgid "%<__builtin_bit_cast%> destination type %qT is an array type"
  msgid "%<__builtin_bit_cast%> cannot be used with consteval-only types"
! msgstr "Zieltyp %qT von %<__builtin_bit_cast%> ist ein Arraytyp"
  
  #: cp/semantics.cc:14870
  #, gcc-internal-format
--- 70596,70604 ----
  msgstr "Zieltyp %qT von %<__builtin_bit_cast%> ist nicht trivial kopierbar"
  
  #: cp/semantics.cc:14843
! #, gcc-internal-format
  msgid "%<__builtin_bit_cast%> cannot be used with consteval-only types"
! msgstr "%<__builtin_bit_cast%> kann nicht mit consteval-only-Typen verwendet werden"
  
  #: cp/semantics.cc:14870
  #, gcc-internal-format
*************** msgid " because all of its copy and move
*** 71478,71556 ****
  msgstr " da alle seine Kopier- und Verschiebekonstruktoren gelöscht sind"
  
  #: cp/tree.cc:5047
! #, fuzzy, gcc-internal-format
! #| msgid "%qD is a function, not a type"
  msgid "%qT is a floating-point type"
! msgstr "%qD ist eine Funktion, kein Typ"
  
  #: cp/tree.cc:5052
! #, fuzzy, gcc-internal-format
! #| msgid "%qD is not of pointer type"
  msgid "%qT is a fixed-point type"
! msgstr "%qD hat keinen Zeigertyp"
  
  #: cp/tree.cc:5083
! #, fuzzy, gcc-internal-format
! #| msgid "%qT is not a base of %qT"
  msgid "%qD does not fill all bits of %q#T"
! msgstr "%qT ist keine Basis von %qT"
  
  #: cp/tree.cc:5091
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT does not have unique object representations"
  msgid "%qD has type %qT that does not have unique object representations"
! msgstr "  %qT keine eindeutige Objektrepräsentationen hat"
  
  #: cp/tree.cc:5101
! #, fuzzy, gcc-internal-format
! #| msgid "%q#T has pointer data members"
  msgid "%q#T has no data fields"
! msgstr "%q#T hat Zeigertypen als Elemente"
  
  #: cp/tree.cc:5113
  #, gcc-internal-format
  msgid "%<std::nullptr_t%> has padding bits and no value bits"
! msgstr ""
  
  #: cp/tree.cc:5142
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT does not have unique object representations"
  msgid "base %qT does not have unique object representations"
! msgstr "  %qT keine eindeutige Objektrepräsentationen hat"
  
  #: cp/tree.cc:5154 cp/tree.cc:5164
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT does not have unique object representations"
  msgid "%qD with type %qT does not have unique object representations"
! msgstr "  %qT keine eindeutige Objektrepräsentationen hat"
  
  #: cp/tree.cc:5190
! #, fuzzy, gcc-internal-format
! #| msgid "comparison between %qT and %qT"
  msgid "padding occurs between %qD and %qD"
! msgstr "Vergleich zwischen %qT und %qT"
  
  #: cp/tree.cc:5194
  #, gcc-internal-format
  msgid "unnamed bit-field inserts padding before %qD"
! msgstr ""
  
  #: cp/tree.cc:5198
  #, gcc-internal-format
  msgid "padding occurs before %qD"
! msgstr ""
  
  #: cp/tree.cc:5215
! #, fuzzy, gcc-internal-format
! #| msgid "pointer used after %qD"
  msgid "padding occurs after %qD"
! msgstr "Zeiger wird nach %qD verwendet"
  
  #: cp/tree.cc:5218
! #, fuzzy, gcc-internal-format
! #| msgid "%qs is not a gcov data file"
  msgid "%qT has padding and no data fields"
! msgstr "%qs ist keine gcov-Datei"
  
  #: cp/tree.cc:5327
  #, gcc-internal-format
--- 70641,70709 ----
  msgstr " da alle seine Kopier- und Verschiebekonstruktoren gelöscht sind"
  
  #: cp/tree.cc:5047
! #, gcc-internal-format
  msgid "%qT is a floating-point type"
! msgstr "%qT ist ein Gleitkommatyp"
  
  #: cp/tree.cc:5052
! #, gcc-internal-format
  msgid "%qT is a fixed-point type"
! msgstr "%qT ist ein Festkommatyp"
  
  #: cp/tree.cc:5083
! #, gcc-internal-format
  msgid "%qD does not fill all bits of %q#T"
! msgstr "%qD füllt nicht alle Bits von %q#T"
  
  #: cp/tree.cc:5091
! #, gcc-internal-format
  msgid "%qD has type %qT that does not have unique object representations"
! msgstr "%qD hat den Typ %qT, der hat jedoch keine eindeutigen Objektdarstellungen"
  
  #: cp/tree.cc:5101
! #, gcc-internal-format
  msgid "%q#T has no data fields"
! msgstr "%q#T hat keine Datenfelder"
  
  #: cp/tree.cc:5113
  #, gcc-internal-format
  msgid "%<std::nullptr_t%> has padding bits and no value bits"
! msgstr "%<std::nullptr_t%> hat Füllbits und keine Wertbits"
  
  #: cp/tree.cc:5142
! #, gcc-internal-format
  msgid "base %qT does not have unique object representations"
! msgstr "der Basistyp %qT hat keine eindeutigen Objektdarstellungen"
  
  #: cp/tree.cc:5154 cp/tree.cc:5164
! #, gcc-internal-format
  msgid "%qD with type %qT does not have unique object representations"
! msgstr "%qD vom Typ %qT hat keine eindeutigen Objektdarstellungen"
  
  #: cp/tree.cc:5190
! #, gcc-internal-format
  msgid "padding occurs between %qD and %qD"
! msgstr "Auffüllung passiert zwischen %qD und %qD"
  
  #: cp/tree.cc:5194
  #, gcc-internal-format
  msgid "unnamed bit-field inserts padding before %qD"
! msgstr "unbenanntes Bitfeld fügt vor %qD eine Auffüllung ein"
  
  #: cp/tree.cc:5198
  #, gcc-internal-format
  msgid "padding occurs before %qD"
! msgstr "Auffüllung passiert vor %qD"
  
  #: cp/tree.cc:5215
! #, gcc-internal-format
  msgid "padding occurs after %qD"
! msgstr "Auffüllung passiert hinter %qD"
  
  #: cp/tree.cc:5218
! #, gcc-internal-format
  msgid "%qT has padding and no data fields"
! msgstr "%qT hat Auffüllung und keine Datenfelder"
  
  #: cp/tree.cc:5327
  #, gcc-internal-format
*************** msgid "%qE on %<case%> or %<default%> la
*** 71648,71657 ****
  msgstr "%qE in %<case%>- oder %<default%>-Label"
  
  #: cp/tree.cc:5548
! #, fuzzy, gcc-internal-format
! #| msgid "declaration for parameter %qD but no such parameter"
  msgid "%qE on declaration other than parameter or automatic variable"
! msgstr "Deklaration für nicht vorhandenen Parameter %qD"
  
  #: cp/tree.cc:5643
  #, gcc-internal-format
--- 70801,70809 ----
  msgstr "%qE in %<case%>- oder %<default%>-Label"
  
  #: cp/tree.cc:5548
! #, gcc-internal-format
  msgid "%qE on declaration other than parameter or automatic variable"
! msgstr "%qE bei einer Deklaration außer Parameter oder automatischer Variable"
  
  #: cp/tree.cc:5643
  #, gcc-internal-format
*************** msgid "%qE attribute argument must be an
*** 71739,71772 ****
  msgstr "Argument %qE des Attributs muss ein Ausdruck sein, der zu true oder false auswertet"
  
  #: cp/tree.cc:5898
! #, fuzzy, gcc-internal-format
! #| msgid "%qE on a type other than class or enumeration definition"
  msgid "annotation on a type other than class or enumeration definition"
! msgstr "%qE bei einem anderen Typ als einer Klassen- oder Aufzählungsdefinition"
  
  #: cp/tree.cc:5905
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute only applies to variables"
  msgid "annotation applied to a label"
! msgstr "Attribut %qE bezieht sich nur auf Variablen"
  
  #: cp/tree.cc:5911
! #, fuzzy, gcc-internal-format
! #| msgid "%qE on unnamed bit-field"
  msgid "annotation on unnamed bit-field"
! msgstr "%qE in unbenanntem Bitfeld"
  
  #: cp/tree.cc:5920
! #, fuzzy, gcc-internal-format
! #| msgid "%qD does not have integral type"
  msgid "annotation does not have structural type"
! msgstr "%qD hat keinen Ganzzahltyp"
  
  #: cp/tree.cc:5935
! #, fuzzy, gcc-internal-format
! #| msgid "  %qT is not nothrow copy constructible"
  msgid "annotation does not have copy constructible type"
! msgstr "  %qT kann nicht per %<nothrow%> mit dem Standardkonstruktor kopiert werden"
  
  #: cp/tree.cc:6909 rust/backend/rust-tree.cc:3189
  #, gcc-internal-format
--- 70891,70919 ----
  msgstr "Argument %qE des Attributs muss ein Ausdruck sein, der zu true oder false auswertet"
  
  #: cp/tree.cc:5898
! #, gcc-internal-format
  msgid "annotation on a type other than class or enumeration definition"
! msgstr "Annotation an einem anderen Typ als einer Klassen- oder Aufzählungsdefinition"
  
  #: cp/tree.cc:5905
! #, gcc-internal-format
  msgid "annotation applied to a label"
! msgstr "Annotation bezieht sich auf eine Sprungmarke"
  
  #: cp/tree.cc:5911
! #, gcc-internal-format
  msgid "annotation on unnamed bit-field"
! msgstr "Annotation an einem unbenannten Bitfeld"
  
  #: cp/tree.cc:5920
! #, gcc-internal-format
  msgid "annotation does not have structural type"
! msgstr "die Annotation hat keinen Strukturtyp"
  
  #: cp/tree.cc:5935
! #, gcc-internal-format
  msgid "annotation does not have copy constructible type"
! msgstr "die Annotation hat keinen kopier-erzeugbaren Typ"
  
  #: cp/tree.cc:6909 rust/backend/rust-tree.cc:3189
  #, gcc-internal-format
*************** msgstr "selber kanonischer Typknoten fü
*** 71831,71875 ****
  #: cp/typeck.cc:1915
  #, gcc-internal-format
  msgid "%q#T and %q#T are not both the same type, layout-compatible enumerations, or layout-compatible standard-layout class types"
! msgstr ""
  
  #: cp/typeck.cc:1946
! #, fuzzy, gcc-internal-format
! #| msgid "return type of %qD is not %qs"
  msgid "the underlying type of %qT is %qT, but"
! msgstr "Rückgabetyp von %qD ist nicht %qs"
  
  #: cp/typeck.cc:1949
! #, fuzzy, gcc-internal-format
! #| msgid "return type of %qD is not %qs"
  msgid "the underlying type of %qT is %qT"
! msgstr "Rückgabetyp von %qD ist nicht %qs"
  
  #: cp/typeck.cc:1968
  #, gcc-internal-format
  msgid "%qD and %qD do not correspond"
! msgstr ""
  
  #: cp/typeck.cc:1975 cp/typeck.cc:1979 cp/typeck.cc:2067
! #, fuzzy, gcc-internal-format
! #| msgid "%qT has no member named %qE"
  msgid "%qT has no member corresponding to %qD"
! msgstr "%qT hat kein Element namens %qE"
  
  #: cp/typeck.cc:2019
! #, fuzzy, gcc-internal-format
! #| msgid "%qs is not a field, but a %qs"
  msgid "%qT has %u field, but"
  msgid_plural "%qT has %u fields, but"
! msgstr[0] "%qs ist kein Feld, sondern ein %qs"
! msgstr[1] "%qs ist kein Feld, sondern ein %qs"
  
  #: cp/typeck.cc:2023
  #, gcc-internal-format
  msgid "%qT has %u field"
  msgid_plural "%qT has %u fields"
! msgstr[0] ""
! msgstr[1] ""
  
  #: cp/typeck.cc:2183
  #, gcc-internal-format
--- 70978,71018 ----
  #: cp/typeck.cc:1915
  #, gcc-internal-format
  msgid "%q#T and %q#T are not both the same type, layout-compatible enumerations, or layout-compatible standard-layout class types"
! msgstr "%q#T und %q#T sind nicht beide vom gleichen Typ, layoutkompatible Aufzählungen oder layoutkompatible Standardlayout-Klassentypen"
  
  #: cp/typeck.cc:1946
! #, gcc-internal-format
  msgid "the underlying type of %qT is %qT, but"
! msgstr "der zugrundeliegende Typ von %qT ist %qT, aber"
  
  #: cp/typeck.cc:1949
! #, gcc-internal-format
  msgid "the underlying type of %qT is %qT"
! msgstr "der zugrundeliegende Typ von %qT ist %qT"
  
  #: cp/typeck.cc:1968
  #, gcc-internal-format
  msgid "%qD and %qD do not correspond"
! msgstr "%qD und %qD stimmen nicht überein"
  
  #: cp/typeck.cc:1975 cp/typeck.cc:1979 cp/typeck.cc:2067
! #, gcc-internal-format
  msgid "%qT has no member corresponding to %qD"
! msgstr "%qT hat kein Element, das %qD entspricht"
  
  #: cp/typeck.cc:2019
! #, gcc-internal-format
  msgid "%qT has %u field, but"
  msgid_plural "%qT has %u fields, but"
! msgstr[0] "%qT hat %u Feld, aber"
! msgstr[1] "%qT hat %u Felder, aber"
  
  #: cp/typeck.cc:2023
  #, gcc-internal-format
  msgid "%qT has %u field"
  msgid_plural "%qT has %u fields"
! msgstr[0] "%qT hat %u Feld"
! msgstr[1] "%qT hat %u Felder"
  
  #: cp/typeck.cc:2183
  #, gcc-internal-format
*************** msgid "object missing in use of %qE"
*** 72028,72037 ****
  msgstr "bei Verwendung von %qE fehlt Objekt"
  
  #: cp/typeck.cc:4685
! #, fuzzy, gcc-internal-format
! #| msgid "non-trivial conversion in %qs"
  msgid "no default version in scope"
! msgstr "nicht-triviale Umwandlung in %qs"
  
  #: cp/typeck.cc:4694
  #, gcc-internal-format
--- 71171,71179 ----
  msgstr "bei Verwendung von %qE fehlt Objekt"
  
  #: cp/typeck.cc:4685
! #, gcc-internal-format
  msgid "no default version in scope"
! msgstr "keine Standardversion im Geltungsbereich"
  
  #: cp/typeck.cc:4694
  #, gcc-internal-format
*************** msgid "must use %<.*%> or %<->*%> to cal
*** 72044,72053 ****
  msgstr "%<.*%> oder %<->*%> muss verwendet werden, um Zeiger auf Element als Funktion in %<%E (...)%> aufzurufen, z.B. %<(... ->* %E) (...)%>"
  
  #: cp/typeck.cc:4732
! #, fuzzy, gcc-internal-format
! #| msgid "%qE cannot be used as a function"
  msgid "%qT cannot be used as a function"
! msgstr "%qE kann nicht als Funktion verwendet werden"
  
  #: cp/typeck.cc:4736
  #, gcc-internal-format
--- 71186,71194 ----
  msgstr "%<.*%> oder %<->*%> muss verwendet werden, um Zeiger auf Element als Funktion in %<%E (...)%> aufzurufen, z.B. %<(... ->* %E) (...)%>"
  
  #: cp/typeck.cc:4732
! #, gcc-internal-format
  msgid "%qT cannot be used as a function"
! msgstr "%qT kann nicht als Funktion verwendet werden"
  
  #: cp/typeck.cc:4736
  #, gcc-internal-format
*************** msgid "decrement of read-only reference
*** 72814,72823 ****
  msgstr "Verringerung der schreibgeschützten Referenz %qD"
  
  #: cp/typeck2.cc:125
! #, fuzzy, gcc-internal-format
! #| msgid "assignment of read-only member %qD"
  msgid "assignment to read-only type %qT"
! msgstr "Zuweisung des schreibgeschützten Elementes %qD"
  
  #: cp/typeck2.cc:180
  #, gcc-internal-format
--- 71955,71963 ----
  msgstr "Verringerung der schreibgeschützten Referenz %qD"
  
  #: cp/typeck2.cc:125
! #, gcc-internal-format
  msgid "assignment to read-only type %qT"
! msgstr "Zuweisung zum schreibgeschützten Typ %qT"
  
  #: cp/typeck2.cc:180
  #, gcc-internal-format
*************** msgid "cannot declare %<catch%> paramete
*** 72896,72917 ****
  msgstr "%<catch%>-Parameter kann nicht als abstrakter Klassentyp %qT deklariert werden"
  
  #: cp/typeck2.cc:231
! #, fuzzy, gcc-internal-format
! #| msgid "cannot allocate an object of abstract type %qT"
  msgid "cannot construct an object of abstract type %qT"
! msgstr "es kann kein Objekt des abstrakten Typs %qT belegt werden"
  
  #: cp/typeck2.cc:241
! #, fuzzy, gcc-internal-format
! #| msgid "  because the following virtual functions are pure within %qT:"
  msgid "because the following virtual functions are pure within %qT:"
! msgstr "  denn die folgenden virtuellen Funktionen sind rein innerhalb %qT:"
  
  #: cp/typeck2.cc:248
! #, fuzzy, gcc-internal-format
! #| msgid "%s%#qD"
  msgid "%#qD"
! msgstr "%s%#qD"
  
  #: cp/typeck2.cc:309
  #, gcc-internal-format
--- 72036,72054 ----
  msgstr "%<catch%>-Parameter kann nicht als abstrakter Klassentyp %qT deklariert werden"
  
  #: cp/typeck2.cc:231
! #, gcc-internal-format
  msgid "cannot construct an object of abstract type %qT"
! msgstr "vom abstrakten Typ %qT kann kein Objekt erzeugt werden"
  
  #: cp/typeck2.cc:241
! #, gcc-internal-format
  msgid "because the following virtual functions are pure within %qT:"
! msgstr "da die folgenden virtuellen Funktionen innerhalb von %qT rein sind:"
  
  #: cp/typeck2.cc:248
! #, gcc-internal-format
  msgid "%#qD"
! msgstr "%#qD"
  
  #: cp/typeck2.cc:309
  #, gcc-internal-format
*************** msgstr "Deklaration von %q#T"
*** 72931,72937 ****
  #: cp/typeck2.cc:369
  #, gcc-internal-format
  msgid "%q#T has a definition but does not correspond with %q#T because it is attached to a different module"
! msgstr ""
  
  #: cp/typeck2.cc:403
  #, gcc-internal-format
--- 72068,72074 ----
  #: cp/typeck2.cc:369
  #, gcc-internal-format
  msgid "%q#T has a definition but does not correspond with %q#T because it is attached to a different module"
! msgstr "%q#T hat eine Definition, entspricht jedoch nicht %q#T, da es an ein anderes Modul angehängt ist"
  
  #: cp/typeck2.cc:403
  #, gcc-internal-format
*************** msgid "cannot apply member pointer %qE t
*** 73102,73117 ****
  msgstr "Elementzeiger %qE kann nicht auf %qE angewandt werden, da letzteres vom Nicht-Klassen-Typ %qT ist"
  
  #: cp/typeck2.cc:2464
! #, fuzzy, gcc-internal-format
! #| msgid "pointer to member type %qT incompatible with object type %qT"
  msgid "pointer to member type %qT incompatible with object type %qT because %qT is not derived from %qT"
! msgstr "Zeiger auf Elementtyp %qT mit Objekttyp %qT inkompatibel"
  
  #: cp/typeck2.cc:2469
! #, fuzzy, gcc-internal-format
! #| msgid "pointer to member type %qT incompatible with object type %qT"
  msgid "pointer to member type %qT incompatible with incomplete object type %qT"
! msgstr "Zeiger auf Elementtyp %qT mit Objekttyp %qT inkompatibel"
  
  #: cp/typeck2.cc:2532
  #, gcc-internal-format
--- 72239,72252 ----
  msgstr "Elementzeiger %qE kann nicht auf %qE angewandt werden, da letzteres vom Nicht-Klassen-Typ %qT ist"
  
  #: cp/typeck2.cc:2464
! #, gcc-internal-format
  msgid "pointer to member type %qT incompatible with object type %qT because %qT is not derived from %qT"
! msgstr "Zeiger auf Elementtyp %qT ist inkompatibel zum Objekttyp %qT, da %qT nich von %qT abgeleitet ist"
  
  #: cp/typeck2.cc:2469
! #, gcc-internal-format
  msgid "pointer to member type %qT incompatible with incomplete object type %qT"
! msgstr "Zeiger auf Elementtyp %qT ist inkompatibel zum unvollständigen Objekttyp %qT"
  
  #: cp/typeck2.cc:2532
  #, gcc-internal-format
*************** msgid "%qs argument of %qs intrinsic at
*** 74356,74371 ****
  msgstr "Argument %qs des intrinsischen %qs bei %L muss von der Art %d sein"
  
  #: fortran/check.cc:1118
! #, fuzzy, gcc-internal-format
! #| msgid "%qs argument of %qs intrinsic at %L must be of kind %d"
  msgid "Not supported: %qs argument of %qs intrinsic at %L with kind %d"
! msgstr "Argument %qs des intrinsischen %qs bei %L muss von der Art %d sein"
  
  #: fortran/check.cc:1135
! #, fuzzy, gcc-internal-format
! #| msgid "VALUES argument of DATE_AND_TIME at %L must have a decimal exponent range of at least four"
  msgid "%qs argument of %qs intrinsic at %L must have a decimal exponent range of at least four"
! msgstr "Das VALUES-Argument von DATE_AND_TIME bei %L muss einen dezimalen Exponentenbereich von mindestens 4 haben"
  
  #: fortran/check.cc:1154
  #, gcc-internal-format
--- 73491,73504 ----
  msgstr "Argument %qs des intrinsischen %qs bei %L muss von der Art %d sein"
  
  #: fortran/check.cc:1118
! #, gcc-internal-format
  msgid "Not supported: %qs argument of %qs intrinsic at %L with kind %d"
! msgstr "Nicht unterstützt: Argument %qs des intrinsischen %qs bei %L mit Art %d"
  
  #: fortran/check.cc:1135
! #, gcc-internal-format
  msgid "%qs argument of %qs intrinsic at %L must have a decimal exponent range of at least four"
! msgstr "Das %qs-Argument des intrinsischen %qs bei %L muss einen dezimalen Exponentenbereich von mindestens 4 haben"
  
  #: fortran/check.cc:1154
  #, gcc-internal-format
*************** msgid "VALUE argument of the %s intrinsi
*** 74478,74487 ****
  msgstr "VALUE-Argument der intrinsischen Funktion »%s« bei %L muss definierbar sein"
  
  #: fortran/check.cc:1852
! #, fuzzy, gcc-internal-format
! #| msgid "%qs argument of %qs intrinsic at %L shall be of type integer, real or character"
  msgid "%qs argument of %qs intrinsic at %L shall be of type %<team_type%> from the intrinsic module %<ISO_FORTRAN_ENV%>"
! msgstr "Argument %qs des intrinsischen %qs bei %L muss vom Typ integer, read oder character sein"
  
  #: fortran/check.cc:1891
  #, gcc-internal-format
--- 73611,73619 ----
  msgstr "VALUE-Argument der intrinsischen Funktion »%s« bei %L muss definierbar sein"
  
  #: fortran/check.cc:1852
! #, gcc-internal-format
  msgid "%qs argument of %qs intrinsic at %L shall be of type %<team_type%> from the intrinsic module %<ISO_FORTRAN_ENV%>"
! msgstr "Argument %qs des intrinsischen %qs bei %L muss vom Typ %<team_type%> des intrinsischen Moduls %<ISO_FORTRAN_ENV%> sein"
  
  #: fortran/check.cc:1891
  #, gcc-internal-format
*************** msgstr "Argument %qs des intrinsischen %
*** 74501,74507 ****
  #: fortran/check.cc:1963
  #, gcc-internal-format
  msgid "%qs argument of %qs intrinsic at %L shall specify one of the INITIAL_TEAM, PARENT_TEAM or CURRENT_TEAM constants from the intrinsic module ISO_FORTRAN_ENV"
! msgstr ""
  
  #: fortran/check.cc:2005 fortran/check.cc:2102
  #, gcc-internal-format, gfc-internal-format
--- 73633,73639 ----
  #: fortran/check.cc:1963
  #, gcc-internal-format
  msgid "%qs argument of %qs intrinsic at %L shall specify one of the INITIAL_TEAM, PARENT_TEAM or CURRENT_TEAM constants from the intrinsic module ISO_FORTRAN_ENV"
! msgstr "Argument %qs des intrinsischen %qs bei %L muss eine der Konstanten INITIAL_TEAM, PARENT_TEAM oder CURRENT_TEAM aus dem intrinsischen Modul ISO_FORTRAN_ENV sein"
  
  #: fortran/check.cc:2005 fortran/check.cc:2102
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Argument %qs des intrinsischen %
*** 74859,74865 ****
  #: fortran/check.cc:4771
  #, gcc-internal-format, gfc-internal-format
  msgid "STAT= or ERRMSG= at %L not supported"
! msgstr ""
  
  #: fortran/check.cc:4783
  #, gcc-internal-format, gfc-internal-format
--- 73991,73997 ----
  #: fortran/check.cc:4771
  #, gcc-internal-format, gfc-internal-format
  msgid "STAT= or ERRMSG= at %L not supported"
! msgstr "STAT= oder ERRMSG= bei %L wird nicht unterstützt"
  
  #: fortran/check.cc:4783
  #, gcc-internal-format, gfc-internal-format
*************** msgid "SHAPE argument at %L to C_F_POINT
*** 75103,75124 ****
  msgstr "SHAPE-Argument bei %L für C_F_POINTER muss dieselbe Größe haben wie der RANK des FPTR"
  
  #: fortran/check.cc:6214
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "FPTR argument at %L to C_F_POINTER shall not be polymorphic"
  msgid "LOWER argument at %L to C_F_POINTER"
! msgstr "Argument FPTR für C_F_POINTER bei %L darf nicht polymorph sein"
  
  #: fortran/check.cc:6220
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Unexpected SHAPE argument at %L to C_F_POINTER with scalar FPTR"
  msgid "Unexpected LOWER argument at %L to C_F_POINTER with scalar FPTR"
! msgstr "Unerwartetes SHAPE-Argument bei %L für C_F_POINTER mit skalarem FPTR"
  
  #: fortran/check.cc:6241
! #, fuzzy, 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"
  msgid "LOWER argument at %L to C_F_POINTER must have the same size as the RANK of FPTR"
! msgstr "SHAPE-Argument bei %L für C_F_POINTER muss dieselbe Größe haben wie der RANK des FPTR"
  
  #: fortran/check.cc:6252
  #, gcc-internal-format, gfc-internal-format
--- 74235,74253 ----
  msgstr "SHAPE-Argument bei %L für C_F_POINTER muss dieselbe Größe haben wie der RANK des FPTR"
  
  #: fortran/check.cc:6214
! #, gcc-internal-format, gfc-internal-format
  msgid "LOWER argument at %L to C_F_POINTER"
! msgstr "LOWER-Argument bei %L für C_F_POINTER"
  
  #: fortran/check.cc:6220
! #, gcc-internal-format, gfc-internal-format
  msgid "Unexpected LOWER argument at %L to C_F_POINTER with scalar FPTR"
! msgstr "Unerwartetes LOWER-Argument bei %L für C_F_POINTER mit skalarem FPTR"
  
  #: fortran/check.cc:6241
! #, gcc-internal-format, gfc-internal-format
  msgid "LOWER argument at %L to C_F_POINTER must have the same size as the RANK of FPTR"
! msgstr "LOWER-Argument bei %L für C_F_POINTER muss dieselbe Größe haben wie der RANK des FPTR"
  
  #: fortran/check.cc:6252
  #, gcc-internal-format, gfc-internal-format
*************** msgid "The number of array elements of t
*** 75246,75283 ****
  msgstr "Die Anzahl der Feldelemente des SUB-Arguments für IMAGE_INDEX bei %L muss %d (Korang) sein, nicht %d"
  
  #: fortran/check.cc:6828
! #, fuzzy, gcc-internal-format
! #| msgid "Too many arguments to %s at %L"
  msgid "%<team%> or %<team_number%> argument to %qs at %L"
! msgstr "Zu viele Argumente für %s bei %L"
  
  #: fortran/check.cc:6888
  #, gcc-internal-format
  msgid "First argument of %<this_image%> intrinsic at %L must be a coarray variable or an object of type %<team_type%> from the intrinsic module %<ISO_FORTRAN_ENV%>"
! msgstr ""
  
  #: fortran/check.cc:6917
  #, gcc-internal-format
  msgid "Second argument of %<this_image%> intrinsic at %L must be an %<INTEGER%> typed scalar or an object of type %<team_type%> from the intrinsic module %<ISO_FORTRAN_ENV%>"
! msgstr ""
  
  #: fortran/check.cc:6943
! #, fuzzy, gcc-internal-format
! #| msgid "DIM argument without COARRAY argument not allowed for THIS_IMAGE intrinsic at %L"
  msgid "%<dim%> argument without %<coarray%> argument not allowed for %<this_image%> intrinsic at %L"
! msgstr "DIM-Argument ohne COARRAY-Argument ist für intrinsisches THIS_IMAGE bei %L nicht erlaubt"
  
  #: fortran/check.cc:6954
! #, fuzzy, gcc-internal-format
! #| msgid "STAT= argument to %s at %L"
  msgid "%<team%> argument to %<this_image%> at %L"
! msgstr "STAT=-Argument für %s bei %L"
  
  #: fortran/check.cc:6965
! #, fuzzy, gcc-internal-format
! #| msgid "TEAM argument at %L must be of TEAM_TYPE from the intrinsic module ISO_FORTRAN_ENV, found %s"
  msgid "At most one argument of type %<team_type%> from the intrinsic module %<ISO_FORTRAN_ENV%> to %<this_image%> at %L allowed"
! msgstr "Argument TEAM bei %L muss vom TEAM_TYPE des intrinsischen Moduls ISO_FORTRAN_ENV sein, ist jedoch %s"
  
  #: fortran/check.cc:7007
  #, gcc-internal-format
--- 74375,74408 ----
  msgstr "Die Anzahl der Feldelemente des SUB-Arguments für IMAGE_INDEX bei %L muss %d (Korang) sein, nicht %d"
  
  #: fortran/check.cc:6828
! #, gcc-internal-format
  msgid "%<team%> or %<team_number%> argument to %qs at %L"
! msgstr "Argument %<team%> oder %<team_number%> für %qs bei %L"
  
  #: fortran/check.cc:6888
  #, gcc-internal-format
  msgid "First argument of %<this_image%> intrinsic at %L must be a coarray variable or an object of type %<team_type%> from the intrinsic module %<ISO_FORTRAN_ENV%>"
! msgstr "Das erste Argument des intrinsischen %<this_image%> bei %L muss eine Kofeld-Variable oder ein Objekt vom Typ %<team_type%> aus dem intrinsischen Modul %<ISO_FORTRAN_ENV%> sein"
  
  #: fortran/check.cc:6917
  #, gcc-internal-format
  msgid "Second argument of %<this_image%> intrinsic at %L must be an %<INTEGER%> typed scalar or an object of type %<team_type%> from the intrinsic module %<ISO_FORTRAN_ENV%>"
! msgstr "Das zweite Argument des intrinsischen %<this_image%> bei %L muss ein Skalar vom Typ %<INTEGER%> oder ein Objekt vom Typ %<team_type%> aus dem intrinsischen Modul %<ISO_FORTRAN_ENV%> sein"
  
  #: fortran/check.cc:6943
! #, gcc-internal-format
  msgid "%<dim%> argument without %<coarray%> argument not allowed for %<this_image%> intrinsic at %L"
! msgstr "Das Argument %<dim%> ohne das Argument %<coarray%> ist für die intrinsische Funktion %<this_image%> bei %L nicht erlaubt"
  
  #: fortran/check.cc:6954
! #, gcc-internal-format
  msgid "%<team%> argument to %<this_image%> at %L"
! msgstr "Argument %<team%> für %<this_image%> bei %L"
  
  #: fortran/check.cc:6965
! #, gcc-internal-format
  msgid "At most one argument of type %<team_type%> from the intrinsic module %<ISO_FORTRAN_ENV%> to %<this_image%> at %L allowed"
! msgstr "Höchstens ein Argument vom Typ %<team_type%> aus dem intrinsischen Modul %<ISO_FORTRAN_ENV%> zu %<this_image%> bei %L erlaubt"
  
  #: fortran/check.cc:7007
  #, gcc-internal-format
*************** msgstr "Höchste Erweiterungsstufe mit T
*** 75414,75426 ****
  #: fortran/class.cc:1843
  #, gcc-internal-format
  msgid "Failed to create finalizer result symbol"
! msgstr ""
  
  #: fortran/class.cc:1849
! #, fuzzy, gcc-internal-format
! #| msgid "invalid id value for reset attribute"
  msgid "Failed to set finalizer result attributes"
! msgstr "ungültiger ID-Wert für »reset«-Attribut"
  
  #: fortran/class.cc:3148 fortran/class.cc:3222
  #, gcc-internal-format
--- 74539,74550 ----
  #: fortran/class.cc:1843
  #, gcc-internal-format
  msgid "Failed to create finalizer result symbol"
! msgstr "Fehler beim Erstellen des Finalizer-Ergebnissymbols"
  
  #: fortran/class.cc:1849
! #, gcc-internal-format
  msgid "Failed to set finalizer result attributes"
! msgstr "Fehler beim Festlegen der Finalizer-Ergebnisattribute"
  
  #: fortran/class.cc:3148 fortran/class.cc:3222
  #, gcc-internal-format
*************** msgid "opening output file %qs: %s"
*** 75438,75447 ****
  msgstr "Ausgabedatei %qs wird geöffnet: %s"
  
  #: fortran/cpp.cc:685
! #, fuzzy, gcc-internal-format
! #| msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>"
  msgid "%<-E%> is not supported with %<-fpreprocessed%>"
! msgstr "%<-mabi=%s%> wird nicht zusammen mit %<-fsanitize=address%> unterstützt"
  
  #: fortran/data.cc:67
  #, gcc-internal-format, gfc-internal-format
--- 74562,74570 ----
  msgstr "Ausgabedatei %qs wird geöffnet: %s"
  
  #: fortran/cpp.cc:685
! #, gcc-internal-format
  msgid "%<-E%> is not supported with %<-fpreprocessed%>"
! msgstr "%<-E%> wird nicht zusammen mit %<-fpreprocessed%> unterstützt"
  
  #: fortran/data.cc:67
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Feld mit angenommener Form %qs b
*** 75791,75797 ****
  #: fortran/decl.cc:1801
  #, gcc-internal-format, gfc-internal-format
  msgid "F2018: C8102 %s at %L is already imported by an %s statement and must not be re-declared"
! msgstr ""
  
  #: fortran/decl.cc:1830
  #, gcc-internal-format
--- 74914,74920 ----
  #: fortran/decl.cc:1801
  #, gcc-internal-format, gfc-internal-format
  msgid "F2018: C8102 %s at %L is already imported by an %s statement and must not be re-declared"
! msgstr "F2018: C8102 %s bei %L wurde bereits durch eine %s-Anweisung importiert und darf nicht erneut deklariert werden"
  
  #: fortran/decl.cc:1830
  #, gcc-internal-format
*************** msgid "The derived parameter %qs at %C d
*** 76145,76154 ****
  msgstr "Der abgeleitete Parameter %qs bei %C hat keinen Vorgabewert"
  
  #: fortran/decl.cc:4075
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "The parameter expression at %C must be of INTEGER type and not %s type"
  msgid "The type parameter expression at %L must be of INTEGER type and not %s"
! msgstr "Der Parameterausdruck bei %C muss vom Typ INTEGER sein, nicht %s"
  
  #: fortran/decl.cc:4113
  #, gcc-internal-format, gfc-internal-format
--- 75268,75276 ----
  msgstr "Der abgeleitete Parameter %qs bei %C hat keinen Vorgabewert"
  
  #: fortran/decl.cc:4075
! #, gcc-internal-format, gfc-internal-format
  msgid "The type parameter expression at %L must be of INTEGER type and not %s"
! msgstr "Der Typparameterausdruck bei %L muss vom Typ INTEGER sein, nicht %s"
  
  #: fortran/decl.cc:4113
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Typname %qs bei %C in Konflikt m
*** 76236,76242 ****
  #: fortran/decl.cc:4995
  #, gcc-internal-format
  msgid "Type %qs is not parameterized and so the type parameter spec list at %C may not appear"
! msgstr ""
  
  #: fortran/decl.cc:5140
  #, gcc-internal-format, gfc-internal-format
--- 75358,75364 ----
  #: fortran/decl.cc:4995
  #, gcc-internal-format
  msgid "Type %qs is not parameterized and so the type parameter spec list at %C may not appear"
! msgstr "Der Typ %qs ist nicht parametrisiert, daher darf die Typparameterspezifikationsliste bei %C nicht erscheinen"
  
  #: fortran/decl.cc:5140
  #, gcc-internal-format, gfc-internal-format
*************** msgid "IMPORT statement at %C"
*** 76284,76293 ****
  msgstr "IMPORT-Anweisung bei %C"
  
  #: fortran/decl.cc:5574
! #, fuzzy, gcc-internal-format
! #| msgid "import-declaration must be at global scope"
  msgid "import-name %qs at %C is in the local scope"
! msgstr "Import-Deklaration muss im globalen Gültigkeitsbereich sein"
  
  #: fortran/decl.cc:5601
  #, gcc-internal-format
--- 75406,75414 ----
  msgstr "IMPORT-Anweisung bei %C"
  
  #: fortran/decl.cc:5574
! #, gcc-internal-format
  msgid "import-name %qs at %C is in the local scope"
! msgstr "Import-Name %qs bei %C ist im lokalen Gültigkeitsbereich"
  
  #: fortran/decl.cc:5601
  #, gcc-internal-format
*************** msgid "Syntax error in IMPORT statement
*** 76305,76330 ****
  msgstr "Syntaxfehler in IMPORT-Anweisung bei %C"
  
  #: fortran/decl.cc:5669
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "F2008: C1210 IMPORT statement at %C is not permitted in a module procedure interface body"
  msgid "F2018: C897 IMPORT statement at %C cannot appear in a main program, an external subprogram, a module or block data"
! msgstr "F2008: C1210 IMPORT-Anweisung bei %C ist im Körper einer Schnittstelle für Modulprozedur nicht erlaubt"
  
  #: fortran/decl.cc:5674
  #, gcc-internal-format, gfc-internal-format
  msgid "F2018: C898 IMPORT statement at %C is not permitted because a scoping unit has an ONLY specifier, can only have IMPORT with an ONLY specifier"
! msgstr ""
  
  #: fortran/decl.cc:5680
  #, gcc-internal-format, gfc-internal-format
  msgid "F2018: C899 IMPORT, NONE shall not appear in the scoping unit of a submodule as at %C"
! msgstr ""
  
  #: fortran/decl.cc:5685
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "F2008: C1210 IMPORT statement at %C is not permitted in a module procedure interface body"
  msgid "F2018: C8100 IMPORT statement at %C is not permitted because %s has already been declared, which must be unique in the scoping unit"
! msgstr "F2008: C1210 IMPORT-Anweisung bei %C ist im Körper einer Schnittstelle für Modulprozedur nicht erlaubt"
  
  #: fortran/decl.cc:5693
  #, gcc-internal-format, gfc-internal-format
--- 75426,75449 ----
  msgstr "Syntaxfehler in IMPORT-Anweisung bei %C"
  
  #: fortran/decl.cc:5669
! #, gcc-internal-format, gfc-internal-format
  msgid "F2018: C897 IMPORT statement at %C cannot appear in a main program, an external subprogram, a module or block data"
! msgstr "F2018: C897 Die IMPORT-Anweisung bei %C darf nicht in einem Hauptprogramm, einem externen Unterprogramm, einem Modul oder Blockdaten vorkommen"
  
  #: fortran/decl.cc:5674
  #, gcc-internal-format, gfc-internal-format
  msgid "F2018: C898 IMPORT statement at %C is not permitted because a scoping unit has an ONLY specifier, can only have IMPORT with an ONLY specifier"
! msgstr "F2018: C898 IMPORT-Anweisung bei %C ist nicht erlaubt, da eine Bereichseinheit eine ONLY-Angabe hat und nur IMPORT eine ONLY-Angabe haben kann"
  
  #: fortran/decl.cc:5680
  #, gcc-internal-format, gfc-internal-format
  msgid "F2018: C899 IMPORT, NONE shall not appear in the scoping unit of a submodule as at %C"
! msgstr "F2018: C899 IMPORT, NONE darf nicht in der Scoping-Einheit eines Submoduls wie bei %C vorkommen"
  
  #: fortran/decl.cc:5685
! #, gcc-internal-format, gfc-internal-format
  msgid "F2018: C8100 IMPORT statement at %C is not permitted because %s has already been declared, which must be unique in the scoping unit"
! msgstr "F2018: C8100 IMPORT-Anweisung bei %C ist nicht erlaubt, da %s bereits deklariert wurde und in der Gültigkeitsbereichseinheit eindeutig sein muss"
  
  #: fortran/decl.cc:5693
  #, gcc-internal-format, gfc-internal-format
*************** msgid "Return type of BIND(C) function %
*** 76503,76512 ****
  msgstr "Rückgabetyp der BIND(C)-Funktion %qs von Zeichentyp bei %L muss die Länge 1 haben"
  
  #: fortran/decl.cc:6631
! #, fuzzy, gcc-internal-format
! #| msgid "Symbol %qs at %L is marked PRIVATE but has been given the binding label %qs"
  msgid "Symbol %qs at %L is marked PRIVATE but is accessible via its default binding name %qs"
! msgstr "Symbol %qs bei %L ist als PRIVATE markiert, aber wurde mit Bindung %qs markiert"
  
  #: fortran/decl.cc:6705
  #, gcc-internal-format, gfc-internal-format
--- 75622,75630 ----
  msgstr "Rückgabetyp der BIND(C)-Funktion %qs von Zeichentyp bei %L muss die Länge 1 haben"
  
  #: fortran/decl.cc:6631
! #, gcc-internal-format
  msgid "Symbol %qs at %L is marked PRIVATE but is accessible via its default binding name %qs"
! msgstr "Symbol %qs bei %L ist als PRIVATE markiert, ist aber über den Standardbindungsnamen %qs zugreifbar"
  
  #: fortran/decl.cc:6705
  #, gcc-internal-format, gfc-internal-format
*************** msgid "Expected %<=>%> at %C"
*** 77434,77506 ****
  msgstr "%<=>%> bei %C erwartet"
  
  #: fortran/decl.cc:12127
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Range specification at %L can never be matched"
  msgid "The access specification at %L not in a module"
! msgstr "Bereichsspezifikation bei %L kann nie passen"
  
  #: fortran/decl.cc:12148
! #, fuzzy, gcc-internal-format
! #| msgid "The base name at %L does not match the name of the current procedure"
  msgid "The generic-spec name %qs at %C clashes with the name of an entity declared at %L that is not a procedure"
! msgstr "Der Basisname bei %L passt nicht zum Namen der aktuellen Prozedur"
  
  #: fortran/decl.cc:12157
! #, fuzzy, gcc-internal-format
! #| msgid "There's already a non-generic procedure with binding name %qs for the derived type %qs at %C"
  msgid "There's already a non-generic procedure with name %qs at %C"
! msgstr "Es gibt bereits eine nicht-generische Prozedur mit Bindungsname %qs für den abgeleiteten Typ %qs bei %C"
  
  #: fortran/decl.cc:12166
! #, fuzzy, gcc-internal-format
! #| msgid "Access specification of the %s operator at %C has already been specified"
  msgid "The access specification at %L conflicts with that already given to %qs"
! msgstr "Zugriffsspezifikation des Operators %s bei %C wurde bereits spezifiziert"
  
  #: fortran/decl.cc:12173
! #, fuzzy, gcc-internal-format
! #| msgid "Access specification of the %s operator at %C has already been specified"
  msgid "The access specification at %L repeats that already given to %qs"
! msgstr "Zugriffsspezifikation des Operators %s bei %C wurde bereits spezifiziert"
  
  #: fortran/decl.cc:12182
  #, gcc-internal-format, gfc-internal-format
  msgid "The generic-spec in the generic statement at %C has a type from the declaration at %L"
! msgstr ""
  
  #: fortran/decl.cc:12223
! #, fuzzy, gcc-internal-format
! #| msgid "Binding at %C must have the same access as already defined binding %qs"
  msgid "The user operator at %L must have the same access specification as already defined user operator %qs"
! msgstr "Bindung bei %C muss denselben Zugriff wie bereits definierte Bindung %qs haben"
  
  #: fortran/decl.cc:12230
  #, gcc-internal-format
  msgid "The user operator at %L repeats the access specification of already defined user operator %qs"
! msgstr ""
  
  #: fortran/decl.cc:12266
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Expected module procedure name at %C"
  msgid "Expected specific procedure name at %C"
! msgstr "Prozedurname im Modul bei %C erwartet"
  
  #: fortran/decl.cc:12273
  #, gcc-internal-format
  msgid "The name %qs of the specific procedure at %C conflicts with that of the generic-spec"
! msgstr ""
  
  #: fortran/decl.cc:12283
! #, fuzzy, gcc-internal-format
! #| msgid "%qs already defined as specific binding for the generic %qs at %C"
  msgid "%qs already defined as a specific procedure for the generic %qs at %C"
! msgstr "%qs bereits als spezifische Bindung für das generische %qs bei %C definiert"
  
  #: fortran/decl.cc:12309
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Junk after UNION statement at %C"
  msgid "Junk after GENERIC statement at %C"
! msgstr "Ausschuss hinter UNION-Anweisung bei %C"
  
  #: fortran/decl.cc:12339
  #, gcc-internal-format, gfc-internal-format
--- 76552,76615 ----
  msgstr "%<=>%> bei %C erwartet"
  
  #: fortran/decl.cc:12127
! #, gcc-internal-format, gfc-internal-format
  msgid "The access specification at %L not in a module"
! msgstr "Die Zugriffsangabe bei %L ist nicht in einem Modul"
  
  #: fortran/decl.cc:12148
! #, gcc-internal-format
  msgid "The generic-spec name %qs at %C clashes with the name of an entity declared at %L that is not a procedure"
! msgstr "Der Generic-Spec-Name %qs bei %C widerspricht dem Namen der bei %L deklarierten Entität, die keine Prozedur ist"
  
  #: fortran/decl.cc:12157
! #, gcc-internal-format
  msgid "There's already a non-generic procedure with name %qs at %C"
! msgstr "Es gibt bereits eine nicht-generische Prozedur namens %qs bei %C"
  
  #: fortran/decl.cc:12166
! #, gcc-internal-format
  msgid "The access specification at %L conflicts with that already given to %qs"
! msgstr "Die Zugriffsangabe bei %L widerspricht der bereits für %qs angegebenen"
  
  #: fortran/decl.cc:12173
! #, gcc-internal-format
  msgid "The access specification at %L repeats that already given to %qs"
! msgstr "Die Zugriffsangabe bei %L wiederholt die bereits für %qs angegebene"
  
  #: fortran/decl.cc:12182
  #, gcc-internal-format, gfc-internal-format
  msgid "The generic-spec in the generic statement at %C has a type from the declaration at %L"
! msgstr "Das generic-spec in der generischen Anweisung bei %C hat einen Typ aus der Deklaration bei %L"
  
  #: fortran/decl.cc:12223
! #, gcc-internal-format
  msgid "The user operator at %L must have the same access specification as already defined user operator %qs"
! msgstr "Der benutzerdefinierte Operator bei %L muss dieselbe Zugriffsangabe wie der bereits definierte benutzerdefinierte Operator %qs haben"
  
  #: fortran/decl.cc:12230
  #, gcc-internal-format
  msgid "The user operator at %L repeats the access specification of already defined user operator %qs"
! msgstr "Der Benutzeroperator bei %L wiederholt die Zugriffsangabe des bereits definierten Benutzeroperators %qs"
  
  #: fortran/decl.cc:12266
! #, gcc-internal-format, gfc-internal-format
  msgid "Expected specific procedure name at %C"
! msgstr "Ein spezifischer Prozedurname wird bei %C erwartet"
  
  #: fortran/decl.cc:12273
  #, gcc-internal-format
  msgid "The name %qs of the specific procedure at %C conflicts with that of the generic-spec"
! msgstr "Der Name %qs der spezifischen Prozedur bei %C widerspricht dem der generic-spec"
  
  #: fortran/decl.cc:12283
! #, gcc-internal-format
  msgid "%qs already defined as a specific procedure for the generic %qs at %C"
! msgstr "%qs ist bereits als spezifische Prozedur für das generische %qs bei %C definiert"
  
  #: fortran/decl.cc:12309
! #, gcc-internal-format, gfc-internal-format
  msgid "Junk after GENERIC statement at %C"
! msgstr "Ausschuss hinter GENERIC-Anweisung bei %C"
  
  #: fortran/decl.cc:12339
  #, gcc-internal-format, gfc-internal-format
*************** msgid "Different shape for %s at %L on d
*** 77949,77958 ****
  msgstr "Andere Form für %s bei %L für Dimension %d (%d und %d)"
  
  #: fortran/expr.cc:3980
! #, fuzzy, gcc-internal-format
! #| msgid "using template type parameter %qT after %qs"
  msgid "Mismatched type parameters %qs(%d/%d) %s at %L/%L"
! msgstr "Templatetyp-Parameter %qT wird nach %qs verwendet"
  
  #: fortran/expr.cc:4021
  #, gcc-internal-format, gfc-internal-format
--- 77058,77066 ----
  msgstr "Andere Form für %s bei %L für Dimension %d (%d und %d)"
  
  #: fortran/expr.cc:3980
! #, gcc-internal-format
  msgid "Mismatched type parameters %qs(%d/%d) %s at %L/%L"
! msgstr "Unpassige Typparameter %qs(%d/%d) %s bei %L/%L"
  
  #: fortran/expr.cc:4021
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Zeiger bei %L in Zeigerzuweisung
*** 78230,78236 ****
  #: fortran/expr.cc:4987
  #, gcc-internal-format
  msgid "The component %qs at %L of derived type %qs has paramterized type or array length parameters, which is not compatible with a default initializer"
! msgstr ""
  
  #: fortran/expr.cc:5055 fortran/resolve.cc:1574
  #, gcc-internal-format, gfc-internal-format
--- 77338,77344 ----
  #: fortran/expr.cc:4987
  #, gcc-internal-format
  msgid "The component %qs at %L of derived type %qs has paramterized type or array length parameters, which is not compatible with a default initializer"
! msgstr "Die Komponente %qs bei %L vom abgeleiteten Typ %qs hat parametrisierte Typ- oder Arraylängenparameter, und das ist nicht mit einem Standardinitialisierer kompatibel"
  
  #: fortran/expr.cc:5055 fortran/resolve.cc:1574
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "keine Eingabedateien; es werden
*** 78493,78499 ****
  #: fortran/interface.cc:262
  #, gcc-internal-format, gfc-internal-format
  msgid "Sorry: -fdefault-integer-8 option is not supported with user-defined input/output at %C"
! msgstr ""
  
  #: fortran/interface.cc:267
  #, gcc-internal-format, gfc-internal-format
--- 77601,77607 ----
  #: fortran/interface.cc:262
  #, gcc-internal-format, gfc-internal-format
  msgid "Sorry: -fdefault-integer-8 option is not supported with user-defined input/output at %C"
! msgstr "Sorry: Die Option -fdefault-integer-8 wird bei benutzerdefinierter Ein-/Ausgabe bei %C nicht unterstützt"
  
  #: fortran/interface.cc:267
  #, gcc-internal-format, gfc-internal-format
*************** msgid "Actual argument at %L to allocata
*** 78947,78956 ****
  msgstr "Effektives Argument bei %L an reservierbares oder Zeiger-Scheinargument %qs muss Parameter mit Typ aufgeschobener Länge haben, genau dann, wenn das Scheinargument einen solchen hat"
  
  #: fortran/interface.cc:3708
! #, fuzzy, gcc-internal-format
! #| msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L"
  msgid "Character length of actual argument longer than of dummy argument %qs (%lu/%lu) at %L"
! msgstr "Zeichenlänge des effektiven Arguments kürzer als das des Scheinarguments %qs (%lu/%lu) bei %L"
  
  #: fortran/interface.cc:3720 fortran/interface.cc:3728
  #, gcc-internal-format
--- 78055,78063 ----
  msgstr "Effektives Argument bei %L an reservierbares oder Zeiger-Scheinargument %qs muss Parameter mit Typ aufgeschobener Länge haben, genau dann, wenn das Scheinargument einen solchen hat"
  
  #: fortran/interface.cc:3708
! #, gcc-internal-format
  msgid "Character length of actual argument longer than of dummy argument %qs (%lu/%lu) at %L"
! msgstr "Zeichenlänge des effektiven Arguments ist länger als die des Scheinarguments %qs (%lu/%lu) bei %L"
  
  #: fortran/interface.cc:3720 fortran/interface.cc:3728
  #, gcc-internal-format
*************** msgid "check_charlen_present(): length n
*** 80251,80260 ****
  msgstr "Interner Fehler: check_charlen_present(): length not set"
  
  #: fortran/iresolve.cc:3235
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "TEAM argument at %L must be of TEAM_TYPE from the intrinsic module ISO_FORTRAN_ENV, found %s"
  msgid "GET_TEAM at %L needs USE of the intrinsic module ISO_FORTRAN_ENV to define its result type TEAM_TYPE"
! msgstr "Argument TEAM bei %L muss vom TEAM_TYPE des intrinsischen Moduls ISO_FORTRAN_ENV sein, ist jedoch %s"
  
  #: fortran/iresolve.cc:3366
  #, gcc-internal-format, gfc-internal-format
--- 79358,79366 ----
  msgstr "Interner Fehler: check_charlen_present(): length not set"
  
  #: fortran/iresolve.cc:3235
! #, gcc-internal-format, gfc-internal-format
  msgid "GET_TEAM at %L needs USE of the intrinsic module ISO_FORTRAN_ENV to define its result type TEAM_TYPE"
! msgstr "GET_TEAM bei %L benötigt USE des intrinsischen Moduls ISO_FORTRAN_ENV, um seinen Ergebnistyp TEAM_TYPE zu definieren"
  
  #: fortran/iresolve.cc:3366
  #, gcc-internal-format, gfc-internal-format
*************** msgid "Label %qs after %L doesn't match
*** 80439,80448 ****
  msgstr "Sprungmarke %qs nach %L passt nicht zur IF-Marke %qs"
  
  #: fortran/match.cc:1834
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Duplicate %s attribute at %L"
  msgid "Duplicate %s attribute in %C"
! msgstr "Doppeltes Attribut %s bei %L"
  
  #: fortran/match.cc:1899
  #, gcc-internal-format, gfc-internal-format
--- 79545,79553 ----
  msgstr "Sprungmarke %qs nach %L passt nicht zur IF-Marke %qs"
  
  #: fortran/match.cc:1834
! #, gcc-internal-format, gfc-internal-format
  msgid "Duplicate %s attribute in %C"
! msgstr "Doppeltes Attribut %s bei %C"
  
  #: fortran/match.cc:1899
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Geschachtelter CRITICAL-Block be
*** 80467,80473 ****
  #: fortran/match.cc:1975
  #, gcc-internal-format
  msgid "Codimension decl name %qs in association at %L must not be the same as a selector"
! msgstr ""
  
  #: fortran/match.cc:1996
  #, gcc-internal-format, gfc-internal-format
--- 79572,79578 ----
  #: fortran/match.cc:1975
  #, gcc-internal-format
  msgid "Codimension decl name %qs in association at %L must not be the same as a selector"
! msgstr "Der Kodimension-decl-name %qs in der Zuordnung bei %L darf nicht derselbe wie ein Selektor sein"
  
  #: fortran/match.cc:1996
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Ungültiges Zuordnungsziel bei %
*** 80492,80498 ****
  #: fortran/match.cc:2057
  #, gcc-internal-format, gfc-internal-format
  msgid "Selector in coarray association as %C shall be a named coarray"
! msgstr ""
  
  #: fortran/match.cc:2067
  #, gcc-internal-format
--- 79597,79603 ----
  #: fortran/match.cc:2057
  #, gcc-internal-format, gfc-internal-format
  msgid "Selector in coarray association as %C shall be a named coarray"
! msgstr "Der Selektor in der Kofeld-Zuordnung bei %C muss ein benanntes Kofeld sein"
  
  #: fortran/match.cc:2067
  #, gcc-internal-format
*************** msgid "Duplicate name %qs in association
*** 80500,80509 ****
  msgstr "Doppelter Name %qs in Verknüpfung bei %C"
  
  #: fortran/match.cc:2094
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Selector at %L has no type"
  msgid "Selector at %L duplicates selector at %L"
! msgstr "Selektor bei %L hat keinen Typ"
  
  #: fortran/match.cc:2104
  #, gcc-internal-format, gfc-internal-format
--- 79605,79613 ----
  msgstr "Doppelter Name %qs in Verknüpfung bei %C"
  
  #: fortran/match.cc:2094
! #, gcc-internal-format, gfc-internal-format
  msgid "Selector at %L duplicates selector at %L"
! msgstr "Selektor bei %L dupliziert den Selektor bei %L"
  
  #: fortran/match.cc:2104
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Syntaxfehler in FORALL-Iterator
*** 80563,80581 ****
  #: fortran/match.cc:2665
  #, gcc-internal-format, gfc-internal-format
  msgid "Failed to create shadow variable symtree for DO CONCURRENT type-spec at %L"
! msgstr ""
  
  #: fortran/match.cc:2722
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Array constructor including type specification at %C"
  msgid "FORALL or DO CONCURRENT construct includes type specification at %L"
! msgstr "Feldkonstruktor mit Typspezifikation bei %C"
  
  #: fortran/match.cc:2729
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s at %L must be INTEGER"
  msgid "Type-spec at %L must be an INTEGER type"
! msgstr "%s bei %L muss INTEGER sein"
  
  #: fortran/match.cc:2991
  #, gcc-internal-format, gfc-internal-format
--- 79667,79683 ----
  #: fortran/match.cc:2665
  #, gcc-internal-format, gfc-internal-format
  msgid "Failed to create shadow variable symtree for DO CONCURRENT type-spec at %L"
! msgstr "Fehler beim Erstellen des Schattenvariablen-Symbolbaums für DO-CONCURRENT-Typangabe bei %L"
  
  #: fortran/match.cc:2722
! #, gcc-internal-format, gfc-internal-format
  msgid "FORALL or DO CONCURRENT construct includes type specification at %L"
! msgstr "FORALL- oder DO-CONCURRENT-Konstrukt enthält Typangabe bei %L"
  
  #: fortran/match.cc:2729
! #, gcc-internal-format, gfc-internal-format
  msgid "Type-spec at %L must be an INTEGER type"
! msgstr "Die Typangabe bei %L muss ein INTEGER-Typ sein"
  
  #: fortran/match.cc:2991
  #, gcc-internal-format, gfc-internal-format
*************** msgid "Image control statement RETURN at
*** 81077,81086 ****
  msgstr "PRINT-Anweisung zur Image-Steuerung bei %C in DO CONCURRENT-Block"
  
  #: fortran/match.cc:5685
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Image control statement RETURN at %C in CRITICAL block"
  msgid "Image control statement RETURN at %C in CHANGE TEAM-END TEAM block"
! msgstr "RETURN-Anweisung zur Image-Steuerung bei %C in CRITICAL-Block"
  
  #: fortran/match.cc:5694
  #, gcc-internal-format, gfc-internal-format
--- 80179,80187 ----
  msgstr "PRINT-Anweisung zur Image-Steuerung bei %C in DO CONCURRENT-Block"
  
  #: fortran/match.cc:5685
! #, gcc-internal-format, gfc-internal-format
  msgid "Image control statement RETURN at %C in CHANGE TEAM-END TEAM block"
! msgstr "RETURN-Anweisung zur Image-Steuerung bei %C in »CHANGE TEAM-END TEAM«-Block"
  
  #: fortran/match.cc:5694
  #, gcc-internal-format, gfc-internal-format
*************** msgid "The name %qs cannot be used as a
*** 81379,81394 ****
  msgstr "Der Name %qs bei %C kann nicht als ein definierter Operator verwendet werden"
  
  #: fortran/matchexp.cc:165
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Cannot simplify expression at %L"
  msgid "Conditional expression at %L"
! msgstr "Ausdruck bei %L kann nicht vereinfacht werden"
  
  #: fortran/matchexp.cc:183
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Expected initialization expression at %C"
  msgid "Expected ':' in conditional expression at %C"
! msgstr "Initialisierungsausdruck bei %C erwartet"
  
  #: fortran/matchexp.cc:231
  #, gcc-internal-format, gfc-internal-format
--- 80480,80493 ----
  msgstr "Der Name %qs bei %C kann nicht als ein definierter Operator verwendet werden"
  
  #: fortran/matchexp.cc:165
! #, gcc-internal-format, gfc-internal-format
  msgid "Conditional expression at %L"
! msgstr "Bedingter Ausdruck bei %L"
  
  #: fortran/matchexp.cc:183
! #, gcc-internal-format, gfc-internal-format
  msgid "Expected ':' in conditional expression at %C"
! msgstr "»:« in bedingtem Ausdruck bei %C erwartet"
  
  #: fortran/matchexp.cc:231
  #, gcc-internal-format, gfc-internal-format
*************** msgid "Symbol %qs already declared"
*** 81645,81654 ****
  msgstr "Symbol %qs bereits deklariert"
  
  #: fortran/module.cc:7327
! #, fuzzy, gcc-internal-format
! #| msgid "Symbol %qs at %L conflicts with the symbol at %L"
  msgid "Symbol %qs already declared at %L conflicts with symbol in %qs at %C"
! msgstr "Symbol %qs bei %L steht mit Symbol bei %L in Konflikt"
  
  # https://german.stackexchange.com/questions/35158/deklination-mehrerer-attributiver-adjektive
  #: fortran/module.cc:7490
--- 80744,80752 ----
  msgstr "Symbol %qs bereits deklariert"
  
  #: fortran/module.cc:7327
! #, gcc-internal-format
  msgid "Symbol %qs already declared at %L conflicts with symbol in %qs at %C"
! msgstr "Das Symbol %qs, das bereits bei %L deklariert wurde, widerspricht dem Symbol in %qs bei %C"
  
  # https://german.stackexchange.com/questions/35158/deklination-mehrerer-attributiver-adjektive
  #: fortran/module.cc:7490
*************** msgstr "Komma bei %C erwartet"
*** 81849,81855 ****
  #: fortran/openmp.cc:1500
  #, gcc-internal-format
  msgid "%<-%> operator at %C for reductions deprecated in OpenMP 5.2"
! msgstr ""
  
  #: fortran/openmp.cc:1594
  #, gcc-internal-format, gfc-internal-format
--- 80947,80953 ----
  #: fortran/openmp.cc:1500
  #, gcc-internal-format
  msgid "%<-%> operator at %C for reductions deprecated in OpenMP 5.2"
! msgstr "Der Operator %<-%> bei %C für Reduktionen ist in OpenMP 5.2 veraltet"
  
  #: fortran/openmp.cc:1594
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Doppelter %s-Modifikator bei %L
*** 81896,81902 ****
  #: fortran/openmp.cc:1870
  #, gcc-internal-format
  msgid "The specification of arguments to %<uses_allocators%> at %L where each item is of the form %<allocator(traits)%> is deprecated since OpenMP 5.2; instead use %<uses_allocators(traits(%s): %s)%>"
! msgstr ""
  
  #: fortran/openmp.cc:1879
  #, gcc-internal-format
--- 80994,81000 ----
  #: fortran/openmp.cc:1870
  #, gcc-internal-format
  msgid "The specification of arguments to %<uses_allocators%> at %L where each item is of the form %<allocator(traits)%> is deprecated since OpenMP 5.2; instead use %<uses_allocators(traits(%s): %s)%>"
! msgstr "Die Angabe von Argumenten für %<uses_allocators%> bei %L, wobei jedes Element die Form %<allocator(traits)%> hat, ist seit OpenMP 5.2 veraltet; verwenden Sie stattdessen %<uses_allocators(traits(%s): %s)%>"
  
  #: fortran/openmp.cc:1879
  #, gcc-internal-format
*************** msgid "Unexpected %<(%> at %C"
*** 81904,81913 ****
  msgstr "Unerwartetes %<(%> bei %C"
  
  #: fortran/openmp.cc:1893
! #, fuzzy, gcc-internal-format
! #| msgid "Expected %<)%> or %<,%> at %C"
  msgid "Expected %<,%>, %<)%> or %<;%> at %C"
! msgstr "%<)%> oder %<,%> bei %C erwartet"
  
  #: fortran/openmp.cc:1954
  #, gcc-internal-format
--- 81002,81010 ----
  msgstr "Unerwartetes %<(%> bei %C"
  
  #: fortran/openmp.cc:1893
! #, gcc-internal-format
  msgid "Expected %<,%>, %<)%> or %<;%> at %C"
! msgstr "%<,%>, %<)%> oder %<;%> bei %C erwartet"
  
  #: fortran/openmp.cc:1954
  #, gcc-internal-format
*************** msgstr "%<)%> oder %<omp_cur_iteration)%
*** 82097,82103 ****
  #: fortran/openmp.cc:2946
  #, gcc-internal-format
  msgid "%<source%> modifier with %<depend%> clause at %L deprecated since OpenMP 5.2, use with %<doacross%>"
! msgstr ""
  
  #: fortran/openmp.cc:2957
  #, gcc-internal-format, gfc-internal-format
--- 81194,81200 ----
  #: fortran/openmp.cc:2946
  #, gcc-internal-format
  msgid "%<source%> modifier with %<depend%> clause at %L deprecated since OpenMP 5.2, use with %<doacross%>"
! msgstr "Der Modifikator %<source%> mit der Klausel %<depend%> bei %L ist seit OpenMP 5.2 veraltet; verwenden Sie stattdessen %<doacross%>"
  
  #: fortran/openmp.cc:2957
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "ITERATOR bei %C kann nicht mit S
*** 82112,82118 ****
  #: fortran/openmp.cc:2974
  #, gcc-internal-format
  msgid "%<sink%> modifier with %<depend%> clause at %L deprecated since OpenMP 5.2, use with %<doacross%>"
! msgstr ""
  
  #: fortran/openmp.cc:2987
  #, gcc-internal-format, gfc-internal-format
--- 81209,81215 ----
  #: fortran/openmp.cc:2974
  #, gcc-internal-format
  msgid "%<sink%> modifier with %<depend%> clause at %L deprecated since OpenMP 5.2, use with %<doacross%>"
! msgstr "Der Modifikator %<sink%> mit der Klausel %<depend%> bei %L ist seit OpenMP 5.2 veraltet; verwenden Sie stattdessen %<doacross%>"
  
  #: fortran/openmp.cc:2987
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "INDIRECT-Klausel bei %C erforder
*** 82162,82168 ****
  #: fortran/openmp.cc:3546
  #, gcc-internal-format
  msgid "Specification of the list items as arguments to the modifiers at %L is deprecated; since OpenMP 5.2, use %<linear(%s : %s%s)%>"
! msgstr ""
  
  #: fortran/openmp.cc:3638
  #, gcc-internal-format
--- 81259,81265 ----
  #: fortran/openmp.cc:3546
  #, gcc-internal-format
  msgid "Specification of the list items as arguments to the modifiers at %L is deprecated; since OpenMP 5.2, use %<linear(%s : %s%s)%>"
! msgstr "Die Angabe der Listenelemente als Argumente für die Modifikatoren bei %L ist veraltet; verwenden Sie seit OpenMP 5.2 %<linear(%s : %s%s)%>"
  
  #: fortran/openmp.cc:3638
  #, gcc-internal-format
*************** msgstr "Mehrere %qs-Modifizierer bei %C
*** 82172,82178 ****
  #: fortran/openmp.cc:3716
  #, gcc-internal-format
  msgid "The specification of modifiers without comma separators for the %<map%> clause at %C has been deprecated since OpenMP 5.2"
! msgstr ""
  
  #: fortran/openmp.cc:3757
  #, gcc-internal-format
--- 81269,81275 ----
  #: fortran/openmp.cc:3716
  #, gcc-internal-format
  msgid "The specification of modifiers without comma separators for the %<map%> clause at %C has been deprecated since OpenMP 5.2"
! msgstr "Die Angabe von Modifikatoren ohne Komma-Trennzeichen für die %<map%>-Klausel bei %C ist seit OpenMP 5.2 veraltet"
  
  #: fortran/openmp.cc:3757
  #, gcc-internal-format
*************** msgstr "Argument der PARTIAL-Klausel bei
*** 82207,82213 ****
  #: fortran/openmp.cc:4127
  #, gcc-internal-format
  msgid "%<master%> affinity policy at %C deprecated since OpenMP 5.1, use %<primary%>"
! msgstr ""
  
  #: fortran/openmp.cc:4328
  #, gcc-internal-format, gfc-internal-format
--- 81304,81310 ----
  #: fortran/openmp.cc:4127
  #, gcc-internal-format
  msgid "%<master%> affinity policy at %C deprecated since OpenMP 5.1, use %<primary%>"
! msgstr "Die Affinitätsrichtlinie %<master%> bei %C ist seit OpenMP 5.1 veraltet; verwenden Sie stattdessen %<primary%>"
  
  #: fortran/openmp.cc:4328
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Die SEVERITY-Klausel bei %C erwa
*** 82217,82223 ****
  #: fortran/openmp.cc:4387
  #, gcc-internal-format
  msgid "%<to%> clause with %<declare target%> at %L deprecated since OpenMP 5.2, use %<enter%>"
! msgstr ""
  
  #: fortran/openmp.cc:4537
  #, gcc-internal-format, gfc-internal-format
--- 81314,81320 ----
  #: fortran/openmp.cc:4387
  #, gcc-internal-format
  msgid "%<to%> clause with %<declare target%> at %L deprecated since OpenMP 5.2, use %<enter%>"
! msgstr "Die Klausel %<to%> mit %<declare target%> bei %L ist seit OpenMP 5.2 veraltet; verwenden Sie stattdessen %<enter%>"
  
  #: fortran/openmp.cc:4537
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "»OMP DECLARE TARGET«-Variable
*** 82442,82448 ****
  #: fortran/openmp.cc:6262
  #, gcc-internal-format
  msgid "List item %qs at %L not appear in the %qs clause as it was previously specified in a GROUPPRIVATE directive"
! msgstr ""
  
  #: fortran/openmp.cc:6268
  #, gcc-internal-format, gfc-internal-format
--- 81539,81545 ----
  #: fortran/openmp.cc:6262
  #, gcc-internal-format
  msgid "List item %qs at %L not appear in the %qs clause as it was previously specified in a GROUPPRIVATE directive"
! msgstr "Listenelement %qs bei %L kommt nicht in der %qs-Klausel vor, da es zuvor in einer GROUPPRIVATE-Direktive angegeben wurde"
  
  #: fortran/openmp.cc:6268
  #, gcc-internal-format, gfc-internal-format
*************** msgid "Variable at %L mentioned multiple
*** 82450,82477 ****
  msgstr "Variable bei %L wird mehrfach in Klauseln derselben OMP-DECLARE-TARGET-Direktive erwähnt"
  
  #: fortran/openmp.cc:6275
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "OMP DECLARE TARGET variable at %L previously mentioned in LINK clause and later in %s clause"
  msgid "OMP DECLARE TARGET variable at %L previously mentioned in %s clause and later in %s clause"
! msgstr "OMP-DECLARE-TARGET-Variable bei %L wurde vorher in LINK-Klausel und später in %s-Klausel erwähnt"
  
  #: fortran/openmp.cc:6283
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "OMP DECLARE TARGET variable at %L previously mentioned in TO or ENTER clause and later in LINK clause"
  msgid "OMP DECLARE TARGET variable at %L previously mentioned in TO or ENTER clause and later in %s clause"
! msgstr "OMP-DECLARE-TARGET-Variable bei %L wurde vorher in TO- oder ENTER-Klausel und später in LINK-Klausel erwähnt"
  
  #: fortran/openmp.cc:6308
! #, fuzzy, gcc-internal-format
! #| msgid "List item %qs at %L set in previous OMP DECLARE TARGET directive to a different DEVICE_TYPE"
  msgid "List item %qs at %L set in previous OMP GROUPPRIVATE directive to the different DEVICE_TYPE %qs"
! msgstr "Listenelement %qs bei %L wurde von einer vorhergehenden Direktive OMP DECLARE TARGET auf einen abweichenden DEVICE_TYPE festgelegt"
  
  #: fortran/openmp.cc:6312 fortran/openmp.cc:7407 fortran/openmp.cc:7432
! #, fuzzy, gcc-internal-format
! #| msgid "List item %qs at %L set in previous OMP DECLARE TARGET directive to a different DEVICE_TYPE"
  msgid "List item %qs at %L set in previous OMP DECLARE TARGET directive to the different DEVICE_TYPE %qs"
! msgstr "Listenelement %qs bei %L wurde von einer vorhergehenden Direktive OMP DECLARE TARGET auf einen abweichenden DEVICE_TYPE festgelegt"
  
  #: fortran/openmp.cc:6319 fortran/openmp.cc:6382
  #, gcc-internal-format, gfc-internal-format
--- 81547,81570 ----
  msgstr "Variable bei %L wird mehrfach in Klauseln derselben OMP-DECLARE-TARGET-Direktive erwähnt"
  
  #: fortran/openmp.cc:6275
! #, gcc-internal-format, gfc-internal-format
  msgid "OMP DECLARE TARGET variable at %L previously mentioned in %s clause and later in %s clause"
! msgstr "OMP-DECLARE-TARGET-Variable bei %L wurde vorher in %s-Klausel und später in %s-Klausel erwähnt"
  
  #: fortran/openmp.cc:6283
! #, gcc-internal-format, gfc-internal-format
  msgid "OMP DECLARE TARGET variable at %L previously mentioned in TO or ENTER clause and later in %s clause"
! msgstr "OMP-DECLARE-TARGET-Variable bei %L wurde vorher in TO- oder ENTER-Klausel und später in %s-Klausel erwähnt"
  
  #: fortran/openmp.cc:6308
! #, gcc-internal-format
  msgid "List item %qs at %L set in previous OMP GROUPPRIVATE directive to the different DEVICE_TYPE %qs"
! msgstr "Listenelement %qs bei %L wurde vorher in einer OMP-GROUPPRIVATE-Direktive auf den unterschiedlichen DEVICE_TYPE %qs festgelegt"
  
  #: fortran/openmp.cc:6312 fortran/openmp.cc:7407 fortran/openmp.cc:7432
! #, gcc-internal-format
  msgid "List item %qs at %L set in previous OMP DECLARE TARGET directive to the different DEVICE_TYPE %qs"
! msgstr "Listenelement %qs bei %L wurde vorher in einer OMP-DECLARE-TARGET-Direktive auf den unterschiedlichen DEVICE_TYPE %qs festgelegt"
  
  #: fortran/openmp.cc:6319 fortran/openmp.cc:6382
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "DEVICE_TYPE muss ANY sein, wenn
*** 82481,82527 ****
  #: fortran/openmp.cc:6325
  #, gcc-internal-format
  msgid "List item %qs at %L set with NOHOST specified may not appear in a LINK clause"
! msgstr ""
  
  #: fortran/openmp.cc:6333
  #, gcc-internal-format
  msgid "Common block %</%s/%> at %L not appear in the %qs clause as it was previously specified in a GROUPPRIVATE directive"
! msgstr ""
  
  #: fortran/openmp.cc:6340
! #, fuzzy, gcc-internal-format
! #| msgid "Variable at %L mentioned multiple times in clauses of the same OMP DECLARE TARGET directive"
  msgid "Common block %</%s/%> at %L mentioned multiple times in clauses of the same OMP DECLARE TARGET directive"
! msgstr "Variable bei %L wird mehrfach in Klauseln derselben OMP-DECLARE-TARGET-Direktive erwähnt"
  
  #: fortran/openmp.cc:6347
! #, fuzzy, gcc-internal-format
! #| msgid "OMP DECLARE TARGET variable at %L previously mentioned in LINK clause and later in %s clause"
  msgid "Common block %</%s/%> at %L previously mentioned in %s clause and later in %s clause"
! msgstr "OMP-DECLARE-TARGET-Variable bei %L wurde vorher in LINK-Klausel und später in %s-Klausel erwähnt"
  
  #: fortran/openmp.cc:6355
! #, fuzzy, gcc-internal-format
! #| msgid "OMP DECLARE TARGET variable at %L previously mentioned in TO or ENTER clause and later in LINK clause"
  msgid "Common block %</%s/%> at %L previously mentioned in TO or ENTER clause and later in %s clause"
! msgstr "OMP-DECLARE-TARGET-Variable bei %L wurde vorher in TO- oder ENTER-Klausel und später in LINK-Klausel erwähnt"
  
  #: fortran/openmp.cc:6368
! #, fuzzy, gcc-internal-format
! #| msgid "List item %qs at %L set in previous OMP DECLARE TARGET directive to a different DEVICE_TYPE"
  msgid "Common block %</%s/%> at %L set in previous OMP GROUPPRIVATE directive to the different DEVICE_TYPE %qs"
! msgstr "Listenelement %qs bei %L wurde von einer vorhergehenden Direktive OMP DECLARE TARGET auf einen abweichenden DEVICE_TYPE festgelegt"
  
  #: fortran/openmp.cc:6373
! #, fuzzy, gcc-internal-format
! #| msgid "List item %qs at %L set in previous OMP DECLARE TARGET directive to a different DEVICE_TYPE"
  msgid "Common block %</%s/%> at %L set in previous OMP DECLARE TARGET directive to the different DEVICE_TYPE %qs"
! msgstr "Listenelement %qs bei %L wurde von einer vorhergehenden Direktive OMP DECLARE TARGET auf einen abweichenden DEVICE_TYPE festgelegt"
  
  #: fortran/openmp.cc:6387
  #, gcc-internal-format
  msgid "Common block %</%s/%> at %L set with NOHOST specified may not appear in a LINK clause"
! msgstr ""
  
  #: fortran/openmp.cc:6417
  #, gcc-internal-format, gfc-internal-format
--- 81574,81615 ----
  #: fortran/openmp.cc:6325
  #, gcc-internal-format
  msgid "List item %qs at %L set with NOHOST specified may not appear in a LINK clause"
! msgstr "Das mit NOHOST angegebene Listenelement %qs bei %L darf nicht in einer LINK-Klausel vorkommen"
  
  #: fortran/openmp.cc:6333
  #, gcc-internal-format
  msgid "Common block %</%s/%> at %L not appear in the %qs clause as it was previously specified in a GROUPPRIVATE directive"
! msgstr "Gemeinsamer Block %</%s/%> bei %L kommt nicht in der %qs-Klausel vor, da er zuvor in einer GROUPPRIVATE-Direktive angegeben wurde"
  
  #: fortran/openmp.cc:6340
! #, gcc-internal-format
  msgid "Common block %</%s/%> at %L mentioned multiple times in clauses of the same OMP DECLARE TARGET directive"
! msgstr "Gemeinsamer Block %</%s/%> bei %L mehrfach in Klauseln derselben OMP-DECLARE-TARGET-Direktive erwähnt"
  
  #: fortran/openmp.cc:6347
! #, gcc-internal-format
  msgid "Common block %</%s/%> at %L previously mentioned in %s clause and later in %s clause"
! msgstr "Gemeinsamer Block %</%s/%> bei %L, zuvor in %s-Klausel und später in %s-Klausel erwähnt"
  
  #: fortran/openmp.cc:6355
! #, gcc-internal-format
  msgid "Common block %</%s/%> at %L previously mentioned in TO or ENTER clause and later in %s clause"
! msgstr "Gemeinsamer Block %</%s/%> bei %L, zuvor in der TO- oder ENTER-Klausel und später in der %s-Klausel erwähnt"
  
  #: fortran/openmp.cc:6368
! #, gcc-internal-format
  msgid "Common block %</%s/%> at %L set in previous OMP GROUPPRIVATE directive to the different DEVICE_TYPE %qs"
! msgstr "Gemeinsamer Block %</%s/%> bei %L, festgelegt in der vorherigen OMP-GROUPPRIVATE-Anweisung für den unterschiedlichen DEVICE_TYPE %qs"
  
  #: fortran/openmp.cc:6373
! #, gcc-internal-format
  msgid "Common block %</%s/%> at %L set in previous OMP DECLARE TARGET directive to the different DEVICE_TYPE %qs"
! msgstr "Gemeinsamer Block %</%s/%> bei %L, festgelegt in der vorherigen OMP-DECLARE-TARGET-Anweisung für den unterschiedlichen DEVICE_TYPE %qs"
  
  #: fortran/openmp.cc:6387
  #, gcc-internal-format
  msgid "Common block %</%s/%> at %L set with NOHOST specified may not appear in a LINK clause"
! msgstr "Der gemeinsame Block %</%s/%> bei %L, der mit NOHOST festgelegt wurde, darf nicht in einer LINK-Klausel vorkommen"
  
  #: fortran/openmp.cc:6417
  #, gcc-internal-format, gfc-internal-format
*************** msgid "expected %<match%>, %<adjust_args
*** 82667,82681 ****
  msgstr "%<match%>, %<adjust_args%> oder %<append_args%> bei %C erwartet"
  
  #: fortran/openmp.cc:7125
! #, fuzzy, gcc-internal-format
! #| msgid "expected simd clause at %C"
  msgid "expected %<match%> clause at %C"
! msgstr "SIMD-Klausel bei %C erwartet"
  
  #: fortran/openmp.cc:7159
  #, gcc-internal-format
  msgid "%<default%> clause with metadirective at %L deprecated since OpenMP 5.2"
! msgstr ""
  
  #: fortran/openmp.cc:7166
  #, gcc-internal-format
--- 81755,81768 ----
  msgstr "%<match%>, %<adjust_args%> oder %<append_args%> bei %C erwartet"
  
  #: fortran/openmp.cc:7125
! #, gcc-internal-format
  msgid "expected %<match%> clause at %C"
! msgstr "%<match%>-Klausel bei %C erwartet"
  
  #: fortran/openmp.cc:7159
  #, gcc-internal-format
  msgid "%<default%> clause with metadirective at %L deprecated since OpenMP 5.2"
! msgstr "%<default%>-Klausel mit Metadirektive bei %L ist seit OpenMP 5.2 veraltet"
  
  #: fortran/openmp.cc:7166
  #, gcc-internal-format
*************** msgid "Unexpected junk after OMP METADIR
*** 82708,82757 ****
  msgstr "Unerwarteter Ausschuss hinter »OMP METADIRECTIVE« bei %C"
  
  #: fortran/openmp.cc:7325
! #, fuzzy, gcc-internal-format
! #| msgid "Variable at %C is an element of a COMMON block"
  msgid "%qs variable at %L is an element of a COMMON block"
! msgstr "Variable bei %C ist ein Element eines COMMON-Blocks"
  
  #: fortran/openmp.cc:7353
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "COMMON block /%s/ not found at %C"
  msgid "COMMON block /%s/ not found at %L"
! msgstr "COMMON-Block /%s/ bei %C nicht gefunden"
  
  #: fortran/openmp.cc:7391
! #, fuzzy, gcc-internal-format
! #| msgid "Variable at %C is an element of a COMMON block"
  msgid "Variable %qs at %L is an element of a COMMON block"
! msgstr "Variable bei %C ist ein Element eines COMMON-Blocks"
  
  #: fortran/openmp.cc:7395
  #, gcc-internal-format
  msgid "List item %qs at %L implies OMP DECLARE TARGET with the LOCAL clause, but it has been specified with a different clause before"
! msgstr ""
  
  #: fortran/openmp.cc:7420
  #, gcc-internal-format
  msgid "List item %</%s/%> at %L implies OMP DECLARE TARGET with the LOCAL clause, but it has been specified with a different clause before"
! msgstr ""
  
  #: fortran/openmp.cc:7449
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Unexpected junk after %qs at %L"
  msgid "Unexpected junk after OMP %s at %C"
! msgstr "Unerwarteter Ausschuss hinter %qs bei %L"
  
  #: fortran/openmp.cc:7457
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
  msgid "Syntax error in !$OMP %s list at %C"
! msgstr "Syntaxfehler in !$OMP THREADPRIVATE Liste bei %C"
  
  #: fortran/openmp.cc:7534 fortran/openmp.cc:7543 fortran/openmp.cc:7554
  #: fortran/openmp.cc:8140 fortran/openmp.cc:8156 fortran/openmp.cc:8165
  #, gcc-internal-format
  msgid "%<master%> construct at %C deprecated since OpenMP 5.1, use %<masked%>"
! msgstr ""
  
  #: fortran/openmp.cc:7580
  #, gcc-internal-format, gfc-internal-format
--- 81795,81839 ----
  msgstr "Unerwarteter Ausschuss hinter »OMP METADIRECTIVE« bei %C"
  
  #: fortran/openmp.cc:7325
! #, gcc-internal-format
  msgid "%qs variable at %L is an element of a COMMON block"
! msgstr "Variable %qs bei %L ist ein Element eines COMMON-Blocks"
  
  #: fortran/openmp.cc:7353
! #, gcc-internal-format, gfc-internal-format
  msgid "COMMON block /%s/ not found at %L"
! msgstr "COMMON-Block /%s/ bei %L nicht gefunden"
  
  #: fortran/openmp.cc:7391
! #, gcc-internal-format
  msgid "Variable %qs at %L is an element of a COMMON block"
! msgstr "Variable %qs bei %L ist ein Element eines COMMON-Blocks"
  
  #: fortran/openmp.cc:7395
  #, gcc-internal-format
  msgid "List item %qs at %L implies OMP DECLARE TARGET with the LOCAL clause, but it has been specified with a different clause before"
! msgstr "Das Listenelement %qs bei %L impliziert OMP DECLARE TARGET mit der LOCAL-Klausel, wurde jedoch zuvor mit einer anderen Klausel angegeben"
  
  #: fortran/openmp.cc:7420
  #, gcc-internal-format
  msgid "List item %</%s/%> at %L implies OMP DECLARE TARGET with the LOCAL clause, but it has been specified with a different clause before"
! msgstr "Listenelement %</%s/%> bei %L impliziert OMP DECLARE TARGET mit der LOCAL-Klausel, wurde jedoch zuvor mit einer anderen Klausel angegeben"
  
  #: fortran/openmp.cc:7449
! #, gcc-internal-format, gfc-internal-format
  msgid "Unexpected junk after OMP %s at %C"
! msgstr "Unerwarteter Ausschuss hinter OMP %s bei %C"
  
  #: fortran/openmp.cc:7457
! #, gcc-internal-format, gfc-internal-format
  msgid "Syntax error in !$OMP %s list at %C"
! msgstr "Syntaxfehler in »!$OMP %s«-Liste bei %C"
  
  #: fortran/openmp.cc:7534 fortran/openmp.cc:7543 fortran/openmp.cc:7554
  #: fortran/openmp.cc:8140 fortran/openmp.cc:8156 fortran/openmp.cc:8165
  #, gcc-internal-format
  msgid "%<master%> construct at %C deprecated since OpenMP 5.1, use %<masked%>"
! msgstr "Das Konstrukt %<master%> bei %C ist seit OpenMP 5.1 veraltet; verwenden Sie stattdessen %<masked%>"
  
  #: fortran/openmp.cc:7580
  #, gcc-internal-format, gfc-internal-format
*************** msgid "Predefined allocator required in
*** 83049,83058 ****
  msgstr "Vordefinierter Allokator in ALLOCATOR-Klausel bei %L erforderlich, da das Listenelement %<%s%s%s%> bei %L das Attribut SAVE hat"
  
  #: fortran/openmp.cc:8838
! #, fuzzy, gcc-internal-format
! #| msgid "Predefined allocator required in ALLOCATOR clause at %L as the list item %<%s%s%s%> at %L has the SAVE attribute"
  msgid "Predefined allocator %qs in ALLOCATOR clause at %L, used for list item %<%s%s%s%> at %L, may only be used for local static variables"
! msgstr "Vordefinierter Allokator in ALLOCATOR-Klausel bei %L erforderlich, da das Listenelement %<%s%s%s%> bei %L das Attribut SAVE hat"
  
  #: fortran/openmp.cc:8856 fortran/openmp.cc:9430
  #, gcc-internal-format
--- 82131,82139 ----
  msgstr "Vordefinierter Allokator in ALLOCATOR-Klausel bei %L erforderlich, da das Listenelement %<%s%s%s%> bei %L das Attribut SAVE hat"
  
  #: fortran/openmp.cc:8838
! #, gcc-internal-format
  msgid "Predefined allocator %qs in ALLOCATOR clause at %L, used for list item %<%s%s%s%> at %L, may only be used for local static variables"
! msgstr "Vordefinierter Allokator %qs in ALLOCATOR-Klausel bei %L, wird für Listenelement %<%s%s%s%> bei %L verwendet, kann nur für lokale statische Variablen verwendet werden"
  
  #: fortran/openmp.cc:8856 fortran/openmp.cc:9430
  #, gcc-internal-format
*************** msgid "Variable %qs is not a dummy argum
*** 83141,83150 ****
  msgstr "Variable %qs bei %L ist kein Dummyargument"
  
  #: fortran/openmp.cc:9193
! #, fuzzy, gcc-internal-format
! #| msgid "Object %qs is not a variable at %L; parameters cannot be and need not be copied"
  msgid "Clause for object %qs at %L is ignored as parameters need not be copied"
! msgstr "Objekt %qs bei %L ist keine Variable; Parameter können nicht kopiert werden und brauchen das auch nicht"
  
  #: fortran/openmp.cc:9197
  #, gcc-internal-format
--- 82222,82230 ----
  msgstr "Variable %qs bei %L ist kein Dummyargument"
  
  #: fortran/openmp.cc:9193
! #, gcc-internal-format
  msgid "Clause for object %qs at %L is ignored as parameters need not be copied"
! msgstr "Die Klausel für das Objekt %qs bei %L wird ignoriert, da Parameter nicht kopiert werden müssen"
  
  #: fortran/openmp.cc:9197
  #, gcc-internal-format
*************** msgstr "Objekt %qs bei %L ist keine Vari
*** 83154,83160 ****
  #: fortran/openmp.cc:9202
  #, gcc-internal-format
  msgid "Clause for object %qs at %L is ignored as it is a parameter"
! msgstr ""
  
  #: fortran/openmp.cc:9205 fortran/openmp.cc:13163
  #, gcc-internal-format
--- 82234,82240 ----
  #: fortran/openmp.cc:9202
  #, gcc-internal-format
  msgid "Clause for object %qs at %L is ignored as it is a parameter"
! msgstr "Die Klausel für das Objekt %qs bei %L wird ignoriert, da es ein Parameter ist"
  
  #: fortran/openmp.cc:9205 fortran/openmp.cc:13163
  #, gcc-internal-format
*************** msgstr "%qs ist in %<allocate%>-Klausel
*** 83227,83233 ****
  #: fortran/openmp.cc:9525
  #, gcc-internal-format
  msgid "The use of one or more %<allocate%> directives with an associated %<allocate%> statement at %L is deprecated since OpenMP 5.2, use an %<allocators%> directive"
! msgstr ""
  
  #: fortran/openmp.cc:9547
  #, gcc-internal-format
--- 82307,82313 ----
  #: fortran/openmp.cc:9525
  #, gcc-internal-format
  msgid "The use of one or more %<allocate%> directives with an associated %<allocate%> statement at %L is deprecated since OpenMP 5.2, use an %<allocators%> directive"
! msgstr "Die Verwendung einer oder mehrerer %<allocate%>-Direktiven mit einer zugehörigen %<allocate%>-Anweisung bei %L ist seit OpenMP 5.2 veraltet; verwenden Sie stattdessen eine %<allocators%>-Direktive"
  
  #: fortran/openmp.cc:9547
  #, gcc-internal-format
*************** msgstr "Feld ist nicht zusammenhängend
*** 83377,83383 ****
  #: fortran/openmp.cc:9896
  #, gcc-internal-format
  msgid "%qs argument to MAP clause at %L must not be a device-local variable, including GROUPPRIVATE"
! msgstr ""
  
  #: fortran/openmp.cc:9910
  #, gcc-internal-format
--- 82457,82463 ----
  #: fortran/openmp.cc:9896
  #, gcc-internal-format
  msgid "%qs argument to MAP clause at %L must not be a device-local variable, including GROUPPRIVATE"
! msgstr "Das Argument %qs in der MAP-Klausel bei %L darf keine gerätespezifische Variable sein, einschließlich GROUPPRIVATE"
  
  #: fortran/openmp.cc:9910
  #, gcc-internal-format
*************** msgstr "Listenelement %qs in %s-Klausel
*** 83443,83454 ****
  #: fortran/openmp.cc:10130
  #, gcc-internal-format, gfc-internal-format
  msgid "Non-C_PTR type argument at %L is deprecated, use HAS_DEVICE_ADDR"
! msgstr ""
  
  #: fortran/openmp.cc:10159
  #, gcc-internal-format, gfc-internal-format
  msgid "Non-C_PTR type argument at %L is deprecated, use USE_DEVICE_ADDR"
! msgstr ""
  
  #: fortran/openmp.cc:10185
  #, gcc-internal-format
--- 82523,82534 ----
  #: fortran/openmp.cc:10130
  #, gcc-internal-format, gfc-internal-format
  msgid "Non-C_PTR type argument at %L is deprecated, use HAS_DEVICE_ADDR"
! msgstr "Das Argument vom Typ Nicht-C_PTR bei %L ist veraltet; verwenden Sie stattdessen HAS_DEVICE_ADDR"
  
  #: fortran/openmp.cc:10159
  #, gcc-internal-format, gfc-internal-format
  msgid "Non-C_PTR type argument at %L is deprecated, use USE_DEVICE_ADDR"
! msgstr "Das Argument vom Typ Nicht-C_PTR bei %L ist veraltet; verwenden Sie stattdessen USE_DEVICE_ADDR"
  
  #: fortran/openmp.cc:10185
  #, gcc-internal-format
*************** msgid "%s inner loops must be perfectly
*** 83935,83950 ****
  msgstr "%s innere Schleifen bei %L müssen perfekt geschachtelt sein"
  
  #: fortran/openmp.cc:12584
! #, fuzzy, gcc-internal-format
! #| msgid "%<score%> argument must be constant integer expression at %C"
  msgid "%<score%> argument must be constant integer expression at %L"
! msgstr "das %<score%>-Argument bei %C muss ein konstanter ganzzahliger Ausdruck sein"
  
  #: fortran/openmp.cc:12592
! #, fuzzy, gcc-internal-format
! #| msgid "%<score%> argument must be non-negative at %C"
  msgid "%<score%> argument must be non-negative at %L"
! msgstr "das %<score%>-Argument bei %C darf nicht negativ sein"
  
  #: fortran/openmp.cc:12621
  #, gcc-internal-format, gfc-internal-format
--- 83015,83028 ----
  msgstr "%s innere Schleifen bei %L müssen perfekt geschachtelt sein"
  
  #: fortran/openmp.cc:12584
! #, gcc-internal-format
  msgid "%<score%> argument must be constant integer expression at %L"
! msgstr "Das %<score%>-Argument bei %L muss ein konstanter ganzzahliger Ausdruck sein"
  
  #: fortran/openmp.cc:12592
! #, gcc-internal-format
  msgid "%<score%> argument must be non-negative at %L"
! msgstr "Das %<score%>-Argument bei %L darf nicht negativ sein"
  
  #: fortran/openmp.cc:12621
  #, gcc-internal-format, gfc-internal-format
*************** msgid "property must be a constant integ
*** 83967,83976 ****
  msgstr "Eigenschaft bei %L muss ein konstanter ganzzahliger Ausdruck sein"
  
  #: fortran/openmp.cc:12661
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "property must be a conforming device number at %C"
  msgid "property must be a conforming device number at %L"
! msgstr "Eigenschaft bei %C muss die Nummer eines konformen Geräts sein"
  
  #: fortran/openmp.cc:12940 fortran/openmp.cc:12953
  #, gcc-internal-format, gfc-internal-format
--- 83045,83053 ----
  msgstr "Eigenschaft bei %L muss ein konstanter ganzzahliger Ausdruck sein"
  
  #: fortran/openmp.cc:12661
! #, gcc-internal-format, gfc-internal-format
  msgid "property must be a conforming device number at %L"
! msgstr "Eigenschaft bei %L muss die Nummer eines konformen Geräts sein"
  
  #: fortran/openmp.cc:12940 fortran/openmp.cc:12953
  #, gcc-internal-format, gfc-internal-format
*************** msgid "TILE requires constant expression
*** 84020,84029 ****
  msgstr "TILE bei %L erfordert konstanten Ausdruck"
  
  #: fortran/openmp.cc:13173
! #, fuzzy, gcc-internal-format
! #| msgid "Object %qs is not a variable at %L; parameters cannot be and need not be copied"
  msgid "Object %qs at %L is ignored as parameters need not be copied"
! msgstr "Objekt %qs bei %L ist keine Variable; Parameter können nicht kopiert werden und brauchen das auch nicht"
  
  #: fortran/openmp.cc:13180
  #, gcc-internal-format
--- 83097,83105 ----
  msgstr "TILE bei %L erfordert konstanten Ausdruck"
  
  #: fortran/openmp.cc:13173
! #, gcc-internal-format
  msgid "Object %qs at %L is ignored as parameters need not be copied"
! msgstr "Objekt %qs bei %L wird ignoriert, da es nicht nötig ist, Parameter zu kopieren"
  
  #: fortran/openmp.cc:13180
  #, gcc-internal-format
*************** msgid "Flag %<-fmax-stack-var-size=%d%>
*** 84186,84200 ****
  msgstr "Schalter %<-fmax-stack-var-size=%d%> überschreibt %<-frecursive%> (ausgelöst durch %qs)"
  
  #: fortran/options.cc:511
! #, fuzzy, gcc-internal-format
! #| msgid "-msingle-float and -msoft-float cannot both be specified"
  msgid "32- and 64-bit version of BLAS cannot both be specified"
! msgstr "»-msingle-float« und »-msoft-float« dürfen nicht zusammen angegeben werden"
  
  #: fortran/options.cc:520
  #, gcc-internal-format
  msgid "-ffrontend-optimize required for -fexternal-blas64"
! msgstr ""
  
  #: fortran/options.cc:536
  #, gcc-internal-format
--- 83262,83275 ----
  msgstr "Schalter %<-fmax-stack-var-size=%d%> überschreibt %<-frecursive%> (ausgelöst durch %qs)"
  
  #: fortran/options.cc:511
! #, gcc-internal-format
  msgid "32- and 64-bit version of BLAS cannot both be specified"
! msgstr "Die 32-Bit- und 64-Bit-Version von BLAS können nicht gleichzeitig angegeben werden"
  
  #: fortran/options.cc:520
  #, gcc-internal-format
  msgid "-ffrontend-optimize required for -fexternal-blas64"
! msgstr "»-ffrontend-optimize« ist für »-fexternal-blas64« erforderlich"
  
  #: fortran/options.cc:536
  #, gcc-internal-format
*************** msgid "Syntax error in nested structure
*** 84488,84502 ****
  msgstr "Syntaxfehler in geschachtelter Struktur-Deklaration bei %C"
  
  #: fortran/parse.cc:3982
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Access specification of the %s operator at %C has already been specified"
  msgid "Access specification of a type parameter at %C is not allowed"
! msgstr "Zugriffsspezifikation des Operators %s bei %C wurde bereits spezifiziert"
  
  #: fortran/parse.cc:3989
  #, gcc-internal-format, gfc-internal-format
  msgid "The type parameter at %C must come before a PRIVATE statement"
! msgstr ""
  
  #: fortran/parse.cc:4000
  #, gcc-internal-format, gfc-internal-format
--- 83563,83576 ----
  msgstr "Syntaxfehler in geschachtelter Struktur-Deklaration bei %C"
  
  #: fortran/parse.cc:3982
! #, gcc-internal-format, gfc-internal-format
  msgid "Access specification of a type parameter at %C is not allowed"
! msgstr "Zugriffsangabe eines Typparameters bei %C ist nicht erlaubt"
  
  #: fortran/parse.cc:3989
  #, gcc-internal-format, gfc-internal-format
  msgid "The type parameter at %C must come before a PRIVATE statement"
! msgstr "Der Typparameter bei %C muss vor einer PRIVATE-Anweisung stehen"
  
  #: fortran/parse.cc:4000
  #, gcc-internal-format, gfc-internal-format
*************** msgid "ASSOCIATE construct at %C"
*** 84669,84678 ****
  msgstr "ASSOCIATE-Konstrukt bei %C"
  
  #: fortran/parse.cc:5536
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "CHANGE TEAM statement at %C"
  msgid "CHANGE TEAM construct at %C"
! msgstr "CHANGE-TEAM-Anweisung bei %C"
  
  #: fortran/parse.cc:5662
  #, gcc-internal-format, gfc-internal-format
--- 83743,83751 ----
  msgstr "ASSOCIATE-Konstrukt bei %C"
  
  #: fortran/parse.cc:5536
! #, gcc-internal-format, gfc-internal-format
  msgid "CHANGE TEAM construct at %C"
! msgstr "»CHANGE TEAM«-Konstrukt bei %C"
  
  #: fortran/parse.cc:5662
  #, gcc-internal-format, gfc-internal-format
*************** msgid "CONTAINS statement without FUNCTI
*** 84813,84822 ****
  msgstr "CONTAINS-Anweisung ohne FUNCTION- oder SUBROUTINE-Anweisung bei %L"
  
  #: fortran/parse.cc:7144
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "DATA statement at %C after the first executable statement"
  msgid "%s statement at %C cannot appear after executable statements"
! msgstr "DATA-Anweisung bei %C hinter der ersten ausführbaren Anweisung"
  
  #: fortran/parse.cc:7172
  #, gcc-internal-format, gfc-internal-format
--- 83886,83894 ----
  msgstr "CONTAINS-Anweisung ohne FUNCTION- oder SUBROUTINE-Anweisung bei %L"
  
  #: fortran/parse.cc:7144
! #, gcc-internal-format, gfc-internal-format
  msgid "%s statement at %C cannot appear after executable statements"
! msgstr "%s-Anweisung bei %C darf nicht nach ausführbaren Anweisungen vorkommen"
  
  #: fortran/parse.cc:7172
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Argumentliste bei %C erwartet"
*** 85146,85152 ****
  #: fortran/primary.cc:2736
  #, gcc-internal-format, gfc-internal-format
  msgid "R901: A type parameter ref is not a designtor and cannot be followed by the type inquiry ref at %C"
! msgstr ""
  
  #: fortran/primary.cc:2744
  #, gcc-internal-format
--- 84218,84224 ----
  #: fortran/primary.cc:2736
  #, gcc-internal-format, gfc-internal-format
  msgid "R901: A type parameter ref is not a designtor and cannot be followed by the type inquiry ref at %C"
! msgstr "R901: Ein Typ-Parameter-Verweis ist kein Designator und kann nicht von einem Typ-Abfrage-Verweis bei %C gefolgt werden"
  
  #: fortran/primary.cc:2744
  #, gcc-internal-format
*************** msgid "Function %qs requires an argument
*** 85286,85295 ****
  msgstr "Funktion %qs erfordert eine Argumentliste bei %C"
  
  #: fortran/primary.cc:4160
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Empty array constructor at %C is not allowed"
  msgid "F2023 R755: The empty type specification at %C is not allowed"
! msgstr "Leerer Feldkonstruktor bei %C ist nicht erlaubt"
  
  #: fortran/primary.cc:4276
  #, gcc-internal-format
--- 84358,84366 ----
  msgstr "Funktion %qs erfordert eine Argumentliste bei %C"
  
  #: fortran/primary.cc:4160
! #, gcc-internal-format, gfc-internal-format
  msgid "F2023 R755: The empty type specification at %C is not allowed"
! msgstr "F2023 R755: Die leere Typangabe bei %C ist nicht erlaubt"
  
  #: fortran/primary.cc:4276
  #, gcc-internal-format
*************** msgid "Coindexed actual argument at %L w
*** 85799,85808 ****
  msgstr "Koindiziertes effektives Argument bei %L mit endgültiger Zeigerkomponente"
  
  #: fortran/resolve.cc:2310 fortran/resolve.cc:2315
! #, fuzzy, 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"
  msgid "Procedure %qs at %L used as actual argument but does neither have an explicit interface nor the EXTERNAL attribute"
! msgstr "Prozedurzeigerziel %qs bei %L muss entweder eine intrinsische Funktion, host- oder use-assoziiert oder referenziert sein, oder aber das EXTERNAL-Attribut haben"
  
  #: fortran/resolve.cc:2467
  #, gcc-internal-format
--- 84870,84878 ----
  msgstr "Koindiziertes effektives Argument bei %L mit endgültiger Zeigerkomponente"
  
  #: fortran/resolve.cc:2310 fortran/resolve.cc:2315
! #, gcc-internal-format
  msgid "Procedure %qs at %L used as actual argument but does neither have an explicit interface nor the EXTERNAL attribute"
! msgstr "Prozedur %qs bei %L wird als tatsächliches Argument verwendet, verfügt jedoch weder über eine explizite Schnittstelle noch über das Attribut EXTERNAL"
  
  #: fortran/resolve.cc:2467
  #, gcc-internal-format
*************** msgid "Using function %qs at %L is depre
*** 85942,85951 ****
  msgstr "Verwendung der Funktion %qs bei %L ist veraltet"
  
  #: fortran/resolve.cc:3699 fortran/resolve.cc:4189
! #, fuzzy, gcc-internal-format
! #| msgid "COMMON block %qs at %L cannot have the EXTERNAL attribute"
  msgid "Dummy procedure %qs at %L requires an EXTERNAL attribute"
! msgstr "COMMON-Block %qs bei %L kann nicht das EXTERNAL-Attribut haben"
  
  #: fortran/resolve.cc:3740
  #, gcc-internal-format, gfc-internal-format
--- 85012,85020 ----
  msgstr "Verwendung der Funktion %qs bei %L ist veraltet"
  
  #: fortran/resolve.cc:3699 fortran/resolve.cc:4189
! #, gcc-internal-format
  msgid "Dummy procedure %qs at %L requires an EXTERNAL attribute"
! msgstr "Scheinprozedur %qs bei %L erfordert das EXTERNAL-Attribut"
  
  #: fortran/resolve.cc:3740
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Spezifisches Unterprogramm %qs b
*** 85990,86001 ****
  #: fortran/resolve.cc:3983
  #, gcc-internal-format
  msgid "F2018: C8102 %qs at %L is host associated but does not appear in an IMPORT or IMPORT, ONLY list"
! msgstr ""
  
  #: fortran/resolve.cc:3990
  #, gcc-internal-format
  msgid "F2018: C8102 %qs at %L is host associated in a scope that has IMPORT, NONE"
! msgstr ""
  
  #: fortran/resolve.cc:4119
  #, gcc-internal-format
--- 85059,85070 ----
  #: fortran/resolve.cc:3983
  #, gcc-internal-format
  msgid "F2018: C8102 %qs at %L is host associated but does not appear in an IMPORT or IMPORT, ONLY list"
! msgstr "F2018: C8102 %qs bei %L ist mit dem Host verbunden, erscheint jedoch nicht in einer IMPORT- oder »IMPORT, ONLY«-Liste"
  
  #: fortran/resolve.cc:3990
  #, gcc-internal-format
  msgid "F2018: C8102 %qs at %L is host associated in a scope that has IMPORT, NONE"
! msgstr "F2018: C8102 %qs bei %L ist mit einem Host in einem Bereich verbunden, der »IMPORT, NONE« hat"
  
  #: fortran/resolve.cc:4119
  #, gcc-internal-format
*************** msgid "resolve_operator(): Bad intrinsic
*** 86166,86203 ****
  msgstr "resolve_operator(): Bad intrinsic"
  
  #: fortran/resolve.cc:5056
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Coindex of codimension %d must be a scalar at %L"
  msgid "Condition in conditional expression must be a scalar logical at %L"
! msgstr "Koindex der Kodimension %d muss bei %L ein Skalar sein"
  
  #: fortran/resolve.cc:5063
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Actual argument to %qs at %L must have the same declared type"
  msgid "expr at %L and expr at %L in conditional expression must have the same declared type"
! msgstr "Effektives Argument für %qs bei %L muss denselben deklarierten Typ haben"
  
  #: fortran/resolve.cc:5071
! #, fuzzy, 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"
  msgid "expr at %L and expr at %L in conditional expression must have the same kind parameter"
! msgstr "Das ALLOCATE-Objekt bei %L und der Quellausdruck bei %L müssen Typparameter der gleichen Art haben"
  
  #: fortran/resolve.cc:5079
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Source-expr at %L and allocate-object at %L must have the same shape"
  msgid "expr at %L and expr at %L in conditional expression must have the same rank"
! msgstr "Quell-Ausdruck bei %L und ALLOCATE-Objekt bei %L müssen dieselbe Form haben"
  
  #: fortran/resolve.cc:5091
  #, gcc-internal-format, gfc-internal-format
  msgid "Sorry, only integer, logical, real, complex and character types are currently supported for conditional expressions at %L"
! msgstr ""
  
  #: fortran/resolve.cc:5100
  #, gcc-internal-format, gfc-internal-format
  msgid "Sorry, array is currently unsupported for conditional expressions at %L"
! msgstr ""
  
  #: fortran/resolve.cc:5270
  #, gcc-internal-format, gfc-internal-format
--- 85235,85268 ----
  msgstr "resolve_operator(): Bad intrinsic"
  
  #: fortran/resolve.cc:5056
! #, gcc-internal-format, gfc-internal-format
  msgid "Condition in conditional expression must be a scalar logical at %L"
! msgstr "Die Bedingung in dem bedingten Ausdruck bei %L muss ein logischer Skalarwert sein"
  
  #: fortran/resolve.cc:5063
! #, gcc-internal-format, gfc-internal-format
  msgid "expr at %L and expr at %L in conditional expression must have the same declared type"
! msgstr "Die expr bei %L und die expr bei %L in bedingten Ausdrücken müssen denselben deklarierten Typ haben"
  
  #: fortran/resolve.cc:5071
! #, gcc-internal-format, gfc-internal-format
  msgid "expr at %L and expr at %L in conditional expression must have the same kind parameter"
! msgstr "Die expr bei %L und expr bei %L in bedingten Ausdrücken müssen denselben Artparameter haben"
  
  #: fortran/resolve.cc:5079
! #, gcc-internal-format, gfc-internal-format
  msgid "expr at %L and expr at %L in conditional expression must have the same rank"
! msgstr "Die expr bei %L und expr bei %L in bedingten Ausdrücken müssen denselben Rang haben"
  
  #: fortran/resolve.cc:5091
  #, gcc-internal-format, gfc-internal-format
  msgid "Sorry, only integer, logical, real, complex and character types are currently supported for conditional expressions at %L"
! msgstr "Sorry, nur ganzzahlige, logische, reelle, komplexe und Zeichen-Typen sind derzeit für bedingte Ausdrücke bei %L unterstützt"
  
  #: fortran/resolve.cc:5100
  #, gcc-internal-format, gfc-internal-format
  msgid "Sorry, array is currently unsupported for conditional expressions at %L"
! msgstr "Sorry, Feld ist derzeit für bedingte Ausdrücke bei %L nicht unterstützt"
  
  #: fortran/resolve.cc:5270
  #, gcc-internal-format, gfc-internal-format
*************** msgid "UNTIL_COUNT= argument at %L must
*** 87110,87131 ****
  msgstr "Argument UNTIL_COUNT= bei %L muss ein skalarer INTEGER-Ausdruck sein"
  
  #: fortran/resolve.cc:11874
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "TEAM argument at %L must be of TEAM_TYPE from the intrinsic module ISO_FORTRAN_ENV, found %s"
  msgid "TEAM argument at %L must be a scalar expression of type TEAM_TYPE from the intrinsic module ISO_FORTRAN_ENV"
! msgstr "Argument TEAM bei %L muss vom TEAM_TYPE des intrinsischen Moduls ISO_FORTRAN_ENV sein, ist jedoch %s"
  
  #: fortran/resolve.cc:11888
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "STAT= argument at %L must be a scalar INTEGER variable"
  msgid "%s argument at %L must be a scalar %s variable of at least kind %d"
! msgstr "»STAT=«-Argument bei %L muss skalare INTEGER-Variable sein"
  
  #: fortran/resolve.cc:11909
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s tag at %L must be a character string of default kind"
  msgid "%s argument at %L must be a scalar %s of at least kind %d"
! msgstr "Markierung %s bei %L muss Standard-Zeichenkette sein"
  
  #: fortran/resolve.cc:12027
  #, gcc-internal-format, gfc-internal-format
--- 86175,86193 ----
  msgstr "Argument UNTIL_COUNT= bei %L muss ein skalarer INTEGER-Ausdruck sein"
  
  #: fortran/resolve.cc:11874
! #, gcc-internal-format, gfc-internal-format
  msgid "TEAM argument at %L must be a scalar expression of type TEAM_TYPE from the intrinsic module ISO_FORTRAN_ENV"
! msgstr "Argument TEAM bei %L muss ein skalarer Ausdruck vom Typ TEAM_TYPE aus dem intrinsischen Modul ISO_FORTRAN_ENV sein"
  
  #: fortran/resolve.cc:11888
! #, gcc-internal-format, gfc-internal-format
  msgid "%s argument at %L must be a scalar %s variable of at least kind %d"
! msgstr "Das Argument %s bei %L muss eine skalare %s-Variable mindestens von der Art %d sein"
  
  #: fortran/resolve.cc:11909
! #, gcc-internal-format, gfc-internal-format
  msgid "%s argument at %L must be a scalar %s of at least kind %d"
! msgstr "Das Argument %s bei %L muss ein skalarer %s mindestens von der Art %d sein"
  
  #: fortran/resolve.cc:12027
  #, gcc-internal-format, gfc-internal-format
*************** msgid "GOTO statement at %L leaves DO CO
*** 87160,87169 ****
  msgstr "GOTO-Anweisung bei %L hinterlässt DO CONCURRENT-Konstrukt für Marke bei %L"
  
  #: fortran/resolve.cc:12129
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
  msgid "GOTO statement at %L leaves CHANGE TEAM construct for label at %L"
! msgstr "GOTO-Anweisung bei %L hinterlässt CRITICAL-Konstrukt für Marke bei %L"
  
  #. The label is not in an enclosing block, so illegal.  This was
  #. allowed in Fortran 66, so we allow it as extension.  No
--- 86222,86230 ----
  msgstr "GOTO-Anweisung bei %L hinterlässt DO CONCURRENT-Konstrukt für Marke bei %L"
  
  #: fortran/resolve.cc:12129
! #, gcc-internal-format, gfc-internal-format
  msgid "GOTO statement at %L leaves CHANGE TEAM construct for label at %L"
! msgstr "GOTO-Anweisung bei %L hinterlässt »CHANGE TEAM«-Konstrukt für Sprungmarke bei %L"
  
  #. The label is not in an enclosing block, so illegal.  This was
  #. allowed in Fortran 66, so we allow it as extension.  No
*************** msgid "An outer FORALL construct already
*** 87219,87228 ****
  msgstr "Ein äußeres FORALL-Konstrukt hat bereits einen Index mit Namen %L"
  
  #: fortran/resolve.cc:12725
! #, fuzzy, gcc-internal-format
! #| msgid "Expected variable name at %C"
  msgid "Expected shadow variable name to start with _"
! msgstr "Variablennamen bei %C erwartet"
  
  #: fortran/resolve.cc:12812
  #, gcc-internal-format, gfc-internal-format
--- 86280,86288 ----
  msgstr "Ein äußeres FORALL-Konstrukt hat bereits einen Index mit Namen %L"
  
  #: fortran/resolve.cc:12725
! #, gcc-internal-format
  msgid "Expected shadow variable name to start with _"
! msgstr "Interner Fehler: Expected shadow variable name to start with _"
  
  #: fortran/resolve.cc:12812
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Funktionsergebnisvariable %qs be
*** 87580,87592 ****
  #: fortran/resolve.cc:15690
  #, gcc-internal-format
  msgid "Result variable %qs of pure function at %L is polymorphic allocatable"
! msgstr ""
  
  #: fortran/resolve.cc:15704
! #, fuzzy, gcc-internal-format
! #| msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
  msgid "Result variable %qs of pure function at %L has polymorphic allocatable component %qs"
! msgstr "Koindiziertes Objekt mit polymorpher reservierbarer Subkomponente bei %L"
  
  #: fortran/resolve.cc:15763
  #, gcc-internal-format
--- 86640,86651 ----
  #: fortran/resolve.cc:15690
  #, gcc-internal-format
  msgid "Result variable %qs of pure function at %L is polymorphic allocatable"
! msgstr "Die Ergebnisvariable %qs der reinen Funktion bei %L ist polymorph allozierbar"
  
  #: fortran/resolve.cc:15704
! #, gcc-internal-format
  msgid "Result variable %qs of pure function at %L has polymorphic allocatable component %qs"
! msgstr "Ergebnisvariable %qs der reinen Funktion bei %L hat eine polymorphe allozierbare Komponente %qs"
  
  #: fortran/resolve.cc:15763
  #, gcc-internal-format
*************** msgid "Derived type %qs at %L has not be
*** 87909,87918 ****
  msgstr "Abgeleiteter Typ %qs bei %L wurde nicht deklariert"
  
  #: fortran/resolve.cc:17695
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Failed to match clause at %C"
  msgid "Failed to build PDT class component at %L"
! msgstr "Keine passende Klausel gefunden bei %C"
  
  #: fortran/resolve.cc:17756
  #, gcc-internal-format
--- 86968,86976 ----
  msgstr "Abgeleiteter Typ %qs bei %L wurde nicht deklariert"
  
  #: fortran/resolve.cc:17695
! #, gcc-internal-format, gfc-internal-format
  msgid "Failed to build PDT class component at %L"
! msgstr "Fehler beim Erstellen der PDT-Klassenkomponente bei %L"
  
  #: fortran/resolve.cc:17756
  #, gcc-internal-format
*************** msgid "CLASS variable %qs at %L cannot h
*** 87975,87984 ****
  msgstr "COMMON-Block %qs bei %L kann nicht das EXTERNAL-Attribut haben"
  
  #: fortran/resolve.cc:17929
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "TILE requires constant expression at %L"
  msgid "Expecting constant expression near %L"
! msgstr "TILE bei %L erfordert konstanten Ausdruck"
  
  #: fortran/resolve.cc:17980
  #, gcc-internal-format
--- 87033,87041 ----
  msgstr "COMMON-Block %qs bei %L kann nicht das EXTERNAL-Attribut haben"
  
  #: fortran/resolve.cc:17929
! #, gcc-internal-format, gfc-internal-format
  msgid "Expecting constant expression near %L"
! msgstr "Konstanter Ausdruck nahe %L erwartet"
  
  #: fortran/resolve.cc:17980
  #, gcc-internal-format
*************** msgid "Threadprivate at %L isn't SAVEd"
*** 88217,88232 ****
  msgstr "Threadprivate bei %L ist nicht SAVEd"
  
  #: fortran/resolve.cc:18824
! #, fuzzy, gcc-internal-format
! #| msgid "Pointer initialization target at %L must have the SAVE attribute"
  msgid "OpenMP groupprivate variable %qs at %L must have the SAVE attribute"
! msgstr "Ziel der Zeigerinitialisierung bei %L muss das SAVE-Attribut haben"
  
  #: fortran/resolve.cc:18829
! #, fuzzy, gcc-internal-format
! #| msgid "variable %q+D with attribute %qs must not have an initializer"
  msgid "!$OMP GROUPPRIVATE variable %qs at %L must not have an initializer"
! msgstr "die Variable %q+D mit dem Attribut %qs darf keinen Initialisierer haben"
  
  #: fortran/resolve.cc:18845
  #, gcc-internal-format
--- 87274,87287 ----
  msgstr "Threadprivate bei %L ist nicht SAVEd"
  
  #: fortran/resolve.cc:18824
! #, gcc-internal-format
  msgid "OpenMP groupprivate variable %qs at %L must have the SAVE attribute"
! msgstr "Die OpenMP-groupprivate-Variable %qs bei %L muss das SAVE-Attribut haben"
  
  #: fortran/resolve.cc:18829
! #, gcc-internal-format
  msgid "!$OMP GROUPPRIVATE variable %qs at %L must not have an initializer"
! msgstr "Die »!$OMP GROUPPRIVATE«-Variable %qs bei %L darf keinen Initialisierer haben"
  
  #: fortran/resolve.cc:18845
  #, gcc-internal-format
*************** msgid "Argument of %s function at %L is
*** 88607,88616 ****
  msgstr "Argument der Funktion %s bei %L ist zu groß für die zusammenfassende Sequenz der Art %d"
  
  #: fortran/simplify.cc:888
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Argument of ACOS at %L must be between -1 and 1"
  msgid "Argument of ACOS at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ACOS bei %L muss zwischen -1 und 1 liegen"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/simplify.cc:903
--- 87662,87670 ----
  msgstr "Argument der Funktion %s bei %L ist zu groß für die zusammenfassende Sequenz der Art %d"
  
  #: fortran/simplify.cc:888
! #, gcc-internal-format, gfc-internal-format
  msgid "Argument of ACOS at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ACOS bei %L muss im geschlossenen Intervall [-1, 1] liegen"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/simplify.cc:903
*************** msgid "in gfc_simplify_acosh(): Bad type
*** 88630,88639 ****
  msgstr "in gfc_simplify_acosh(): Bad type"
  
  #: fortran/simplify.cc:1166
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Argument of ASIN at %L must be between -1 and 1"
  msgid "Argument of ASIN at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ASIN bei %L muss zwischen -1 und 1 liegen"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/simplify.cc:1181
--- 87684,87692 ----
  msgstr "in gfc_simplify_acosh(): Bad type"
  
  #: fortran/simplify.cc:1166
! #, gcc-internal-format, gfc-internal-format
  msgid "Argument of ASIN at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ASIN bei %L muss im geschlossenen Intervall [-1, 1] liegen"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/simplify.cc:1181
*************** msgid "in gfc_simplify_asin(): Bad type"
*** 88642,88657 ****
  msgstr "in gfc_simplify_asin(): Bad type"
  
  #: fortran/simplify.cc:1219
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Argument of ACOSD at %L must be between -1 and 1"
  msgid "Argument of ACOSD at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ACOSD bei %L muss zwischen -1 und 1 liegen"
  
  #: fortran/simplify.cc:1250
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Argument of ASIND at %L must be between -1 and 1"
  msgid "Argument of ASIND at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ASIND bei %L muss zwischen -1 und 1 liegen"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/simplify.cc:1310
--- 87695,87708 ----
  msgstr "in gfc_simplify_asin(): Bad type"
  
  #: fortran/simplify.cc:1219
! #, gcc-internal-format, gfc-internal-format
  msgid "Argument of ACOSD at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ACOSD bei %L muss im geschlossenen Intervall [-1, 1] liegen"
  
  #: fortran/simplify.cc:1250
! #, gcc-internal-format, gfc-internal-format
  msgid "Argument of ASIND at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ASIND bei %L muss im geschlossenen Intervall [-1, 1] liegen"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/simplify.cc:1310
*************** msgid "in gfc_simplify_atanh(): Bad type
*** 88677,88684 ****
  msgstr "in gfc_simplify_atanh(): Bad type"
  
  #: fortran/simplify.cc:1390
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "If first argument of ATAN2 at %L is zero, then the second argument must not be zero"
  msgid "If the first argument of ATAN2 at %L is zero, then the second argument must not be zero"
  msgstr "Wenn das erste Argument von ATAN2 bei %L 0 ist, dann darf das zweite Argument nicht 0 sein"
  
--- 87728,87734 ----
  msgstr "in gfc_simplify_atanh(): Bad type"
  
  #: fortran/simplify.cc:1390
! #, gcc-internal-format, gfc-internal-format
  msgid "If the first argument of ATAN2 at %L is zero, then the second argument must not be zero"
  msgstr "Wenn das erste Argument von ATAN2 bei %L 0 ist, dann darf das zweite Argument nicht 0 sein"
  
*************** msgid "gfc_simplify_dcmplx(): Bad type (
*** 88700,88709 ****
  msgstr "gfc_simplify_dcmplx(): Bad type (y)"
  
  #: fortran/simplify.cc:1969
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "If first argument of ATAN2D at %L is zero, then the second argument must not be zero"
  msgid "If the first argument of ATAN2D at %L is zero, then the second argument must not be zero"
! msgstr "Wenn das erste Argument von ATAN2 bei %L 0 ist, dann darf das zweite Argument nicht 0 sein"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/simplify.cc:2009
--- 87750,87758 ----
  msgstr "gfc_simplify_dcmplx(): Bad type (y)"
  
  #: fortran/simplify.cc:1969
! #, gcc-internal-format, gfc-internal-format
  msgid "If the first argument of ATAN2D at %L is zero, then the second argument must not be zero"
! msgstr "Wenn das erste Argument von ATAN2D bei %L 0 ist, dann darf das zweite Argument nicht 0 sein"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/simplify.cc:2009
*************** msgid "in gfc_simplify_cos(): Bad type"
*** 88712,88733 ****
  msgstr "in gfc_simplify_cos(): Bad type"
  
  #: fortran/simplify.cc:2169
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Argument of ACOS at %L must be between -1 and 1"
  msgid "Argument of ACOSPI at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ACOS bei %L muss zwischen -1 und 1 liegen"
  
  #: fortran/simplify.cc:2201
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Argument of ASIN at %L must be between -1 and 1"
  msgid "Argument of ASINPI at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ASIN bei %L muss zwischen -1 und 1 liegen"
  
  #: fortran/simplify.cc:2256
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "If first argument of ATAN2 at %L is zero, then the second argument must not be zero"
  msgid "If the first argument of ATAN2PI at %L is zero, then the second argument must not be zero"
! msgstr "Wenn das erste Argument von ATAN2 bei %L 0 ist, dann darf das zweite Argument nicht 0 sein"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/simplify.cc:2745
--- 87761,87779 ----
  msgstr "in gfc_simplify_cos(): Bad type"
  
  #: fortran/simplify.cc:2169
! #, gcc-internal-format, gfc-internal-format
  msgid "Argument of ACOSPI at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ACOSPI bei %L muss im geschlossenen Intervall [-1, 1] liegen"
  
  #: fortran/simplify.cc:2201
! #, gcc-internal-format, gfc-internal-format
  msgid "Argument of ASINPI at %L must be within the closed interval [-1, 1]"
! msgstr "Argument von ACOSPI bei %L muss im geschlossenen Intervall [-1, 1] liegen"
  
  #: fortran/simplify.cc:2256
! #, gcc-internal-format, gfc-internal-format
  msgid "If the first argument of ATAN2PI at %L is zero, then the second argument must not be zero"
! msgstr "Wenn das erste Argument von ATAN2PI bei %L 0 ist, dann darf das zweite Argument nicht 0 sein"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/simplify.cc:2745
*************** msgstr "Benannter COMMON-Block %qs bei %
*** 89426,89438 ****
  #: fortran/trans-common.cc:494
  #, gcc-internal-format
  msgid "Sorry, OMP GROUPPRIVATE not implemented, used by common block %</%s/%> declared at %L"
! msgstr ""
  
  #. Use 'else if' as groupprivate implies 'local'.
  #: fortran/trans-common.cc:498
  #, gcc-internal-format
  msgid "Sorry, OMP DECLARE TARGET with LOCAL clause not implemented, used by common block %</%s/%> declared at %L"
! msgstr ""
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/trans-common.cc:853
--- 88472,88484 ----
  #: fortran/trans-common.cc:494
  #, gcc-internal-format
  msgid "Sorry, OMP GROUPPRIVATE not implemented, used by common block %</%s/%> declared at %L"
! msgstr "Sorry, OMP GROUPPRIVATE ist nicht implementiert, wird durch den gemeinsamen Block %</%s/%> verwendet, der bei %L deklariert ist"
  
  #. Use 'else if' as groupprivate implies 'local'.
  #: fortran/trans-common.cc:498
  #, gcc-internal-format
  msgid "Sorry, OMP DECLARE TARGET with LOCAL clause not implemented, used by common block %</%s/%> declared at %L"
! msgstr "Sorry, OMP DECLARE TARGET mit LOCAL-Klausel ist nicht implementiert, wird durch den gemeinsamen Block %</%s/%> verwendet, der bei %L deklariert ist"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/trans-common.cc:853
*************** msgstr "Das Feld %qs bei %L ist größer
*** 89525,89537 ****
  #: fortran/trans-decl.cc:1591
  #, gcc-internal-format
  msgid "Sorry, OMP GROUPPRIVATE not implemented, used by %qs declared at %L"
! msgstr ""
  
  #. Use 'else if' as groupprivate implies 'local'.
  #: fortran/trans-decl.cc:1595
  #, gcc-internal-format
  msgid "Sorry, OMP DECLARE TARGET with LOCAL clause not implemented, used by %qs declared at %L"
! msgstr ""
  
  #: fortran/trans-decl.cc:1939
  #, gcc-internal-format, gfc-internal-format
--- 88571,88583 ----
  #: fortran/trans-decl.cc:1591
  #, gcc-internal-format
  msgid "Sorry, OMP GROUPPRIVATE not implemented, used by %qs declared at %L"
! msgstr "Sorry, OMP GROUPPRIVATE ist nicht implementiert, wird von %qs verwendet, das bei %L deklariert ist"
  
  #. Use 'else if' as groupprivate implies 'local'.
  #: fortran/trans-decl.cc:1595
  #, gcc-internal-format
  msgid "Sorry, OMP DECLARE TARGET with LOCAL clause not implemented, used by %qs declared at %L"
! msgstr "Sorry, OMP DECLARE TARGET mit LOCAL-Klausel ist nicht implementiert, wird von %qs verwendet, das bei %L deklariert ist"
  
  #: fortran/trans-decl.cc:1939
  #, gcc-internal-format, gfc-internal-format
*************** msgid "variant %qs at %L is not a functi
*** 89806,89815 ****
  msgstr "Die Variante %qs bei %L muss eine Funktion oder Unterroutine sein"
  
  #: fortran/trans-openmp.cc:9799
! #, fuzzy, gcc-internal-format
! #| msgid "variant %qs at %L is not a function or subroutine"
  msgid "variant %qs at %L is the same as base function"
! msgstr "Die Variante %qs bei %L muss eine Funktion oder Unterroutine sein"
  
  #: fortran/trans-openmp.cc:9841
  #, gcc-internal-format
--- 88852,88860 ----
  msgstr "Die Variante %qs bei %L muss eine Funktion oder Unterroutine sein"
  
  #: fortran/trans-openmp.cc:9799
! #, gcc-internal-format
  msgid "variant %qs at %L is the same as base function"
! msgstr "Die Variante %qs bei %L ist dieselbe wie die Basisfunktion"
  
  #: fortran/trans-openmp.cc:9841
  #, gcc-internal-format
*************** msgstr "REAL(KIND=10) ist nicht verfügb
*** 89982,89988 ****
  #: fortran/trans-types.cc:804
  #, gcc-internal-format
  msgid "-fexternal-blas64 requires a 64-bit system"
! msgstr ""
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/trans-types.cc:912
--- 89027,89033 ----
  #: fortran/trans-types.cc:804
  #, gcc-internal-format
  msgid "-fexternal-blas64 requires a 64-bit system"
! msgstr "-fexternal-blas64 erfordert ein 64-Bit-System"
  
  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79596
  #: fortran/trans-types.cc:912
*************** msgid "Cannot open %s"
*** 90144,90153 ****
  msgstr "»%s« kann nicht geöffnet werden"
  
  #: lto/lto-common.cc:2443
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Cannot assign %s to %s at %L"
  msgid "Cannot map %s: section is too long"
! msgstr "Zuordnung von %s zu %s bei %L nicht möglich"
  
  #: lto/lto-common.cc:2453
  #, gcc-internal-format, gfc-internal-format
--- 89189,89197 ----
  msgstr "»%s« kann nicht geöffnet werden"
  
  #: lto/lto-common.cc:2443
! #, gcc-internal-format, gfc-internal-format
  msgid "Cannot map %s: section is too long"
! msgstr "Fehler bei mmap %s: Abschnitt ist zu lang"
  
  #: lto/lto-common.cc:2453
  #, gcc-internal-format, gfc-internal-format
*************** msgid "enumeration values exceed range o
*** 90524,90539 ****
  msgstr "Aufzählungswerte überschreiten Wertebereich von INTEGER"
  
  #: m2/gm2-gcc/m2type.cc:2316
! #, fuzzy, gcc-internal-format
! #| msgid "array type must be initialized"
  msgid "set type must be initialized"
! msgstr "Interner Fehler: array type must be initialized"
  
  #: m2/gm2-gcc/m2type.cc:2405
! #, fuzzy, gcc-internal-format
! #| msgid "array type must be initialized"
  msgid "record type must be initialized"
! msgstr "Interner Fehler: array type must be initialized"
  
  #: m2/gm2-gcc/m2type.cc:2458
  #, gcc-internal-format
--- 89568,89581 ----
  msgstr "Aufzählungswerte überschreiten Wertebereich von INTEGER"
  
  #: m2/gm2-gcc/m2type.cc:2316
! #, gcc-internal-format
  msgid "set type must be initialized"
! msgstr "Interner Fehler: set type must be initialized"
  
  #: m2/gm2-gcc/m2type.cc:2405
! #, gcc-internal-format
  msgid "record type must be initialized"
! msgstr "Interner Fehler: record type must be initialized"
  
  #: m2/gm2-gcc/m2type.cc:2458
  #, gcc-internal-format
*************** msgid "modification of %qE is not a cons
*** 91575,91584 ****
  msgstr "Modifikation von %qE ist kein konstanter Ausdruck"
  
  #: rust/backend/rust-constexpr.cc:4544
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not a constant expression"
  msgid "is not a constant expression"
! msgstr "%qE ist kein Konstantenausdruck"
  
  #: rust/backend/rust-constexpr.cc:6396
  #, gcc-internal-format
--- 90617,90625 ----
  msgstr "Modifikation von %qE ist kein konstanter Ausdruck"
  
  #: rust/backend/rust-constexpr.cc:4544
! #, gcc-internal-format
  msgid "is not a constant expression"
! msgstr "ist kein konstanter Ausdruck"
  
  #: rust/backend/rust-constexpr.cc:6396
  #, gcc-internal-format
diff -Nrcpad gcc-16-20260308/gcc/po/sv.po gcc-16-20260315/gcc/po/sv.po
*** gcc-16-20260308/gcc/po/sv.po	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/po/sv.po	Sun Mar 15 22:32:08 2026
*************** msgstr ""
*** 32,38 ****
  "Project-Id-Version: gcc 16.1-b20260222\n"
  "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
  "POT-Creation-Date: 2026-02-19 21:05+0000\n"
! "PO-Revision-Date: 2026-03-01 12:21+0100\n"
  "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
  "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
  "Language: sv\n"
--- 32,38 ----
  "Project-Id-Version: gcc 16.1-b20260222\n"
  "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
  "POT-Creation-Date: 2026-02-19 21:05+0000\n"
! "PO-Revision-Date: 2026-03-12 22:58+0100\n"
  "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
  "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
  "Language: sv\n"
*************** msgid "The smallest number of different
*** 9955,9964 ****
  msgstr "Det minsta antalet olika värden för vilka det är bäst att använda hopptabeller istället för ett träd med villkorliga grenar- Om 0, använd standardvärdet för maskinen."
  
  #: params.opt:135
! #, fuzzy, no-c-format
! #| msgid "Probability that COMDAT function will be shared with different compilation unit."
  msgid "Probability that COMDAT function is shared with a different compilation unit."
! msgstr "Sannolikheten att COMDAT-funktionen kommer att delas med en annan kompileringsenhet."
  
  #: params.opt:139
  #, no-c-format
--- 9955,9963 ----
  msgstr "Det minsta antalet olika värden för vilka det är bäst att använda hopptabeller istället för ett träd med villkorliga grenar- Om 0, använd standardvärdet för maskinen."
  
  #: params.opt:135
! #, no-c-format
  msgid "Probability that COMDAT function is shared with a different compilation unit."
! msgstr "Sannolikheten att COMDAT-funktionen delas med en annan kompileringsenhet."
  
  #: params.opt:139
  #, no-c-format
*************** msgid "Maximal estimated growth of funct
*** 9981,10000 ****
  msgstr "Maximal uppskattad ökning av funktionskropp orsakad av tidigare inline:ing av enkla anrop."
  
  #: params.opt:155
! #, fuzzy, no-c-format
! #| msgid "Max number of files in the file cache."
  msgid "Maximum number of files in the file cache."
  msgstr "Maximalt antal filer i filcachen."
  
  #: params.opt:159
! #, fuzzy, no-c-format
! #| msgid "Max number of lines to index into file cache. When 0 this is automatically sized."
  msgid "Maximum number of lines to index into file cache. When 0 this is automatically sized."
  msgstr "Max antal rader att indexera till filcachen. När satt till 0 sätts storleken automatiskt."
  
  #: params.opt:163
! #, fuzzy, no-c-format
! #| msgid "Scale factor to apply to the number of statements in a threading path crossing a loop backedge when comparing to max-jump-thread-duplication-stmts."
  msgid "Scale factor to apply to the number of statements in a threading path crossing a loop back edge when comparing to max-jump-thread-duplication-stmts."
  msgstr "Skalfaktor att använda på antalet satser i en trådningsväg som korsar en slingas bakåtbpge vid jämförelse med max-jump-thread-duplication-stmts."
  
--- 9980,9996 ----
  msgstr "Maximal uppskattad ökning av funktionskropp orsakad av tidigare inline:ing av enkla anrop."
  
  #: params.opt:155
! #, no-c-format
  msgid "Maximum number of files in the file cache."
  msgstr "Maximalt antal filer i filcachen."
  
  #: params.opt:159
! #, no-c-format
  msgid "Maximum number of lines to index into file cache. When 0 this is automatically sized."
  msgstr "Max antal rader att indexera till filcachen. När satt till 0 sätts storleken automatiskt."
  
  #: params.opt:163
! #, no-c-format
  msgid "Scale factor to apply to the number of statements in a threading path crossing a loop back edge when comparing to max-jump-thread-duplication-stmts."
  msgstr "Skalfaktor att använda på antalet satser i en trådningsväg som korsar en slingas bakåtbpge vid jämförelse med max-jump-thread-duplication-stmts."
  
*************** msgid "Scaling factor in calculation of
*** 10020,10029 ****
  msgstr "Skalfaktor vid beräkning av maximala distansen ett uttryck kan flyttas genom GCSE-optimeringar."
  
  #: params.opt:186
! #, fuzzy, no-c-format
! #| msgid "Cost at which GCSE optimizations will not constraint the distance an expression can travel."
  msgid "Cost at which GCSE optimizations does not constrain the distance an expression can travel."
! msgstr "Kostnaden vid vilken GCSE-optimeringar inte kommer begränsa avståndet ett uttryck kan flytta."
  
  #: params.opt:190
  #, no-c-format
--- 10016,10024 ----
  msgstr "Skalfaktor vid beräkning av maximala distansen ett uttryck kan flyttas genom GCSE-optimeringar."
  
  #: params.opt:186
! #, no-c-format
  msgid "Cost at which GCSE optimizations does not constrain the distance an expression can travel."
! msgstr "Kostnaden vid vilken GCSE-optimeringar inte begränsar avståndet ett uttryck kan flytta."
  
  #: params.opt:190
  #, no-c-format
*************** msgid "The denominator n of fraction 1/n
*** 10086,10095 ****
  msgstr "Nämnaren n i bråket 1/n av frekvensen av antalet körningar av ingångsblocket till en funktion som ett grundblock för denna funktion åtminstone måste ha för att anses varmt."
  
  #: params.opt:238
! #, fuzzy, no-c-format
! #| msgid "The scale (in percents) applied to inline-insns-single and auto limits when heuristics hints that inlining is very profitable."
  msgid "The scale (as a percentage) applied to inline-insns-single and auto limits when heuristics hints that inlining is very profitable."
! msgstr "Skalan (i procent) tillämpad på inline-insns-single och automatiska gränser när heuristik indikerar att inline:ing är väldigt lönsamt."
  
  #: params.opt:242
  #, no-c-format
--- 10081,10089 ----
  msgstr "Nämnaren n i bråket 1/n av frekvensen av antalet körningar av ingångsblocket till en funktion som ett grundblock för denna funktion åtminstone måste ha för att anses varmt."
  
  #: params.opt:238
! #, no-c-format
  msgid "The scale (as a percentage) applied to inline-insns-single and auto limits when heuristics hints that inlining is very profitable."
! msgstr "Skalan (som en procentsats) tillämpad på inline-insns-single och automatiska gränser när heuristik indikerar att inline:ing är väldigt lönsamt."
  
  #: params.opt:242
  #, no-c-format
*************** msgid "The minimal estimated speedup all
*** 10097,10106 ****
  msgstr "Den minsta uppskattade hastighetsökningen som tillåter inline:aren att ignorera inline-insns-single och inline-insns-auto."
  
  #: params.opt:246
! #, fuzzy, no-c-format
! #| msgid "How much can given compilation unit grow because of the inlining (in percent)."
  msgid "How much can given compilation unit grow because of the inlining (as a percentage)."
! msgstr "Hur mycket kan en given kompileringsenhet växa på grund av inline:ingen (i procent)."
  
  #: params.opt:250
  #, no-c-format
--- 10091,10099 ----
  msgstr "Den minsta uppskattade hastighetsökningen som tillåter inline:aren att ignorera inline-insns-single och inline-insns-auto."
  
  #: params.opt:246
! #, no-c-format
  msgid "How much can given compilation unit grow because of the inlining (as a percentage)."
! msgstr "Hur mycket kan en given kompileringsenhet växa på grund av inline:ingen (som en procentsats)."
  
  #: params.opt:250
  #, no-c-format
*************** msgid "When propagating IPA-CP effect es
*** 10133,10148 ****
  msgstr "Vid propagering av IPA-CP-effektuppskattningar, multiplicera frekvenser för rekursiva bågar som för tillbaka ett oförändrat värde med denna faktor."
  
  #: params.opt:274
! #, fuzzy, no-c-format
! #| msgid "Percentage penalty the recursive functions will receive when they are evaluated for cloning."
  msgid "Percentage penalty recursive functions receive when they are evaluated for cloning."
! msgstr "Procentuellt straff de rekursiva funktionerna kommer få när de utvärderas för kloning."
  
  #: params.opt:278
! #, fuzzy, no-c-format
! #| msgid "Percentage penalty functions containing a single call to another function will receive when they are evaluated for cloning."
  msgid "Percentage penalty functions containing a single call to another function receive when they are evaluated for cloning."
! msgstr "Procentuellt straff funktioner som innehåller ett ensamt anrop av en annan funktion kommer få när de utvärderas för kloning."
  
  #: params.opt:282
  #, no-c-format
--- 10126,10139 ----
  msgstr "Vid propagering av IPA-CP-effektuppskattningar, multiplicera frekvenser för rekursiva bågar som för tillbaka ett oförändrat värde med denna faktor."
  
  #: params.opt:274
! #, no-c-format
  msgid "Percentage penalty recursive functions receive when they are evaluated for cloning."
! msgstr "Procentuellt straff rekursiva funktionerna får när de utvärderas för kloning."
  
  #: params.opt:278
! #, no-c-format
  msgid "Percentage penalty functions containing a single call to another function receive when they are evaluated for cloning."
! msgstr "Procentuellt straff funktioner som innehåller ett ensamt anrop av en annan funktion får när de utvärderas för kloning."
  
  #: params.opt:282
  #, no-c-format
*************** msgid "The number of times the interproc
*** 10150,10159 ****
  msgstr ""
  
  #: params.opt:286
! #, fuzzy, no-c-format
! #| msgid "How much can given compilation unit grow because of the interprocedural constant propagation (in percent)."
  msgid "How much can given compilation unit grow because of the interprocedural constant propagation (as a percentage)."
! msgstr "hur mycket kan en given kompileringsenhet växa på grund av interprocedurell konstantpropagering (i procent)."
  
  #: params.opt:290
  #, no-c-format
--- 10141,10149 ----
  msgstr ""
  
  #: params.opt:286
! #, no-c-format
  msgid "How much can given compilation unit grow because of the interprocedural constant propagation (as a percentage)."
! msgstr "hur mycket kan en given kompileringsenhet växa på grund av interprocedurell konstantpropagering (som en procentsats)."
  
  #: params.opt:290
  #, no-c-format
*************** msgid "Maximum number of statements visi
*** 10171,10180 ****
  msgstr "Maximalt antal besökta satser under upptäckt av avstånd för hoppfunktioner."
  
  #: params.opt:302
! #, fuzzy, 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."
  msgid "Maximum number of statements that are visited by IPA formal parameter analysis based on alias analysis in any given function."
! msgstr "Maximalt antal satser som kommer besökas av IPA-formatparameteranalysen baserat på aliasanalys i varje given funktion."
  
  #: params.opt:306
  #, no-c-format
--- 10161,10169 ----
  msgstr "Maximalt antal besökta satser under upptäckt av avstånd för hoppfunktioner."
  
  #: params.opt:302
! #, no-c-format
  msgid "Maximum number of statements that are visited by IPA formal parameter analysis based on alias analysis in any given function."
! msgstr "Maximalt antal satser som besöks av IPA-formatparameteranalysen baserat på aliasanalys i varje given funktion."
  
  #: params.opt:306
  #, no-c-format
*************** msgid "Maximal number of boundary endpoi
*** 10197,10206 ****
  msgstr "Maximala antalet gränsändpunkter för case-intervall i switch-satser som används under IPA-funktionssammanfattningsgenerering."
  
  #: params.opt:322
! #, fuzzy, 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."
  msgid "Minimum probability (as a percentage) of dereferencing of a function pointer parameter for it to be considered for replacement with simple values."
! msgstr "Minsta sannolikhet (i procent) för dereferens av en funktionspekarparameter för att den skall övervägas för ersättning med enkla värden."
  
  #: params.opt:326
  #, no-c-format
--- 10186,10194 ----
  msgstr "Maximala antalet gränsändpunkter för case-intervall i switch-satser som används under IPA-funktionssammanfattningsgenerering."
  
  #: params.opt:322
! #, no-c-format
  msgid "Minimum probability (as a percentage) of dereferencing of a function pointer parameter for it to be considered for replacement with simple values."
! msgstr "Minsta sannolikhet (som en procentsats) för dereferens av en funktionspekarparameter för att den skall övervägas för ersättning med enkla värden."
  
  #: params.opt:326
  #, no-c-format
*************** msgid "The number of registers in each c
*** 10223,10230 ****
  msgstr "Antalet register i varje klass som behålls oanvänt vid flyttning av slinginvariant."
  
  #: params.opt:342
! #, fuzzy, no-c-format
! #| msgid "Max size of conflict table in MB."
  msgid "Maximum size of conflict table in MB."
  msgstr "Maximal storlek på konflikttabell i MB."
  
--- 10211,10217 ----
  msgstr "Antalet register i varje klass som behålls oanvänt vid flyttning av slinginvariant."
  
  #: params.opt:342
! #, no-c-format
  msgid "Maximum size of conflict table in MB."
  msgstr "Maximal storlek på konflikttabell i MB."
  
*************** msgid "Approximate function insn number
*** 10234,10279 ****
  msgstr "Approximativ funktionsinstruktionsantal i 1k-enheter för att utlösa enkla lokala RA."
  
  #: params.opt:350
! #, fuzzy, no-c-format
! #| msgid "Max loops number for regional RA."
  msgid "Maximum number of loops for regional RA."
  msgstr "Maximalt slingantal för regional RA."
  
  #: params.opt:354
! #, fuzzy, no-c-format
! #| msgid "Control ira to consider matching constraint (duplicated operand number) heavily in all available alternatives for preferred register class.  If it is set as zero, it means ira only respects the matching constraint when it's in the only available alternative with an appropriate register class.  Otherwise, it means ira will check all available alternatives for preferred register class even if it has found some choice with an appropriate register class and respect the found qualified matching constraint."
  msgid "Control IRA to consider matching constraint (duplicated operand number) heavily in all available alternatives for preferred register class.  If it is set as zero, it means IRA only respects the matching constraint when it's in the only available alternative with an appropriate register class.  Otherwise, it means IRA checks all available alternatives for preferred register class even if it has found some choice with an appropriate register class and respect the found qualified matching constraint."
! msgstr "Styr ira till att beakta en matchande begränsning (duplicerat operandnummer) tungt i alla tillgängliga alternativ för föredragen registerklass. Om det är satt till noll betyder att ira endast tar hänsyn till den matchande begränsningen när det är i det enda tillgängliga alternativet med en passande registerklass. Annars betyder det att ira kommer kontrollera alla tillgängliga alternativ om de har föredragen registerklass även om det har hittat något val med en lämplig registerklass som respekterar den funna kvalificerade matchningsbegränsningen."
  
  #: params.opt:358
! #, fuzzy, no-c-format
! #| msgid "If number of candidates in the set is smaller, we always try to remove unused ivs during its optimization."
  msgid "If number of candidates in the set is smaller, we always try to remove unused induction variables during its optimization."
! msgstr "Om antalet kandidater i mängden är mindre, försöker vi alltid ta bort oanvända iv under deras optimering."
  
  #: params.opt:362
! #, fuzzy, no-c-format
! #| msgid "Bound on number of candidates below that all candidates are considered in iv optimizations."
  msgid "Bound on number of candidates below that all candidates are considered in induction variable optimizations."
! msgstr "Gräns för antalet kandidater under vilken alla kandidater övervägs i iv-optimeringar."
  
  #: params.opt:366
! #, fuzzy, no-c-format
! #| msgid "Bound on number of iv uses in loop optimized in iv optimizations."
  msgid "Bound on number of induction variable uses in loop optimized in IV optimizations."
! msgstr "Gräns för antal iv-användningar i en slinga optimerad i iv-optimeringar."
  
  #: params.opt:370
! #, fuzzy, 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."
  msgid "The maximum code size growth ratio when expanding into a jump table (as a percentage).  The parameter is used when optimizing for size."
! msgstr "Det maximala förhållandet för tillväxt av kod vid expansion till en hopptabell (i procent).  Parametern används vid optimering för storlek."
  
  #: params.opt:374
! #, fuzzy, 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."
  msgid "The maximum code size growth ratio when expanding into a jump table (as a percentage).  The parameter is used when optimizing for speed."
! msgstr "Det maximala förhållandet för tillväxt av kod vid expansion till en hopptabell (i procent).  Parametern används vid optimering för fart."
  
  #: params.opt:378
  #, no-c-format
--- 10221,10259 ----
  msgstr "Approximativ funktionsinstruktionsantal i 1k-enheter för att utlösa enkla lokala RA."
  
  #: params.opt:350
! #, no-c-format
  msgid "Maximum number of loops for regional RA."
  msgstr "Maximalt slingantal för regional RA."
  
  #: params.opt:354
! #, no-c-format
  msgid "Control IRA to consider matching constraint (duplicated operand number) heavily in all available alternatives for preferred register class.  If it is set as zero, it means IRA only respects the matching constraint when it's in the only available alternative with an appropriate register class.  Otherwise, it means IRA checks all available alternatives for preferred register class even if it has found some choice with an appropriate register class and respect the found qualified matching constraint."
! msgstr "Styr IRA till att beakta en matchande begränsning (duplicerat operandnummer) tungt i alla tillgängliga alternativ för föredragen registerklass. Om det är satt till noll betyder att IRA endast tar hänsyn till den matchande begränsningen när det är i det enda tillgängliga alternativet med en passande registerklass. Annars betyder det att IRA kontrollerar alla tillgängliga alternativ om de har föredragen registerklass även om det har hittat något val med en lämplig registerklass som respekterar den funna kvalificerade matchningsbegränsningen."
  
  #: params.opt:358
! #, no-c-format
  msgid "If number of candidates in the set is smaller, we always try to remove unused induction variables during its optimization."
! msgstr "Om antalet kandidater i mängden är mindre, försöker vi alltid ta bort oanvända induktionsvariabler under deras optimering."
  
  #: params.opt:362
! #, no-c-format
  msgid "Bound on number of candidates below that all candidates are considered in induction variable optimizations."
! msgstr "Gräns för antalet kandidater under vilken alla kandidater övervägs i induktionsvariabeloptimeringar."
  
  #: params.opt:366
! #, no-c-format
  msgid "Bound on number of induction variable uses in loop optimized in IV optimizations."
! msgstr "Gräns för antal induktionsvariabelanvändningar i en slinga optimerad i induktionsvariabeloptimeringar."
  
  #: params.opt:370
! #, no-c-format
  msgid "The maximum code size growth ratio when expanding into a jump table (as a percentage).  The parameter is used when optimizing for size."
! msgstr "Det maximala förhållandet för tillväxt av kod vid expansion till en hopptabell (som en procentsats).  Parametern används vid optimering för storlek."
  
  #: params.opt:374
! #, no-c-format
  msgid "The maximum code size growth ratio when expanding into a jump table (as a percentage).  The parameter is used when optimizing for speed."
! msgstr "Det maximala förhållandet för tillväxt av kod vid expansion till en hopptabell (som en procentsats).  Parametern används vid optimering för fart."
  
  #: params.opt:378
  #, no-c-format
*************** msgid "The size of L2 cache."
*** 10301,10310 ****
  msgstr "Storleken på L2-cachen."
  
  #: params.opt:406
! #, fuzzy, no-c-format
! #| msgid "Maximal growth due to inlining of large function (in percent)."
  msgid "Maximal growth due to inlining of large function (as a percentage)."
! msgstr "Maximal på grund av inline:ing av stora funktioner (i procent)."
  
  #: params.opt:410
  #, no-c-format
--- 10281,10289 ----
  msgstr "Storleken på L2-cachen."
  
  #: params.opt:406
! #, no-c-format
  msgid "Maximal growth due to inlining of large function (as a percentage)."
! msgstr "Maximal på grund av inline:ing av stora funktioner (som en procentsats)."
  
  #: params.opt:410
  #, no-c-format
*************** msgid "The size of stack frame to be con
*** 10317,10326 ****
  msgstr "Storleken på en stackram för att betraktas som stor."
  
  #: params.opt:418
! #, fuzzy, no-c-format
! #| msgid "Maximal stack frame growth due to inlining (in percent)."
  msgid "Maximal stack frame growth due to inlining (as a percentage)."
! msgstr "Maximal storleksökning på stackram på grund av inline:ing (i procent)."
  
  #: params.opt:422
  #, no-c-format
--- 10296,10304 ----
  msgstr "Storleken på en stackram för att betraktas som stor."
  
  #: params.opt:418
! #, no-c-format
  msgid "Maximal stack frame growth due to inlining (as a percentage)."
! msgstr "Maximal storleksökning på stackram på grund av inline:ing (som en procentsats)."
  
  #: params.opt:422
  #, no-c-format
*************** msgid "The maximum number of instruction
*** 10378,10387 ****
  msgstr "Det maximala antalet instruktioner i en yttre slinga som beaktas för versionering, ovanpå instruktionerna i inre slingor."
  
  #: params.opt:466
! #, fuzzy, no-c-format
! #| msgid "Minimal fall-through edge probability in percentage used to add BB to inheritance EBB in LRA."
  msgid "Minimal fall-through edge probability as a percentage, used to add BB to inheritance EBB in LRA."
! msgstr "Minimal sannolikhet för bågar att falla igenom i procent som används för att lägga till GB till arvs-EBB i LRA."
  
  #: params.opt:470
  #, no-c-format
--- 10356,10364 ----
  msgstr "Det maximala antalet instruktioner i en yttre slinga som beaktas för versionering, ovanpå instruktionerna i inre slingor."
  
  #: params.opt:466
! #, no-c-format
  msgid "Minimal fall-through edge probability as a percentage, used to add BB to inheritance EBB in LRA."
! msgstr "Minimal sannolikhet för bågar att falla igenom som en procentsats som används för att lägga till GB till arvs-EBB i LRA."
  
  #: params.opt:470
  #, no-c-format
*************** msgid "Maximal size of a partition for L
*** 10399,10408 ****
  msgstr "Maximal storlek på en partition för LTO (i uppskattade instruktioner)."
  
  #: params.opt:486
! #, fuzzy, no-c-format
! #| msgid "maximal number of LTO partitions streamed in parallel."
  msgid "Maximal number of LTO partitions streamed in parallel."
! msgstr "maximalt antal LTO-partitioner som strömmas parallellt."
  
  #: params.opt:490
  #, no-c-format
--- 10376,10384 ----
  msgstr "Maximal storlek på en partition för LTO (i uppskattade instruktioner)."
  
  #: params.opt:486
! #, no-c-format
  msgid "Maximal number of LTO partitions streamed in parallel."
! msgstr "Maximalt antal LTO-partitioner som strömmas parallellt."
  
  #: params.opt:490
  #, no-c-format
*************** msgstr "Storleksgränsvärde för att de
*** 10427,10433 ****
  #: params.opt:521
  #, no-c-format
  msgid "Maximal size of a locality partition for LTO (in estimated instructions). Value of 0 results in default value being used."
! msgstr "Maximal storlek på en lokalitetspartition för  LTO (i uppskattade instruktioner). Ett värde på 0 resulterar i att standardvärdet används."
  
  #: params.opt:531
  #, no-c-format
--- 10403,10409 ----
  #: params.opt:521
  #, no-c-format
  msgid "Maximal size of a locality partition for LTO (in estimated instructions). Value of 0 results in default value being used."
! msgstr "Maximal storlek på en lokalitetspartition för LTO (i uppskattade instruktioner). Ett värde på 0 resulterar i att standardvärdet används."
  
  #: params.opt:531
  #, no-c-format
*************** msgid "The maximum memory locations reco
*** 10485,10492 ****
  msgstr "Det maximala antalet minnesplatser noterade av cselib."
  
  #: params.opt:575
! #, fuzzy, no-c-format
! #| msgid "Max. count of debug markers to expand or inline."
  msgid "Maximum count of debug markers to expand or inline."
  msgstr "Maximalt antal felsökningsmarkörer att expandera eller inline:a."
  
--- 10461,10467 ----
  msgstr "Det maximala antalet minnesplatser noterade av cselib."
  
  #: params.opt:575
! #, no-c-format
  msgid "Maximum count of debug markers to expand or inline."
  msgstr "Maximalt antal felsökningsmarkörer att expandera eller inline:a."
  
*************** msgid "Maximum number of active local st
*** 10506,10515 ****
  msgstr "Maximalt antal aktiva lokala lagringar i RTL vid eliminering av döda lagringar."
  
  #: params.opt:591
! #, fuzzy, no-c-format
! #| msgid "Max number of bytes to move inline."
  msgid "Maximum number of targets to devirutalize."
! msgstr "Maximalt antal byte att flytta inline."
  
  #: params.opt:595
  #, no-c-format
--- 10481,10489 ----
  msgstr "Maximalt antal aktiva lokala lagringar i RTL vid eliminering av döda lagringar."
  
  #: params.opt:591
! #, no-c-format
  msgid "Maximum number of targets to devirutalize."
! msgstr "Maximalt antal mål att devirtualisera."
  
  #: params.opt:595
  #, no-c-format
*************** msgid "Maximum amount of iterations of t
*** 10768,10777 ****
  msgstr "Maximalt antal iterationer för passet över en funktion."
  
  #: params.opt:811
! #, fuzzy, no-c-format
! #| msgid "Maximum number of strings for which strlen optimization pass will track string lengths."
  msgid "Maximum number of strings for which strlen optimization pass tracks string lengths."
! msgstr "Maximalt antal strängar för vilket strlen-optimeringspasset kommer följa stränglängder."
  
  #: params.opt:815
  #, no-c-format
--- 10742,10750 ----
  msgstr "Maximalt antal iterationer för passet över en funktion."
  
  #: params.opt:811
! #, no-c-format
  msgid "Maximum number of strings for which strlen optimization pass tracks string lengths."
! msgstr "Maximalt antal strängar för vilket strlen-optimeringspasset följer stränglängder."
  
  #: params.opt:815
  #, no-c-format
*************** msgid "The maximum depth of a loop nest
*** 10799,10826 ****
  msgstr "Det maximala djupet av nästade slingor för att bli oväxlad."
  
  #: params.opt:835
! #, fuzzy, 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."
  msgid "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable is expanded during loop unrolling."
! msgstr "Om -fvariable-expansion-in-unroller är på, det maximala antalet gånger som en enskild variabel kommer expanderas under slingutrullning."
  
  #: params.opt:839
! #, fuzzy, no-c-format
! #| msgid "Max. recursion depth for expanding var tracking expressions."
  msgid "Maximum recursion depth for expanding var tracking expressions."
  msgstr "Maximalt rekursionsdjup för att expandera variabelspårningsuttryck."
  
  #: params.opt:843
! #, fuzzy, no-c-format
! #| msgid "Max. size of loc list for which reverse ops should be added."
  msgid "Maximum size of loc list for which reverse ops should be added."
  msgstr "Maximal storlek på loc-listan för vilken omvända operationer skall läggas till."
  
  #: params.opt:847
! #, fuzzy, no-c-format
! #| msgid "Max. size of var tracking hash tables."
  msgid "Maximum size of var tracking hash tables."
! msgstr "Max storlek på hashtabell för variabelspårning."
  
  #: params.opt:851
  #, no-c-format
--- 10772,10795 ----
  msgstr "Det maximala djupet av nästade slingor för att bli oväxlad."
  
  #: params.opt:835
! #, no-c-format
  msgid "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable is expanded during loop unrolling."
! msgstr "Om -fvariable-expansion-in-unroller är på, det maximala antalet gånger som en enskild variabel expanderas under slingutrullning."
  
  #: params.opt:839
! #, no-c-format
  msgid "Maximum recursion depth for expanding var tracking expressions."
  msgstr "Maximalt rekursionsdjup för att expandera variabelspårningsuttryck."
  
  #: params.opt:843
! #, no-c-format
  msgid "Maximum size of loc list for which reverse ops should be added."
  msgstr "Maximal storlek på loc-listan för vilken omvända operationer skall läggas till."
  
  #: params.opt:847
! #, no-c-format
  msgid "Maximum size of var tracking hash tables."
! msgstr "Maximal storlek på hashtabell för variabelspårning."
  
  #: params.opt:851
  #, no-c-format
*************** msgid "Inline recursively only when the
*** 10838,10845 ****
  msgstr "Inline:a rekursivt endast när sannolikheten för att ett anrop skall göras överskrider parametern."
  
  #: params.opt:863
! #, fuzzy, no-c-format
! #| msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count."
  msgid "Minimum ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count."
  msgstr "Minsta förhållande av instruktioner till minnesoperationer för att aktivera förhandshämtning (prefetching) för en slinga med okänt antal turer."
  
--- 10807,10813 ----
  msgstr "Inline:a rekursivt endast när sannolikheten för att ett anrop skall göras överskrider parametern."
  
  #: params.opt:863
! #, no-c-format
  msgid "Minimum ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count."
  msgstr "Minsta förhållande av instruktioner till minnesoperationer för att aktivera förhandshämtning (prefetching) för en slinga med okänt antal turer."
  
*************** msgid "--param=parloops-schedule=[static
*** 10894,10903 ****
  msgstr "--param=parloops-schedule=[static|dynamic|guided|auto|runtime]\tSchemaläggningstyp för omp-scheman för slingor som parallelliseras av parloops."
  
  #: params.opt:943
! #, fuzzy, 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."
  msgid "Maximum probability of the entry BB of split region (as a percentage relative to entry BB of the function) to make partial inlining happen."
! msgstr "Maximala sannolikheten för ingång i GB av delad region (i procent i förhållande till ingång i GB av funktionen) för att partiell inlining skall ske."
  
  #: params.opt:947
  #, no-c-format
--- 10862,10870 ----
  msgstr "--param=parloops-schedule=[static|dynamic|guided|auto|runtime]\tSchemaläggningstyp för omp-scheman för slingor som parallelliseras av parloops."
  
  #: params.opt:943
! #, no-c-format
  msgid "Maximum probability of the entry BB of split region (as a percentage relative to entry BB of the function) to make partial inlining happen."
! msgstr "Maximala sannolikheten för ingång i GB av delad region (som en procentsats i förhållande till ingång i GB av funktionen) för att partiell inlining skall ske."
  
  #: params.opt:947
  #, no-c-format
*************** msgid "The number of insns executed befo
*** 10920,10927 ****
  msgstr "Antalet instruktioner som körs före förhandshämtning (prefetch) är klar."
  
  #: params.opt:963
! #, fuzzy, no-c-format
! #| msgid "Min. ratio of insns to mem ops to enable prefetching in a loop."
  msgid "Minimum ratio of insns to mem ops to enable prefetching in a loop."
  msgstr "Minsta förhållande av instruktioner till minnesoperationer för att aktivera förhandshämtning (prefetching) i en slinga."
  
--- 10887,10893 ----
  msgstr "Antalet instruktioner som körs före förhandshämtning (prefetch) är klar."
  
  #: params.opt:963
! #, no-c-format
  msgid "Minimum ratio of insns to mem ops to enable prefetching in a loop."
  msgstr "Minsta förhållande av instruktioner till minnesoperationer för att aktivera förhandshämtning (prefetching) i en slinga."
  
*************** msgid "--param=ranger-debug=[none|trace|
*** 10941,10950 ****
  msgstr "--param=ranger-debug=[none|trace|gori|cache|tracegori|all] Anger utmatningsläget för felsökningsintervallare."
  
  #: params.opt:1000
! #, fuzzy, no-c-format
! #| msgid "Maximum depth of logical expression evaluation ranger will look through when evaluating outgoing edge ranges."
  msgid "Maximum depth of logical expression evaluation ranger looks through when evaluating outgoing edge ranges."
! msgstr "Maximalt djup på beräkningsintervallare av logiska uttryck kommer att titta igenom vid beräkning av utgående bågintervall."
  
  #: params.opt:1005
  #, no-c-format
--- 10907,10915 ----
  msgstr "--param=ranger-debug=[none|trace|gori|cache|tracegori|all] Anger utmatningsläget för felsökningsintervallare."
  
  #: params.opt:1000
! #, no-c-format
  msgid "Maximum depth of logical expression evaluation ranger looks through when evaluating outgoing edge ranges."
! msgstr "Maximalt djup på beräkningsintervallare av logiska uttryck tittar igenom vid beräkning av utgående bågintervall."
  
  #: params.opt:1005
  #, no-c-format
*************** msgid "Maximum depth of instruction chai
*** 10952,10961 ****
  msgstr "Maximalt djup för instruktionskedjor att överväga för omberäkning i beräknaren av utgående intervall."
  
  #: params.opt:1010
! #, fuzzy, no-c-format
! #| msgid "Maximum number of relations the oracle will register in a basic block."
  msgid "Maximum number of relations the oracle registers in a basic block."
! msgstr "Maximalt antal relationer oraklet kommer registrera i ett grundblock."
  
  #: params.opt:1014
  #, no-c-format
--- 10917,10925 ----
  msgstr "Maximalt djup för instruktionskedjor att överväga för omberäkning i beräknaren av utgående intervall."
  
  #: params.opt:1010
! #, no-c-format
  msgid "Maximum number of relations the oracle registers in a basic block."
! msgstr "Maximalt antal relationer oraklet registrerar i ett grundblock."
  
  #: params.opt:1014
  #, no-c-format
*************** msgid "Which -fsched-pressure algorithm
*** 10998,11007 ****
  msgstr "Vilken -fsched-pressure-algoritm som skall användas."
  
  #: params.opt:1046
! #, fuzzy, no-c-format
! #| msgid "The minimal probability of speculation success (in percents), so that speculative insn will be scheduled."
  msgid "The minimal probability of speculation success (as a percentage), so that speculative insns are scheduled."
! msgstr "Den minsta sannolikheten för spekulativ framgång (i procent) för att spekulativ instruktion skall schemaläggas."
  
  #: params.opt:1050
  #, no-c-format
--- 10962,10970 ----
  msgstr "Vilken -fsched-pressure-algoritm som skall användas."
  
  #: params.opt:1046
! #, no-c-format
  msgid "The minimal probability of speculation success (as a percentage), so that speculative insns are scheduled."
! msgstr "Den minsta sannolikheten för spekulativ framgång (som en procentsats), så att spekulativa instruktioner schemaläggs."
  
  #: params.opt:1050
  #, no-c-format
*************** msgid "A factor for tuning the upper bou
*** 11049,11058 ****
  msgstr "En faktor för att trimma den övre gränsen som pendlingsmoduloschemaläggaren använder för att schemalägga en slinga."
  
  #: params.opt:1086
! #, fuzzy, no-c-format
! #| msgid "The minimum value of stage count that swing modulo scheduler will generate."
  msgid "The minimum value of stage count that swing modulo scheduler generates."
! msgstr "Minimivärdet på steglängden som pendlingsschemaläggaren kommer generera."
  
  #: params.opt:1090
  #, no-c-format
--- 11012,11020 ----
  msgstr "En faktor för att trimma den övre gränsen som pendlingsmoduloschemaläggaren använder för att schemalägga en slinga."
  
  #: params.opt:1086
! #, no-c-format
  msgid "The minimum value of stage count that swing modulo scheduler generates."
! msgstr "Minimivärdet på steglängden som pendlingsschemaläggaren genererar."
  
  #: params.opt:1090
  #, no-c-format
*************** msgid "Maximum size, in storage units, o
*** 11065,11074 ****
  msgstr "Maximal storlek, i lagringsenheter, av ett aggregat som skall övervägas för skalärisering vid kompilering för hastighet."
  
  #: params.opt:1098
! #, fuzzy, no-c-format
! #| msgid "Maximum number of artificial accesses to enable forward propagation that Scalar Replacement of Aggregates will keep for one local variable."
  msgid "Maximum number of artificial accesses to enable forward propagation that Scalar Replacement of Aggregates keeps for one local variable."
! msgstr "Maximalt antal artificiella åtkomster för att aktivera framåtpropagering som Skalär ersättning av aggregat kommer behålla för en lokal variabel."
  
  #: params.opt:1102
  #, no-c-format
--- 11027,11035 ----
  msgstr "Maximal storlek, i lagringsenheter, av ett aggregat som skall övervägas för skalärisering vid kompilering för hastighet."
  
  #: params.opt:1098
! #, no-c-format
  msgid "Maximum number of artificial accesses to enable forward propagation that Scalar Replacement of Aggregates keeps for one local variable."
! msgstr "Maximalt antal artificiella åtkomster för att aktivera framåtpropagering som Skalär ersättning av aggregat behåller för en lokal variabel."
  
  #: params.opt:1102
  #, no-c-format
*************** msgid "The percentage of function, weigh
*** 11166,11197 ****
  msgstr "Andelen av funktion i procent, viktad efter exekveringsfrekvens, som måste täckas av spårinformation.  Används när profileringsdata är tillgängligt."
  
  #: params.opt:1187
! #, fuzzy, no-c-format
! #| msgid "Maximal code growth caused by tail duplication (in percent)."
  msgid "Maximal code growth caused by tail duplication (as a percentage)."
! msgstr "Maximal kodtillväxt orsakad av svansduplicering (i procent)."
  
  #: params.opt:1191
! #, fuzzy, 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."
  msgid "Stop forward growth if the probability of best edge is less than this threshold (as a percentage). Used when profile feedback is not available."
! msgstr "Stoppa framåttillväxt om sannolikheten av bästa båge är mindre än detta tröskelvärde (i procent).  Används när profileringsdata inte är tillgänglig."
  
  #: params.opt:1195
! #, fuzzy, 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."
  msgid "Stop forward growth if the probability of best edge is less than this threshold (as a percentage). Used when profile feedback is available."
! msgstr "Stoppa framåttillväxt om sannolikheten av bästa båge är mindre än detta tröskelvärde (i procent).  Används när profileringsdata är tillgänglig."
  
  #: params.opt:1199
! #, fuzzy, no-c-format
! #| msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percent)."
  msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (as a percentage)."
! msgstr "Stoppa omvänd tillväxt om den omvända sannolikheten av bästa båge är mindre än detta tröskelvärde (i procent)."
  
  #: params.opt:1203
! #, fuzzy, no-c-format
! #| msgid "Set the maximum number of instructions executed in parallel in reassociated tree.  If 0, use the target dependent heuristic."
  msgid "Set the maximum number of instructions executed in parallel in reassociated tree.  If 0, use the target-dependent heuristic."
  msgstr "Sätt maximala antalet instruktioner som exekveras parallellt i ett reassociativt träd.  Om 0, använd den målberoende heuristiken."
  
--- 11127,11153 ----
  msgstr "Andelen av funktion i procent, viktad efter exekveringsfrekvens, som måste täckas av spårinformation.  Används när profileringsdata är tillgängligt."
  
  #: params.opt:1187
! #, no-c-format
  msgid "Maximal code growth caused by tail duplication (as a percentage)."
! msgstr "Maximal kodtillväxt orsakad av svansduplicering (som en procentsats)."
  
  #: params.opt:1191
! #, no-c-format
  msgid "Stop forward growth if the probability of best edge is less than this threshold (as a percentage). Used when profile feedback is not available."
! msgstr "Stoppa framåttillväxt om sannolikheten av bästa båge är mindre än detta tröskelvärde (som en procentsats).  Används när profileringsdata inte är tillgänglig."
  
  #: params.opt:1195
! #, no-c-format
  msgid "Stop forward growth if the probability of best edge is less than this threshold (as a percentage). Used when profile feedback is available."
! msgstr "Stoppa framåttillväxt om sannolikheten av bästa båge är mindre än detta tröskelvärde (som en procentsats).  Används när profileringsdata är tillgänglig."
  
  #: params.opt:1199
! #, no-c-format
  msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (as a percentage)."
! msgstr "Stoppa omvänd tillväxt om den omvända sannolikheten av bästa båge är mindre än detta tröskelvärde (som en procentsats)."
  
  #: params.opt:1203
! #, no-c-format
  msgid "Set the maximum number of instructions executed in parallel in reassociated tree.  If 0, use the target-dependent heuristic."
  msgstr "Sätt maximala antalet instruktioner som exekveras parallellt i ett reassociativt träd.  Om 0, använd den målberoende heuristiken."
  
*************** msgid "Maximum number of basic blocks be
*** 11331,11340 ****
  msgstr "Maximalt antal grundblock innan VRP använder en gles bitkartecache."
  
  #: params.opt:1316
! #, fuzzy, no-c-format
! #| msgid "Maximum number of outgoing edges in a switch before VRP will not process it."
  msgid "Maximum number of outgoing edges in a switch before VRP does not process it."
! msgstr "Maximalt antal utgående bågar i en switch innan VRP inte kommer bearbeta den."
  
  #: params.opt:1320
  #, no-c-format
--- 11287,11295 ----
  msgstr "Maximalt antal grundblock innan VRP använder en gles bitkartecache."
  
  #: params.opt:1316
! #, no-c-format
  msgid "Maximum number of outgoing edges in a switch before VRP does not process it."
! msgstr "Maximalt antal utgående bågar i en switch innan VRP inte bearbetar den."
  
  #: params.opt:1320
  #, no-c-format
*************** msgid "Warn about code paths in which an
*** 11592,11601 ****
  msgstr "Varna för kodvägar i vilka ett osanerat värde används som en storlek."
  
  #: analyzer/analyzer.opt:227
! #, fuzzy, no-c-format
! #| msgid "Warn about code paths in which a non-heap pointer is freed."
  msgid "Warn about code paths in which an exception of unexpected type is thrown."
! msgstr "Varna för kodvägar i vilka en pekare till annat än heap:en frigörs."
  
  #: analyzer/analyzer.opt:231
  #, no-c-format
--- 11547,11555 ----
  msgstr "Varna för kodvägar i vilka ett osanerat värde används som en storlek."
  
  #: analyzer/analyzer.opt:227
! #, no-c-format
  msgid "Warn about code paths in which an exception of unexpected type is thrown."
! msgstr "Varna för kodvägar i vilka ett undantag av oväntad typ kastas."
  
  #: analyzer/analyzer.opt:231
  #, no-c-format
*************** msgid "Warn if the code is too complicat
*** 11663,11672 ****
  msgstr "Varna om koden är för komplicerad för att analyseraren skall kunna utforska den fullständigt."
  
  #: analyzer/analyzer.opt:283
! #, fuzzy, no-c-format
! #| msgid "Delete dead instructions that may throw exceptions."
  msgid "Assume that no function calls can throw exceptions."
! msgstr "Ta bort döda instruktioner som kan kasta undantag."
  
  #: analyzer/analyzer.opt:287
  #, no-c-format
--- 11617,11625 ----
  msgstr "Varna om koden är för komplicerad för att analyseraren skall kunna utforska den fullständigt."
  
  #: analyzer/analyzer.opt:283
! #, no-c-format
  msgid "Assume that no function calls can throw exceptions."
! msgstr "Anta att inga funktionsanrop kan kasta undantag."
  
  #: analyzer/analyzer.opt:287
  #, no-c-format
*************** msgstr "Visa målspecifika kommandoradsf
*** 11831,11840 ****
  #: common.opt:460 common.opt:502 common.opt:506 common.opt:510 common.opt:514
  #: common.opt:518 common.opt:522 common.opt:526 common.opt:943 common.opt:3861
  #: common.opt:3956 common.opt:4070
! #, fuzzy, no-c-format
! #| msgid "Pass -z text to linker."
  msgid "Passed to the linker."
! msgstr "Skicka -z text till länkaren."
  
  #: common.opt:464
  #, no-c-format
--- 11784,11792 ----
  #: common.opt:460 common.opt:502 common.opt:506 common.opt:510 common.opt:514
  #: common.opt:518 common.opt:522 common.opt:526 common.opt:943 common.opt:3861
  #: common.opt:3956 common.opt:4070
! #, no-c-format
  msgid "Passed to the linker."
! msgstr "Skickas till länkaren."
  
  #: common.opt:464
  #, no-c-format
*************** msgid "Warn if an array is accessed out
*** 11892,11901 ****
  msgstr "Varna om en vektor används utanför gränserna."
  
  #: common.opt:558
! #, fuzzy, no-c-format
! #| msgid "Warn about zero-length formats."
  msgid "Warn about problems with auto-profile data."
! msgstr "Varna för format med längden noll."
  
  #: common.opt:562 common.opt:566
  #, no-c-format
--- 11844,11852 ----
  msgstr "Varna om en vektor används utanför gränserna."
  
  #: common.opt:558
! #, no-c-format
  msgid "Warn about problems with auto-profile data."
! msgstr "Varna för problem med autoprofildata."
  
  #: common.opt:562 common.opt:566
  #, no-c-format
*************** msgid "-fdiagnostics-column-origin=<numb
*** 12663,12672 ****
  msgstr "-fdiagnostics-column-origin=<nummer>\tAnge numret på den första kolumnen. Standard är 1-baserat enligt GNU-stil, men några verktyg kan förvänta sig 0-baserat, till exempel."
  
  #: common.opt:1513
! #, fuzzy, no-c-format
! #| msgid "-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-file]\tSelect output format."
  msgid "-fdiagnostics-format=[text|sarif-stderr|sarif-file]\tSelect output format."
! msgstr "-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-file]\tVälj utmatningsmetod."
  
  #: common.opt:1517
  #, no-c-format
--- 12614,12622 ----
  msgstr "-fdiagnostics-column-origin=<nummer>\tAnge numret på den första kolumnen. Standard är 1-baserat enligt GNU-stil, men några verktyg kan förvänta sig 0-baserat, till exempel."
  
  #: common.opt:1513
! #, no-c-format
  msgid "-fdiagnostics-format=[text|sarif-stderr|sarif-file]\tSelect output format."
! msgstr "-fdiagnostics-format=[text|sarif-stderr|sarif-file]\tVälj utmatningsmetod."
  
  #: common.opt:1517
  #, no-c-format
*************** msgid "-fhardcfr-check-noreturn-calls=[a
*** 13074,13083 ****
  msgstr "-fhardcfr-check-noreturn-calls=[always|no-xthrow|nothrow|never]\tKontrollera CFR-körvägar även före anrop av noreturn-funktioner."
  
  #: common.opt:2008
! #, fuzzy, no-c-format
! #| msgid "Emit .stack_size directives."
  msgid "Emit .ident assembler directives."
! msgstr "Mata ut .stack_size-direktiv."
  
  #: common.opt:2012
  #, no-c-format
--- 13024,13032 ----
  msgstr "-fhardcfr-check-noreturn-calls=[always|no-xthrow|nothrow|never]\tKontrollera CFR-körvägar även före anrop av noreturn-funktioner."
  
  #: common.opt:2008
! #, no-c-format
  msgid "Emit .ident assembler directives."
! msgstr "Mata ut .ident assembler-direktiv."
  
  #: common.opt:2012
  #, no-c-format
*************** msgid "-ftree-parallelize-loops=<number>
*** 14280,14289 ****
  msgstr "-ftree-parallelize-loops=<antal>\tAktivera automatisk parallellisering av slingor."
  
  #: common.opt:3333
! #, fuzzy, no-c-format
! #| msgid "-ftree-parallelize-loops=<number>\tEnable automatic parallelization of loops."
  msgid "Enable automatic parallelization of loops."
! msgstr "-ftree-parallelize-loops=<antal>\tAktivera automatisk parallellisering av slingor."
  
  #: common.opt:3337
  #, no-c-format
--- 14229,14237 ----
  msgstr "-ftree-parallelize-loops=<antal>\tAktivera automatisk parallellisering av slingor."
  
  #: common.opt:3333
! #, no-c-format
  msgid "Enable automatic parallelization of loops."
! msgstr "Aktivera automatisk parallellisering av slingor."
  
  #: common.opt:3337
  #, no-c-format
*************** msgid "Use the Modern linker (MOLD) link
*** 14421,14436 ****
  msgstr "Använd länkaren ”Modern linker” (MOLD) istället för standardlänkaren."
  
  #: common.opt:3470
! #, fuzzy, no-c-format
! #| msgid "Use the gold linker instead of the default linker."
  msgid "Use the Wild linker instead of the default linker."
! msgstr "Använd gold-länkaren istället för standardlänkaren."
  
  #: common.opt:3477
! #, fuzzy, no-c-format
! #| msgid "Enable link-time optimization."
  msgid "Enable linking of libatomic."
! msgstr "Aktivera länkningsoptimeringar."
  
  #: common.opt:3484
  #, no-c-format
--- 14369,14382 ----
  msgstr "Använd länkaren ”Modern linker” (MOLD) istället för standardlänkaren."
  
  #: common.opt:3470
! #, no-c-format
  msgid "Use the Wild linker instead of the default linker."
! msgstr "Använd Wild-länkaren istället för standardlänkaren."
  
  #: common.opt:3477
! #, no-c-format
  msgid "Enable linking of libatomic."
! msgstr "Aktivera länkning av libatomic."
  
  #: common.opt:3484
  #, no-c-format
*************** msgid "Do not display functions compiled
*** 14733,14742 ****
  msgstr "Visa inte kompilerade funktioner eller tiden som förbrukats."
  
  #: common.opt:3942
! #, fuzzy, no-c-format
! #| msgid "Produce code relocatable at runtime."
  msgid "Produce a relocatable object as output."
! msgstr "Producera kod som kan omlokaliseras vid körtillfället."
  
  #: common.opt:3946
  #, no-c-format
--- 14679,14687 ----
  msgstr "Visa inte kompilerade funktioner eller tiden som förbrukats."
  
  #: common.opt:3942
! #, no-c-format
  msgid "Produce a relocatable object as output."
! msgstr "Producera ett omlokaliserbart objekt som utdata."
  
  #: common.opt:3946
  #, no-c-format
*************** msgid "Warn for usage of non-portable ex
*** 14794,14815 ****
  msgstr ""
  
  #: algol68/lang.opt:41
! #, fuzzy, no-c-format
! #| msgid "Warn when a variable is unused."
  msgid "Warn when voiding occurs."
! msgstr "Varna när en variabel är oanvänd."
  
  #: algol68/lang.opt:49
! #, fuzzy, no-c-format
! #| msgid "Warn on namespace definition."
  msgid "Warn for potential name scope violations."
! msgstr "Varna vid namnrymdsdefinition."
  
  #: algol68/lang.opt:65
! #, fuzzy, no-c-format
! #| msgid "Warn about \"extern\" declarations not at file scope."
  msgid "Warn about hidden declarations in inner scopes."
! msgstr "Varna för ”extern”-deklaration som inte är på filnivå."
  
  #: algol68/lang.opt:69
  #, no-c-format
--- 14739,14757 ----
  msgstr ""
  
  #: algol68/lang.opt:41
! #, no-c-format
  msgid "Warn when voiding occurs."
! msgstr "Varna när void:ande inträffar."
  
  #: algol68/lang.opt:49
! #, no-c-format
  msgid "Warn for potential name scope violations."
! msgstr "Varna för potentiella brott av namnräckvidd."
  
  #: algol68/lang.opt:65
! #, no-c-format
  msgid "Warn about hidden declarations in inner scopes."
! msgstr "Varna för dolda deklarationer i inre räckvidder."
  
  #: algol68/lang.opt:69
  #, no-c-format
*************** msgid "Generate code for assert contract
*** 14827,14842 ****
  msgstr "Generera kod för assert-kontrakt."
  
  #: algol68/lang.opt:85
! #, fuzzy, no-c-format
! #| msgid "Display the code tree after parsing."
  msgid "Dump Algol 68 modes after parsing."
! msgstr "Visa kodträdet efter tolkning."
  
  #: algol68/lang.opt:89
! #, fuzzy, no-c-format
! #| msgid "Display the code tree after parsing."
  msgid "Dump Algol 68 parse tree after parsing."
! msgstr "Visa kodträdet efter tolkning."
  
  #: algol68/lang.opt:93
  #, no-c-format
--- 14769,14782 ----
  msgstr "Generera kod för assert-kontrakt."
  
  #: algol68/lang.opt:85
! #, no-c-format
  msgid "Dump Algol 68 modes after parsing."
! msgstr "Dumpa Algol 68-lägen efter tolkning."
  
  #: algol68/lang.opt:89
! #, no-c-format
  msgid "Dump Algol 68 parse tree after parsing."
! msgstr "Dumpa Algol 68:s tolkningsträd efter tolkning."
  
  #: algol68/lang.opt:93
  #, no-c-format
*************** msgid "Dump the interfaces of module def
*** 14844,14859 ****
  msgstr ""
  
  #: algol68/lang.opt:97
! #, fuzzy, no-c-format
! #| msgid "Link the standard D library statically in the compilation."
  msgid "Link the GNU Algol run-time library statically in the compilation."
! msgstr "Länka standard D-biblioteket statiskt i kompileringen."
  
  #: algol68/lang.opt:101
! #, fuzzy, no-c-format
! #| msgid "Link the standard D library dynamically in the compilation."
  msgid "Link the GNU Algol 68 run-time library dynamically in the compilation."
! msgstr "Länka standard D-biblioteket dynamiskt i kompileringen."
  
  #: algol68/lang.opt:105
  #, no-c-format
--- 14784,14797 ----
  msgstr ""
  
  #: algol68/lang.opt:97
! #, no-c-format
  msgid "Link the GNU Algol run-time library statically in the compilation."
! msgstr "Länka GNU Algols körtidsbibliotek statiskt i kompileringen."
  
  #: algol68/lang.opt:101
! #, no-c-format
  msgid "Link the GNU Algol 68 run-time library dynamically in the compilation."
! msgstr "Länka GNU Algol 68:s körtidsbibliotek dynamiskt i kompileringen."
  
  #: algol68/lang.opt:105
  #, no-c-format
*************** msgid "Compile strict Algol 68 as define
*** 14861,14870 ****
  msgstr ""
  
  #: algol68/lang.opt:109
! #, fuzzy, no-c-format
! #| msgid "Accept extensions to support legacy code."
  msgid "Accept GNU extensions to Algol 68."
! msgstr "Acceptera utökningar för att stödja gammal kod."
  
  #: algol68/lang.opt:115
  #, no-c-format
--- 14799,14807 ----
  msgstr ""
  
  #: algol68/lang.opt:109
! #, no-c-format
  msgid "Accept GNU extensions to Algol 68."
! msgstr "Acceptera GNU-utökningar av Algol 68."
  
  #: algol68/lang.opt:115
  #, no-c-format
*************** msgid "Warn if a caller of a function, m
*** 14892,14907 ****
  msgstr "Varna om anroparen av en funktion, deklarerad med attributet warn_unused_result, inte använder dess returvärde."
  
  #: rust/lang.opt:63
! #, fuzzy, no-c-format
! #| msgid "-frust-crate=<name>             Set the crate name for the compilation"
  msgid "-frust-crate=<name>             Set the crate name for the compilation."
! msgstr "-frust-crate=<namn>             Sätt lårnamn (crate) för kompileringen"
  
  #: rust/lang.opt:67
! #, fuzzy, no-c-format
! #| msgid "-frust-extern=              Specify where an external library is located"
  msgid "-frust-extern=              Specify where an external library is located."
! msgstr "-frust-extern=              Ange var ett externt bibliotek är placerat"
  
  #: rust/lang.opt:71
  #, no-c-format
--- 14829,14842 ----
  msgstr "Varna om anroparen av en funktion, deklarerad med attributet warn_unused_result, inte använder dess returvärde."
  
  #: rust/lang.opt:63
! #, no-c-format
  msgid "-frust-crate=<name>             Set the crate name for the compilation."
! msgstr "-frust-crate=<namn>             Sätt lårnamn (crate) för kompileringen."
  
  #: rust/lang.opt:67
! #, no-c-format
  msgid "-frust-extern=              Specify where an external library is located."
! msgstr "-frust-extern=              Ange var ett externt bibliotek är placerat."
  
  #: rust/lang.opt:71
  #, no-c-format
*************** msgid "-frust-dump-<type>              D
*** 14914,14977 ****
  msgstr "-frust-dump-<typ>               Skriv ut Rust-framändens interna information."
  
  #: rust/lang.opt:79
! #, fuzzy, no-c-format
! #| msgid "Enable experimental compilation of Rust files at your own risk"
  msgid "Enable experimental compilation of Rust files at your own risk."
! msgstr "Aktivera experimentell kompilering av Rust-filer på egen risk"
  
  #: rust/lang.opt:83
! #, fuzzy, no-c-format
! #| msgid "-frust-max-recursion-depth=<integer>"
  msgid "-frust-max-recursion-depth=<integer>."
! msgstr "-frust-max-recursion-depth=<heltal>"
  
  #: rust/lang.opt:87
! #, fuzzy, no-c-format
! #| msgid "-frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Crate type to emit"
  msgid "-frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Crate type to emit."
! msgstr "-frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Lår (crate) att skapa"
  
  #: rust/lang.opt:115
! #, fuzzy, no-c-format
! #| msgid "-frust-mangling=[legacy|v0]     Version to use for name mangling"
  msgid "-frust-mangling=[legacy|v0]     Version to use for name mangling."
! msgstr "-frust-mangling=[legacy|v0]     Version att använda för namnmangling"
  
  #: rust/lang.opt:128
! #, fuzzy, no-c-format
! #| msgid "-frust-cfg=<name>             Set a config expansion option"
  msgid "-frust-cfg=<name>             Set a config expansion option."
! msgstr "-frust-cfg=<namn>             Ange ett konfigurationsutökningsalternativ"
  
  #: rust/lang.opt:132
! #, fuzzy, no-c-format
! #| msgid "-frust-edition=[2015|2018|2021]             Edition to use when compiling rust code"
  msgid "-frust-edition=[2015|2018|2021]             Edition to use when compiling rust code."
! msgstr "-frust-edition=[2015|2018|2021]             Utgåva att använda vid kompilering av rust-kod"
  
  #: rust/lang.opt:148
! #, fuzzy, no-c-format
! #| msgid "Enable embedding metadata directly into object files"
  msgid "Enable embedding metadata directly into object files."
! msgstr "Aktivera inbäddad metadata direkt i objektfiler"
  
  #: rust/lang.opt:152
! #, fuzzy, no-c-format
! #| msgid "-frust-metadata-output=<path.rox>  Path to output crate metadata"
  msgid "-frust-metadata-output=<path.rox>  Path to output crate metadata."
! msgstr "-frust-metadata-output=<väg.rox>   Sökväg till utdatalårens (crate) metadata"
  
  #: rust/lang.opt:160
! #, fuzzy, no-c-format
! #| msgid "-frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end]             The pipeline will run up until this stage when compiling Rust code"
  msgid "-frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end]             The pipeline will run up until this stage when compiling Rust code."
! msgstr "-frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end]             Pipelinen kommer köra fram till detta steg vid kompilering av Rust-kod"
  
  #: rust/lang.opt:209
! #, fuzzy, no-c-format
! #| msgid "Use the temporary and experimental name resolution pipeline instead of the stable one"
  msgid "Use the temporary and experimental name resolution pipeline instead of the stable one."
! msgstr "Använd den temporära och experimentella namnuppslagningspipelinen istället för den stabila"
  
  #: rust/lang.opt:213
  #, no-c-format
--- 14849,14902 ----
  msgstr "-frust-dump-<typ>               Skriv ut Rust-framändens interna information."
  
  #: rust/lang.opt:79
! #, no-c-format
  msgid "Enable experimental compilation of Rust files at your own risk."
! msgstr "Aktivera experimentell kompilering av Rust-filer på egen risk."
  
  #: rust/lang.opt:83
! #, no-c-format
  msgid "-frust-max-recursion-depth=<integer>."
! msgstr "-frust-max-recursion-depth=<heltal>."
  
  #: rust/lang.opt:87
! #, no-c-format
  msgid "-frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Crate type to emit."
! msgstr "-frust-crate-type=[bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]     Lår (crate) att skapa."
  
  #: rust/lang.opt:115
! #, no-c-format
  msgid "-frust-mangling=[legacy|v0]     Version to use for name mangling."
! msgstr "-frust-mangling=[legacy|v0]     Version att använda för namnmangling."
  
  #: rust/lang.opt:128
! #, no-c-format
  msgid "-frust-cfg=<name>             Set a config expansion option."
! msgstr "-frust-cfg=<namn>             Ange ett konfigurationsutökningsalternativ."
  
  #: rust/lang.opt:132
! #, no-c-format
  msgid "-frust-edition=[2015|2018|2021]             Edition to use when compiling rust code."
! msgstr "-frust-edition=[2015|2018|2021]             Utgåva att använda vid kompilering av rust-kod."
  
  #: rust/lang.opt:148
! #, no-c-format
  msgid "Enable embedding metadata directly into object files."
! msgstr "Aktivera inbäddad metadata direkt i objektfiler."
  
  #: rust/lang.opt:152
! #, no-c-format
  msgid "-frust-metadata-output=<path.rox>  Path to output crate metadata."
! msgstr "-frust-metadata-output=<väg.rox>   Sökväg till utdatalårens (crate) metadata."
  
  #: rust/lang.opt:160
! #, no-c-format
  msgid "-frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end]             The pipeline will run up until this stage when compiling Rust code."
! msgstr "-frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end]             Pipelinen kommer köra fram till detta steg vid kompilering av Rust-kod."
  
  #: rust/lang.opt:209
! #, no-c-format
  msgid "Use the temporary and experimental name resolution pipeline instead of the stable one."
! msgstr "Använd den temporära och experimentella namnuppslagningspipelinen istället för den stabila."
  
  #: rust/lang.opt:213
  #, no-c-format
*************** msgid "Use the WIP borrow checker."
*** 14979,14994 ****
  msgstr "Använd WIP-lånekontrolleraren."
  
  #: rust/lang.opt:217
! #, fuzzy, no-c-format
! #| msgid "-frust-edition=[unwind|abort]             Panic strategy to compile crate with"
  msgid "-frust-edition=[unwind|abort]             Panic strategy to compile crate with."
! msgstr "-frust-edition=[unwind|abort]             Panikstrategi att kompilera lådan med"
  
  #: rust/lang.opt:230
! #, fuzzy, no-c-format
! #| msgid "Enable the overflow checks in code generation"
  msgid "Enable the overflow checks in code generation."
! msgstr "Aktivera spillkontroller i kodgenereringen"
  
  #: rust/lang.opt:234
  #, no-c-format
--- 14904,14917 ----
  msgstr "Använd WIP-lånekontrolleraren."
  
  #: rust/lang.opt:217
! #, no-c-format
  msgid "-frust-edition=[unwind|abort]             Panic strategy to compile crate with."
! msgstr "-frust-edition=[unwind|abort]             Panikstrategi att kompilera lådan med."
  
  #: rust/lang.opt:230
! #, no-c-format
  msgid "Enable the overflow checks in code generation."
! msgstr "Aktivera spillkontroller i kodgenereringen."
  
  #: rust/lang.opt:234
  #, no-c-format
*************** msgid "Warn about C++ constructs whose m
*** 15376,15385 ****
  msgstr "Varna för C++-konstruktioner vars betydelse skiljer mellan ISO C++ 2017 och ISO C++ 2020."
  
  #: c-family/c.opt:508
! #, fuzzy, no-c-format
! #| msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2017 and ISO C++ 2020."
  msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2023 and ISO C++ 2026."
! msgstr "Varna för C++-konstruktioner vars betydelse skiljer mellan ISO C++ 2017 och ISO C++ 2020."
  
  #: c-family/c.opt:512
  #, no-c-format
--- 15299,15307 ----
  msgstr "Varna för C++-konstruktioner vars betydelse skiljer mellan ISO C++ 2017 och ISO C++ 2020."
  
  #: c-family/c.opt:508
! #, no-c-format
  msgid "Warn about C++ constructs whose meaning differs between ISO C++ 2023 and ISO C++ 2026."
! msgstr "Varna för C++-konstruktioner vars betydelse skiljer mellan ISO C++ 2023 och ISO C++ 2026."
  
  #: c-family/c.opt:512
  #, no-c-format
*************** msgid "Warn about calls with arguments t
*** 15579,15588 ****
  msgstr "Varna för anrop med argument till funktioner deklarerade utan parametrar."
  
  #: c-family/c.opt:692
! #, fuzzy, no-c-format
! #| msgid "Warn about suspicious OpenMP code."
  msgid "Warn about deprecated OpenMP code."
! msgstr "Varna för misstänkt OpenMP-kod."
  
  #: c-family/c.opt:696
  #, no-c-format
--- 15501,15509 ----
  msgstr "Varna för anrop med argument till funktioner deklarerade utan parametrar."
  
  #: c-family/c.opt:692
! #, no-c-format
  msgid "Warn about deprecated OpenMP code."
! msgstr "Varna för föråldrad OpenMP-kod."
  
  #: c-family/c.opt:696
  #, no-c-format
*************** msgid "Warn if \"defined\" is used outsi
*** 15680,15695 ****
  msgstr "Varna om ”defined” är utanför #if."
  
  #: c-family/c.opt:776
! #, fuzzy, no-c-format
! #| msgid "the incompatible type defined in another translation unit"
  msgid "Warn about naming a TU-local entity declared in another translation unit."
! msgstr "den inkompatibla typen definierad i en annan översättningsenhet"
  
  #: c-family/c.opt:780
! #, fuzzy, no-c-format
! #| msgid "Warn about templates naming TU-local entities in a module."
  msgid "Warn when a module exposes a TU-local entity from the global module fragment."
! msgstr "Varna för mallar som namnger TU-lokala enheter i en modul."
  
  #: c-family/c.opt:788
  #, no-c-format
--- 15601,15614 ----
  msgstr "Varna om ”defined” är utanför #if."
  
  #: c-family/c.opt:776
! #, no-c-format
  msgid "Warn about naming a TU-local entity declared in another translation unit."
! msgstr "Varna när en TU-lokal enhet deklarerad i en annan översättningsenhet nämns."
  
  #: c-family/c.opt:780
! #, no-c-format
  msgid "Warn when a module exposes a TU-local entity from the global module fragment."
! msgstr "Varna när en modul exponerar en TU-lokal enhet från det globala modulfragmentet."
  
  #: c-family/c.opt:788
  #, no-c-format
*************** msgid "Warn on direct multiple inheritan
*** 16027,16036 ****
  msgstr "Varna vid direkt multipelt arv."
  
  #: c-family/c.opt:1109
! #, fuzzy, no-c-format
! #| msgid "Warn about mismatched declarations of VLA parameters."
  msgid "Warn for multiple lists of forward declarations of function parameters."
! msgstr "Varna för deklarationer av VLA-parametrar som inte stämmer överens."
  
  #: c-family/c.opt:1113
  #, no-c-format
--- 15946,15954 ----
  msgstr "Varna vid direkt multipelt arv."
  
  #: c-family/c.opt:1109
! #, no-c-format
  msgid "Warn for multiple lists of forward declarations of function parameters."
! msgstr "Varna för flera listor av forward-deklarationer av funktionsparametrar."
  
  #: c-family/c.opt:1113
  #, no-c-format
*************** msgid "-fconstexpr-ops-limit=<number>\tS
*** 16734,16743 ****
  msgstr "-fconstexpr-ops-limit=<antal>\tAnge maximalt antal constexpr-operationer under en enda constexpr-beräkning."
  
  #: c-family/c.opt:1905
! #, fuzzy, no-c-format
! #| msgid "Enable certain features present in drafts of C++ Contracts."
  msgid "Enable features proposed for C++26 Contracts."
! msgstr "Aktivera vissa funktioner som finns i utkast till C++ Contracts."
  
  #: c-family/c.opt:1926
  #, no-c-format
--- 16652,16660 ----
  msgstr "-fconstexpr-ops-limit=<antal>\tAnge maximalt antal constexpr-operationer under en enda constexpr-beräkning."
  
  #: c-family/c.opt:1905
! #, no-c-format
  msgid "Enable features proposed for C++26 Contracts."
! msgstr "Aktivera funktioner föreslagna för C++26-kontrakt."
  
  #: c-family/c.opt:1926
  #, no-c-format
*************** msgid "-fcontracts-client-check=[none|pr
*** 16765,16774 ****
  msgstr ""
  
  #: c-family/c.opt:1968
! #, fuzzy, no-c-format
! #| msgid "-fcontract-continuation-mode=[on|off]\tEnable or disable contract continuation mode (default off)."
  msgid "-fcontracts-definition-check=[on|off]\tEnable or disable contract checks on the definition side for all functions (default on)."
! msgstr "-fcontract-continuation-mode=[on|off]\tAktivera eller avaktivera kontraktsfortsättningsläge (standard av)."
  
  #: c-family/c.opt:1972
  #, no-c-format
--- 16682,16690 ----
  msgstr ""
  
  #: c-family/c.opt:1968
! #, no-c-format
  msgid "-fcontracts-definition-check=[on|off]\tEnable or disable contract checks on the definition side for all functions (default on)."
! msgstr "-fcontracts-definition-check=[on|off]\tAktivera eller avaktivera kontraktskontroller av definitionssidad för alla funktioner (standard på)."
  
  #: c-family/c.opt:1972
  #, no-c-format
*************** msgid "Enable lifetime extension of rang
*** 17131,17140 ****
  msgstr "Aktivera livstidsutökning av intervallbaserade for-temporärer."
  
  #: c-family/c.opt:2362
! #, fuzzy, no-c-format
! #| msgid "Enable experimental Fortran 202y features."
  msgid "Enable experimental C++26 Reflection."
! msgstr "Aktivera experimentella funktioner i Fortran 202y."
  
  #: c-family/c.opt:2366
  #, no-c-format
--- 17047,17055 ----
  msgstr "Aktivera livstidsutökning av intervallbaserade for-temporärer."
  
  #: c-family/c.opt:2362
! #, no-c-format
  msgid "Enable experimental C++26 Reflection."
! msgstr "Aktivera experimentell C++26-reflektion."
  
  #: c-family/c.opt:2366
  #, no-c-format
*************** msgid "Conform to the ISO 2017 C++ stand
*** 17387,17408 ****
  msgstr "Följ standarden ISO 2017 C++."
  
  #: c-family/c.opt:2657
! #, fuzzy, no-c-format
! #| msgid "Deprecated in favor of -std=c++11."
  msgid "Deprecated in favor of -std=c++20."
! msgstr "Undanbedes till förmån för -std=c++11."
  
  #: c-family/c.opt:2661
! #, fuzzy, no-c-format
! #| msgid "Conform to the ISO 2011 C++ standard."
  msgid "Conform to the ISO 2020 C++ standard."
! msgstr "Följ standarden ISO 2011 C++."
  
  #: c-family/c.opt:2665
! #, fuzzy, no-c-format
! #| msgid "Deprecated in favor of -std=c23."
  msgid "Deprecated in favor of -std=c++23."
! msgstr "Undanbedes till förmån för -std=c23."
  
  #: c-family/c.opt:2669
  #, no-c-format
--- 17302,17320 ----
  msgstr "Följ standarden ISO 2017 C++."
  
  #: c-family/c.opt:2657
! #, no-c-format
  msgid "Deprecated in favor of -std=c++20."
! msgstr "Undanbedes till förmån för -std=c++20."
  
  #: c-family/c.opt:2661
! #, no-c-format
  msgid "Conform to the ISO 2020 C++ standard."
! msgstr "Följ standarden ISO 2020 C++."
  
  #: c-family/c.opt:2665
! #, no-c-format
  msgid "Deprecated in favor of -std=c++23."
! msgstr "Undanbedes till förmån för -std=c++23."
  
  #: c-family/c.opt:2669
  #, no-c-format
*************** msgstr "Undanbedes till förmån för -s
*** 17443,17449 ****
  #: c-family/c.opt:2705
  #, no-c-format
  msgid "Conform to the ISO 202Y C standard draft (experimental and incomplete support)."
! msgstr "Följ standardenutkastet ISO 202Y C++ (experimentellt och ofullständigt stöd)."
  
  #: c-family/c.opt:2709 c-family/c.opt:2713 c-family/c.opt:2827
  #, no-c-format
--- 17355,17361 ----
  #: c-family/c.opt:2705
  #, no-c-format
  msgid "Conform to the ISO 202Y C standard draft (experimental and incomplete support)."
! msgstr "Följ standardutkastet ISO 202Y C++ (experimentellt och ofullständigt stöd)."
  
  #: c-family/c.opt:2709 c-family/c.opt:2713 c-family/c.opt:2827
  #, no-c-format
*************** msgid "Conform to the ISO 2017 C++ stand
*** 17496,17517 ****
  msgstr "Följ standarden ISO 2017 C++ med GNU-utökningar."
  
  #: c-family/c.opt:2759
! #, fuzzy, no-c-format
! #| msgid "Deprecated in favor of -std=gnu++11."
  msgid "Deprecated in favor of -std=gnu++20."
! msgstr "Undanbedes till förmån för -std=gnu++11."
  
  #: c-family/c.opt:2763
! #, fuzzy, no-c-format
! #| msgid "Conform to the ISO 2011 C++ standard with GNU extensions."
  msgid "Conform to the ISO 2020 C++ standard with GNU extensions."
! msgstr "Följ standarden ISO 2011 C++ med GNU-utökningar."
  
  #: c-family/c.opt:2767
! #, fuzzy, no-c-format
! #| msgid "Deprecated in favor of -std=gnu23."
  msgid "Deprecated in favor of -std=gnu++23."
! msgstr "Undanbedes till förmån för -std=gnu23."
  
  #: c-family/c.opt:2771
  #, no-c-format
--- 17408,17426 ----
  msgstr "Följ standarden ISO 2017 C++ med GNU-utökningar."
  
  #: c-family/c.opt:2759
! #, no-c-format
  msgid "Deprecated in favor of -std=gnu++20."
! msgstr "Undanbedes till förmån för -std=gnu++20."
  
  #: c-family/c.opt:2763
! #, no-c-format
  msgid "Conform to the ISO 2020 C++ standard with GNU extensions."
! msgstr "Följ standarden ISO 2020 C++ med GNU-utökningar."
  
  #: c-family/c.opt:2767
! #, no-c-format
  msgid "Deprecated in favor of -std=gnu++23."
! msgstr "Undanbedes till förmån för -std=gnu++23."
  
  #: c-family/c.opt:2771
  #, no-c-format
*************** msgstr "Undanbedes till förmån för -s
*** 17551,17557 ****
  #: c-family/c.opt:2807
  #, no-c-format
  msgid "Conform to the ISO 202Y C standard draft with GNU extensions (experimental and incomplete support)."
! msgstr "Följ standardenutkastet ISO 202Y C med GNU-utökningar (experimentellt och ofullständigt stöd)."
  
  #: c-family/c.opt:2811 c-family/c.opt:2815
  #, no-c-format
--- 17460,17466 ----
  #: c-family/c.opt:2807
  #, no-c-format
  msgid "Conform to the ISO 202Y C standard draft with GNU extensions (experimental and incomplete support)."
! msgstr "Följ standardutkastet ISO 202Y C med GNU-utökningar (experimentellt och ofullständigt stöd)."
  
  #: c-family/c.opt:2811 c-family/c.opt:2815
  #, no-c-format
*************** msgid "Do not predefine system-specific
*** 17599,17620 ****
  msgstr "Fördefiniera inte systemspecifika och GCC-specifika makron."
  
  #: cobol/lang.opt:48
! #, fuzzy, no-c-format
! #| msgid "Accept COBOL constructs used by non-ISO compilers"
  msgid "Accept COBOL constructs used by non-ISO compilers."
! msgstr "Acceptera COBOL-konstruktioner som används av icke-ISO-kompilatorer"
  
  #: cobol/lang.opt:70
! #, fuzzy, no-c-format
! #| msgid "-fcobol-exceptions=<n>\tEnable some exceptions by default"
  msgid "-fcobol-exceptions=<n>\tEnable some exceptions by default."
! msgstr "-fcobol-exceptions=<n>\tAktivera några undantag som standard"
  
  #: cobol/lang.opt:74
! #, fuzzy, no-c-format
! #| msgid "Define alternative implicit copybook filename extension"
  msgid "Define alternative implicit copybook filename extension."
! msgstr "Definiera en alternativ implicit copybook-filnamnsändelse"
  
  #: cobol/lang.opt:82
  #, no-c-format
--- 17508,17526 ----
  msgstr "Fördefiniera inte systemspecifika och GCC-specifika makron."
  
  #: cobol/lang.opt:48
! #, no-c-format
  msgid "Accept COBOL constructs used by non-ISO compilers."
! msgstr "Acceptera COBOL-konstruktioner som används av icke-ISO-kompilatorer."
  
  #: cobol/lang.opt:70
! #, no-c-format
  msgid "-fcobol-exceptions=<n>\tEnable some exceptions by default."
! msgstr "-fcobol-exceptions=<n>\tAktivera några undantag som standard."
  
  #: cobol/lang.opt:74
! #, no-c-format
  msgid "Define alternative implicit copybook filename extension."
! msgstr "Definiera en alternativ implicit copybook-filnamnsändelse."
  
  #: cobol/lang.opt:82
  #, no-c-format
*************** msgid "Warn if Level 01 is used with OCC
*** 17667,17682 ****
  msgstr ""
  
  #: cobol/lang.opt:134
! #, fuzzy, no-c-format
! #| msgid "Warn if a variable length array is used."
  msgid "Warn if Level 78 is used."
! msgstr "Varna om en vektor med variabel längd används."
  
  #: cobol/lang.opt:139
! #, fuzzy, no-c-format
! #| msgid "Warn if a C-style cast is used in a program."
  msgid "Warn if ANY LENGTH is used in outermost program."
! msgstr "Varna för en typkonvertering i C-stil används i ett program."
  
  #: cobol/lang.opt:144
  #, no-c-format
--- 17573,17586 ----
  msgstr ""
  
  #: cobol/lang.opt:134
! #, no-c-format
  msgid "Warn if Level 78 is used."
! msgstr "Varna om nivå 78 används."
  
  #: cobol/lang.opt:139
! #, no-c-format
  msgid "Warn if ANY LENGTH is used in outermost program."
! msgstr "Varna om ANY LENGTH används i det yttersta programmet."
  
  #: cobol/lang.opt:144
  #, no-c-format
*************** msgid "Warn if USAGE IS TYPENAME is used
*** 17699,17720 ****
  msgstr ""
  
  #: cobol/lang.opt:164
! #, fuzzy, no-c-format
! #| msgid "Warn if left shifting a negative value."
  msgid "Warn if numeric string is invalid."
! msgstr "Varna vid vänsterskift med ett negativt värde."
  
  #: cobol/lang.opt:169
! #, fuzzy, no-c-format
! #| msgid "Label %d referenced at %L is never defined"
  msgid "Warn if referenced CDF PARAMETER is not defined."
! msgstr "Etikett %d som refereras vid %L är aldrig definierad"
  
  #: cobol/lang.opt:174
! #, fuzzy, no-c-format
! #| msgid "Label %d referenced at %L is never defined"
  msgid "Warn if referenced CDF name is not defined."
! msgstr "Etikett %d som refereras vid %L är aldrig definierad"
  
  #: cobol/lang.opt:179
  #, no-c-format
--- 17603,17621 ----
  msgstr ""
  
  #: cobol/lang.opt:164
! #, no-c-format
  msgid "Warn if numeric string is invalid."
! msgstr "Varna om en numerisk sträng är felaktig."
  
  #: cobol/lang.opt:169
! #, no-c-format
  msgid "Warn if referenced CDF PARAMETER is not defined."
! msgstr "Varna om en refererarad CDF PARAMETER inte är definierad."
  
  #: cobol/lang.opt:174
! #, no-c-format
  msgid "Warn if referenced CDF name is not defined."
! msgstr "Varna om ett refererat CDF-namn inte är definierat."
  
  #: cobol/lang.opt:179
  #, no-c-format
*************** msgid "Print message when ENTRY CONVENTI
*** 17732,17747 ****
  msgstr ""
  
  #: cobol/lang.opt:194
! #, fuzzy, no-c-format
! #| msgid "Treat the input file as already preprocessed."
  msgid "Print message when include file is processed."
! msgstr "Betrakta indatafilen som redan preprocessad."
  
  #: cobol/lang.opt:199
! #, fuzzy, no-c-format
! #| msgid "created and used with different endianness"
  msgid "Warn if concatenated literals use different encodings."
! msgstr "skapad och använd med olika byteordning"
  
  #: cobol/lang.opt:204
  #, no-c-format
--- 17633,17646 ----
  msgstr ""
  
  #: cobol/lang.opt:194
! #, no-c-format
  msgid "Print message when include file is processed."
! msgstr "Skriv ett meddelande när en inkluderad fil bearbetas."
  
  #: cobol/lang.opt:199
! #, no-c-format
  msgid "Warn if concatenated literals use different encodings."
! msgstr "Varna om sammanslagna litteraler använder olika kodningar."
  
  #: cobol/lang.opt:204
  #, no-c-format
*************** msgid "Warn if relational operator not f
*** 17864,17879 ****
  msgstr ""
  
  #: cobol/lang.opt:328
! #, fuzzy, no-c-format
! #| msgid "Warn if a C-style cast is used in a program."
  msgid "Warn if IBM-style EJECT is used (instead of error)."
! msgstr "Varna för en typkonvertering i C-stil används i ett program."
  
  #: cobol/lang.opt:333
! #, fuzzy, no-c-format
! #| msgid "Warn if a C-style cast is used in a program."
  msgid "Warn if IBM-style STOP <number> is used (instead of error)."
! msgstr "Varna för en typkonvertering i C-stil används i ett program."
  
  #: cobol/lang.opt:338
  #, no-c-format
--- 17763,17776 ----
  msgstr ""
  
  #: cobol/lang.opt:328
! #, no-c-format
  msgid "Warn if IBM-style EJECT is used (instead of error)."
! msgstr "Varna om EJECT i IBM-stil används (istället för fel)."
  
  #: cobol/lang.opt:333
! #, no-c-format
  msgid "Warn if IBM-style STOP <number> is used (instead of error)."
! msgstr "Varna om STOP <nummer> i IBM-stil används (istället för fel)."
  
  #: cobol/lang.opt:338
  #, no-c-format
*************** msgid "Warn if VOLATILE is used (instead
*** 17881,17944 ****
  msgstr ""
  
  #: cobol/lang.opt:344
! #, fuzzy, no-c-format
! #| msgid "Set Working-Storage data items to the supplied value"
  msgid "Set Working-Storage data items to the supplied value."
! msgstr "Sätt Working-Storage-dataposter till det angivna värdet"
  
  #: cobol/lang.opt:348
! #, fuzzy, no-c-format
! #| msgid "Enable Cobol lex debugging"
  msgid "Enable Cobol lex debugging."
! msgstr "Aktivera Cobol lex-felsökning"
  
  #: cobol/lang.opt:360
! #, fuzzy, no-c-format
! #| msgid "-findicator-column=<n>\tColumn after which Region A begins"
  msgid "-findicator-column=<n>\tColumn after which Region A begins."
! msgstr "-findicator-column=<n>\tKolumn efter vilken region A börjar"
  
  #: cobol/lang.opt:364
! #, fuzzy, no-c-format
! #| msgid "Enable/disable static linkage for CALL literals"
  msgid "Enable/disable static linkage for CALL literals."
! msgstr "Aktivera/avaktivera statisk länkning för CALL-litteraler"
  
  #: cobol/lang.opt:368
! #, fuzzy, no-c-format
! #| msgid "Enable Cobol parser debugging"
  msgid "Enable Cobol parser debugging."
! msgstr "Aktivera Cobol-parserfelsökning"
  
  #: cobol/lang.opt:372
! #, fuzzy, no-c-format
! #| msgid "Enable Cobol yacc debugging"
  msgid "Enable Cobol yacc debugging."
! msgstr "Aktivera Cobol yacc-felsökning"
  
  #: cobol/lang.opt:376
! #, fuzzy, no-c-format
! #| msgid "preprocess <source_filter> before compiling"
  msgid "Preprocess <source_filter> before compiling."
! msgstr "preprocessa <source_filter> före kompilering"
  
  #: cobol/lang.opt:396
! #, fuzzy, no-c-format
! #| msgid "-main\tThe first program-id in the next source file is called by a generated main() entry point"
  msgid "-main\tThe first program-id in the next source file is called by a generated main() entry point."
! msgstr "-main\tDet första program-id:t i nästa källkodsfil anropas av en genererad ingångspunkt main()"
  
  #: cobol/lang.opt:400
! #, fuzzy, no-c-format
! #| msgid "-main=<source_file> source_file/PROGRAM-ID is called by the generated main()"
  msgid "-main=<source_file> source_file/PROGRAM-ID is called by the generated main()."
! msgstr "-min=<källkodsfil> källkodsfil/PROGRAM-ID anropas av den genererade main()"
  
  #: cobol/lang.opt:404
! #, fuzzy, no-c-format
! #| msgid "-nomain\tNo main() function is created from COBOL source files"
  msgid "-nomain\tNo main() function is created from COBOL source files."
! msgstr "-nomain\tIngen funktion main() skapas från COBOL-källkodsfiler"
  
  #: d/lang.opt:51
  #, no-c-format
--- 17778,17831 ----
  msgstr ""
  
  #: cobol/lang.opt:344
! #, no-c-format
  msgid "Set Working-Storage data items to the supplied value."
! msgstr "Sätt Working-Storage-dataposter till det angivna värdet."
  
  #: cobol/lang.opt:348
! #, no-c-format
  msgid "Enable Cobol lex debugging."
! msgstr "Aktivera Cobol lex-felsökning."
  
  #: cobol/lang.opt:360
! #, no-c-format
  msgid "-findicator-column=<n>\tColumn after which Region A begins."
! msgstr "-findicator-column=<n>\tKolumn efter vilken region A börjar."
  
  #: cobol/lang.opt:364
! #, no-c-format
  msgid "Enable/disable static linkage for CALL literals."
! msgstr "Aktivera/avaktivera statisk länkning för CALL-litteraler."
  
  #: cobol/lang.opt:368
! #, no-c-format
  msgid "Enable Cobol parser debugging."
! msgstr "Aktivera Cobol-parserfelsökning."
  
  #: cobol/lang.opt:372
! #, no-c-format
  msgid "Enable Cobol yacc debugging."
! msgstr "Aktivera Cobol yacc-felsökning."
  
  #: cobol/lang.opt:376
! #, no-c-format
  msgid "Preprocess <source_filter> before compiling."
! msgstr "Preprocessa <source_filter> före kompilering."
  
  #: cobol/lang.opt:396
! #, no-c-format
  msgid "-main\tThe first program-id in the next source file is called by a generated main() entry point."
! msgstr "-main\tDet första program-id:t i nästa källkodsfil anropas av en genererad ingångspunkt main()."
  
  #: cobol/lang.opt:400
! #, no-c-format
  msgid "-main=<source_file> source_file/PROGRAM-ID is called by the generated main()."
! msgstr "-main=<källkodsfil> källkodsfil/PROGRAM-ID anropas av den genererade main()."
  
  #: cobol/lang.opt:404
! #, no-c-format
  msgid "-nomain\tNo main() function is created from COBOL source files."
! msgstr "-nomain\tIngen funktion main() skapas från COBOL-källkodsfiler."
  
  #: d/lang.opt:51
  #, no-c-format
*************** msgid "Link the standard D library dynam
*** 18276,18291 ****
  msgstr "Länka standard D-biblioteket dynamiskt i kompileringen."
  
  #: d/lang.opt:524
! #, fuzzy, no-c-format
! #| msgid "Conform to the ISO 2014 C++ standard."
  msgid "Conform to the 2024 D language edition."
! msgstr "Följ standarden ISO 2014 C++."
  
  #: d/lang.opt:528
! #, fuzzy, no-c-format
! #| msgid "Conform to the ISO 202Y C standard draft (experimental and incomplete support)."
  msgid "Conform to the latest 202Y D language edition (experimental)."
! msgstr "Följ standardenutkastet ISO 202Y C++ (experimentellt och ofullständigt stöd)."
  
  #: calls.cc:1467
  msgid "a callee-copied argument is stored in the current function's frame"
--- 18163,18176 ----
  msgstr "Länka standard D-biblioteket dynamiskt i kompileringen."
  
  #: d/lang.opt:524
! #, no-c-format
  msgid "Conform to the 2024 D language edition."
! msgstr "Följ D-språksutgåvan 2024."
  
  #: d/lang.opt:528
! #, no-c-format
  msgid "Conform to the latest 202Y D language edition (experimental)."
! msgstr "Följ den senaste D-språksutgåvan 202Y (experimentellt)."
  
  #: calls.cc:1467
  msgid "a callee-copied argument is stored in the current function's frame"
*************** msgstr ""
*** 19078,19087 ****
  "Fel på översättningen rapporteras till <tp-sv@listor.tp-sv.se>\n"
  
  #: gcov-tool.cc:595
! #, fuzzy, c-format
! #| msgid "Copyright %s 2025 Free Software Foundation, Inc.\n"
  msgid "Copyright %s 2026 Free Software Foundation, Inc.\n"
! msgstr "Copyright %s 2025 Free Software Foundation, Inc.\n"
  
  #: gcov.cc:1096
  #, c-format
--- 18963,18971 ----
  "Fel på översättningen rapporteras till <tp-sv@listor.tp-sv.se>\n"
  
  #: gcov-tool.cc:595
! #, c-format
  msgid "Copyright %s 2026 Free Software Foundation, Inc.\n"
! msgstr "Copyright %s 2026 Free Software Foundation, Inc.\n"
  
  #: gcov.cc:1096
  #, c-format
*************** msgid "path coverage omitted\n"
*** 19574,19583 ****
  msgstr "vägtäckning utesluten\n"
  
  #: gcov.cc:3731
! #, fuzzy, c-format
! #| msgid "paths covered %u of %zu\n"
  msgid "paths covered %u of "
! msgstr "täckte %u vägar av %zu\n"
  
  #: gcov.cc:3806
  #, c-format
--- 19458,19466 ----
  msgstr "vägtäckning utesluten\n"
  
  #: gcov.cc:3731
! #, c-format
  msgid "paths covered %u of "
! msgstr "täckte %u vägar av "
  
  #: gcov.cc:3806
  #, c-format
*************** msgid "    inlined from %qs"
*** 19672,19771 ****
  msgstr "    inline:ad från %qs"
  
  #: libgdiagnostics.cc:1529
- #, fuzzy
- #| msgid "In member function %qs"
  msgid "In member %qs"
! msgstr "I medlemsfunktion %qs"
  
  #: libgdiagnostics.cc:1530
- #, fuzzy
- #| msgid "In module"
  msgid "In module %qs"
! msgstr "I modulen"
  
  #: libgdiagnostics.cc:1531
- #, fuzzy
- #| msgid "namespace %qD entered"
  msgid "In namespace %qs"
! msgstr "gick in i namnrymden %qD"
  
  #: libgdiagnostics.cc:1532
- #, fuzzy
- #| msgid "for type %qT"
  msgid "In type %qs"
! msgstr "för typen %qT"
  
  #: libgdiagnostics.cc:1534
- #, fuzzy
- #| msgid "invalid receiver type %qs"
  msgid "In return type %qs"
! msgstr "ogiltig mottagartyp %qs"
  
  #: libgdiagnostics.cc:1535
- #, fuzzy
- #| msgid "unused parameter %qD"
  msgid "In parameter %qs"
! msgstr "oanvänd parameter %qD"
  
  #: libgdiagnostics.cc:1536
- #, fuzzy
- #| msgid "unused variable %qD"
  msgid "In variable %qs"
! msgstr "oanvänd variabel %qD"
  
  #. Kinds within XML or HTML documents.
  #: libgdiagnostics.cc:1539
- #, fuzzy
- #| msgid "In member function %qs"
  msgid "In element %qs"
! msgstr "I medlemsfunktion %qs"
  
  #: libgdiagnostics.cc:1540
- #, fuzzy
- #| msgid "unknown attribute %qs"
  msgid "In attribute %qs"
! msgstr "okänt attribut %qs"
  
  #: libgdiagnostics.cc:1541
- #, fuzzy
- #| msgid "In function %qs"
  msgid "In text %qs"
! msgstr "I funktion %qs"
  
  #: libgdiagnostics.cc:1542
- #, fuzzy
- #| msgid "In function %qs"
  msgid "In comment %qs"
! msgstr "I funktion %qs"
  
  #: libgdiagnostics.cc:1544
- #, fuzzy
- #| msgid "Enable coprocessor instructions."
  msgid "In processing instruction %qs"
! msgstr "Använd co-processorinstruktioner."
  
  #: libgdiagnostics.cc:1545
  msgid "In DTD %qs"
  msgstr ""
  
  #: libgdiagnostics.cc:1547
- #, fuzzy
- #| msgid "in declaration %q+D"
  msgid "In declaration %qs"
! msgstr "i deklaration %q+D"
  
  #. Kinds within JSON documents.
  #: libgdiagnostics.cc:1550
- #, fuzzy
- #| msgid "JSON object"
  msgid "In JSON object %qs"
! msgstr "JSON-objekt"
  
  #: libgdiagnostics.cc:1551
- #, fuzzy
- #| msgid "JSON array"
  msgid "In JSON array %qs"
! msgstr "JSON-vektor"
  
  #: libgdiagnostics.cc:1553
  msgid "In JSON property %qs"
--- 19555,19624 ----
  msgstr "    inline:ad från %qs"
  
  #: libgdiagnostics.cc:1529
  msgid "In member %qs"
! msgstr "I medlemen %qs"
  
  #: libgdiagnostics.cc:1530
  msgid "In module %qs"
! msgstr "I modulen %qs"
  
  #: libgdiagnostics.cc:1531
  msgid "In namespace %qs"
! msgstr "I namnrymden %qs"
  
  #: libgdiagnostics.cc:1532
  msgid "In type %qs"
! msgstr "I typen %qs"
  
  #: libgdiagnostics.cc:1534
  msgid "In return type %qs"
! msgstr "I returtypen %qs"
  
  #: libgdiagnostics.cc:1535
  msgid "In parameter %qs"
! msgstr "I parametern %qs"
  
  #: libgdiagnostics.cc:1536
  msgid "In variable %qs"
! msgstr "I variabeln %qs"
  
  #. Kinds within XML or HTML documents.
  #: libgdiagnostics.cc:1539
  msgid "In element %qs"
! msgstr "I elementet %qs"
  
  #: libgdiagnostics.cc:1540
  msgid "In attribute %qs"
! msgstr "I attributet %qs"
  
  #: libgdiagnostics.cc:1541
  msgid "In text %qs"
! msgstr "I texten %qs"
  
  #: libgdiagnostics.cc:1542
  msgid "In comment %qs"
! msgstr "I kommentaren %qs"
  
  #: libgdiagnostics.cc:1544
  msgid "In processing instruction %qs"
! msgstr "I bearbetningsinstruktionen %qs"
  
  #: libgdiagnostics.cc:1545
  msgid "In DTD %qs"
  msgstr ""
  
  #: libgdiagnostics.cc:1547
  msgid "In declaration %qs"
! msgstr "I deklarationen %qs"
  
  #. Kinds within JSON documents.
  #: libgdiagnostics.cc:1550
  msgid "In JSON object %qs"
! msgstr "I JSON-objekt %qs"
  
  #: libgdiagnostics.cc:1551
  msgid "In JSON array %qs"
! msgstr "I JSON-vektor %qs"
  
  #: libgdiagnostics.cc:1553
  msgid "In JSON property %qs"
*************** msgid "this is the insn:"
*** 19805,19814 ****
  msgstr "detta är instruktionen:"
  
  #: lra-constraints.cc:4182
- #, fuzzy
- #| msgid "invalid operand address"
  msgid "unable to reload address in "
! msgstr "ogiltig operandadress"
  
  #: lra-constraints.cc:4478 reload.cc:3852
  msgid "unable to generate reloads for:"
--- 19658,19665 ----
  msgstr "detta är instruktionen:"
  
  #: lra-constraints.cc:4182
  msgid "unable to reload address in "
! msgstr "kan inte ladda om adressen i "
  
  #: lra-constraints.cc:4478 reload.cc:3852
  msgid "unable to generate reloads for:"
*************** msgid "invalid conversion to type %<mflo
*** 20475,20548 ****
  msgstr "ogiltig konvertering till typen %<bfloat8_t%>"
  
  #: config/aarch64/aarch64.cc:31104
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "preincrement operation not permitted on svbool_t"
! msgstr "operationen är inte tillåten på typen %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31106
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "predecrement operation not permitted on svbool_t"
! msgstr "operationen är inte tillåten på typen %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31108
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "postincrement operation not permitted on svbool_t"
! msgstr "operationen är inte tillåten på typen %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31110
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "postdecrement operation not permitted on svbool_t"
! msgstr "operationen är inte tillåten på typen %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31112
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "negation operation not permitted on svbool_t"
! msgstr "operationen är inte tillåten på typen %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31114
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "plus operation not permitted on svbool_t"
! msgstr "operationen är inte tillåten på typen %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31116
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "minus operation not permitted on svbool_t"
! msgstr "operationen är inte tillåten på typen %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31118
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "multiply operation not permitted on svbool_t"
! msgstr "operationen är inte tillåten på typen %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31120
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "divide operation not permitted on svbool_t"
! msgstr "operationen är inte tillåten på typen %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31123
- #, fuzzy
- #| msgid "operation not permitted on type %<bfloat16_t%>"
  msgid "shift operation not permitted on svbool_t"
! msgstr "operationen är inte tillåten på typen %<bfloat16_t%>"
  
  #: config/aarch64/aarch64.cc:31128
  msgid "only == and != operations permitted on svbool_t"
  msgstr ""
  
  #: config/aarch64/aarch64.cc:31130
- #, fuzzy
- #| msgid "stack usage computation not supported for this target"
  msgid "subscript operation not supported on svbool_t"
! msgstr "beräkning av stackanvändning stödjs inte av denna målarkitektur"
  
  #: config/aarch64/aarch64.cc:31151 config/aarch64/aarch64.cc:31184
  msgid "operation not permitted on type %<mfloat8_t%>"
--- 20326,20377 ----
  msgstr "ogiltig konvertering till typen %<bfloat8_t%>"
  
  #: config/aarch64/aarch64.cc:31104
  msgid "preincrement operation not permitted on svbool_t"
! msgstr "åtgärden preincrement är inte tillåten på svbool_t"
  
  #: config/aarch64/aarch64.cc:31106
  msgid "predecrement operation not permitted on svbool_t"
! msgstr "åtgärden predecrement är inte tillåten på svbool_t"
  
  #: config/aarch64/aarch64.cc:31108
  msgid "postincrement operation not permitted on svbool_t"
! msgstr "åtgärden postincrement är inte tillåten på svbool_t"
  
  #: config/aarch64/aarch64.cc:31110
  msgid "postdecrement operation not permitted on svbool_t"
! msgstr "åtgärden postdecrement är inte tillåten på svbool_t"
  
  #: config/aarch64/aarch64.cc:31112
  msgid "negation operation not permitted on svbool_t"
! msgstr "åtgärden negering är inte tillåten på svbool_t"
  
  #: config/aarch64/aarch64.cc:31114
  msgid "plus operation not permitted on svbool_t"
! msgstr "åtgärden plus är inte tillåten på svbool_t"
  
  #: config/aarch64/aarch64.cc:31116
  msgid "minus operation not permitted on svbool_t"
! msgstr "åtgärden minus är inte tillåten på svbool_t"
  
  #: config/aarch64/aarch64.cc:31118
  msgid "multiply operation not permitted on svbool_t"
! msgstr "åtgärden multiplicera är inte tillåten på svbool_t"
  
  #: config/aarch64/aarch64.cc:31120
  msgid "divide operation not permitted on svbool_t"
! msgstr "åtgärden dividera är inte tillåten på svbool_t"
  
  #: config/aarch64/aarch64.cc:31123
  msgid "shift operation not permitted on svbool_t"
! msgstr "åtgärden skifta är inte tillåten på svbool_t"
  
  #: config/aarch64/aarch64.cc:31128
  msgid "only == and != operations permitted on svbool_t"
  msgstr ""
  
  #: config/aarch64/aarch64.cc:31130
  msgid "subscript operation not supported on svbool_t"
! msgstr "åtgärden indexering stödjs inte på svbool_t"
  
  #: config/aarch64/aarch64.cc:31151 config/aarch64/aarch64.cc:31184
  msgid "operation not permitted on type %<mfloat8_t%>"
*************** msgstr "föråldrad Maverick-formatkod �
*** 20786,20795 ****
  
  #. Former iWMMXT support, removed after GCC-15.
  #: config/arm/arm.cc:24455
! #, fuzzy, c-format
! #| msgid "obsolete FPA format code '%c'"
  msgid "obsolete iWMMXT format code '%c'"
! msgstr "föråldrad FPA-formatkod ”%c”"
  
  #: config/arm/arm.cc:34277
  msgid "invalid conversion from type %<bfloat16_t%>"
--- 20615,20623 ----
  
  #. Former iWMMXT support, removed after GCC-15.
  #: config/arm/arm.cc:24455
! #, c-format
  msgid "obsolete iWMMXT format code '%c'"
! msgstr "föråldrad iWMMXT-formatkod ”%c”"
  
  #: config/arm/arm.cc:34277
  msgid "invalid conversion from type %<bfloat16_t%>"
*************** msgid "operand is not a specific integer
*** 21259,21268 ****
  msgstr "operanden är inte ett specifikt heltal, ogiltig operandkod ”R”"
  
  #: config/i386/i386.cc:14530
! #, fuzzy, c-format
! #| msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
  msgid "operand is not a memory reference, invalid operand code 'v'"
! msgstr "operand är inte en justerbar minnesreferens, ogiltig operandkod ”H”"
  
  #: config/i386/i386.cc:14618
  #, c-format
--- 21087,21095 ----
  msgstr "operanden är inte ett specifikt heltal, ogiltig operandkod ”R”"
  
  #: config/i386/i386.cc:14530
! #, c-format
  msgid "operand is not a memory reference, invalid operand code 'v'"
! msgstr "operand är inte en minnesreferens, ogiltig operandkod ”v”"
  
  #: config/i386/i386.cc:14618
  #, c-format
*************** msgid "invalid register number for 'N' m
*** 21590,21611 ****
  msgstr "ogiltig registernummer för modifieraren ”N”"
  
  #: config/riscv/riscv.cc:8236
! #, fuzzy, c-format
! #| msgid "modifier 'N' require register operand"
  msgid "modifier 'H' require register operand"
! msgstr "modifieraren ”N” behöver en registeroperand"
  
  #: config/riscv/riscv.cc:8241
! #, fuzzy, c-format
! #| msgid "modifier 'N' require register operand"
  msgid "modifier 'H' is for integer registers only"
! msgstr "modifieraren ”N” behöver en registeroperand"
  
  #: config/riscv/riscv.cc:8246
! #, fuzzy, c-format
! #| msgid "%qV qualifiers cannot be applied to %qT"
  msgid "modifier 'H' cannot be applied to R31"
! msgstr "%qV-kvalificerare kan inte tillämpas på %qT"
  
  #: config/rl78/rl78.cc:1999 config/rl78/rl78.cc:2085
  #, c-format
--- 21417,21435 ----
  msgstr "ogiltig registernummer för modifieraren ”N”"
  
  #: config/riscv/riscv.cc:8236
! #, c-format
  msgid "modifier 'H' require register operand"
! msgstr "modifieraren ”H” behöver en registeroperand"
  
  #: config/riscv/riscv.cc:8241
! #, c-format
  msgid "modifier 'H' is for integer registers only"
! msgstr "modifieraren ”H” är endast för heltalsregister"
  
  #: config/riscv/riscv.cc:8246
! #, c-format
  msgid "modifier 'H' cannot be applied to R31"
! msgstr "modifieraren ”H” kan inte tillämpas på R31"
  
  #: config/rl78/rl78.cc:1999 config/rl78/rl78.cc:2085
  #, c-format
*************** msgid "At global scope:"
*** 22437,22486 ****
  msgstr "I global räckvidd:"
  
  #: cp/reflect.cc:559
- #, fuzzy
- #| msgid "accumulator is not a constant integer"
  msgid "array element not a constant integer"
! msgstr "ackumulatorn är inte ett konstant heltal"
  
  #: cp/reflect.cc:567 cp/reflect.cc:3862
- #, fuzzy
- #| msgid "expected constant size"
  msgid "reflect_constant failed"
! msgstr "en konstant storlek förväntades"
  
  #: cp/reflect.cc:1000
- #, fuzzy
- #| msgid "function does not return string type"
  msgid "reflection does not represent a type"
! msgstr "funktionen returnerar inte typen sträng"
  
  #: cp/reflect.cc:1012
- #, fuzzy
- #| msgid "redeclaration of friend %q#D may not have default template arguments"
  msgid "reflection does not have template arguments"
! msgstr "omdeklaration av vän %q#D kan inte ha standardmallargument"
  
  #: cp/reflect.cc:1023
- #, fuzzy
- #| msgid "called object is not a function or function pointer"
  msgid "reflection does not represent a function or function type"
! msgstr "anropat objekt är inte en funktion eller funktionspekare"
  
  #: cp/reflect.cc:2324
  msgid "reflection does not represent an operator function or operator function template"
  msgstr ""
  
  #: cp/reflect.cc:2374
- #, fuzzy
- #| msgid "%<-Werror=%> argument %qs is not valid for %s"
  msgid "operators argument is not a valid operator"
! msgstr "%<-Werror=%>-argumentet %qs är inte giltigt för %s"
  
  #: cp/reflect.cc:2505
- #, fuzzy
- #| msgid "%qE does not name a type"
  msgid "reflection does not have a type"
! msgstr "%qE är inte namnet på en typ"
  
  #: cp/reflect.cc:2621
  msgid "reflection does not represent an object with static storage duration, or a reference to such an object"
--- 22261,22296 ----
  msgstr "I global räckvidd:"
  
  #: cp/reflect.cc:559
  msgid "array element not a constant integer"
! msgstr "vektorelementet är inte ett konstant heltal"
  
  #: cp/reflect.cc:567 cp/reflect.cc:3862
  msgid "reflect_constant failed"
! msgstr "reflect_constant misslyckades"
  
  #: cp/reflect.cc:1000
  msgid "reflection does not represent a type"
! msgstr "reflektionen representerar inte en typ"
  
  #: cp/reflect.cc:1012
  msgid "reflection does not have template arguments"
! msgstr "reflektionen har inte mallargument"
  
  #: cp/reflect.cc:1023
  msgid "reflection does not represent a function or function type"
! msgstr "reflektionen representerar inte en funktion eller funktionstyp"
  
  #: cp/reflect.cc:2324
  msgid "reflection does not represent an operator function or operator function template"
  msgstr ""
  
  #: cp/reflect.cc:2374
  msgid "operators argument is not a valid operator"
! msgstr "operatorsargument är inte en giltigt operator"
  
  #: cp/reflect.cc:2505
  msgid "reflection does not have a type"
! msgstr "reflektionen har inte en typ"
  
  #: cp/reflect.cc:2621
  msgid "reflection does not represent an object with static storage duration, or a reference to such an object"
*************** msgid "reflection does not represent an
*** 22491,22512 ****
  msgstr ""
  
  #: cp/reflect.cc:2922
- #, fuzzy
- #| msgid "function does not return a value to test"
  msgid "reflection does not represent an entity with parent"
! msgstr "funktionen returnerar inte ett värde att testa"
  
  #: cp/reflect.cc:3045
- #, fuzzy
- #| msgid "friend declaration does not name a class or function"
  msgid "reflection does not represent parameter of current function"
! msgstr "vändeklaration som inte namnger en klass eller funktion"
  
  #: cp/reflect.cc:3066
- #, fuzzy
- #| msgid "called object is not a function or function pointer"
  msgid "reflection does not represent a function or function type with a return type"
! msgstr "anropat objekt är inte en funktion eller funktionspekare"
  
  #: cp/reflect.cc:3097
  msgid "reflection of virtual direct base relationship with abstract derived class"
--- 22301,22316 ----
  msgstr ""
  
  #: cp/reflect.cc:2922
  msgid "reflection does not represent an entity with parent"
! msgstr "reflektionen representerar inte en entitet med förälder"
  
  #: cp/reflect.cc:3045
  msgid "reflection does not represent parameter of current function"
! msgstr "reflektionen representerar inte en parameter till den aktuella funktionen"
  
  #: cp/reflect.cc:3066
  msgid "reflection does not represent a function or function type with a return type"
! msgstr "reflektionen representerar inte en funktion eller funktionstyp med en returtyp"
  
  #: cp/reflect.cc:3097
  msgid "reflection of virtual direct base relationship with abstract derived class"
*************** msgid "reflection unsuitable for offset_
*** 22517,22554 ****
  msgstr ""
  
  #: cp/reflect.cc:3108
- #, fuzzy
- #| msgid "non-constant condition for static assertion"
  msgid "non-constant offset for offset_of"
! msgstr "icke-konstant villkor i statisk deklaration"
  
  #: cp/reflect.cc:3172
  msgid "reflection not suitable for size_of"
  msgstr ""
  
  #: cp/reflect.cc:3191
- #, fuzzy
- #| msgid "conversion to incomplete type"
  msgid "reflection with incomplete type in size_of"
! msgstr "konvertering till ofullständig typ"
  
  #: cp/reflect.cc:3227
- #, fuzzy
- #| msgid "Do not tune writable data alignment."
  msgid "reflection not suitable for alignment_of"
! msgstr "Trimma inte justering för skrivbar data."
  
  #: cp/reflect.cc:3263
- #, fuzzy
- #| msgid "assignment of function %qD"
  msgid "alignment_of on function type"
! msgstr "tilldelning av funktion %qD"
  
  #: cp/reflect.cc:3272
- #, fuzzy
- #| msgid "indirection will not access object of incomplete type %qT in statement"
  msgid "reflection with incomplete type in alignment_of"
! msgstr "indirektion kommer inte att använda objekt av ofullständig typ %qT i sats"
  
  #: cp/reflect.cc:3307
  msgid "reflection not suitable for bit_size_of"
--- 22321,22348 ----
  msgstr ""
  
  #: cp/reflect.cc:3108
  msgid "non-constant offset for offset_of"
! msgstr "icke-konstant avstånd för offset_of"
  
  #: cp/reflect.cc:3172
  msgid "reflection not suitable for size_of"
  msgstr ""
  
  #: cp/reflect.cc:3191
  msgid "reflection with incomplete type in size_of"
! msgstr "reflektion med ofullständig typ i size_of"
  
  #: cp/reflect.cc:3227
  msgid "reflection not suitable for alignment_of"
! msgstr "reflektion inte möjlig för alignment_of"
  
  #: cp/reflect.cc:3263
  msgid "alignment_of on function type"
! msgstr "alignement_of på en funktionstyp"
  
  #: cp/reflect.cc:3272
  msgid "reflection with incomplete type in alignment_of"
! msgstr "reflektion med en ofullständig typ i alignment_of"
  
  #: cp/reflect.cc:3307
  msgid "reflection not suitable for bit_size_of"
*************** msgid "reflection does not represent a t
*** 22575,22755 ****
  msgstr ""
  
  #: cp/reflect.cc:3779
- #, fuzzy
- #| msgid "function does not return a value to test"
  msgid "reflection does not represent a complete type or type alias"
! msgstr "funktionen returnerar inte ett värde att testa"
  
  #: cp/reflect.cc:3886
  msgid "reflect_object failed"
  msgstr ""
  
  #: cp/reflect.cc:3913
- #, fuzzy
- #| msgid "expected function name"
  msgid "reflect_function failed"
! msgstr "ett funktionsnamn förväntades"
  
  #: cp/reflect.cc:4792
- #, fuzzy
- #| msgid "invalid embedcfg: missing Files"
  msgid "value member missing"
! msgstr "felaktig embedcfg: saknad Files"
  
  #: cp/reflect.cc:4803 cp/reflect.cc:4812
- #, fuzzy
- #| msgid "expected loop number"
  msgid "unexpected value of value member"
! msgstr "slingnummer förväntades"
  
  #: cp/reflect.cc:4919
  msgid "type member missing"
  msgstr ""
  
  #: cp/reflect.cc:4943
- #, fuzzy
- #| msgid "function does not return string type"
  msgid "reflection does not represent a complete enumeration type"
! msgstr "funktionen returnerar inte typen sträng"
  
  #: cp/reflect.cc:5000
- #, fuzzy
- #| msgid "%qD does not have integral or enumeration type"
  msgid "reflection does not represent an enumerable enumeration type"
! msgstr "%qD har inte heltals- eller uppräkningstyp"
  
  #: cp/reflect.cc:5156
- #, fuzzy
- #| msgid "iterator step with non-integral type"
  msgid "reflection represents non-integral or bool type"
! msgstr "iteratorsteg med en icke-heltalstyp"
  
  #: cp/reflect.cc:5295
- #, fuzzy
- #| msgid "function does not return string type"
  msgid "reflection does not represent a template"
! msgstr "funktionen returnerar inte typen sträng"
  
  #: cp/reflect.cc:5318
- #, fuzzy
- #| msgid "invalid argument of %qE attribute"
  msgid "invalid argument to can_substitute"
! msgstr "ogiltigt argument till attributet %qE"
  
  #: cp/reflect.cc:5380
  msgid "can_substitute returned false"
  msgstr ""
  
  #: cp/reflect.cc:5509
- #, fuzzy
- #| msgid "target is not pointer or reference"
  msgid "type is not object or reference type"
! msgstr "målet är inte en pekare eller referens"
  
  #: cp/reflect.cc:5754
  msgid "conversion from ordinary literal encoding to source charset failed"
  msgstr ""
  
  #: cp/reflect.cc:5760
- #, fuzzy
- #| msgid "conversion from %qT to %qT may change value"
  msgid "conversion from UTF-8 encoding to source charset failed"
! msgstr "konvertering från %qT till %qT kan ändra dess värde"
  
  #: cp/reflect.cc:5768
- #, fuzzy
- #| msgid "%<%c%> is not a valid character in an identifier"
  msgid "name is not a valid identifier"
! msgstr "%<%c%> är inte ett giltig bokstav i en identifierare"
  
  #: cp/reflect.cc:5774
  msgid "name is a keyword"
  msgstr ""
  
  #: cp/reflect.cc:5777
- #, fuzzy
- #| msgid "variant %qD is a built-in"
  msgid "name is a built-in trait"
! msgstr "varianten %qD är en inbyggd"
  
  #: cp/reflect.cc:5786
- #, fuzzy
- #| msgid "register name not specified for %q+D"
  msgid "neither name nor bit_width specified"
! msgstr "inget registernamn angivet för %q+D"
  
  #: cp/reflect.cc:5792
  msgid "bit_width specified with non-integral and non-enumeration type"
  msgstr ""
  
  #: cp/reflect.cc:5797
- #, fuzzy
- #| msgid "alignment may not be specified for %qD"
  msgid "both alignment and bit_width specified"
! msgstr "minnesjusteringen får inte anges för %qD"
  
  #: cp/reflect.cc:5801
  msgid "bit_width specified with no_unique_address true"
  msgstr ""
  
  #: cp/reflect.cc:5806
- #, fuzzy
- #| msgid "field width specifier"
  msgid "bit_width 0 with specified name"
! msgstr "fältbreddsspecificerare"
  
  #: cp/reflect.cc:5809
- #, fuzzy
- #| msgid "pack index is negative"
  msgid "bit_width is negative"
! msgstr "paketindexet är negativt"
  
  #: cp/reflect.cc:5816
- #, fuzzy
- #| msgid "requested alignment is not a power of 2"
  msgid "alignment is not power of two"
! msgstr "begärd minnesjustering är inte en potens av 2"
  
  #: cp/reflect.cc:5819
- #, fuzzy
- #| msgid "pack index is negative"
  msgid "alignment is negative"
! msgstr "paketindexet är negativt"
  
  #: cp/reflect.cc:5826
- #, fuzzy
- #| msgid "alignment of %qD is bigger than original declaration"
  msgid "alignment is smaller than alignment_of"
! msgstr "justering av %qD är större än originaldeklarationen"
  
  #: cp/reflect.cc:6363
- #, fuzzy
- #| msgid "incomplete implementation of class %qE"
  msgid "incomplete parent class"
! msgstr "ofullständig implementation av klassen %qE"
  
  #: cp/reflect.cc:6799
- #, fuzzy
- #| msgid "%qE is not a class or namespace"
  msgid "neither complete class type nor namespace"
! msgstr "%qE är inte en klass eller namnrymd"
  
  #: cp/reflect.cc:6829 cp/reflect.cc:6857 cp/reflect.cc:6886 cp/reflect.cc:6924
  #: cp/reflect.cc:6962 cp/reflect.cc:6993
- #, fuzzy
- #| msgid "source is of incomplete class type"
  msgid "not a complete class type"
! msgstr "källan är en ofullständig klasstyp"
  
  #: cp/reflect.cc:6952
  msgid "closure type"
  msgstr ""
  
  #: cp/reflect.cc:7128 cp/reflect.cc:7187 cp/reflect.cc:7261
- #, fuzzy
- #| msgid "a template cannot be defaulted"
  msgid "value cannot be extracted"
! msgstr "en mall kan inte standarddefinieras"
  
  #: cp/rtti.cc:592
  msgid "target is not pointer or reference to class"
--- 22369,22501 ----
  msgstr ""
  
  #: cp/reflect.cc:3779
  msgid "reflection does not represent a complete type or type alias"
! msgstr "reflektionen representerar inte en fullständig typ eller typalias"
  
  #: cp/reflect.cc:3886
  msgid "reflect_object failed"
  msgstr ""
  
  #: cp/reflect.cc:3913
  msgid "reflect_function failed"
! msgstr "reflect_function misslyckades"
  
  #: cp/reflect.cc:4792
  msgid "value member missing"
! msgstr "värdemedlem saknas"
  
  #: cp/reflect.cc:4803 cp/reflect.cc:4812
  msgid "unexpected value of value member"
! msgstr "oväntat värde på värdemedlem"
  
  #: cp/reflect.cc:4919
  msgid "type member missing"
  msgstr ""
  
  #: cp/reflect.cc:4943
  msgid "reflection does not represent a complete enumeration type"
! msgstr "reflektionen representerar inte en fullständig uppräkningstyp"
  
  #: cp/reflect.cc:5000
  msgid "reflection does not represent an enumerable enumeration type"
! msgstr "reflektionen representerar inte en uppräkningsbar uppräkningstyp"
  
  #: cp/reflect.cc:5156
  msgid "reflection represents non-integral or bool type"
! msgstr "reflektionen representerar en icke-heltals eller booleansk typ"
  
  #: cp/reflect.cc:5295
  msgid "reflection does not represent a template"
! msgstr "reflektionen representerar inte en mall"
  
  #: cp/reflect.cc:5318
  msgid "invalid argument to can_substitute"
! msgstr "ogiltigt argument till can_substitute"
  
  #: cp/reflect.cc:5380
  msgid "can_substitute returned false"
  msgstr ""
  
  #: cp/reflect.cc:5509
  msgid "type is not object or reference type"
! msgstr "typen är inte en objekt- eller referenstyp"
  
  #: cp/reflect.cc:5754
  msgid "conversion from ordinary literal encoding to source charset failed"
  msgstr ""
  
  #: cp/reflect.cc:5760
  msgid "conversion from UTF-8 encoding to source charset failed"
! msgstr "konvertering från kodningen UTF-8 till källteckenuppsättningen misslyckades"
  
  #: cp/reflect.cc:5768
  msgid "name is not a valid identifier"
! msgstr "namnet är inte en giltig identifierare"
  
  #: cp/reflect.cc:5774
  msgid "name is a keyword"
  msgstr ""
  
  #: cp/reflect.cc:5777
  msgid "name is a built-in trait"
! msgstr "namnet är en inbyggd egenskap"
  
  #: cp/reflect.cc:5786
  msgid "neither name nor bit_width specified"
! msgstr "varken namnet eller bit_width angivet"
  
  #: cp/reflect.cc:5792
  msgid "bit_width specified with non-integral and non-enumeration type"
  msgstr ""
  
  #: cp/reflect.cc:5797
  msgid "both alignment and bit_width specified"
! msgstr "både justering och bit_width angivet"
  
  #: cp/reflect.cc:5801
  msgid "bit_width specified with no_unique_address true"
  msgstr ""
  
  #: cp/reflect.cc:5806
  msgid "bit_width 0 with specified name"
! msgstr "fältbreddsspecificerare<"
  
  #: cp/reflect.cc:5809
  msgid "bit_width is negative"
! msgstr "bit_width är negativt"
  
  #: cp/reflect.cc:5816
  msgid "alignment is not power of two"
! msgstr "minnesjusteringen är inte en potens av två"
  
  #: cp/reflect.cc:5819
  msgid "alignment is negative"
! msgstr "justeringen är negativ"
  
  #: cp/reflect.cc:5826
  msgid "alignment is smaller than alignment_of"
! msgstr "justering är mindre än alignment_of"
  
  #: cp/reflect.cc:6363
  msgid "incomplete parent class"
! msgstr "ofullständig föräldraklass"
  
  #: cp/reflect.cc:6799
  msgid "neither complete class type nor namespace"
! msgstr "varken en fullständig klass eller namnrymd"
  
  #: cp/reflect.cc:6829 cp/reflect.cc:6857 cp/reflect.cc:6886 cp/reflect.cc:6924
  #: cp/reflect.cc:6962 cp/reflect.cc:6993
  msgid "not a complete class type"
! msgstr "inte en fullständig klasstyp"
  
  #: cp/reflect.cc:6952
  msgid "closure type"
  msgstr ""
  
  #: cp/reflect.cc:7128 cp/reflect.cc:7187 cp/reflect.cc:7261
  msgid "value cannot be extracted"
! msgstr "värdet kan inte extraheras"
  
  #: cp/rtti.cc:592
  msgid "target is not pointer or reference to class"
*************** msgid "%<-mrelax%> is only supported for
*** 24216,24225 ****
  msgstr "%<-mrelax%> stödjs endast för RTP PIC"
  
  #: cobol/exceptg.h:80
! #, fuzzy, gcc-internal-format
! #| msgid "exception '%s'"
  msgid "exception %qs"
! msgstr "undantaget ”%s”"
  
  #: cobol/parse_ante.h:1659
  #, gcc-internal-format, gfc-internal-format
--- 23962,23970 ----
  msgstr "%<-mrelax%> stödjs endast för RTP PIC"
  
  #: cobol/exceptg.h:80
! #, gcc-internal-format
  msgid "exception %qs"
! msgstr "undantaget %qs"
  
  #: cobol/parse_ante.h:1659
  #, gcc-internal-format, gfc-internal-format
*************** msgid "scan.o: %s"
*** 24253,24280 ****
  msgstr "scan.o: %s"
  
  #: cobol/scan_ante.h:673
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s:%d: invalid %<symbol_type_t%> %d"
  msgid "%s:%d: invalid level '%s'"
! msgstr "%s:%d: felaktig %<symbol_type_t%> %d"
  
  #: cobol/scan_ante.h:1218
! #, fuzzy, gcc-internal-format
! #| msgid "%s:%d: invalid %<symbol_type_t%> %d"
  msgid "%s:%d: invalid symbol type %s for symbol %qs"
! msgstr "%s:%d: felaktig %<symbol_type_t%> %d"
  
  #: cobol/scan_ante.h:1250
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s:%d: could not add '%s'"
  msgid "%s:%d: invalid integer '%s'"
! msgstr "%s:%d: kunde inte lägga till ”%s”"
  
  #: cobol/scan_post.h:123
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s: %s: %s"
  msgid "%s:%d: %s: %s"
! msgstr "%s: %s: %s"
  
  #. Use CHECK_FIELD when a should be non-null, and a->var_decl_node also should
  #. by non-null.  (The useless calls to abort() are because cppcheck doesn't
--- 23998,24021 ----
  msgstr "scan.o: %s"
  
  #: cobol/scan_ante.h:673
! #, gcc-internal-format, gfc-internal-format
  msgid "%s:%d: invalid level '%s'"
! msgstr "%s:%d: felaktig nivå ”%s”"
  
  #: cobol/scan_ante.h:1218
! #, gcc-internal-format
  msgid "%s:%d: invalid symbol type %s for symbol %qs"
! msgstr "%s:%d: felaktig symboltyp %s för symbolen %qs"
  
  #: cobol/scan_ante.h:1250
! #, gcc-internal-format, gfc-internal-format
  msgid "%s:%d: invalid integer '%s'"
! msgstr "%s:%d: felaktigt heltal ”%s”"
  
  #: cobol/scan_post.h:123
! #, gcc-internal-format, gfc-internal-format
  msgid "%s:%d: %s: %s"
! msgstr "%s:%d: %s: %s"
  
  #. Use CHECK_FIELD when a should be non-null, and a->var_decl_node also should
  #. by non-null.  (The useless calls to abort() are because cppcheck doesn't
*************** msgstr "%s: %s: %s"
*** 24284,24293 ****
  #. This version is a bit more lax, for special cases
  #: cobol/show_parse.h:452 cobol/show_parse.h:456 cobol/show_parse.h:469
  #: cobol/show_parse.h:473 cobol/show_parse.h:486
! #, fuzzy, gcc-internal-format
! #| msgid "unused parameter %qD"
  msgid "%s: parameter %<"
! msgstr "oanvänd parameter %qD"
  
  #. A general purpose syntax error.
  #: fortran/gfortran.h:3644 fortran/io.cc:3728 fortran/io.cc:4428
--- 24025,24033 ----
  #. This version is a bit more lax, for special cases
  #: cobol/show_parse.h:452 cobol/show_parse.h:456 cobol/show_parse.h:469
  #: cobol/show_parse.h:473 cobol/show_parse.h:486
! #, gcc-internal-format
  msgid "%s: parameter %<"
! msgstr "%s: parameter %<"
  
  #. A general purpose syntax error.
  #: fortran/gfortran.h:3644 fortran/io.cc:3728 fortran/io.cc:4428
*************** msgid "%<-mintel-syntax%> and %<-mno-int
*** 24374,24383 ****
  msgstr "%<-mintel-syntax%> och %<-mno-intel-syntax%> bör undvikas.  Använd %<-masm=intel%> och %<-masm=att%> istället"
  
  #: config/i386/i386.opt:655
! #, fuzzy, gcc-internal-format
! #| msgid "%<-mvrsave=no%> is deprecated; use %<-mno-vrsave%> instead"
  msgid "%<-mstore-max=%> is deprecated; use %<-mmove-max=%> instead"
! msgstr "%<-mvrsave=no%> bör undvikas; använd %<-mno-vrsave%> istället"
  
  #: config/i386/i386.opt:720
  #, gcc-internal-format
--- 24114,24122 ----
  msgstr "%<-mintel-syntax%> och %<-mno-intel-syntax%> bör undvikas.  Använd %<-masm=intel%> och %<-masm=att%> istället"
  
  #: config/i386/i386.opt:655
! #, gcc-internal-format
  msgid "%<-mstore-max=%> is deprecated; use %<-mmove-max=%> instead"
! msgstr "%<-mstore-max=%> bör undvikas; använd %<-mmove-max=%> istället"
  
  #: config/i386/i386.opt:720
  #, gcc-internal-format
*************** msgid "unknown LTO partitioning model %q
*** 24454,24463 ****
  msgstr "okänd LTO-partitioneringsmodell %qs"
  
  #: params.opt:524
! #, fuzzy, gcc-internal-format
! #| msgid "unknown LTO partitioning model %qs"
  msgid "unknown LTO locality partitioning heuristics %qs"
! msgstr "okänd LTO-partitioneringsmodell %qs"
  
  #: params.opt:978
  #, gcc-internal-format
--- 24193,24201 ----
  msgstr "okänd LTO-partitioneringsmodell %qs"
  
  #: params.opt:524
! #, gcc-internal-format
  msgid "unknown LTO locality partitioning heuristics %qs"
! msgstr "okänd partitioneringsheuristik för LTO-lokalitet %qs"
  
  #: params.opt:978
  #, gcc-internal-format
*************** msgid "unrecognized zero init padding bi
*** 24590,24605 ****
  msgstr "okänd sort %qs av nollinitierande utfyllnadsbitar"
  
  #: algol68/lang.opt:52
! #, fuzzy, gcc-internal-format
! #| msgid "argument %qs to %<-Wbidi-chars%> not recognized"
  msgid "argument %qs to %<-Whidden-declaration%> not recognized"
! msgstr "argumentet %qs till %<-Wbidi-chars%> är inte känt"
  
  #: algol68/lang.opt:118
! #, fuzzy, gcc-internal-format
! #| msgid "unknown trampoline implementation %qs"
  msgid "unknown stropping_regime setting %qs"
! msgstr "okänd trampolinimplementation %qs"
  
  #: rust/lang.opt:90
  #, gcc-internal-format
--- 24328,24341 ----
  msgstr "okänd sort %qs av nollinitierande utfyllnadsbitar"
  
  #: algol68/lang.opt:52
! #, gcc-internal-format
  msgid "argument %qs to %<-Whidden-declaration%> not recognized"
! msgstr "argumentet %qs till %<-Whidden-declaration%> är inte känt"
  
  #: algol68/lang.opt:118
! #, gcc-internal-format
  msgid "unknown stropping_regime setting %qs"
! msgstr "okänd inställning av stropping_regime %qs"
  
  #: rust/lang.opt:90
  #, gcc-internal-format
*************** msgid "no class name specified with %qs"
*** 24691,24706 ****
  msgstr "inget klassnamn angivet med %qs"
  
  #: c-family/c.opt:1910
! #, fuzzy, gcc-internal-format
! #| msgid "unrecognized state string %qs"
  msgid "unrecognized contract evaluation semantic %qs"
! msgstr "okänd tillståndssträng %qs"
  
  #: c-family/c.opt:1942
! #, fuzzy, gcc-internal-format
! #| msgid "unrecognized argument in option %qs"
  msgid "unrecognized client contract check option %qs"
! msgstr "okänt argument till flaggan %qs"
  
  #: c-family/c.opt:1958
  #, gcc-internal-format
--- 24427,24440 ----
  msgstr "inget klassnamn angivet med %qs"
  
  #: c-family/c.opt:1910
! #, gcc-internal-format
  msgid "unrecognized contract evaluation semantic %qs"
! msgstr "okänd semantik för kontraktevaluering %qs"
  
  #: c-family/c.opt:1942
! #, gcc-internal-format
  msgid "unrecognized client contract check option %qs"
! msgstr "okänt argument till klientkontraktskontroll %qs"
  
  #: c-family/c.opt:1958
  #, gcc-internal-format
*************** msgid "unknown C++ standard %qs"
*** 24758,24797 ****
  msgstr "okänd C++-standard %qs"
  
  #: attr-callback.cc:199
! #, fuzzy, gcc-internal-format
! #| msgid "standard %qE attribute can only be applied to functions"
  msgid "%qE attribute can only be used on functions"
! msgstr "standardattributet %qE kan bara tillämpas på funktioner"
  
  #: attr-callback.cc:207
! #, fuzzy, gcc-internal-format
! #| msgid "requested position is not an integer constant"
  msgid "argument specifying callback function position is not an integer constant"
! msgstr "den begärda positionen är inte en heltalskonstant"
  
  #: attr-callback.cc:227
! #, fuzzy, gcc-internal-format
! #| msgid "virtual functions cannot be friends"
  msgid "callback function position cannot be marked as unknown"
! msgstr "virtuella funktioner kan inte vara vänner"
  
  #: attr-callback.cc:235
! #, fuzzy, gcc-internal-format
! #| msgid "pack index is out of range"
  msgid "callback function position out of range"
! msgstr "paketindexet är utanför intervallet"
  
  #: attr-callback.cc:246
! #, fuzzy, gcc-internal-format
! #| msgid "plugin %s registered a null callback function for event %s"
  msgid "could not retrieve callback function from arguments"
! msgstr "insticksmodul %s registrerade en tom återanropsfunktion för händelse %s"
  
  #: attr-callback.cc:255
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "argument %d of %qE must not be a pointer to a function"
  msgid "argument no. %d is not an address of a function"
! msgstr "argument %d till %qE får inte vara en pekare till en funktion"
  
  #: attr-callback.cc:275
  #, gcc-internal-format, gfc-internal-format
--- 24492,24525 ----
  msgstr "okänd C++-standard %qs"
  
  #: attr-callback.cc:199
! #, gcc-internal-format
  msgid "%qE attribute can only be used on functions"
! msgstr "attributet %qE kan bara användas på funktioner"
  
  #: attr-callback.cc:207
! #, gcc-internal-format
  msgid "argument specifying callback function position is not an integer constant"
! msgstr "argumentet som anger återanropsfunktionens position är inte en heltalskonstant"
  
  #: attr-callback.cc:227
! #, gcc-internal-format
  msgid "callback function position cannot be marked as unknown"
! msgstr "återanropsfunktionens position kan inte markeras som okänd"
  
  #: attr-callback.cc:235
! #, gcc-internal-format
  msgid "callback function position out of range"
! msgstr "återanropsfunktionens position är utanför intervallet"
  
  #: attr-callback.cc:246
! #, gcc-internal-format
  msgid "could not retrieve callback function from arguments"
! msgstr "kunde inte hämta återanropsfunktionen från argumenten"
  
  #: attr-callback.cc:255
! #, gcc-internal-format, gfc-internal-format
  msgid "argument no. %d is not an address of a function"
! msgstr "argument nr. %d är inte en adress till en funktion"
  
  #: attr-callback.cc:275
  #, gcc-internal-format, gfc-internal-format
*************** msgid "argument number mismatch, %d expe
*** 24799,24820 ****
  msgstr ""
  
  #: attr-callback.cc:293
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "argument %qd is not a constant"
  msgid "argument no. %d is not an integer constant"
! msgstr "argumentet %qd är inte en konstant"
  
  #: attr-callback.cc:311
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "pack index is out of range"
  msgid "callback argument index %d is out of range"
! msgstr "paketindexet är utanför intervallet"
  
  #: attr-callback.cc:324
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "operand type %qT is incompatible with argument %d of %qE"
  msgid "argument type at index %d is not compatible with callback argument type at index %d"
! msgstr "operandtypen %qT är inkompatibel med argument %d till %qE"
  
  #: attr-callback.cc:339
  #, gcc-internal-format, gfc-internal-format
--- 24527,24545 ----
  msgstr ""
  
  #: attr-callback.cc:293
! #, gcc-internal-format, gfc-internal-format
  msgid "argument no. %d is not an integer constant"
! msgstr "argument nr. %d är inte en heltalskonstant"
  
  #: attr-callback.cc:311
! #, gcc-internal-format, gfc-internal-format
  msgid "callback argument index %d is out of range"
! msgstr "återanropargumentets index %d är utanför intervallet"
  
  #: attr-callback.cc:324
! #, gcc-internal-format, gfc-internal-format
  msgid "argument type at index %d is not compatible with callback argument type at index %d"
! msgstr "argumenttypen vid index %d är inte kompatibelt med återanropsargumentets typ vid index %d"
  
  #: attr-callback.cc:339
  #, gcc-internal-format, gfc-internal-format
*************** msgid "variable %q+D definition is marke
*** 25009,25024 ****
  msgstr "variabeldefinition %q+D är markerad dllimport"
  
  #: attribs.cc:2016
! #, fuzzy, gcc-internal-format
! #| msgid "initialized variable %q+D is marked dllimport"
  msgid "thread-local variable %q+D declared as dllimport"
! msgstr "initierad variabel %q+D är markerad som dllimport"
  
  #: attribs.cc:2046
! #, fuzzy, gcc-internal-format
! #| msgid "to be allocated variable declared here"
  msgid "thread-local variable %q+D declared as dllexport"
! msgstr "variabeln att allokera deklarerad här"
  
  #: attribs.cc:2054
  #, gcc-internal-format
--- 24734,24747 ----
  msgstr "variabeldefinition %q+D är markerad dllimport"
  
  #: attribs.cc:2016
! #, gcc-internal-format
  msgid "thread-local variable %q+D declared as dllimport"
! msgstr "den trådlokala variabeln %q+D är deklarerad som dllimport"
  
  #: attribs.cc:2046
! #, gcc-internal-format
  msgid "thread-local variable %q+D declared as dllexport"
! msgstr "den trådlokala variabeln %q+D deklarerad som dllexport"
  
  #: attribs.cc:2054
  #, gcc-internal-format
*************** msgid "auto-profile cannot encode offset
*** 25053,25062 ****
  msgstr ""
  
  #: auto-profile.cc:827
! #, fuzzy, gcc-internal-format
! #| msgid "deallocation of already deallocated storage"
  msgid "location offset is related to"
! msgstr "avallokering av en redan avallokerad lagring"
  
  #: auto-profile.cc:830
  #, gcc-internal-format
--- 24776,24784 ----
  msgstr ""
  
  #: auto-profile.cc:827
! #, gcc-internal-format
  msgid "location offset is related to"
! msgstr "platsavståndet är relaterat till"
  
  #: auto-profile.cc:830
  #, gcc-internal-format
*************** msgid "auto-profile cannot encode discri
*** 25064,25073 ****
  msgstr ""
  
  #: auto-profile.cc:866
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute is not supported for R8C target"
  msgid "auto-profile is not supported for targets with user label prefix"
! msgstr "attributet %qE stödjs inte för denna målarkitekturen R8C"
  
  #: auto-profile.cc:1086
  #, gcc-internal-format, gfc-internal-format
--- 24786,24794 ----
  msgstr ""
  
  #: auto-profile.cc:866
! #, gcc-internal-format
  msgid "auto-profile is not supported for targets with user label prefix"
! msgstr "autoprofilering stödjs inte för mål med användaretikettsprefix"
  
  #: auto-profile.cc:1086
  #, gcc-internal-format, gfc-internal-format
*************** msgstr ""
*** 25086,25095 ****
  
  #: auto-profile.cc:1607 auto-profile.cc:1833 auto-profile.cc:1842
  #: auto-profile.cc:1884
! #, fuzzy, gcc-internal-format
! #| msgid "edge %s->%s has no corresponding call_stmt"
  msgid "corresponding call"
! msgstr "båge %s->%s har ingen motsvarande anropssats"
  
  #: auto-profile.cc:1652
  #, gcc-internal-format
--- 24807,24815 ----
  
  #: auto-profile.cc:1607 auto-profile.cc:1833 auto-profile.cc:1842
  #: auto-profile.cc:1884
! #, gcc-internal-format
  msgid "corresponding call"
! msgstr "motsvarande anrop"
  
  #: auto-profile.cc:1652
  #, gcc-internal-format
*************** msgid "duplicated count information in a
*** 25097,25106 ****
  msgstr ""
  
  #: auto-profile.cc:1657
! #, fuzzy, gcc-internal-format
! #| msgid "no corresponding deallocation function for %qD"
  msgid "corresponding source location"
! msgstr "ingen motsvarande avallokeringsfunktion för %qD"
  
  #: auto-profile.cc:1828
  #, gcc-internal-format
--- 24817,24825 ----
  msgstr ""
  
  #: auto-profile.cc:1657
! #, gcc-internal-format
  msgid "corresponding source location"
! msgstr "motsvarande källplats"
  
  #: auto-profile.cc:1828
  #, gcc-internal-format
*************** msgid "function contains two calls of th
*** 25128,25143 ****
  msgstr ""
  
  #: auto-profile.cc:1944
! #, fuzzy, gcc-internal-format
! #| msgid "call invocation refers to locals"
  msgid "location of the first call"
! msgstr "anropsinvokeringen refererar till lokala"
  
  #: auto-profile.cc:1946
! #, fuzzy, gcc-internal-format
! #| msgid "location of the previous reduction for %qE"
  msgid "location of the second call"
! msgstr "platsen för den tidigare reduktionen för %qE"
  
  #: auto-profile.cc:2000
  #, gcc-internal-format
--- 24847,24860 ----
  msgstr ""
  
  #: auto-profile.cc:1944
! #, gcc-internal-format
  msgid "location of the first call"
! msgstr ""
  
  #: auto-profile.cc:1946
! #, gcc-internal-format
  msgid "location of the second call"
! msgstr "platsen för den det andra anropet"
  
  #: auto-profile.cc:2000
  #, gcc-internal-format
*************** msgid "auto-profile of %q+F contains ext
*** 25155,25164 ****
  msgstr ""
  
  #: auto-profile.cc:2058 auto-profile.cc:2099
! #, fuzzy, gcc-internal-format
! #| msgid "creating array of functions"
  msgid "location is after end of function"
! msgstr "skapar vektor av funktioner"
  
  #: auto-profile.cc:2087
  #, gcc-internal-format
--- 24872,24880 ----
  msgstr ""
  
  #: auto-profile.cc:2058 auto-profile.cc:2099
! #, gcc-internal-format
  msgid "location is after end of function"
! msgstr ""
  
  #: auto-profile.cc:2087
  #, gcc-internal-format
*************** msgid "AutoFDO profile version %u does n
*** 25196,25205 ****
  msgstr "AutoFDO-profilens version %u stämmer inte med %u"
  
  #: auto-profile.cc:3237
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "cannot read string table from %s"
  msgid "cannot read summary information from %s"
! msgstr "det går inte att läsa strängtabellen från %s"
  
  #: auto-profile.cc:3245
  #, gcc-internal-format, gfc-internal-format
--- 24912,24920 ----
  msgstr "AutoFDO-profilens version %u stämmer inte med %u"
  
  #: auto-profile.cc:3237
! #, gcc-internal-format, gfc-internal-format
  msgid "cannot read summary information from %s"
! msgstr "det går inte att läsa sammanfattningsinformationen från %s"
  
  #: auto-profile.cc:3245
  #, gcc-internal-format, gfc-internal-format
*************** msgid "cannot read function profile from
*** 25212,25221 ****
  msgstr "det går inte att läsa profilen från %s"
  
  #: auto-profile.cc:3264
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "cannot read function profile from %s"
  msgid "cannot read module profile from %s"
! msgstr "det går inte att läsa profilen från %s"
  
  #: builtins.cc:702
  #, gcc-internal-format
--- 24927,24935 ----
  msgstr "det går inte att läsa profilen från %s"
  
  #: auto-profile.cc:3264
! #, gcc-internal-format, gfc-internal-format
  msgid "cannot read module profile from %s"
! msgstr "det går inte att läsa modulprofilen från %s"
  
  #: builtins.cc:702
  #, gcc-internal-format
*************** msgid "%s does not support dump_bb_for_g
*** 25608,25617 ****
  msgstr "%s stödjer inte dump_bb_for_graph"
  
  #: cfghooks.cc:364
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s does not support dump_bb_for_graph"
  msgid "%s does not support dump_bb_as_sarif_properties"
! msgstr "%s stödjer inte dump_bb_for_graph"
  
  #: cfghooks.cc:418
  #, gcc-internal-format, gfc-internal-format
--- 25322,25330 ----
  msgstr "%s stödjer inte dump_bb_for_graph"
  
  #: cfghooks.cc:364
! #, gcc-internal-format, gfc-internal-format
  msgid "%s does not support dump_bb_as_sarif_properties"
! msgstr "%s stödjer inte dump_bb_as_sarif_properties"
  
  #: cfghooks.cc:418
  #, gcc-internal-format, gfc-internal-format
*************** msgid "inline clone is forced to output"
*** 26154,26163 ****
  msgstr "inline-klon tvingas till utdata"
  
  #: cgraph.cc:4011
! #, fuzzy, gcc-internal-format
! #| msgid "inline clone is forced to output"
  msgid "inline clone is referenced by assembly"
! msgstr "inline-klon tvingas till utdata"
  
  #: cgraph.cc:4018
  #, gcc-internal-format
--- 25867,25875 ----
  msgstr "inline-klon tvingas till utdata"
  
  #: cgraph.cc:4011
! #, gcc-internal-format
  msgid "inline clone is referenced by assembly"
! msgstr "inline-klon refereras av assemblern"
  
  #: cgraph.cc:4018
  #, gcc-internal-format
*************** msgid "edge count is not compatible with
*** 26190,26199 ****
  msgstr "bågräknaren är inte kompatibel med funktionsräknaren"
  
  #: cgraph.cc:4062
! #, fuzzy, gcc-internal-format
! #| msgid "edge count is not compatible with function count"
  msgid "edge count is not compatible with inlined to function count"
! msgstr "bågräknaren är inte kompatibel med funktionsräknaren"
  
  #: cgraph.cc:4070
  #, gcc-internal-format, gfc-internal-format
--- 25902,25910 ----
  msgstr "bågräknaren är inte kompatibel med funktionsräknaren"
  
  #: cgraph.cc:4062
! #, gcc-internal-format
  msgid "edge count is not compatible with inlined to function count"
! msgstr "bågräknaren är inte kompatibel med inline:ad funktionsräknare"
  
  #: cgraph.cc:4070
  #, gcc-internal-format, gfc-internal-format
*************** msgid "non-callback edge has callback_id
*** 26341,26350 ****
  msgstr ""
  
  #: cgraph.cc:4392
! #, fuzzy, gcc-internal-format
! #| msgid "edge has both call_stmt and lto_stmt_uid set"
  msgid "edge has both callback and has_callback set"
! msgstr "bågen har både call_stmt och lto_stmt_uid satta"
  
  #: cgraph.cc:4400
  #, gcc-internal-format, gfc-internal-format
--- 26052,26060 ----
  msgstr ""
  
  #: cgraph.cc:4392
! #, gcc-internal-format
  msgid "edge has both callback and has_callback set"
! msgstr "bågen har både callback och has_callback satta"
  
  #: cgraph.cc:4400
  #, gcc-internal-format, gfc-internal-format
*************** msgid "invalid lvalue in %<asm%> output
*** 29423,29432 ****
  msgstr "ogiltigt l-värde i %<asm%>-utdata %d"
  
  #: gimplify.cc:8243
! #, fuzzy, gcc-internal-format
! #| msgid "multiple parameters named %qD"
  msgid "multiple outputs to lvalue %qE"
! msgstr "flera parametrar med namnet %qD"
  
  #: gimplify.cc:8278
  #, gcc-internal-format, gfc-internal-format
--- 29133,29141 ----
  msgstr "ogiltigt l-värde i %<asm%>-utdata %d"
  
  #: gimplify.cc:8243
! #, gcc-internal-format
  msgid "multiple outputs to lvalue %qE"
! msgstr ""
  
  #: gimplify.cc:8278
  #, gcc-internal-format, gfc-internal-format
*************** msgid "iteration variable %qE should not
*** 29549,29564 ****
  msgstr "instansvariabel %qE får inte vara linjär"
  
  #: gimplify.cc:10082
! #, fuzzy, gcc-internal-format
! #| msgid "threadprivate variable %qE used in target region"
  msgid "iterator variable %qE not used in clause expression"
! msgstr "trådprivat variabel %qE använd i målregion"
  
  #: gimplify.cc:10201
! #, fuzzy, gcc-internal-format
! #| msgid "iterator %qD has zero step"
  msgid "iteration count is zero"
! msgstr "iteratorn %qD har nollsteg"
  
  #. Handle dynamic sizes.
  #: gimplify.cc:10245
--- 29258,29271 ----
  msgstr "instansvariabel %qE får inte vara linjär"
  
  #: gimplify.cc:10082
! #, gcc-internal-format
  msgid "iterator variable %qE not used in clause expression"
! msgstr "iteratorvariabeln %qE inte använd i klausulens uttryck"
  
  #: gimplify.cc:10201
! #, gcc-internal-format
  msgid "iteration count is zero"
! msgstr ""
  
  #. Handle dynamic sizes.
  #: gimplify.cc:10245
*************** msgid "with %<ancestor%>, only the %<dev
*** 29659,29668 ****
  msgstr "med %<ancestor%> får bara klausulerna %<device%>, %<firstprivate%>, %<private%>, %<defaultmap%> och %<map%> förekomma på konstruktionen"
  
  #: gimplify.cc:14863
! #, fuzzy, gcc-internal-format
! #| msgid "%<uses_allocators%> clause with traits and memory spaces"
  msgid "%<uses_allocators%> clause"
! msgstr "klausulen %<uses_allocators%> med egenskaper och minnesutrymmen"
  
  #: gimplify.cc:14893
  #, gcc-internal-format
--- 29366,29374 ----
  msgstr "med %<ancestor%> får bara klausulerna %<device%>, %<firstprivate%>, %<private%>, %<defaultmap%> och %<map%> förekomma på konstruktionen"
  
  #: gimplify.cc:14863
! #, gcc-internal-format
  msgid "%<uses_allocators%> clause"
! msgstr "klausulen %<uses_allocators%>"
  
  #: gimplify.cc:14893
  #, gcc-internal-format
*************** msgid "multiple definitions of variants
*** 30887,30896 ****
  msgstr ""
  
  #: omp-general.cc:1566
! #, fuzzy, gcc-internal-format
! #| msgid "previous declaration here"
  msgid "previous variant declaration here"
! msgstr "tidigare deklaration här"
  
  #: omp-general.cc:1606
  #, gcc-internal-format
--- 30593,30601 ----
  msgstr ""
  
  #: omp-general.cc:1566
! #, gcc-internal-format
  msgid "previous variant declaration here"
! msgstr "tidigare variantdeklaration här"
  
  #: omp-general.cc:1606
  #, gcc-internal-format
*************** msgid "first offset must be in opposite
*** 31218,31227 ****
  msgstr "första avståndet måste vara i motsatt riktning mot slingiterationer"
  
  #: omp-low.cc:12897
! #, fuzzy, gcc-internal-format
! #| msgid "%<__builtin_has_attribute%> with dependent argument not supported yet"
  msgid "iterators used together with deep mapping are not supported yet"
! msgstr "%<__builtin_has_attribute%> med beroende argument stödjs inte ännu"
  
  #: omp-low.cc:13174
  #, gcc-internal-format
--- 30923,30931 ----
  msgstr "första avståndet måste vara i motsatt riktning mot slingiterationer"
  
  #: omp-low.cc:12897
! #, gcc-internal-format
  msgid "iterators used together with deep mapping are not supported yet"
! msgstr ""
  
  #: omp-low.cc:13174
  #, gcc-internal-format
*************** msgid "%<-fsanitize=pointer-subtract%> m
*** 31619,31628 ****
  msgstr "%<-fsanitize=pointer-subtract%> måste kombineras med %<-fsanitize=address%> eller %<-fsanitize=kernel-address%>"
  
  #: opts.cc:1357
! #, fuzzy, gcc-internal-format
! #| msgid "%<-Wstrict-flex-arrays%> is ignored when %<-fstrict-flex-arrays%> is not present"
  msgid "%<--param hwasan-random-frame-tag=0%> is ignored when %<-fsanitize=memtag-stack%> is present"
! msgstr "%<-Wstrict-flex-arrays%> ignoreras när %<-fstrict-flex-arrays%> inte är aktivt"
  
  #: opts.cc:1366
  #, gcc-internal-format
--- 31323,31331 ----
  msgstr "%<-fsanitize=pointer-subtract%> måste kombineras med %<-fsanitize=address%> eller %<-fsanitize=kernel-address%>"
  
  #: opts.cc:1357
! #, gcc-internal-format
  msgid "%<--param hwasan-random-frame-tag=0%> is ignored when %<-fsanitize=memtag-stack%> is present"
! msgstr "%<-Wparam hwasan-random-frame-tag=0%> ignoreras när %<-fsanitize=memtag-stack%> är aktivt"
  
  #: opts.cc:1366
  #, gcc-internal-format
*************** msgid "RTL flag check: %s used with unex
*** 32384,32417 ****
  msgstr "RTL-flaggkontroll: %s använt med oväntad rtx-kod ”%s” i %s, vid %s:%d"
  
  #: stmt.cc:227
! #, fuzzy, gcc-internal-format
! #| msgid "data type of %q+D isn%'t suitable for a register"
  msgid "data type isn%'t suitable for register %s of operand %i"
! msgstr "datatyp %q+D passar inte för ett register"
  
  #: stmt.cc:230
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "the register specified for %q+D cannot be accessed by the current target"
  msgid "register %s for operand %i cannot be accessed by the current target"
! msgstr "registret angivet för %q+D kan inte nås av det aktuella målet"
  
  #: stmt.cc:233
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "the register specified for %q+D is not general enough to be used as a register variable"
  msgid "register %s for operand %i is not general enough to be used as a register variable"
! msgstr "registret angivet för %q+D är inte tillräckligt generellt för att användas som en registervariabel"
  
  #: stmt.cc:236
! #, fuzzy, gcc-internal-format
! #| msgid "register specified for %q+D isn%'t suitable for data type"
  msgid "register %s for operand %i isn%'t suitable for data type"
! msgstr "registret angivet för %q+D passar inte för datatypen"
  
  #: stmt.cc:245
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "register specified for %q+D is an internal GCC implementation detail"
  msgid "register for operand %i is an internal GCC implementation detail"
! msgstr "registret angivet för %q+D är en intern GCC-implementationsdetalj"
  
  #: stmt.cc:291
  #, gcc-internal-format
--- 32087,32115 ----
  msgstr "RTL-flaggkontroll: %s använt med oväntad rtx-kod ”%s” i %s, vid %s:%d"
  
  #: stmt.cc:227
! #, gcc-internal-format
  msgid "data type isn%'t suitable for register %s of operand %i"
! msgstr "datatypen passar inte för register %s till operand %i"
  
  #: stmt.cc:230
! #, gcc-internal-format, gfc-internal-format
  msgid "register %s for operand %i cannot be accessed by the current target"
! msgstr "register %s operand %i kan inte nås av det aktuella målet"
  
  #: stmt.cc:233
! #, gcc-internal-format, gfc-internal-format
  msgid "register %s for operand %i is not general enough to be used as a register variable"
! msgstr "register %s till operand %i är inte tillräckligt generellt för att användas som en registervariabel"
  
  #: stmt.cc:236
! #, gcc-internal-format
  msgid "register %s for operand %i isn%'t suitable for data type"
! msgstr "register %s till operand %i passar inte för datatypen"
  
  #: stmt.cc:245
! #, gcc-internal-format, gfc-internal-format
  msgid "register for operand %i is an internal GCC implementation detail"
! msgstr "registret till operand %i är en intern GCC-implementationsdetalj"
  
  #: stmt.cc:291
  #, gcc-internal-format
*************** msgid "hard register constraints and reg
*** 32454,32469 ****
  msgstr ""
  
  #: stmt.cc:410 stmt.cc:657
! #, fuzzy, gcc-internal-format
! #| msgid "multiple cc output constraints not supported"
  msgid "multiple hard register constraints in one alternative are not supported"
! msgstr "flera cc-utmatningsbegränsningar stödjs inte"
  
  #: stmt.cc:418
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "invalid cc output constraint: %qs"
  msgid "invalid output constraint: %s"
! msgstr "ogiltig cc-utmatningsbegränsning: %qs"
  
  #: stmt.cc:426 stmt.cc:498
  #, gcc-internal-format, gfc-internal-format
--- 32152,32165 ----
  msgstr ""
  
  #: stmt.cc:410 stmt.cc:657
! #, gcc-internal-format
  msgid "multiple hard register constraints in one alternative are not supported"
! msgstr "flera hårda registerbegränsningar i ett alternativ stödjs inte"
  
  #: stmt.cc:418
! #, gcc-internal-format, gfc-internal-format
  msgid "invalid output constraint: %s"
! msgstr "ogiltig utmatningsbegränsning: %s"
  
  #: stmt.cc:426 stmt.cc:498
  #, gcc-internal-format, gfc-internal-format
*************** msgid "multiple outputs to hard register
*** 32471,32480 ****
  msgstr ""
  
  #: stmt.cc:435
! #, fuzzy, gcc-internal-format
! #| msgid "%<asm%> specifier for cc output conflicts with %<asm%> clobber list"
  msgid "hard register constraint for output %i conflicts with %<asm%> clobber list"
! msgstr "%<asm%>-specificerare för cc-utmatning står i konflikt med %<asm%>-överskrivningslista"
  
  #: stmt.cc:447
  #, gcc-internal-format
--- 32167,32175 ----
  msgstr ""
  
  #: stmt.cc:435
! #, gcc-internal-format
  msgid "hard register constraint for output %i conflicts with %<asm%> clobber list"
! msgstr "hård registerbegränsning för utdata %i står i konflikt med %<asm%>-överskrivningslista"
  
  #: stmt.cc:447
  #, gcc-internal-format
*************** msgid "matching constraint references in
*** 32502,32511 ****
  msgstr "matchningsbegränsning refererar ogiltigt operandnummer"
  
  #: stmt.cc:665
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "invalid cc output constraint: %qs"
  msgid "invalid input constraint: %s"
! msgstr "ogiltig cc-utmatningsbegränsning: %qs"
  
  #: stmt.cc:673 stmt.cc:755
  #, gcc-internal-format, gfc-internal-format
--- 32197,32205 ----
  msgstr "matchningsbegränsning refererar ogiltigt operandnummer"
  
  #: stmt.cc:665
! #, gcc-internal-format, gfc-internal-format
  msgid "invalid input constraint: %s"
! msgstr "ogiltig inmatningsbegränsning: %s"
  
  #: stmt.cc:673 stmt.cc:755
  #, gcc-internal-format, gfc-internal-format
*************** msgid "multiple inputs to hard register:
*** 32513,32522 ****
  msgstr ""
  
  #: stmt.cc:680
! #, fuzzy, gcc-internal-format
! #| msgid "%<asm%> specifier for cc output conflicts with %<asm%> clobber list"
  msgid "hard register constraint for input %i conflicts with %<asm%> clobber list"
! msgstr "%<asm%>-specificerare för cc-utmatning står i konflikt med %<asm%>-överskrivningslista"
  
  #: stmt.cc:699
  #, gcc-internal-format
--- 32207,32215 ----
  msgstr ""
  
  #: stmt.cc:680
! #, gcc-internal-format
  msgid "hard register constraint for input %i conflicts with %<asm%> clobber list"
! msgstr ""
  
  #: stmt.cc:699
  #, gcc-internal-format
*************** msgid "%qs should be from a scalar to a
*** 33450,33459 ****
  msgstr "%qs skall vara från en skalär till en liknande vektor"
  
  #: tree-cfg.cc:3789
! #, fuzzy, gcc-internal-format
! #| msgid "invalid types for %qs"
  msgid "invalid type for %qs"
! msgstr "ogiltiga typer för %qs"
  
  #: tree-cfg.cc:3813
  #, gcc-internal-format
--- 33143,33151 ----
  msgstr "%qs skall vara från en skalär till en liknande vektor"
  
  #: tree-cfg.cc:3789
! #, gcc-internal-format
  msgid "invalid type for %qs"
! msgstr "ogiltig typ för %qs"
  
  #: tree-cfg.cc:3813
  #, gcc-internal-format
*************** msgid "non-trivial conversion in %qs"
*** 33551,33560 ****
  msgstr "icketrivial konvertering i %qs"
  
  #: tree-cfg.cc:4519
! #, fuzzy, gcc-internal-format
! #| msgid "invalid cpu %qs for %s%qs%s"
  msgid "invalid LHS (%qs) for assignment: %qs"
! msgstr "felaktig cpu %qs för %s%qs%s"
  
  #: tree-cfg.cc:4527
  #, gcc-internal-format
--- 33243,33251 ----
  msgstr "icketrivial konvertering i %qs"
  
  #: tree-cfg.cc:4519
! #, gcc-internal-format
  msgid "invalid LHS (%qs) for assignment: %qs"
! msgstr "felaktig vänstersida (%qs) för tilldelningen:  %qs"
  
  #: tree-cfg.cc:4527
  #, gcc-internal-format
*************** msgid "invalid RHS for gimple memory sto
*** 33582,33591 ****
  msgstr "ogiltig högersida för gimple-minneslagring: %qs"
  
  #: tree-cfg.cc:4648
! #, fuzzy, gcc-internal-format
! #| msgid "non-register as LHS of ternary operation"
  msgid "non-register as LHS with vector constructor"
! msgstr "icke-register som vänstersida av treställig operation"
  
  #: tree-cfg.cc:4670 tree-cfg.cc:4688
  #, gcc-internal-format
--- 33273,33281 ----
  msgstr "ogiltig högersida för gimple-minneslagring: %qs"
  
  #: tree-cfg.cc:4648
! #, gcc-internal-format
  msgid "non-register as LHS with vector constructor"
! msgstr "icke-register som vänstersida med vektorkonstruerare"
  
  #: tree-cfg.cc:4670 tree-cfg.cc:4688
  #, gcc-internal-format
*************** msgid "probability of edge from entry bl
*** 33823,33832 ****
  msgstr "sannolikheten för bågen från ingångsblocket är inte initierad"
  
  #: tree-cfg.cc:5662
! #, fuzzy, gcc-internal-format
! #| msgid "edge count is not compatible with function count"
  msgid "exit block count is not compatible with entry block count"
! msgstr "bågräknaren är inte kompatibel med funktionsräknaren"
  
  #: tree-cfg.cc:5677
  #, gcc-internal-format, gfc-internal-format
--- 33513,33521 ----
  msgstr "sannolikheten för bågen från ingångsblocket är inte initierad"
  
  #: tree-cfg.cc:5662
! #, gcc-internal-format
  msgid "exit block count is not compatible with entry block count"
! msgstr "utgångsblocksräknaren är inte kompatibel med  ingångsblocksräknaren"
  
  #: tree-cfg.cc:5677
  #, gcc-internal-format, gfc-internal-format
*************** msgid "probability of edge %d->%d not in
*** 33839,33848 ****
  msgstr "sannolikheten för bågen %d→%d inte initierad"
  
  #: tree-cfg.cc:5690
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "edge count is not compatible with function count"
  msgid "count of bb %d is not compatible with entry block count"
! msgstr "bågräknaren är inte kompatibel med funktionsräknaren"
  
  #: tree-cfg.cc:5709
  #, gcc-internal-format
--- 33528,33536 ----
  msgstr "sannolikheten för bågen %d→%d inte initierad"
  
  #: tree-cfg.cc:5690
! #, gcc-internal-format, gfc-internal-format
  msgid "count of bb %d is not compatible with entry block count"
! msgstr "antalet gb %d är inte kompatibelt med ingångsblocksräknaren"
  
  #: tree-cfg.cc:5709
  #, gcc-internal-format
*************** msgid "invalid regular expression %qs in
*** 34115,34124 ****
  msgstr "ogiltigt reguljärt uttryck %qs i %qs"
  
  #: tree-profile.cc:1855
! #, fuzzy, gcc-internal-format
! #| msgid "target does not support atomic profile update, single mode is selected"
  msgid "target does not fully support atomic profile update, single mode is selected with partial atomic updates"
! msgstr "målet stödjer inte atomär profiluppdatering, enkelläge valt"
  
  #: tree-profile.cc:1861
  #, gcc-internal-format
--- 33803,33811 ----
  msgstr "ogiltigt reguljärt uttryck %qs i %qs"
  
  #: tree-profile.cc:1855
! #, gcc-internal-format
  msgid "target does not fully support atomic profile update, single mode is selected with partial atomic updates"
! msgstr "målet stödjer inte helt atomär profiluppdatering, enkelläge valt med partiella atomära uppdateringar"
  
  #: tree-profile.cc:1861
  #, gcc-internal-format
*************** msgid "in a call to function %qD declare
*** 34161,34170 ****
  msgstr "i ett anrop till funktionen %qD deklarerad %qs"
  
  #: tree-ssa-ccp.cc:3257 c-family/c-common.cc:6138
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "argument %u null where non-null expected because argument %u is nonzero"
  msgid "argument %u null where non-null expected because arguments %u and %u are nonzero"
! msgstr "argument %u är noll där icke-noll förväntades för att argumentet %u är nollskilt"
  
  #: tree-ssa-ccp.cc:3263 c-family/c-common.cc:6149
  #, gcc-internal-format, gfc-internal-format
--- 33848,33856 ----
  msgstr "i ett anrop till funktionen %qD deklarerad %qs"
  
  #: tree-ssa-ccp.cc:3257 c-family/c-common.cc:6138
! #, gcc-internal-format, gfc-internal-format
  msgid "argument %u null where non-null expected because arguments %u and %u are nonzero"
! msgstr "argument %u är noll där icke-noll förväntades för att argumenten %u och %u är nollskilda"
  
  #: tree-ssa-ccp.cc:3263 c-family/c-common.cc:6149
  #, gcc-internal-format, gfc-internal-format
*************** msgid "%<TYPE_MODE%> of %<TYPE_CANONICAL
*** 34936,34945 ****
  msgstr "%<TYPE_MODE%> av %<TYPE_CANONICAL%> är inte kompatibla"
  
  #: tree.cc:14494
! #, fuzzy, gcc-internal-format
! #| msgid "%<TYPE_CANONICAL%> of main variant is not main variant"
  msgid "main variant of %<TYPE_CANONICAL%> of main variant is not its own %<TYPE_CANONICAL%>"
! msgstr "%<TYPE_CANONICAL%> av huvudvarianten är inte en huvudvariant"
  
  #: tree.cc:14512
  #, gcc-internal-format
--- 34622,34630 ----
  msgstr "%<TYPE_MODE%> av %<TYPE_CANONICAL%> är inte kompatibla"
  
  #: tree.cc:14494
! #, gcc-internal-format
  msgid "main variant of %<TYPE_CANONICAL%> of main variant is not its own %<TYPE_CANONICAL%>"
! msgstr "huvudvarianten av %<TYPE_CANONICAL%> av huvudvarianten är inte en sin egen %<TYPE_CANONICAL%>"
  
  #: tree.cc:14512
  #, gcc-internal-format
*************** msgid "previous declaration of %qD"
*** 35074,35095 ****
  msgstr "tidigare deklaration av %qD"
  
  #: tree.cc:15784
! #, fuzzy, gcc-internal-format
! #| msgid "%q#D conflicts with a previous declaration"
  msgid "%qD conflicts with overlapping %<target_clone%> declaration"
! msgstr "%q#D står i konflikt med tidigare deklaration"
  
  #: tree.cc:15803
- #, fuzzy
- #| msgid "%q#D conflicts with version inherited from %qT"
  msgid "%qD conflicts for version %qB"
! msgstr "%q#D står i konflikt med versionen ärvd från %qT"
  
  #: tree.cc:15816
- #, fuzzy
- #| msgid "%q#D conflicts with a previous declaration"
  msgid "%qD conflicts with a previous declaration for version %qB"
! msgstr "%q#D står i konflikt med tidigare deklaration"
  
  #: tsan.cc:509
  #, gcc-internal-format
--- 34759,34775 ----
  msgstr "tidigare deklaration av %qD"
  
  #: tree.cc:15784
! #, gcc-internal-format
  msgid "%qD conflicts with overlapping %<target_clone%> declaration"
! msgstr "%qD står i konflikt med överlappande %<target_clone%>-deklaration"
  
  #: tree.cc:15803
  msgid "%qD conflicts for version %qB"
! msgstr "%qD står i konflikt med versionen %qB"
  
  #: tree.cc:15816
  msgid "%qD conflicts with a previous declaration for version %qB"
! msgstr "%qD står i konflikt med tidigare deklaration för version %qB"
  
  #: tsan.cc:509
  #, gcc-internal-format
*************** msgid "%qE attribute is not allowed for
*** 35701,35710 ****
  msgstr "attributet %qE är inte tillåtet för en icke-fält-deklaration %q+D"
  
  #: c-family/c-attribs.cc:2959
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute is not allowed for a non-array field"
  msgid "%qE attribute is not allowed for a non-array or non-pointer field"
! msgstr "attributet %qE är inte tillåtet för annat fält än en vektor"
  
  #: c-family/c-attribs.cc:2968
  #, gcc-internal-format
--- 35381,35389 ----
  msgstr "attributet %qE är inte tillåtet för en icke-fält-deklaration %q+D"
  
  #: c-family/c-attribs.cc:2959
! #, gcc-internal-format
  msgid "%qE attribute is not allowed for a non-array or non-pointer field"
! msgstr "attributet %qE är inte tillåtet för annat fält än en vektor eller pekare"
  
  #: c-family/c-attribs.cc:2968
  #, gcc-internal-format
*************** msgid "%qE attribute is not allowed for
*** 35712,35733 ****
  msgstr "attributet %qE är inte tillåtet för ett annat fält än en ickeflexibel vektor"
  
  #: c-family/c-attribs.cc:2980
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute is for pointer types only"
  msgid "%qE attribute is used for a pointer to void"
! msgstr "attributet %qE är endast för pekartyper"
  
  #: c-family/c-attribs.cc:2988
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute is not allowed for a non-array field"
  msgid "%qE attribute is not allowed for a pointer to function"
! msgstr "attributet %qE är inte tillåtet för annat fält än en vektor"
  
  #: c-family/c-attribs.cc:2999
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute is not allowed for a non-flexible array member field"
  msgid "%qE attribute is not allowed for a pointer to structure or union with flexible array member"
! msgstr "attributet %qE är inte tillåtet för ett annat fält än en ickeflexibel vektor"
  
  #: c-family/c-attribs.cc:3007
  #, gcc-internal-format
--- 35391,35409 ----
  msgstr "attributet %qE är inte tillåtet för ett annat fält än en ickeflexibel vektor"
  
  #: c-family/c-attribs.cc:2980
! #, gcc-internal-format
  msgid "%qE attribute is used for a pointer to void"
! msgstr "attributet %qE används för en pekare på void"
  
  #: c-family/c-attribs.cc:2988
! #, gcc-internal-format
  msgid "%qE attribute is not allowed for a pointer to function"
! msgstr "attributet %qE är inte tillåtet för en pekare på en funktion"
  
  #: c-family/c-attribs.cc:2999
! #, gcc-internal-format
  msgid "%qE attribute is not allowed for a pointer to structure or union with flexible array member"
! msgstr "attributet %qE är inte tillåtet för en pekare på en post eller union med en flexibel vektormedlem"
  
  #: c-family/c-attribs.cc:3007
  #, gcc-internal-format
*************** msgid "%qE attribute requires a string a
*** 36147,36156 ****
  msgstr "attributet %qE behöver ett strängargument"
  
  #: c-family/c-attribs.cc:5215
! #, fuzzy, gcc-internal-format
! #| msgid "unrecognized interrupt vector argument of %qE attribute"
  msgid "unsupported wide string type argument in %qE attribute"
! msgstr "okänt avbrottsvektorargument till attributet %qE"
  
  #: c-family/c-attribs.cc:5249 c-family/c-attribs.cc:5331
  #, gcc-internal-format
--- 35823,35831 ----
  msgstr "attributet %qE behöver ett strängargument"
  
  #: c-family/c-attribs.cc:5215
! #, gcc-internal-format
  msgid "unsupported wide string type argument in %qE attribute"
! msgstr ""
  
  #: c-family/c-attribs.cc:5249 c-family/c-attribs.cc:5331
  #, gcc-internal-format
*************** msgid "%<__alignof%> applied to a bit-fi
*** 36618,36657 ****
  msgstr "%<__alignof%> tillämpad på ett bitfält"
  
  #: c-family/c-common.cc:4150
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %qs to incomplete type %qT"
  msgid "invalid application of %<_Countof%> to type %qT"
! msgstr "ogiltig tillämpning av %qs på ofullständig typ %qT"
  
  #: c-family/c-common.cc:4156
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %qs to incomplete type %qT"
  msgid "invalid application of %<_Countof%> to incomplete type %qT"
! msgstr "ogiltig tillämpning av %qs på ofullständig typ %qT"
  
  #: c-family/c-common.cc:4177
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %<__alignof%> to a bit-field"
  msgid "invalid application of %<_Maxof%> to type %qT"
! msgstr "ogiltig användning av %<__alignof%> på ett bitfält"
  
  #: c-family/c-common.cc:4182
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %qs to incomplete type %qT"
  msgid "invalid application of %<_Maxof%> to incomplete type %qT"
! msgstr "ogiltig tillämpning av %qs på ofullständig typ %qT"
  
  #: c-family/c-common.cc:4198
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %<__alignof%> to a bit-field"
  msgid "invalid application of %<_Minof%> to type %qT"
! msgstr "ogiltig användning av %<__alignof%> på ett bitfält"
  
  #: c-family/c-common.cc:4203
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %qs to incomplete type %qT"
  msgid "invalid application of %<_Minof%> to incomplete type %qT"
! msgstr "ogiltig tillämpning av %qs på ofullständig typ %qT"
  
  #: c-family/c-common.cc:5005
  #, gcc-internal-format
--- 36293,36326 ----
  msgstr "%<__alignof%> tillämpad på ett bitfält"
  
  #: c-family/c-common.cc:4150
! #, gcc-internal-format
  msgid "invalid application of %<_Countof%> to type %qT"
! msgstr "ogiltig tillämpning av %<_Countof%> på typen %qT"
  
  #: c-family/c-common.cc:4156
! #, gcc-internal-format
  msgid "invalid application of %<_Countof%> to incomplete type %qT"
! msgstr "ogiltig tillämpning av %<_Countof%> på ofullständig typ %qT"
  
  #: c-family/c-common.cc:4177
! #, gcc-internal-format
  msgid "invalid application of %<_Maxof%> to type %qT"
! msgstr "ogiltig användning av %<_Maxof%> på typen %qT"
  
  #: c-family/c-common.cc:4182
! #, gcc-internal-format
  msgid "invalid application of %<_Maxof%> to incomplete type %qT"
! msgstr "ogiltig tillämpning av %<_Maxof%> på ofullständig typ %qT"
  
  #: c-family/c-common.cc:4198
! #, gcc-internal-format
  msgid "invalid application of %<_Minof%> to type %qT"
! msgstr "ogiltig användning av %<_Minof%> på typen %qT"
  
  #: c-family/c-common.cc:4203
! #, gcc-internal-format
  msgid "invalid application of %<_Minof%> to incomplete type %qT"
! msgstr "ogiltig tillämpning av %<_Minof%> på ofullständig typ %qT"
  
  #: c-family/c-common.cc:5005
  #, gcc-internal-format
*************** msgid "%qE is a member of a union"
*** 37982,37991 ****
  msgstr "%qE är en medlem i en union"
  
  #: c-family/c-omp.cc:4357 c-family/c-omp.cc:4478 c-family/c-omp.cc:4572
! #, fuzzy, gcc-internal-format
! #| msgid "%qE is not of type %qT"
  msgid "mapper %qE not found for type %qT"
! msgstr "%qE har inte typen %qT"
  
  #: c-family/c-opts.cc:348
  #, gcc-internal-format
--- 37651,37659 ----
  msgstr "%qE är en medlem i en union"
  
  #: c-family/c-omp.cc:4357 c-family/c-omp.cc:4478 c-family/c-omp.cc:4572
! #, gcc-internal-format
  msgid "mapper %qE not found for type %qT"
! msgstr "avbildaren %qE finns inte för typen %qT"
  
  #: c-family/c-opts.cc:348
  #, gcc-internal-format
*************** msgid "Should use \"%c\" to contact Prof
*** 39808,39817 ****
  msgstr ""
  
  #: common/config/riscv/riscv-common.cc:959
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: ISA string must begin with rv32 or rv64"
  msgid "%<-march=%s%>: ISA string must begin with rv32, rv64, a supported RVA profile or refer to a supported CPU"
! msgstr "%<-march=%s%>: ISA-strängen måste börja med rv32 eller rv64"
  
  #: common/config/riscv/riscv-common.cc:985
  #, gcc-internal-format
--- 39476,39484 ----
  msgstr ""
  
  #: common/config/riscv/riscv-common.cc:959
! #, gcc-internal-format
  msgid "%<-march=%s%>: ISA string must begin with rv32, rv64, a supported RVA profile or refer to a supported CPU"
! msgstr "%<-march=%s%>: ISA-strängen måste börja med rv32, rv64, en RVA-profil som stödjs eller referera till en CPU som städjs"
  
  #: common/config/riscv/riscv-common.cc:985
  #, gcc-internal-format
*************** msgid "%<-march=%s%>: zcf extension supp
*** 39839,39884 ****
  msgstr "%<-march=%s%>: utökningen zcf stödjs bara i rv32"
  
  #: common/config/riscv/riscv-common.cc:1156
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: zilsd extension supports in rv32 only"
! msgstr "%<-march=%s%>: utökningen zcf stödjs bara i rv32"
  
  #: common/config/riscv/riscv-common.cc:1160
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: zclsd extension supports in rv32 only"
! msgstr "%<-march=%s%>: utökningen zcf stödjs bara i rv32"
  
  #: common/config/riscv/riscv-common.cc:1164
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: ssnpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: utökningen zcf stödjs bara i rv32"
  
  #: common/config/riscv/riscv-common.cc:1168
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: smnpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: utökningen zcf stödjs bara i rv32"
  
  #: common/config/riscv/riscv-common.cc:1172
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: smmpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: utökningen zcf stödjs bara i rv32"
  
  #: common/config/riscv/riscv-common.cc:1176
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: sspm extension supports in rv64 only"
! msgstr "%<-march=%s%>: utökningen zcf stödjs bara i rv32"
  
  #: common/config/riscv/riscv-common.cc:1180
! #, fuzzy, gcc-internal-format
! #| msgid "%<-march=%s%>: zcf extension supports in rv32 only"
  msgid "%<-march=%s%>: supm extension supports in rv64 only"
! msgstr "%<-march=%s%>: utökningen zcf stödjs bara i rv32"
  
  #: common/config/riscv/riscv-common.cc:1185
  #, gcc-internal-format
--- 39506,39544 ----
  msgstr "%<-march=%s%>: utökningen zcf stödjs bara i rv32"
  
  #: common/config/riscv/riscv-common.cc:1156
! #, gcc-internal-format
  msgid "%<-march=%s%>: zilsd extension supports in rv32 only"
! msgstr "%<-march=%s%>: utökningen zilsd stödjs bara i rv32"
  
  #: common/config/riscv/riscv-common.cc:1160
! #, gcc-internal-format
  msgid "%<-march=%s%>: zclsd extension supports in rv32 only"
! msgstr "%<-march=%s%>: utökningen zclsd stödjs bara i rv32"
  
  #: common/config/riscv/riscv-common.cc:1164
! #, gcc-internal-format
  msgid "%<-march=%s%>: ssnpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: utökningen ssnpm stödjs bara i rv64"
  
  #: common/config/riscv/riscv-common.cc:1168
! #, gcc-internal-format
  msgid "%<-march=%s%>: smnpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: utökningen smnpm stödjs bara i rv64"
  
  #: common/config/riscv/riscv-common.cc:1172
! #, gcc-internal-format
  msgid "%<-march=%s%>: smmpm extension supports in rv64 only"
! msgstr "%<-march=%s%>: utökningen smmpm stödjs bara i rv64"
  
  #: common/config/riscv/riscv-common.cc:1176
! #, gcc-internal-format
  msgid "%<-march=%s%>: sspm extension supports in rv64 only"
! msgstr "%<-march=%s%>: utökningen sspm stödjs bara i rv64"
  
  #: common/config/riscv/riscv-common.cc:1180
! #, gcc-internal-format
  msgid "%<-march=%s%>: supm extension supports in rv64 only"
! msgstr "%<-march=%s%>: utökningen supm stödjs bara i rv64"
  
  #: common/config/riscv/riscv-common.cc:1185
  #, gcc-internal-format
*************** msgid "expected a string but got somethi
*** 40375,40384 ****
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:153
! #, fuzzy, gcc-internal-format
! #| msgid "expected a JSON value but got %s"
  msgid "expected an integer value but got something else or NULL"
! msgstr "ett JSON-värde förväntades men fick %s"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:168
  #, gcc-internal-format
--- 40035,40043 ----
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:153
! #, gcc-internal-format
  msgid "expected an integer value but got something else or NULL"
! msgstr "ett heltalsvärde förväntades men fick något annat eller NULL"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:168
  #, gcc-internal-format
*************** msgid "expected an unsigned integer valu
*** 40386,40419 ****
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:182
! #, fuzzy, gcc-internal-format
! #| msgid "expected a JSON value but got %s"
  msgid "expected a boolean value but got something else or NULL"
! msgstr "ett JSON-värde förväntades men fick %s"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:206
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "expected string literal"
  msgid "expected string for enum field %s"
! msgstr "strängkonstant förväntades"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:221
! #, fuzzy, gcc-internal-format
! #| msgid "unrecognized argument in option %qs"
  msgid "%s not recognized, defaulting to %qs"
! msgstr "okänt argument till flaggan %qs"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:246
! #, fuzzy, gcc-internal-format
! #| msgid "type %qs is not an expression"
  msgid "key %qs is not a tuning parameter, skipping"
! msgstr "typen %qs är inte ett uttryck"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:261
! #, fuzzy, gcc-internal-format
! #| msgid "expected an SSA_NAME object"
  msgid "key %qs expected to be an object"
! msgstr "förväntade ett SSA_NAME-objekt"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:269
  #, gcc-internal-format
--- 40045,40073 ----
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:182
! #, gcc-internal-format
  msgid "expected a boolean value but got something else or NULL"
! msgstr "en boolean förväntades men fick något annat eller NULL"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:206
! #, gcc-internal-format, gfc-internal-format
  msgid "expected string for enum field %s"
! msgstr "sträng för enum-fältet %s förväntades"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:221
! #, gcc-internal-format
  msgid "%s not recognized, defaulting to %qs"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:246
! #, gcc-internal-format
  msgid "key %qs is not a tuning parameter, skipping"
! msgstr "nyckeln %qs är inte ett trimningsparameter, hoppar över"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:261
! #, gcc-internal-format
  msgid "key %qs expected to be an object"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:269
  #, gcc-internal-format
*************** msgid "key %qs expected to be an array"
*** 40421,40430 ****
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:282
! #, fuzzy, gcc-internal-format
! #| msgid "expected integer"
  msgid "key %qs expected to be an integer"
! msgstr "heltal förväntades"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:293
  #, gcc-internal-format
--- 40075,40083 ----
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:282
! #, gcc-internal-format
  msgid "key %qs expected to be an integer"
! msgstr "nyckeln %qs förväntades vara ett heltal"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:293
  #, gcc-internal-format
*************** msgid "key %qs value %ld is out of range
*** 40432,40441 ****
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:304
! #, fuzzy, gcc-internal-format
! #| msgid "argument %d must be an unsigned literal"
  msgid "key %qs expected to be an unsigned integer"
! msgstr "argument %d måste vara en litteral utan tecken"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:315
  #, gcc-internal-format
--- 40085,40093 ----
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:304
! #, gcc-internal-format
  msgid "key %qs expected to be an unsigned integer"
! msgstr "nyckeln %qs förväntades vara ett teckenlöst heltal"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:315
  #, gcc-internal-format
*************** msgid "key %qs value %ld is out of range
*** 40443,40452 ****
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:326
! #, fuzzy, gcc-internal-format
! #| msgid "Expected real string"
  msgid "key %qs expected to be a string"
! msgstr "Förväntade reell sträng"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:335
  #, gcc-internal-format
--- 40095,40103 ----
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:326
! #, gcc-internal-format
  msgid "key %qs expected to be a string"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:335
  #, gcc-internal-format
*************** msgid "key %qs expected to be an enum (s
*** 40459,40468 ****
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:351
! #, fuzzy, gcc-internal-format
! #| msgid "name %qT has incomplete type"
  msgid "key %qs has unsupported type"
! msgstr "namnet %qT har ofullständig typ"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:357
  #, gcc-internal-format
--- 40110,40118 ----
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:351
! #, gcc-internal-format
  msgid "key %qs has unsupported type"
! msgstr "nyckeln %qs har en typ som inte stödjs"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:357
  #, gcc-internal-format
*************** msgid "key %qs has unexpected format in
*** 40470,40485 ****
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:371
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "could not open response file %s"
  msgid "could not open file %s"
! msgstr "det gick inte att öppna svarsfilen %s"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:383
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "error writing %qs"
  msgid "error reading file %s"
! msgstr "fel när %qs skrevs"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:415
  #, gcc-internal-format
--- 40120,40133 ----
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:371
! #, gcc-internal-format, gfc-internal-format
  msgid "could not open file %s"
! msgstr "det gick inte att öppna filen %s"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:383
! #, gcc-internal-format, gfc-internal-format
  msgid "error reading file %s"
! msgstr "fel när filen %s lästes"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:415
  #, gcc-internal-format
*************** msgid "JSON tuning files must be regener
*** 40497,40506 ****
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:446
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Error writing JSON output file %s\n"
  msgid "error parsing JSON data: %s"
! msgstr "Fel när JSON-utdatafilen %s skrevs\n"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:453
  #, gcc-internal-format
--- 40145,40153 ----
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:446
! #, gcc-internal-format, gfc-internal-format
  msgid "error parsing JSON data: %s"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:453
  #, gcc-internal-format
*************** msgid "key %<tune_params%> not found in
*** 40518,40527 ****
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:488
! #, fuzzy, gcc-internal-format
! #| msgid "invalid embedcfg: Patterns is not a JSON object"
  msgid "key %<tune_params%> is not a JSON object"
! msgstr "felaktig embedcfg: Patterns är inte ett JSON-objekt"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:494
  #, gcc-internal-format
--- 40165,40173 ----
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:488
! #, gcc-internal-format
  msgid "key %<tune_params%> is not a JSON object"
! msgstr "nyckeln %<tune_params%> är inte ett JSON-objekt"
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:494
  #, gcc-internal-format
*************** msgid "JSON tuning enables dispatch sche
*** 40534,40549 ****
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:524
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "cannot read LTO mode table from %s"
  msgid "cannot read JSON data in %s"
! msgstr "det går inte att läsa LTO-lägestabellen från %s"
  
  #: config/aarch64/aarch64-json-tunings-printer.cc:139
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Cannot open file %qs"
  msgid "Error opening file %s"
! msgstr "Kan inte öppna filen %qs"
  
  #: config/aarch64/aarch64-sve-builtins.cc:1754
  #, gcc-internal-format
--- 40180,40193 ----
  msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-parser.cc:524
! #, gcc-internal-format, gfc-internal-format
  msgid "cannot read JSON data in %s"
! msgstr ""
  
  #: config/aarch64/aarch64-json-tunings-printer.cc:139
! #, gcc-internal-format, gfc-internal-format
  msgid "Error opening file %s"
! msgstr "Fel när filen %s öppnades"
  
  #: config/aarch64/aarch64-sve-builtins.cc:1754
  #, gcc-internal-format
*************** msgid "%<-fsanitize=shadow-call-stack%>
*** 41176,41191 ****
  msgstr "%<-fsanitize=shadow-call-stack%> kräver %<-ffixed-x18%>"
  
  #: config/aarch64/aarch64.cc:19653
! #, fuzzy, gcc-internal-format
! #| msgid "%<-fsanitize=shadow-call-stack%> not supported in current platform"
  msgid "%<-fsanitize=shadow-call-stack%> conflicts with the use of register x18 by the target operating system"
! msgstr "%<-fsanitize=shadow-call-stack%> stödjs inte för den aktuella plattformen"
  
  #: config/aarch64/aarch64.cc:19659
! #, fuzzy, gcc-internal-format
! #| msgid "functions with SME state require the ISA extension %qs"
  msgid "%<-fsanitize=memtag-stack%> requires the ISA extension %qs"
! msgstr "funktioner med SME-tillstånd behöver ISA-utökningen %qs"
  
  #: config/aarch64/aarch64.cc:19667
  #, gcc-internal-format
--- 40820,40833 ----
  msgstr "%<-fsanitize=shadow-call-stack%> kräver %<-ffixed-x18%>"
  
  #: config/aarch64/aarch64.cc:19653
! #, gcc-internal-format
  msgid "%<-fsanitize=shadow-call-stack%> conflicts with the use of register x18 by the target operating system"
! msgstr ""
  
  #: config/aarch64/aarch64.cc:19659
! #, gcc-internal-format
  msgid "%<-fsanitize=memtag-stack%> requires the ISA extension %qs"
! msgstr ""
  
  #: config/aarch64/aarch64.cc:19667
  #, gcc-internal-format
*************** msgid "%q+D has an inconsistent function
*** 41397,41406 ****
  msgstr ""
  
  #: config/aarch64/aarch64.cc:21811
! #, fuzzy, gcc-internal-format
! #| msgid "%qD was previously declared here"
  msgid "%q+D was previously declared here with priority value of %d"
! msgstr "%qD deklarerades tidigare här"
  
  #: config/aarch64/aarch64.cc:23420 config/arm/arm.cc:6689
  #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:13289
--- 41039,41047 ----
  msgstr ""
  
  #: config/aarch64/aarch64.cc:21811
! #, gcc-internal-format
  msgid "%q+D was previously declared here with priority value of %d"
! msgstr "%q+D deklarerades tidigare här med prioritetsvärdet %d"
  
  #: config/aarch64/aarch64.cc:23420 config/arm/arm.cc:6689
  #: config/rs6000/rs6000-call.cc:366 config/s390/s390.cc:13289
*************** msgid "passing %wd to argument %d of %qE
*** 41510,41537 ****
  msgstr "skickar %wd som argument %d till %qE, vilken förväntar sig ett giltigt %qT-värde"
  
  #: config/aarch64/aarch64.cc:33099
! #, fuzzy, gcc-internal-format
! #| msgid "an empty string cannot be in %<target_clones%> attribute"
  msgid "empty string not valid for a %<target_clones%> version"
! msgstr "en ensam sträng kan inte finnas i attributet %<target_clones%>"
  
  #: config/aarch64/aarch64.cc:33103
- #, fuzzy
- #| msgid "invalid feature modifier %qs of value %qs in %<target_version%> attribute"
  msgid "invalid feature modifier %qs in version %qB for %<target_clones%> attribute"
! msgstr "felaktig funktionsmodifierare %qs på värdet %qs i attributet %<target_version%>"
  
  #: config/aarch64/aarch64.cc:33109
- #, fuzzy
- #| msgid "duplicate feature modifier %qs of value %qs in %<target_version%> attribute"
  msgid "duplicate feature modifier %qs in version %qB for %<target_clones%> attribute"
! msgstr "dubblerade funktionsmodifierare %qs på värdet %qs i attributet %<target_version%>"
  
  #: config/aarch64/aarch64.cc:33115
- #, fuzzy
- #| msgid "invalid feature modifier %qs of value %qs in %<target_version%> attribute"
  msgid "invalid feature %qs in version %qB for %<target_clones%> attribute"
! msgstr "felaktig funktionsmodifierare %qs på värdet %qs i attributet %<target_version%>"
  
  #: config/alpha/alpha.cc:420
  #, gcc-internal-format
--- 41151,41171 ----
  msgstr "skickar %wd som argument %d till %qE, vilken förväntar sig ett giltigt %qT-värde"
  
  #: config/aarch64/aarch64.cc:33099
! #, gcc-internal-format
  msgid "empty string not valid for a %<target_clones%> version"
! msgstr "en tom sträng är inte giltig för en version %<target_clones%>"
  
  #: config/aarch64/aarch64.cc:33103
  msgid "invalid feature modifier %qs in version %qB for %<target_clones%> attribute"
! msgstr "felaktig funktionsmodifierare %qs i versionen %qB till attributet %<target_clones%>"
  
  #: config/aarch64/aarch64.cc:33109
  msgid "duplicate feature modifier %qs in version %qB for %<target_clones%> attribute"
! msgstr "dubblerade funktionsmodifierare %qs i versionen %qB till attributet %<target_clones%>"
  
  #: config/aarch64/aarch64.cc:33115
  msgid "invalid feature %qs in version %qB for %<target_clones%> attribute"
! msgstr "felaktig funktion %qs i versionen %qB till attributet %<target_clones%>"
  
  #: config/alpha/alpha.cc:420
  #, gcc-internal-format
*************** msgid "fastcall and regparm attributes a
*** 43845,43854 ****
  msgstr "attributen fastcall och regparm är inte kompatibla"
  
  #: config/i386/i386-options.cc:3635 config/i386/i386-options.cc:3729
! #, fuzzy, gcc-internal-format
! #| msgid "regparam and thiscall attributes are not compatible"
  msgid "regparm and thiscall attributes are not compatible"
! msgstr "attributen regparam och thiscall är inte kompatibla"
  
  #: config/i386/i386-options.cc:3642 config/i386/i386-options.cc:3861
  #, gcc-internal-format
--- 43479,43487 ----
  msgstr "attributen fastcall och regparm är inte kompatibla"
  
  #: config/i386/i386-options.cc:3635 config/i386/i386-options.cc:3729
! #, gcc-internal-format
  msgid "regparm and thiscall attributes are not compatible"
! msgstr "attributen regparm och thiscall är inte kompatibla"
  
  #: config/i386/i386-options.cc:3642 config/i386/i386-options.cc:3861
  #, gcc-internal-format
*************** msgid "%<-fsplit-stack%> does not suppor
*** 44110,44131 ****
  msgstr "%<-fsplit-stack%> stödjer inte 3 registerparametrar"
  
  #: config/i386/i386.cc:12532
! #, fuzzy, gcc-internal-format
! #| msgid "%s instructions aren%'t allowed in a function with the %<no_caller_saved_registers%> attribute"
  msgid "%<-mtls-dialect=gnu2%> must be used with a function with the %<no_caller_saved_registers%> attribute"
! msgstr "%s-instruktioner är inte tillåtna i en funktion med attributet %<no_caller_saved_registers%>"
  
  #: config/i386/i386.cc:12536
! #, fuzzy, gcc-internal-format
! #| msgid "%s instructions aren%'t allowed in an exception service routine"
  msgid "%<-mtls-dialect=gnu2%> must be used with an exception service routine"
! msgstr "%s-instruktioner är inte tillåtna i en undantagshanteringsrutin"
  
  #: config/i386/i386.cc:12538
! #, fuzzy, gcc-internal-format
! #| msgid "%s instructions aren%'t allowed in an interrupt service routine"
  msgid "%<-mtls-dialect=gnu2%> must be used with an interrupt service routine"
! msgstr "%s-instruktioner är inte tillåtna i en avbrottshanteringsrutin"
  
  #: config/i386/i386.cc:13882
  #, gcc-internal-format
--- 43743,43761 ----
  msgstr "%<-fsplit-stack%> stödjer inte 3 registerparametrar"
  
  #: config/i386/i386.cc:12532
! #, gcc-internal-format
  msgid "%<-mtls-dialect=gnu2%> must be used with a function with the %<no_caller_saved_registers%> attribute"
! msgstr "%<-mtls-dialect=gnu2%> måste användas med en funktion med attributet %<no_caller_saved_registers%>"
  
  #: config/i386/i386.cc:12536
! #, gcc-internal-format
  msgid "%<-mtls-dialect=gnu2%> must be used with an exception service routine"
! msgstr "%<-mtls-dialect=gnu2%> måste användas med en undantagshanteringsrutin"
  
  #: config/i386/i386.cc:12538
! #, gcc-internal-format
  msgid "%<-mtls-dialect=gnu2%> must be used with an interrupt service routine"
! msgstr "%<-mtls-dialect=gnu2%> måste användas med en avbrottshanteringsrutin"
  
  #: config/i386/i386.cc:13882
  #, gcc-internal-format
*************** msgid "%qs does not work on a cross comp
*** 44319,44328 ****
  msgstr "%qs fungerar inte med en korskompilator"
  
  #: config/loongarch/loongarch-opts.cc:365
! #, fuzzy, gcc-internal-format
! #| msgid "PIC is not supported for %qs"
  msgid "SIMD is not supported on LA32"
! msgstr "PIC stödjs inte för %qs"
  
  #: config/loongarch/loongarch-opts.cc:384
  #, gcc-internal-format
--- 43949,43957 ----
  msgstr "%qs fungerar inte med en korskompilator"
  
  #: config/loongarch/loongarch-opts.cc:365
! #, gcc-internal-format
  msgid "SIMD is not supported on LA32"
! msgstr "SIMD stödjs inte för på LA32"
  
  #: config/loongarch/loongarch-opts.cc:384
  #, gcc-internal-format
*************** msgid "%qs cannot be used for compiling
*** 44396,44405 ****
  msgstr "%qs kan inte användas till kompilering av ett delat bibliotek"
  
  #: config/loongarch/loongarch-target-attr.cc:261
! #, fuzzy, gcc-internal-format
! #| msgid "pragma or attribute %<target(\"%s\")%> is not valid"
  msgid "the value of pragma or attribute %<target(\"%s\")%> not be empty"
! msgstr "pragmat eller attributet %<target(\"%s\")%> är inte giltigt"
  
  #: config/loongarch/loongarch-target-attr.cc:332 config/s390/s390.cc:17045
  #: config/s390/s390.cc:17096 config/s390/s390.cc:17114
--- 44025,44033 ----
  msgstr "%qs kan inte användas till kompilering av ett delat bibliotek"
  
  #: config/loongarch/loongarch-target-attr.cc:261
! #, gcc-internal-format
  msgid "the value of pragma or attribute %<target(\"%s\")%> not be empty"
! msgstr "värdet på pragmat eller attributet %<target(\"%s\")%> får inte vara tomt"
  
  #: config/loongarch/loongarch-target-attr.cc:332 config/s390/s390.cc:17045
  #: config/s390/s390.cc:17096 config/s390/s390.cc:17114
*************** msgid "\"default\" cannot be set togethe
*** 44413,44428 ****
  msgstr ""
  
  #: config/loongarch/loongarch-target-attr.cc:556
! #, fuzzy, gcc-internal-format
! #| msgid "clones for %<target_clones%> attribute cannot be created"
  msgid "characher before %<;%> in attribute %qs cannot be empty"
! msgstr "kloner för attributet %<target_clones%> kan inte skapas"
  
  #: config/loongarch/loongarch-target-attr.cc:567
! #, fuzzy, gcc-internal-format
! #| msgid "%qs property cannot be set"
  msgid "in attribute %qs priority cannot be empty"
! msgstr "egenskapen %qs kan inte sättas"
  
  #: config/loongarch/loongarch-target-attr.cc:576
  #, gcc-internal-format
--- 44041,44054 ----
  msgstr ""
  
  #: config/loongarch/loongarch-target-attr.cc:556
! #, gcc-internal-format
  msgid "characher before %<;%> in attribute %qs cannot be empty"
! msgstr ""
  
  #: config/loongarch/loongarch-target-attr.cc:567
! #, gcc-internal-format
  msgid "in attribute %qs priority cannot be empty"
! msgstr ""
  
  #: config/loongarch/loongarch-target-attr.cc:576
  #, gcc-internal-format
*************** msgid "in attribute %qs you need to set
*** 44446,44461 ****
  msgstr ""
  
  #: config/loongarch/loongarch-target-attr.cc:684
! #, fuzzy, gcc-internal-format
! #| msgid "value %qs is not supported by attribute %<target%>"
  msgid "attribute %qs is not supported in %<target_version%> or %<target_clones%>"
! msgstr "värdet %qs stödjs inte av attributet %<target%>"
  
  #: config/loongarch/loongarch-target-attr.cc:701
! #, fuzzy, gcc-internal-format
! #| msgid "%qs is not supported on this target"
  msgid "%qs is not supported in target attribute"
! msgstr "%qs stödjs inte på denna målarkitektur"
  
  #: config/loongarch/loongarch.cc:8618
  #, gcc-internal-format
--- 44072,44085 ----
  msgstr ""
  
  #: config/loongarch/loongarch-target-attr.cc:684
! #, gcc-internal-format
  msgid "attribute %qs is not supported in %<target_version%> or %<target_clones%>"
! msgstr "attributet %qs stödjs inte i %<target_version%> eller %<target_clones%>"
  
  #: config/loongarch/loongarch-target-attr.cc:701
! #, gcc-internal-format
  msgid "%qs is not supported in target attribute"
! msgstr "%qs stödjs inte i attributet target"
  
  #: config/loongarch/loongarch.cc:8618
  #, gcc-internal-format
*************** msgid "function pointers not supported w
*** 45539,45548 ****
  msgstr "funktionspekare stödjs inte med flaggan %<-mabi=ti%>"
  
  #: config/pru/pru-passes.cc:111
! #, fuzzy, gcc-internal-format
! #| msgid "function pointers not supported with %<-mabi=ti%> option"
  msgid "bit-fields not supported with %<-mabi=ti%> option"
! msgstr "funktionspekare stödjs inte med flaggan %<-mabi=ti%>"
  
  #: config/pru/pru-passes.cc:136
  #, gcc-internal-format
--- 45163,45171 ----
  msgstr "funktionspekare stödjs inte med flaggan %<-mabi=ti%>"
  
  #: config/pru/pru-passes.cc:111
! #, gcc-internal-format
  msgid "bit-fields not supported with %<-mabi=ti%> option"
! msgstr "bitfält stödjs inte med flaggan %<-mabi=ti%>"
  
  #: config/pru/pru-passes.cc:136
  #, gcc-internal-format
*************** msgid "redefinition of %<CTABLE_ENTRY %w
*** 45575,45584 ****
  msgstr "omdefinition av %<CTABLE_ENTRY %wd%>"
  
  #: config/pru/pru-pragma.cc:66
! #, fuzzy, gcc-internal-format
! #| msgid "%<CTABLE_ENTRY%> base address is not a multiple of 256"
  msgid "%<CTABLE_ENTRY%> base address does not fit in 32-bits"
! msgstr "%<CTABLE_ENTRY%>-basadress är inte en multipel av 256"
  
  #: config/pru/pru-pragma.cc:70
  #, gcc-internal-format
--- 45198,45206 ----
  msgstr "omdefinition av %<CTABLE_ENTRY %wd%>"
  
  #: config/pru/pru-pragma.cc:66
! #, gcc-internal-format
  msgid "%<CTABLE_ENTRY%> base address does not fit in 32-bits"
! msgstr "%<CTABLE_ENTRY%>-basadress får inte plats i 32 bitar"
  
  #: config/pru/pru-pragma.cc:70
  #, gcc-internal-format
*************** msgid "malformed %<target()%> attribute"
*** 45701,45716 ****
  msgstr "felformaterat attribut %<target()%>"
  
  #: config/riscv/riscv-target-attr.cc:336
! #, fuzzy, gcc-internal-format
! #| msgid "attribute %<target(\"%s\")%> does not accept an argument"
  msgid "attribute %<target(\"%s\")%> has empty argument"
! msgstr "attributet %<target(\"%s\")%> tar inte något argument"
  
  #: config/riscv/riscv-target-attr.cc:352
! #, fuzzy, gcc-internal-format
! #| msgid "attribute %<target(\"%s\")%> does not accept an argument"
  msgid "attribute %<target(\"%s\")%> expects an argument"
! msgstr "attributet %<target(\"%s\")%> tar inte något argument"
  
  #: config/riscv/riscv-target-attr.cc:360
  #, gcc-internal-format
--- 45323,45336 ----
  msgstr "felformaterat attribut %<target()%>"
  
  #: config/riscv/riscv-target-attr.cc:336
! #, gcc-internal-format
  msgid "attribute %<target(\"%s\")%> has empty argument"
! msgstr "attributet %<target(\"%s\")%> har ett tomt argument"
  
  #: config/riscv/riscv-target-attr.cc:352
! #, gcc-internal-format
  msgid "attribute %<target(\"%s\")%> expects an argument"
! msgstr "attributet %<target(\"%s\")%> förväntar sig ett argument"
  
  #: config/riscv/riscv-target-attr.cc:360
  #, gcc-internal-format
*************** msgid "attribute %<target(\"%s\")%> does
*** 45718,45733 ****
  msgstr "attributet %<target(\"%s\")%> tar inte något argument"
  
  #: config/riscv/riscv-target-attr.cc:369
! #, fuzzy, gcc-internal-format
! #| msgid "Got unknown attribute %<target(\"%s\")%>"
  msgid "unknown attribute %<target(\"%s\")%>"
! msgstr "Fick ett okänt attribut %<target(\"%s\")%>"
  
  #: config/riscv/riscv-target-attr.cc:435
- #, fuzzy
- #| msgid "malformed %<target(\"%s\")%> attribute"
  msgid "malformed %<target(\"%B\")%> attribute"
! msgstr "felformaterat attribut %<target(\"%s\")%>"
  
  #: config/riscv/riscv-v.cc:317
  #, gcc-internal-format, gfc-internal-format
--- 45338,45350 ----
  msgstr "attributet %<target(\"%s\")%> tar inte något argument"
  
  #: config/riscv/riscv-target-attr.cc:369
! #, gcc-internal-format
  msgid "unknown attribute %<target(\"%s\")%>"
! msgstr "okänt attribut %<target(\"%s\")%>"
  
  #: config/riscv/riscv-target-attr.cc:435
  msgid "malformed %<target(\"%B\")%> attribute"
! msgstr "felformaterat attribut %<target(\"%B\")%>"
  
  #: config/riscv/riscv-v.cc:317
  #, gcc-internal-format, gfc-internal-format
*************** msgid "built-in function %qE requires th
*** 45840,45849 ****
  msgstr "den inbyggda funktionen %qE behöver ISA-utökningen zve64x, zve64f, zve64d eller v"
  
  #: config/riscv/riscv-vector-builtins.cc:5713
! #, fuzzy, gcc-internal-format
! #| msgid "unrecognized gcc debugging option: %c"
  msgid "unrecognized RVV builtin"
! msgstr "ej igenkänd felsökningsflagga för gcc: %c"
  
  #: config/riscv/riscv-vector-builtins.cc:5720
  #, gcc-internal-format
--- 45457,45465 ----
  msgstr "den inbyggda funktionen %qE behöver ISA-utökningen zve64x, zve64f, zve64d eller v"
  
  #: config/riscv/riscv-vector-builtins.cc:5713
! #, gcc-internal-format
  msgid "unrecognized RVV builtin"
! msgstr ""
  
  #: config/riscv/riscv-vector-builtins.cc:5720
  #, gcc-internal-format
*************** msgid "ABI for flattened struct with zer
*** 45876,45885 ****
  msgstr "ABI:et för en tillplattad post med nollängds bitfält ändrades i GCC 10"
  
  #: config/riscv/riscv.cc:6337 config/riscv/riscv.cc:6414
! #, fuzzy, gcc-internal-format
! #| msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10"
  msgid "ABI for flattened empty union and zero length array changed in GCC 16"
! msgstr "ABI:et för en tillplattad post med nollängds bitfält ändrades i GCC 10"
  
  #: config/riscv/riscv.cc:7029
  #, gcc-internal-format
--- 45492,45500 ----
  msgstr "ABI:et för en tillplattad post med nollängds bitfält ändrades i GCC 10"
  
  #: config/riscv/riscv.cc:6337 config/riscv/riscv.cc:6414
! #, gcc-internal-format
  msgid "ABI for flattened empty union and zero length array changed in GCC 16"
! msgstr "ABI:et för en tillplattad tom union med nollängds vektor ändrades i GCC 16"
  
  #: config/riscv/riscv.cc:7029
  #, gcc-internal-format
*************** msgid "unsupported %<ABI_VLEN%> value %d
*** 45927,45948 ****
  msgstr ""
  
  #: config/riscv/riscv.cc:7489
! #, fuzzy, gcc-internal-format
! #| msgid "function attribute %qs requires the V ISA extension"
  msgid "function attribute %qs requires the vector ISA extension"
! msgstr "funktionsattributet %qs kräver ISA-utökningen V"
  
  #: config/riscv/riscv.cc:7599
! #, fuzzy, gcc-internal-format
! #| msgid "function attribute %qs requires the V ISA extension"
  msgid "attribute 'rnmi' requires the Smrnmi ISA extension"
! msgstr "funktionsattributet %qs kräver ISA-utökningen V"
  
  #: config/riscv/riscv.cc:7607
! #, fuzzy, gcc-internal-format
! #| msgid "argument to %qE attribute is not %<\"user\"%>, %<\"supervisor\"%>, or %<\"machine\"%>"
  msgid "argument to %qE attribute is not %<\"supervisor\"%>, %<\"machine\"%>, or %<\"rnmi\"%>"
! msgstr "argumentet till attributet %qE är inte %<\"user\"%>, %<\"supervisor\"%> eller %<\"machine\"%>"
  
  #: config/riscv/riscv.cc:7649
  #, gcc-internal-format
--- 45542,45560 ----
  msgstr ""
  
  #: config/riscv/riscv.cc:7489
! #, gcc-internal-format
  msgid "function attribute %qs requires the vector ISA extension"
! msgstr "funktionsattributet %qs kräver ISA-utökningen vektor"
  
  #: config/riscv/riscv.cc:7599
! #, gcc-internal-format
  msgid "attribute 'rnmi' requires the Smrnmi ISA extension"
! msgstr "attributet ”rnmi” kräver ISA-utökningen Smrnmi"
  
  #: config/riscv/riscv.cc:7607
! #, gcc-internal-format
  msgid "argument to %qE attribute is not %<\"supervisor\"%>, %<\"machine\"%>, or %<\"rnmi\"%>"
! msgstr "argumentet till attributet %qE är inte %<\"supervisor\"%>, %<\"machine\"%> eller %<\"rnmi\"%>"
  
  #: config/riscv/riscv.cc:7649
  #, gcc-internal-format
*************** msgid "only uninitialized variables can
*** 47309,47318 ****
  msgstr "endast oinitierade variabler kan placeras i en %<.bss%>-sektion"
  
  #: config/xtensa/xtensa.cc:6141
! #, fuzzy, gcc-internal-format
! #| msgid "constant literal %qs contains %qc, expected %qs"
  msgid "constantsynth: method %qs invalid insn sequence, expected %wd (%wx)"
! msgstr "den konstanta literalen %qs innehåller %qc, %qs förväntades"
  
  #: config/xtensa/xtensa.cc:6146
  #, gcc-internal-format
--- 46921,46929 ----
  msgstr "endast oinitierade variabler kan placeras i en %<.bss%>-sektion"
  
  #: config/xtensa/xtensa.cc:6141
! #, gcc-internal-format
  msgid "constantsynth: method %qs invalid insn sequence, expected %wd (%wx)"
! msgstr ""
  
  #: config/xtensa/xtensa.cc:6146
  #, gcc-internal-format
*************** msgid "Argument to %<-fcheck%> is not va
*** 47418,47463 ****
  msgstr "Argumentet till %<-fcheck%> är inte giltigt: %s"
  
  #: algol68/a68-lang.cc:535
! #, fuzzy, gcc-internal-format
! #| msgid "bad argument for %<-fmodule-file=%>: %qs"
  msgid "invalid argument for %<-fmodules-map%>: %s"
! msgstr "felaktigt argument till %<-fmodule-file=%>: %qs"
  
  #: algol68/a68-lang.cc:544
! #, fuzzy, gcc-internal-format
! #| msgid "cannot open profile file %s"
  msgid "cannot open modules map file %<%s%>"
! msgstr "kan inte öppna profileringsfilen %s"
  
  #: algol68/a68-lang.cc:549
! #, fuzzy, gcc-internal-format
! #| msgid "Cannot delete module file %qs: %s"
  msgid "cannot determine size of modules map file %<%s%>"
! msgstr "Kan inte radera modulfilen %qs: %s"
  
  #: algol68/a68-lang.cc:556
! #, fuzzy, gcc-internal-format
! #| msgid "cannot read omp_requires file %qs"
  msgid "cannot read contents of modules map file %<%s%>"
! msgstr "kan inte läsa omp_requires-filen %qs"
  
  #: algol68/a68-lang.cc:666
! #, fuzzy, gcc-internal-format
! #| msgid "method attributes must be specified at the end only"
  msgid "exactly one source file must be specified on the command line"
! msgstr "metodattribut måste anges endast i slutet"
  
  #: algol68/a68-low-coercions.cc:403
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "cannot write to %s: %m"
  msgid "cannot do widening from %s to %s"
! msgstr "kan inte skriva till %s: %m"
  
  #: algol68/a68-low-moids.cc:648
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Cannot open %s"
  msgid "Cannot lower mode %s"
! msgstr "Kan inte öppna %s"
  
  #: algol68/a68-low-prelude.cc:52
  #, gcc-internal-format
--- 47029,47067 ----
  msgstr "Argumentet till %<-fcheck%> är inte giltigt: %s"
  
  #: algol68/a68-lang.cc:535
! #, gcc-internal-format
  msgid "invalid argument for %<-fmodules-map%>: %s"
! msgstr ""
  
  #: algol68/a68-lang.cc:544
! #, gcc-internal-format
  msgid "cannot open modules map file %<%s%>"
! msgstr "kan inte öppna modulavbildningsfilen %<%s%>"
  
  #: algol68/a68-lang.cc:549
! #, gcc-internal-format
  msgid "cannot determine size of modules map file %<%s%>"
! msgstr ""
  
  #: algol68/a68-lang.cc:556
! #, gcc-internal-format
  msgid "cannot read contents of modules map file %<%s%>"
! msgstr ""
  
  #: algol68/a68-lang.cc:666
! #, gcc-internal-format
  msgid "exactly one source file must be specified on the command line"
! msgstr ""
  
  #: algol68/a68-low-coercions.cc:403
! #, gcc-internal-format, gfc-internal-format
  msgid "cannot do widening from %s to %s"
! msgstr ""
  
  #: algol68/a68-low-moids.cc:648
! #, gcc-internal-format, gfc-internal-format
  msgid "Cannot lower mode %s"
! msgstr ""
  
  #: algol68/a68-low-prelude.cc:52
  #, gcc-internal-format
*************** msgid "get skip tree: cannot compute SKI
*** 47470,47497 ****
  msgstr ""
  
  #: algol68/a68-low.cc:1720
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "cannot open %s"
  msgid "cannot lower node %s"
! msgstr "kan inte öppna %s"
  
  #: algol68/a68-parser-scanner.cc:337
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "could not open response file %s"
  msgid "could not open source file %s"
! msgstr "det gick inte att öppna svarsfilen %s"
  
  #: algol68/a68-parser-scanner.cc:344
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%qs is not a directory"
  msgid "specified file %s is a directory"
! msgstr "%qs är inte en katalog"
  
  #: algol68/a68-parser-scanner.cc:349
! #, fuzzy, gcc-internal-format
! #| msgid "could not write to response file %s"
  msgid "could not get size of source file"
! msgstr "det gick inte att skriva till svarsfilen %s"
  
  #: c/c-convert.cc:104 c/c-typeck.cc:2805 c/c-typeck.cc:15412 cp/typeck.cc:2635
  #: cp/typeck.cc:9874 cp/typeck.cc:10682 d/d-convert.cc:262
--- 47074,47097 ----
  msgstr ""
  
  #: algol68/a68-low.cc:1720
! #, gcc-internal-format, gfc-internal-format
  msgid "cannot lower node %s"
! msgstr ""
  
  #: algol68/a68-parser-scanner.cc:337
! #, gcc-internal-format, gfc-internal-format
  msgid "could not open source file %s"
! msgstr "det gick inte att öppna källfilen %s"
  
  #: algol68/a68-parser-scanner.cc:344
! #, gcc-internal-format, gfc-internal-format
  msgid "specified file %s is a directory"
! msgstr "den angivna filen %s är en katalog"
  
  #: algol68/a68-parser-scanner.cc:349
! #, gcc-internal-format
  msgid "could not get size of source file"
! msgstr ""
  
  #: c/c-convert.cc:104 c/c-typeck.cc:2805 c/c-typeck.cc:15412 cp/typeck.cc:2635
  #: cp/typeck.cc:9874 cp/typeck.cc:10682 d/d-convert.cc:262
*************** msgid "underspecified declaration of %qE
*** 47575,47584 ****
  msgstr "underspecificerad deklaration av %qE, som redan är deklarerad i denna räckvidd"
  
  #: c/c-decl.cc:1735 c/c-decl.cc:7962
! #, fuzzy, gcc-internal-format
! #| msgid "defining a type in a cast is invalid in C++"
  msgid "using %qD as both a typedef and a tag is invalid in C++"
! msgstr "definition av en typ i en typkonvertering är ogiltigt i C++"
  
  #: c/c-decl.cc:1738 c/c-decl.cc:7965 c/c-decl.cc:8971 c/c-decl.cc:9967
  #: c/c-decl.cc:9973 c/c-decl.cc:10204
--- 47175,47183 ----
  msgstr "underspecificerad deklaration av %qE, som redan är deklarerad i denna räckvidd"
  
  #: c/c-decl.cc:1735 c/c-decl.cc:7962
! #, gcc-internal-format
  msgid "using %qD as both a typedef and a tag is invalid in C++"
! msgstr ""
  
  #: c/c-decl.cc:1738 c/c-decl.cc:7965 c/c-decl.cc:8971 c/c-decl.cc:9967
  #: c/c-decl.cc:9973 c/c-decl.cc:10204
*************** msgid "previous declaration of %q+D with
*** 47634,47643 ****
  msgstr "tidigare deklaration av %q+D med typen %qT"
  
  #: c/c-decl.cc:2109
! #, fuzzy, gcc-internal-format
! #| msgid "virtual function multiversioning not supported"
  msgid "cannot use function multiversioning on a renamed function"
! msgstr "multiversionering av virtuell funktion stödjs inte"
  
  #: c/c-decl.cc:2162
  #, gcc-internal-format
--- 47233,47241 ----
  msgstr "tidigare deklaration av %q+D med typen %qT"
  
  #: c/c-decl.cc:2109
! #, gcc-internal-format
  msgid "cannot use function multiversioning on a renamed function"
! msgstr ""
  
  #: c/c-decl.cc:2162
  #, gcc-internal-format
*************** msgid "redeclaration of %q+D with no lin
*** 47795,47804 ****
  msgstr "omdeklaration av %q+D utan länkklass"
  
  #: c/c-decl.cc:2702
! #, fuzzy, gcc-internal-format
! #| msgid "declaration of function %qD in invalid context"
  msgid "duplicate declaration of %qD is invalid in C++"
! msgstr "deklaration av funktionen %qD i ogiltig kontext"
  
  #: c/c-decl.cc:2712
  #, gcc-internal-format
--- 47393,47401 ----
  msgstr "omdeklaration av %q+D utan länkklass"
  
  #: c/c-decl.cc:2702
! #, gcc-internal-format
  msgid "duplicate declaration of %qD is invalid in C++"
! msgstr ""
  
  #: c/c-decl.cc:2712
  #, gcc-internal-format
*************** msgid "traditional C lacks a separate na
*** 47947,47956 ****
  msgstr "traditionell C saknar en separat namnrymd för etiketter, identifierare %qE står i konflikt"
  
  #: c/c-decl.cc:4495
! #, fuzzy, gcc-internal-format
! #| msgid "jump into scope of identifier with variably modified type"
  msgid "switch jumps into scope of identifier with variably modified type"
! msgstr "hopp in i räckvidd för identifierare med variabel typ"
  
  #: c/c-decl.cc:4505
  #, gcc-internal-format
--- 47544,47552 ----
  msgstr "traditionell C saknar en separat namnrymd för etiketter, identifierare %qE står i konflikt"
  
  #: c/c-decl.cc:4495
! #, gcc-internal-format
  msgid "switch jumps into scope of identifier with variably modified type"
! msgstr "switch-hopp in i räckvidd för identifierare med variabel typ"
  
  #: c/c-decl.cc:4505
  #, gcc-internal-format
*************** msgid "inline function %q+D given attrib
*** 48168,48177 ****
  msgstr "inline-funktionen %q+D har fått attributet %qs"
  
  #: c/c-decl.cc:5945
! #, fuzzy, gcc-internal-format
! #| msgid "%<__label__%> declarations are only allowed in function scopes"
  msgid "versioned declarations are only allowed at file scope"
! msgstr "%<__label__%>-deklarationer får bara förekomma på funktionsnivå"
  
  #: c/c-decl.cc:5985
  #, gcc-internal-format
--- 47764,47772 ----
  msgstr "inline-funktionen %q+D har fått attributet %qs"
  
  #: c/c-decl.cc:5945
! #, gcc-internal-format
  msgid "versioned declarations are only allowed at file scope"
! msgstr "versionerade deklarationer får bara förekomma på filnivå"
  
  #: c/c-decl.cc:5985
  #, gcc-internal-format
*************** msgid "%q+D in declare target directive
*** 48219,48228 ****
  msgstr "%q+D i deklarationsmålsdirektiv har inte en avbildbar typ"
  
  #: c/c-decl.cc:6440
! #, fuzzy, gcc-internal-format
! #| msgid "Warn about mismatched declarations of VLA parameters."
  msgid "more than one list of forward declarations of parameters"
! msgstr "Varna för deklarationer av VLA-parametrar som inte stämmer överens."
  
  #: c/c-decl.cc:6443
  #, gcc-internal-format
--- 47814,47822 ----
  msgstr "%q+D i deklarationsmålsdirektiv har inte en avbildbar typ"
  
  #: c/c-decl.cc:6440
! #, gcc-internal-format
  msgid "more than one list of forward declarations of parameters"
! msgstr ""
  
  #: c/c-decl.cc:6443
  #, gcc-internal-format
*************** msgid "array of unknown size with empty
*** 48245,48254 ****
  msgstr "vektor av okänd storlek med tom initierare"
  
  #: c/c-decl.cc:6555
! #, fuzzy, gcc-internal-format
! #| msgid "storage size of %qD isn%'t constant"
  msgid "storage size isn%'t constant"
! msgstr "lagringsstorlek på %qD är inte konstant"
  
  #: c/c-decl.cc:6599
  #, gcc-internal-format
--- 47839,47847 ----
  msgstr "vektor av okänd storlek med tom initierare"
  
  #: c/c-decl.cc:6555
! #, gcc-internal-format
  msgid "storage size isn%'t constant"
! msgstr "lagringsstorlek är inte konstant"
  
  #: c/c-decl.cc:6599
  #, gcc-internal-format
*************** msgid "%<[*]%> not in a declaration"
*** 48559,48568 ****
  msgstr "%<[*]%> är inte i en deklaration"
  
  #: c/c-decl.cc:7597
! #, fuzzy, gcc-internal-format
! #| msgid "%<[*]%> not allowed in other than function prototype scope"
  msgid "%<[*]%> not allowed in other than function prototype scope or generic association"
! msgstr "%<[*]%> är inte tillåtet annat än inom en funktionsprototyp"
  
  #: c/c-decl.cc:7663
  #, gcc-internal-format
--- 48152,48160 ----
  msgstr "%<[*]%> är inte i en deklaration"
  
  #: c/c-decl.cc:7597
! #, gcc-internal-format
  msgid "%<[*]%> not allowed in other than function prototype scope or generic association"
! msgstr "%<[*]%> är inte tillåtet annat än inom en funktionsprototyp eller generisk association"
  
  #: c/c-decl.cc:7663
  #, gcc-internal-format
*************** msgid "empty union has size 0 in C, size
*** 48959,48968 ****
  msgstr "tom union har storlek 0 i C, storlek 1 i C++"
  
  #: c/c-decl.cc:9333
! #, fuzzy, gcc-internal-format
! #| msgid "defining a type in a compound literal is invalid in C++"
  msgid "using %qD as both field and typedef name is invalid in C++"
! msgstr "att definiera en typ i en sammansatt litteral är ogiltigt i C++"
  
  #: c/c-decl.cc:9543
  #, gcc-internal-format
--- 48551,48559 ----
  msgstr "tom union har storlek 0 i C, storlek 1 i C++"
  
  #: c/c-decl.cc:9333
! #, gcc-internal-format
  msgid "using %qD as both field and typedef name is invalid in C++"
! msgstr ""
  
  #: c/c-decl.cc:9543
  #, gcc-internal-format
*************** msgid "type %qT is too large"
*** 49020,49029 ****
  msgstr "typen %qT är för stor"
  
  #: c/c-decl.cc:9823
! #, fuzzy, gcc-internal-format
! #| msgid "bit-field %qs has invalid type"
  msgid "bit-field %qD has invalid type"
! msgstr "bitfältet %qs har ogiltig typ"
  
  #: c/c-decl.cc:9878
  #, gcc-internal-format
--- 48611,48619 ----
  msgstr "typen %qT är för stor"
  
  #: c/c-decl.cc:9823
! #, gcc-internal-format
  msgid "bit-field %qD has invalid type"
! msgstr "bitfältet %qD har ogiltig typ"
  
  #: c/c-decl.cc:9878
  #, gcc-internal-format
*************** msgid "%qD is normally a non-static func
*** 49171,49180 ****
  msgstr "%qD är normalt en icke-statisk funktion"
  
  #: c/c-decl.cc:10991
! #, fuzzy, gcc-internal-format
! #| msgid "%<__label__%> declarations are only allowed in function scopes"
  msgid "versioned definitions are only allowed at file scope"
! msgstr "%<__label__%>-deklarationer får bara förekomma på funktionsnivå"
  
  #: c/c-decl.cc:11035
  #, gcc-internal-format
--- 48761,48769 ----
  msgstr "%qD är normalt en icke-statisk funktion"
  
  #: c/c-decl.cc:10991
! #, gcc-internal-format
  msgid "versioned definitions are only allowed at file scope"
! msgstr "versionerade deklarationer får bara förekomma på filnivå"
  
  #: c/c-decl.cc:11035
  #, gcc-internal-format
*************** msgstr "%<long long long%> är för lån
*** 49386,49395 ****
  #: c/c-decl.cc:12925 c/c-decl.cc:12929 c/c-decl.cc:12933 c/c-decl.cc:12937
  #: c/c-decl.cc:12941 c/c-decl.cc:12945 c/c-decl.cc:12949 c/c-decl.cc:12979
  #: c/c-decl.cc:12996 c/c-decl.cc:13000 c/c-decl.cc:13004 c/c-decl.cc:13008
! #, fuzzy, gcc-internal-format
! #| msgid "both %qs and %qs specified"
  msgid "both %qs and %qs in declaration specifiers"
! msgstr "både %qs och %qs angivna"
  
  #: c/c-decl.cc:12210
  #, gcc-internal-format
--- 48975,48983 ----
  #: c/c-decl.cc:12925 c/c-decl.cc:12929 c/c-decl.cc:12933 c/c-decl.cc:12937
  #: c/c-decl.cc:12941 c/c-decl.cc:12945 c/c-decl.cc:12949 c/c-decl.cc:12979
  #: c/c-decl.cc:12996 c/c-decl.cc:13000 c/c-decl.cc:13004 c/c-decl.cc:13008
! #, gcc-internal-format
  msgid "both %qs and %qs in declaration specifiers"
! msgstr "både %qs och %qs i deklarationsspecificerare"
  
  #: c/c-decl.cc:12210
  #, gcc-internal-format
*************** msgid "ISO C90 does not support %<long l
*** 49397,49414 ****
  msgstr "ISO C90 stödjer inte %<long long%>"
  
  #: c/c-decl.cc:12229 c/c-decl.cc:12293 c/c-decl.cc:12518 c/c-decl.cc:12674
! #, fuzzy, gcc-internal-format
! #| msgid "two or more data types in declaration specifiers"
  msgid "both %qs and %<__int%d%> in declaration specifiers"
! msgstr "två eller fler datatyper i deklaration av specificerare"
  
  #: c/c-decl.cc:12249 c/c-decl.cc:12317 c/c-decl.cc:12373 c/c-decl.cc:12429
  #: c/c-decl.cc:12554 c/c-decl.cc:12855 c/c-decl.cc:12863 c/c-decl.cc:12871
  #: c/c-decl.cc:12879 c/c-decl.cc:12887
! #, fuzzy, gcc-internal-format
! #| msgid "multiple storage classes in declaration specifiers"
  msgid "both %qs and %<_Float%d%s%> in declaration specifiers"
! msgstr "flera lagringsklasser i deklarationsspecificerare"
  
  #: c/c-decl.cc:12461 c/c-parser.cc:12885
  #, gcc-internal-format
--- 48985,49000 ----
  msgstr "ISO C90 stödjer inte %<long long%>"
  
  #: c/c-decl.cc:12229 c/c-decl.cc:12293 c/c-decl.cc:12518 c/c-decl.cc:12674
! #, gcc-internal-format
  msgid "both %qs and %<__int%d%> in declaration specifiers"
! msgstr ""
  
  #: c/c-decl.cc:12249 c/c-decl.cc:12317 c/c-decl.cc:12373 c/c-decl.cc:12429
  #: c/c-decl.cc:12554 c/c-decl.cc:12855 c/c-decl.cc:12863 c/c-decl.cc:12871
  #: c/c-decl.cc:12879 c/c-decl.cc:12887
! #, gcc-internal-format
  msgid "both %qs and %<_Float%d%s%> in declaration specifiers"
! msgstr ""
  
  #: c/c-decl.cc:12461 c/c-parser.cc:12885
  #, gcc-internal-format
*************** msgid "ISO C does not support %<__int%d%
*** 49441,49450 ****
  msgstr "ISO C stödjer inte typen %<__int%d%>"
  
  #: c/c-decl.cc:12670 c/c-decl.cc:12678
! #, fuzzy, gcc-internal-format
! #| msgid "two or more data types in declaration specifiers"
  msgid "both %<__int%d%> and %qs in declaration specifiers"
! msgstr "två eller fler datatyper i deklaration av specificerare"
  
  #: c/c-decl.cc:12684
  #, gcc-internal-format
--- 49027,49035 ----
  msgstr "ISO C stödjer inte typen %<__int%d%>"
  
  #: c/c-decl.cc:12670 c/c-decl.cc:12678
! #, gcc-internal-format
  msgid "both %<__int%d%> and %qs in declaration specifiers"
! msgstr "både %<__int%d%> och %qs i deklarationsspecificerare"
  
  #: c/c-decl.cc:12684
  #, gcc-internal-format
*************** msgid "%qs without corresponding %qs"
*** 49750,49759 ****
  msgstr "%qs utan motsvarande %qs"
  
  #: c/c-parser.cc:2122 cp/semantics.cc:4068
! #, fuzzy, gcc-internal-format
! #| msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%> or %<#pragma omp begin declare target%>"
  msgid "%<omp begin declare variant%> without corresponding %<omp end declare variant%>"
! msgstr "%<#pragma omp end declare target%> utan en motsvarande %<#pragma omp declare target%> eller %<#pragma omp begin declare target%>"
  
  #: c/c-parser.cc:2226 c/c-parser.cc:14906
  #, gcc-internal-format
--- 49335,49343 ----
  msgstr "%qs utan motsvarande %qs"
  
  #: c/c-parser.cc:2122 cp/semantics.cc:4068
! #, gcc-internal-format
  msgid "%<omp begin declare variant%> without corresponding %<omp end declare variant%>"
! msgstr ""
  
  #: c/c-parser.cc:2226 c/c-parser.cc:14906
  #, gcc-internal-format
*************** msgid "ISO C forbids nested functions"
*** 49914,49929 ****
  msgstr "ISO C förbjuder nästade funktioner"
  
  #: c/c-parser.cc:3366
! #, fuzzy, gcc-internal-format
! #| msgid "%<__RTL%> function cannot be compiled with %<-flto%>"
  msgid "%<__RTL%> function cannot be a nested function"
! msgstr "en %<__RTL%>-funktion kan inte kompileras med %<-flto%>"
  
  #: c/c-parser.cc:3368
! #, fuzzy, gcc-internal-format
! #| msgid "%<__RTL%> function cannot be compiled with %<-flto%>"
  msgid "%<__GIMPLE%> function cannot be a nested function"
! msgstr "en %<__RTL%>-funktion kan inte kompileras med %<-flto%>"
  
  #: c/c-parser.cc:3530 c/c-parser.cc:9828 c/c-parser.cc:16365
  #: c/c-parser.cc:21723 cp/parser.cc:46080
--- 49498,49511 ----
  msgstr "ISO C förbjuder nästade funktioner"
  
  #: c/c-parser.cc:3366
! #, gcc-internal-format
  msgid "%<__RTL%> function cannot be a nested function"
! msgstr "en %<__RTL%>-funktion kan inte vara en nästad funktion"
  
  #: c/c-parser.cc:3368
! #, gcc-internal-format
  msgid "%<__GIMPLE%> function cannot be a nested function"
! msgstr "en %<__RTL%>-funktion kan inte vara en nästad funktion"
  
  #: c/c-parser.cc:3530 c/c-parser.cc:9828 c/c-parser.cc:16365
  #: c/c-parser.cc:21723 cp/parser.cc:46080
*************** msgid "traditional C rejects the unary p
*** 50429,50462 ****
  msgstr "traditionell C tillåter inte operatorn unärt plus"
  
  #: c/c-parser.cc:10824
! #, fuzzy, gcc-internal-format
! #| msgid "ISO C does not support if declarations before C2Y"
  msgid "ISO C does not support static assertions in expressions before C2Y"
! msgstr "ISO C stödjer inte if-deklarationer före C2Y"
  
  #: c/c-parser.cc:10857
! #, fuzzy, gcc-internal-format
! #| msgid "ISO C does not support %qs before C23"
  msgid "ISO C does not support %qs before C2Y"
! msgstr "ISO C stödjer inte %qs före C23"
  
  #: c/c-parser.cc:10897
! #, fuzzy, gcc-internal-format
! #| msgid "storage class specifier in %qE"
  msgid "storage class specifier in %qs"
! msgstr "lagringsklasspecificerare i %qE"
  
  #: c/c-parser.cc:10900 c/c-parser.cc:11086
! #, fuzzy, gcc-internal-format
! #| msgid "alignment specified for type name in %qE"
  msgid "alignment specified for type name in %qs"
! msgstr "minnesjustering angiven för typnamn i %qE"
  
  #: c/c-parser.cc:10927
! #, fuzzy, gcc-internal-format
! #| msgid "%<sizeof%> applied to a bit-field"
  msgid "%qs applied to a bit-field"
! msgstr "%<sizeof%> applicerat på ett bitfält"
  
  #: c/c-parser.cc:11003
  #, gcc-internal-format
--- 50011,50039 ----
  msgstr "traditionell C tillåter inte operatorn unärt plus"
  
  #: c/c-parser.cc:10824
! #, gcc-internal-format
  msgid "ISO C does not support static assertions in expressions before C2Y"
! msgstr "ISO C stödjer inte statiska försäkringar i uttryck före C2Y"
  
  #: c/c-parser.cc:10857
! #, gcc-internal-format
  msgid "ISO C does not support %qs before C2Y"
! msgstr "ISO C stödjer inte %qs före C2Y"
  
  #: c/c-parser.cc:10897
! #, gcc-internal-format
  msgid "storage class specifier in %qs"
! msgstr "lagringsklasspecificerare i %qs"
  
  #: c/c-parser.cc:10900 c/c-parser.cc:11086
! #, gcc-internal-format
  msgid "alignment specified for type name in %qs"
! msgstr "minnesjustering angiven för typnamn i %qs"
  
  #: c/c-parser.cc:10927
! #, gcc-internal-format
  msgid "%qs applied to a bit-field"
! msgstr "%qs applicerat på ett bitfält"
  
  #: c/c-parser.cc:11003
  #, gcc-internal-format
*************** msgid "ISO C does not allow %<%E (expres
*** 50474,50489 ****
  msgstr "ISO C tillåter inte %<%E (uttryck)%>"
  
  #: c/c-parser.cc:11058
! #, fuzzy, gcc-internal-format
! #| msgid "ISO C99 does not support %qE"
  msgid "ISO C does not support %qs"
! msgstr "ISO C99 stödjer inte %qE"
  
  #: c/c-parser.cc:11071
! #, fuzzy, gcc-internal-format
! #| msgid "invalid application of %qs to a void type"
  msgid "invalid application of %qs to something not a type"
! msgstr "ogiltig användning av %qs på en void-typ"
  
  #: c/c-parser.cc:11244
  #, gcc-internal-format
--- 50051,50064 ----
  msgstr "ISO C tillåter inte %<%E (uttryck)%>"
  
  #: c/c-parser.cc:11058
! #, gcc-internal-format
  msgid "ISO C does not support %qs"
! msgstr "ISO C stödjer inte %qs"
  
  #: c/c-parser.cc:11071
! #, gcc-internal-format
  msgid "invalid application of %qs to something not a type"
! msgstr "ogiltig användning av %qs på något som inte är en typ"
  
  #: c/c-parser.cc:11244
  #, gcc-internal-format
*************** msgid "ISO C does not support %<_Generic
*** 50516,50525 ****
  msgstr "ISO C stödjer inte %<_Generic%>-associationer med ofullständig typ före C2Y"
  
  #: c/c-parser.cc:11455
! #, fuzzy, gcc-internal-format
! #| msgid "ISO C does not support %<_Generic%> association with incomplete type before C2Y"
  msgid "ISO C does not support %<_Generic%> association with variably-modified type before C2Y"
! msgstr "ISO C stödjer inte %<_Generic%>-associationer med ofullständig typ före C2Y"
  
  #: c/c-parser.cc:11497
  #, gcc-internal-format
--- 50091,50099 ----
  msgstr "ISO C stödjer inte %<_Generic%>-associationer med ofullständig typ före C2Y"
  
  #: c/c-parser.cc:11455
! #, gcc-internal-format
  msgid "ISO C does not support %<_Generic%> association with variably-modified type before C2Y"
! msgstr "ISO C stödjer inte %<_Generic%>-associationer med variabelmodifierad typ före C2Y"
  
  #: c/c-parser.cc:11497
  #, gcc-internal-format
*************** msgid "wrong number of arguments to %<__
*** 50744,50759 ****
  msgstr "fel antal argument till %<__builtin_counted_by_ref%>"
  
  #: c/c-parser.cc:12923
! #, fuzzy, gcc-internal-format
! #| msgid "the argument to %<__builtin_counted_by_ref%> must be an array"
  msgid "the argument to %<__builtin_counted_by_ref%> must be an array or pointer"
! msgstr "argumentet till %<__builtin_counted_by_ref%> måste vara en vektor"
  
  #: c/c-parser.cc:12931
! #, fuzzy, gcc-internal-format
! #| msgid "the argument to %<__builtin_counted_by_ref%> must be an array"
  msgid "the argument to %<__builtin_counted_by_ref%> must be a field of a structure"
! msgstr "argumentet till %<__builtin_counted_by_ref%> måste vara en vektor"
  
  #: c/c-parser.cc:12982 c/c-parser.cc:13011 cp/parser.cc:8701
  #, gcc-internal-format
--- 50318,50331 ----
  msgstr "fel antal argument till %<__builtin_counted_by_ref%>"
  
  #: c/c-parser.cc:12923
! #, gcc-internal-format
  msgid "the argument to %<__builtin_counted_by_ref%> must be an array or pointer"
! msgstr "argumentet till %<__builtin_counted_by_ref%> måste vara en vektor eller pekare"
  
  #: c/c-parser.cc:12931
! #, gcc-internal-format
  msgid "the argument to %<__builtin_counted_by_ref%> must be a field of a structure"
! msgstr "argumentet till %<__builtin_counted_by_ref%> måste vara ett fält i en post"
  
  #: c/c-parser.cc:12982 c/c-parser.cc:13011 cp/parser.cc:8701
  #, gcc-internal-format
*************** msgid "%<#pragma GCC unroll%> requires a
*** 50986,50995 ****
  msgstr "%<#pragma GCC unroll%> kräver ett tilldelningsuttryck som beräknas till en icke-negativ heltalskonstant mindre än %u"
  
  #: c/c-parser.cc:16006 cp/parser.cc:56966
! #, fuzzy, gcc-internal-format
! #| msgid "intervening code must not contain OpenMP directives"
  msgid "intervening code must not contain executable OpenMP directives"
! msgstr "mellanliggande kod får inte innehålla OpemMP-direktiv"
  
  #: c/c-parser.cc:16026 c/c-parser.cc:26701 c/c-parser.cc:27010
  #: c/c-parser.cc:27073 c/c-parser.cc:27183 cp/parser.cc:51253
--- 50558,50566 ----
  msgstr "%<#pragma GCC unroll%> kräver ett tilldelningsuttryck som beräknas till en icke-negativ heltalskonstant mindre än %u"
  
  #: c/c-parser.cc:16006 cp/parser.cc:56966
! #, gcc-internal-format
  msgid "intervening code must not contain executable OpenMP directives"
! msgstr "mellanliggande kod får inte innehålla körbara OpemMP-direktiv"
  
  #: c/c-parser.cc:16026 c/c-parser.cc:26701 c/c-parser.cc:27010
  #: c/c-parser.cc:27073 c/c-parser.cc:27183 cp/parser.cc:51253
*************** msgid "%<allocate%> clause %<align%> mod
*** 51293,51302 ****
  msgstr "argumentet till modifieraren %<align%> av klausulen %<allocate%> måste vara ett positivt konstant heltalsuttryck som är en exponent av två"
  
  #: c/c-parser.cc:19726
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<class%> or %<typename%>"
  msgid "expected %<traits%> or %<memspace%>"
! msgstr "%<class%> eller %<typename%> förväntades"
  
  #: c/c-parser.cc:19791
  #, gcc-internal-format
--- 50864,50872 ----
  msgstr "argumentet till modifieraren %<align%> av klausulen %<allocate%> måste vara ett positivt konstant heltalsuttryck som är en exponent av två"
  
  #: c/c-parser.cc:19726
! #, gcc-internal-format
  msgid "expected %<traits%> or %<memspace%>"
! msgstr "%<traits%> eller %<memspace%> förväntades"
  
  #: c/c-parser.cc:19791
  #, gcc-internal-format
*************** msgid "the specification of arguments to
*** 51309,51318 ****
  msgstr ""
  
  #: c/c-parser.cc:19817 cp/parser.cc:44118
! #, fuzzy, gcc-internal-format
! #| msgid "%<uses_allocators%> clause with traits and memory spaces"
  msgid "%<uses_allocators%> clause only accepts a single allocator when using modifiers"
! msgstr "klausulen %<uses_allocators%> med egenskaper och minnesutrymmen"
  
  #: c/c-parser.cc:19951 cp/parser.cc:44328
  #, gcc-internal-format
--- 50879,50887 ----
  msgstr ""
  
  #: c/c-parser.cc:19817 cp/parser.cc:44118
! #, gcc-internal-format
  msgid "%<uses_allocators%> clause only accepts a single allocator when using modifiers"
! msgstr ""
  
  #: c/c-parser.cc:19951 cp/parser.cc:44328
  #, gcc-internal-format
*************** msgid "invalid doacross kind"
*** 51370,51397 ****
  msgstr "felaktig doacross-sort"
  
  #: c/c-parser.cc:20629 cp/parser.cc:45231
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<cancel%> %<if%> clause modifier"
  msgid "expected %<fallback%> modifier"
! msgstr "%<cancel%> %<if%>-klausulmodifierare förväntades"
  
  #: c/c-parser.cc:20646 cp/parser.cc:45255
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<read%>, %<write%>, %<update%>, or %<capture%> clause"
  msgid "expected %<abort%>, %<default_mem%>, or %<null%> as fallback mode"
! msgstr "%<read%>-, %<write%>-, %<update%>- eller %<capture%>-klausul förväntades"
  
  #: c/c-parser.cc:20675 cp/semantics.cc:8473
! #, fuzzy, gcc-internal-format
! #| msgid "%<priority%> value must be non-negative"
  msgid "%<dyn_groupprivate%> value must be non-negative"
! msgstr "%<priority%>-värdet måste vara positivt"
  
  #: c/c-parser.cc:20783 cp/parser.cc:45371
! #, fuzzy, gcc-internal-format
! #| msgid "illegal operand "
  msgid "illegal comma"
! msgstr "ogiltig operand "
  
  #: c/c-parser.cc:20793 cp/parser.cc:45381
  #, gcc-internal-format
--- 50939,50962 ----
  msgstr "felaktig doacross-sort"
  
  #: c/c-parser.cc:20629 cp/parser.cc:45231
! #, gcc-internal-format
  msgid "expected %<fallback%> modifier"
! msgstr ""
  
  #: c/c-parser.cc:20646 cp/parser.cc:45255
! #, gcc-internal-format
  msgid "expected %<abort%>, %<default_mem%>, or %<null%> as fallback mode"
! msgstr ""
  
  #: c/c-parser.cc:20675 cp/semantics.cc:8473
! #, gcc-internal-format
  msgid "%<dyn_groupprivate%> value must be non-negative"
! msgstr "%<dyn_groupprivate%>-värdet måste vara positivt"
  
  #: c/c-parser.cc:20783 cp/parser.cc:45371
! #, gcc-internal-format
  msgid "illegal comma"
! msgstr "ogiltigt komma"
  
  #: c/c-parser.cc:20793 cp/parser.cc:45381
  #, gcc-internal-format
*************** msgstr "för många %<close%>-modifierar
*** 51405,51420 ****
  
  #: c/c-parser.cc:20815 c/c-parser.cc:21307 cp/parser.cc:45155
  #: cp/parser.cc:45409
! #, fuzzy, gcc-internal-format
! #| msgid "too many %<present%> modifiers"
  msgid "too many %<iterator%> modifiers"
! msgstr "för många %<present%>-modifierare"
  
  #: c/c-parser.cc:20831 cp/parser.cc:45429
! #, fuzzy, gcc-internal-format
! #| msgid "too many %<present%> modifiers"
  msgid "too many %<mapper%> modifiers"
! msgstr "för många %<present%>-modifierare"
  
  #: c/c-parser.cc:20851 cp/parser.cc:45455
  #, gcc-internal-format
--- 50970,50983 ----
  
  #: c/c-parser.cc:20815 c/c-parser.cc:21307 cp/parser.cc:45155
  #: cp/parser.cc:45409
! #, gcc-internal-format
  msgid "too many %<iterator%> modifiers"
! msgstr "för många %<iterator%>-modifierare"
  
  #: c/c-parser.cc:20831 cp/parser.cc:45429
! #, gcc-internal-format
  msgid "too many %<mapper%> modifiers"
! msgstr "för många %<mapper%>-modifierare"
  
  #: c/c-parser.cc:20851 cp/parser.cc:45455
  #, gcc-internal-format
*************** msgstr ""
*** 51423,51432 ****
  
  #: c/c-parser.cc:20867 c/c-parser.cc:29130 cp/parser.cc:45472
  #: cp/parser.cc:55511
! #, fuzzy, gcc-internal-format
! #| msgid "expected identifier or %<(%>"
  msgid "expected identifier or %<default%>"
! msgstr "identifierare eller %<(%> förväntades"
  
  #: c/c-parser.cc:20885 c/c-parser.cc:21296 cp/parser.cc:45141
  #: cp/parser.cc:45494
--- 50986,50994 ----
  
  #: c/c-parser.cc:20867 c/c-parser.cc:29130 cp/parser.cc:45472
  #: cp/parser.cc:55511
! #, gcc-internal-format
  msgid "expected identifier or %<default%>"
! msgstr "identifierare eller %<default%> förväntades"
  
  #: c/c-parser.cc:20885 c/c-parser.cc:21296 cp/parser.cc:45141
  #: cp/parser.cc:45494
*************** msgid "too many %<present%> modifiers"
*** 51435,51444 ****
  msgstr "för många %<present%>-modifierare"
  
  #: c/c-parser.cc:20894 cp/parser.cc:45506
! #, fuzzy, gcc-internal-format
! #| msgid "%<map%> clause with map-type modifier other than %<always%>, %<close%> or %<present%>"
  msgid "%<map%> clause with map-type modifier other than %<always%>, %<close%>, %<iterator%>, %<mapper%> or %<present%>"
! msgstr "en klausul %<map%> med en annan avbildningstypsmodifierare än %<always%>, %<close%> eller %<present%>"
  
  #: c/c-parser.cc:20906 cp/parser.cc:45521
  #, gcc-internal-format
--- 50997,51005 ----
  msgstr "för många %<present%>-modifierare"
  
  #: c/c-parser.cc:20894 cp/parser.cc:45506
! #, gcc-internal-format
  msgid "%<map%> clause with map-type modifier other than %<always%>, %<close%>, %<iterator%>, %<mapper%> or %<present%>"
! msgstr "en klausul %<map%> med en annan avbildningstypsmodifierare än %<always%>, %<close%>, %<iterator%>, %<mapper%> eller %<present%>"
  
  #: c/c-parser.cc:20906 cp/parser.cc:45521
  #, gcc-internal-format
*************** msgid "expected %<host%>, %<nohost%> or
*** 51486,51495 ****
  msgstr "%<host%>, %<nohost%> eller %<any%> förväntades"
  
  #: c/c-parser.cc:21317 cp/parser.cc:45170
! #, fuzzy, gcc-internal-format
! #| msgid "%<map%> clause with map-type modifier other than %<always%>, %<close%> or %<present%>"
  msgid "%qs clause with modifier other than %<iterator%> or %<present%>"
! msgstr "en klausul %<map%> med en annan avbildningstypsmodifierare än %<always%>, %<close%> eller %<present%>"
  
  #: c/c-parser.cc:21413 cp/semantics.cc:10088 cp/semantics.cc:10106
  #, gcc-internal-format
--- 51047,51055 ----
  msgstr "%<host%>, %<nohost%> eller %<any%> förväntades"
  
  #: c/c-parser.cc:21317 cp/parser.cc:45170
! #, gcc-internal-format
  msgid "%qs clause with modifier other than %<iterator%> or %<present%>"
! msgstr "en klausul %qs med en annan modifierare än %<iterator%> eller %<present%>"
  
  #: c/c-parser.cc:21413 cp/semantics.cc:10088 cp/semantics.cc:10106
  #, gcc-internal-format
*************** msgid "variant %qD is a built-in"
*** 52135,52144 ****
  msgstr "varianten %qD är en inbyggd"
  
  #: c/c-parser.cc:28011 cp/decl.cc:9226
! #, fuzzy, gcc-internal-format
! #| msgid "variant %qD is not a function"
  msgid "variant %qD is the same as base function"
! msgstr "varianten %qD är inte en funktion"
  
  #: c/c-parser.cc:28065 cp/parser.cc:53629
  #, gcc-internal-format
--- 51695,51703 ----
  msgstr "varianten %qD är en inbyggd"
  
  #: c/c-parser.cc:28011 cp/decl.cc:9226
! #, gcc-internal-format
  msgid "variant %qD is the same as base function"
! msgstr "varianten %qD är samma som basfunktionen"
  
  #: c/c-parser.cc:28065 cp/parser.cc:53629
  #, gcc-internal-format
*************** msgid "expected %<interop%>"
*** 52181,52190 ****
  msgstr "%<interop%> förväntades"
  
  #: c/c-parser.cc:28245 cp/parser.cc:53838
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<catch%>"
  msgid "expected %<match%> clause"
! msgstr "%<catch%> förväntades"
  
  #: c/c-parser.cc:28261
  #, gcc-internal-format
--- 51740,51748 ----
  msgstr "%<interop%> förväntades"
  
  #: c/c-parser.cc:28245 cp/parser.cc:53838
! #, gcc-internal-format
  msgid "expected %<match%> clause"
! msgstr ""
  
  #: c/c-parser.cc:28261
  #, gcc-internal-format
*************** msgid "an %qs clause can only be specifi
*** 52192,52207 ****
  msgstr "en %qs-klausul kan endast anges om %<dispatch%>-väljaren i %<construct%>-väljarmängden förekommer i %<match%>-klausulen"
  
  #: c/c-parser.cc:28288
! #, fuzzy, gcc-internal-format
! #| msgid "%<requires%> selector is not supported yet"
  msgid "%<append_args%> with unprototyped base function is not supported yet"
! msgstr "selektorn %<requires%> stödjs inte ännu"
  
  #: c/c-parser.cc:28291
! #, fuzzy, gcc-internal-format
! #| msgid "built-in %qD declared here"
  msgid "base function %qD declared here"
! msgstr "den inbyggda %qD är deklarerad här"
  
  #: c/c-parser.cc:28326 cp/decl.cc:9286
  #, gcc-internal-format
--- 51750,51763 ----
  msgstr "en %qs-klausul kan endast anges om %<dispatch%>-väljaren i %<construct%>-väljarmängden förekommer i %<match%>-klausulen"
  
  #: c/c-parser.cc:28288
! #, gcc-internal-format
  msgid "%<append_args%> with unprototyped base function is not supported yet"
! msgstr ""
  
  #: c/c-parser.cc:28291
! #, gcc-internal-format
  msgid "base function %qD declared here"
! msgstr "basfunktionen %qD är deklarerad här"
  
  #: c/c-parser.cc:28326 cp/decl.cc:9286
  #, gcc-internal-format
*************** msgid "%<append_args%> specified here"
*** 52214,52223 ****
  msgstr "%<append_args%> angivet här"
  
  #: c/c-parser.cc:28373
! #, fuzzy, gcc-internal-format
! #| msgid "variant %qD and base %qD have incompatible types"
  msgid "variant %qD and base %qD have incompatible types after %<append_args%> adjustment"
! msgstr "varianten %qD och basen %qD har inkompatibla typer"
  
  #: c/c-parser.cc:28392 cp/decl.cc:9295
  #, gcc-internal-format
--- 51770,51778 ----
  msgstr "%<append_args%> angivet här"
  
  #: c/c-parser.cc:28373
! #, gcc-internal-format
  msgid "variant %qD and base %qD have incompatible types after %<append_args%> adjustment"
! msgstr "varianten %qD och basen %qD har inkompatibla typer efter justeringen %<append_args%>"
  
  #: c/c-parser.cc:28392 cp/decl.cc:9295
  #, gcc-internal-format
*************** msgid "%<#pragma omp declare %s%> not im
*** 52235,52256 ****
  msgstr "%<#pragma omp declare %s%> som inte omedelbart följs av en ensam funktionsdeklaration eller -definition"
  
  #: c/c-parser.cc:28471
! #, fuzzy, gcc-internal-format
! #| msgid "%<#pragma omp declare %s%> must be followed by function declaration or definition"
  msgid "%<#pragma omp declare %s%> cannot be used with function multi-versioning"
! msgstr "%<#pragma omp declare %s%> måste följas av en funktionsdeklaration eller -definition"
  
  #: c/c-parser.cc:28563
! #, fuzzy, gcc-internal-format
! #| msgid "implicit declaration of function %qE"
  msgid "no declaration of base function %qs"
! msgstr "implicit deklaration av funktionen %qE"
  
  #: c/c-parser.cc:28571 cp/parser.cc:25655
! #, fuzzy, gcc-internal-format
! #| msgid "function definition does not declare parameters"
  msgid "variant function definition does not match declaration of %qE"
! msgstr "funktionsdefinition deklarerar inte parametrar"
  
  #: c/c-parser.cc:28729 cp/parser.cc:54284
  #, gcc-internal-format
--- 51790,51808 ----
  msgstr "%<#pragma omp declare %s%> som inte omedelbart följs av en ensam funktionsdeklaration eller -definition"
  
  #: c/c-parser.cc:28471
! #, gcc-internal-format
  msgid "%<#pragma omp declare %s%> cannot be used with function multi-versioning"
! msgstr "%<#pragma omp declare %s%> får inte användas med en multiversionering av funktioner"
  
  #: c/c-parser.cc:28563
! #, gcc-internal-format
  msgid "no declaration of base function %qs"
! msgstr "ingen deklaration av basfunktionen %qs"
  
  #: c/c-parser.cc:28571 cp/parser.cc:25655
! #, gcc-internal-format
  msgid "variant function definition does not match declaration of %qE"
! msgstr "variantfunktionsdefinitionen matchar inte deklarationen av %qE"
  
  #: c/c-parser.cc:28729 cp/parser.cc:54284
  #, gcc-internal-format
*************** msgid "%<device_type%> clause must speci
*** 52278,52299 ****
  msgstr "klausulen %<device_type%> måste ange ”any” när den används med en %<indirect%>-klausul"
  
  #: c/c-parser.cc:28897 cp/parser.cc:54392
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<catch%>"
  msgid "expected %<match%>"
! msgstr "%<catch%> förväntades"
  
  #: c/c-parser.cc:28950 c/c-parser.cc:29052 cp/parser.cc:54445
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<none%> or %<present%>"
  msgid "expected %<target%> or %<variant%>"
! msgstr "%<none%> eller %<present%> förväntades"
  
  #: c/c-parser.cc:28964 cp/parser.cc:54458
! #, fuzzy, gcc-internal-format
! #| msgid "expected %<declare target%> or %<assumes%>"
  msgid "expected %<declare target%>, %<declare variant%>, or %<assumes%>"
! msgstr "%<declare target%> eller %<assumes%> förväntades"
  
  #: c/c-parser.cc:28997 cp/parser.cc:54496
  #, gcc-internal-format
--- 51830,51848 ----
  msgstr "klausulen %<device_type%> måste ange ”any” när den används med en %<indirect%>-klausul"
  
  #: c/c-parser.cc:28897 cp/parser.cc:54392
! #, gcc-internal-format
  msgid "expected %<match%>"
! msgstr "%<match%> förväntades"
  
  #: c/c-parser.cc:28950 c/c-parser.cc:29052 cp/parser.cc:54445
! #, gcc-internal-format
  msgid "expected %<target%> or %<variant%>"
! msgstr ""
  
  #: c/c-parser.cc:28964 cp/parser.cc:54458
! #, gcc-internal-format
  msgid "expected %<declare target%>, %<declare variant%>, or %<assumes%>"
! msgstr "%<declare target%>, %<declare variant%> eller %<assumes%> förväntades"
  
  #: c/c-parser.cc:28997 cp/parser.cc:54496
  #, gcc-internal-format
*************** msgid "%qs in pragma syntax terminated w
*** 52313,52334 ****
  msgstr "%qs i pragma-syntax som avslutas med %qs i attributsyntax"
  
  #: c/c-parser.cc:29029 cp/parser.cc:54528
! #, fuzzy, gcc-internal-format
! #| msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%> or %<#pragma omp begin declare target%>"
  msgid "%<#pragma omp end declare variant%> without corresponding %<#pragma omp begin declare variant%>"
! msgstr "%<#pragma omp end declare target%> utan en motsvarande %<#pragma omp declare target%> eller %<#pragma omp begin declare target%>"
  
  #: c/c-parser.cc:29039 cp/parser.cc:54538
! #, fuzzy, gcc-internal-format
! #| msgid "%qs in attribute syntax terminated with %qs in pragma syntax"
  msgid "%<begin declare variant%> in attribute syntax terminated with %<end declare variant%> in pragma syntax"
! msgstr "%qs i attributsyntax som avslutas med %qs i pragma-syntax"
  
  #: c/c-parser.cc:29044 cp/parser.cc:54543
! #, fuzzy, gcc-internal-format
! #| msgid "%qs in pragma syntax terminated with %qs in attribute syntax"
  msgid "%<begin declare variant%> in pragma syntax terminated with %<end declare variant%> in attribute syntax"
! msgstr "%qs i pragma-syntax som avslutas med %qs i attributsyntax"
  
  #: c/c-parser.cc:29086 cp/parser.cc:54585
  #, gcc-internal-format
--- 51862,51880 ----
  msgstr "%qs i pragma-syntax som avslutas med %qs i attributsyntax"
  
  #: c/c-parser.cc:29029 cp/parser.cc:54528
! #, gcc-internal-format
  msgid "%<#pragma omp end declare variant%> without corresponding %<#pragma omp begin declare variant%>"
! msgstr ""
  
  #: c/c-parser.cc:29039 cp/parser.cc:54538
! #, gcc-internal-format
  msgid "%<begin declare variant%> in attribute syntax terminated with %<end declare variant%> in pragma syntax"
! msgstr "%<begin declare variant%> i attributsyntax som avslutas med %<end declare variant%> i pragma-syntax"
  
  #: c/c-parser.cc:29044 cp/parser.cc:54543
! #, gcc-internal-format
  msgid "%<begin declare variant%> in pragma syntax terminated with %<end declare variant%> in attribute syntax"
! msgstr "%<begom decöare variant%> i pragma-syntax som avslutas med %<end declare variant%> i attributsyntax"
  
  #: c/c-parser.cc:29086 cp/parser.cc:54585
  #, gcc-internal-format
*************** msgid "expected %<declare%> or %<assumes
*** 52336,52375 ****
  msgstr "%<declare%> eller %<assumes%> förväntades"
  
  #: c/c-parser.cc:29104
! #, fuzzy, gcc-internal-format
! #| msgid "%<#pragma omp declare reduction%> not at file or block scope"
  msgid "%<#pragma omp declare mapper%> not at file or block scope"
! msgstr "%<#pragma omp declare reduction%> inte med fil- eller blockräckvidd"
  
  #: c/c-parser.cc:29150
! #, fuzzy, gcc-internal-format
! #| msgid "const, volatile or restrict qualified type in %<#pragma omp declare reduction%>"
  msgid "%qT is not a struct or union type in %<#pragma omp declare mapper%>"
! msgstr "const-, volatile- eller restrict-kvalificerad typ i %<#pragma omp declare reduction%>"
  
  #: c/c-parser.cc:29158
! #, fuzzy, gcc-internal-format
! #| msgid "redeclaration of %qs %<#pragma omp declare reduction%> for type %qT"
  msgid "redeclaration of %qs %<#pragma omp declare mapper%> for type %qT"
! msgstr "omdeklaration av %qs %<#pragma omp declare reduction%> för typen %qT"
  
  #: c/c-parser.cc:29166
! #, fuzzy, gcc-internal-format
! #| msgid "%q#T was previously declared here"
  msgid "%<#pragma omp declare mapper%> previously declared here"
! msgstr "%q#T deklarerades tidigare här"
  
  #: c/c-parser.cc:29202 cp/parser.cc:55580
! #, fuzzy, gcc-internal-format
! #| msgid "expected class-key"
  msgid "unexpected clause"
! msgstr "klassnyckel förväntades"
  
  #: c/c-parser.cc:29210 cp/parser.cc:55591
! #, fuzzy, gcc-internal-format
! #| msgid "missing %<PHI%> def"
  msgid "missing %<map%> clause"
! msgstr "%<PHI%>-definition saknas"
  
  #: c/c-parser.cc:29258
  #, gcc-internal-format
--- 51882,51915 ----
  msgstr "%<declare%> eller %<assumes%> förväntades"
  
  #: c/c-parser.cc:29104
! #, gcc-internal-format
  msgid "%<#pragma omp declare mapper%> not at file or block scope"
! msgstr "%<#pragma omp declare mapper%> inte med fil- eller blockräckvidd"
  
  #: c/c-parser.cc:29150
! #, gcc-internal-format
  msgid "%qT is not a struct or union type in %<#pragma omp declare mapper%>"
! msgstr ""
  
  #: c/c-parser.cc:29158
! #, gcc-internal-format
  msgid "redeclaration of %qs %<#pragma omp declare mapper%> for type %qT"
! msgstr "omdeklaration av %qs %<#pragma omp declare mapper%> för typen %qT"
  
  #: c/c-parser.cc:29166
! #, gcc-internal-format
  msgid "%<#pragma omp declare mapper%> previously declared here"
! msgstr "%<#pragma omp declare mapper%> deklarerades tidigare här"
  
  #: c/c-parser.cc:29202 cp/parser.cc:55580
! #, gcc-internal-format
  msgid "unexpected clause"
! msgstr ""
  
  #: c/c-parser.cc:29210 cp/parser.cc:55591
! #, gcc-internal-format
  msgid "missing %<map%> clause"
! msgstr ""
  
  #: c/c-parser.cc:29258
  #, gcc-internal-format
*************** msgid "redeclaration of %qs %<#pragma om
*** 52402,52411 ****
  msgstr "omdeklaration av %qs %<#pragma omp declare reduction%> för typen %qT"
  
  #: c/c-parser.cc:29362
! #, fuzzy, gcc-internal-format
! #| msgid "previous %<pragma omp declare reduction%> declaration"
  msgid "%<#pragma omp declare reduction%> previously declared here"
! msgstr "tidigare %<pragma omp declare reduction%>-deklaration"
  
  #: c/c-parser.cc:29483
  #, gcc-internal-format
--- 51942,51950 ----
  msgstr "omdeklaration av %qs %<#pragma omp declare reduction%> för typen %qT"
  
  #: c/c-parser.cc:29362
! #, gcc-internal-format
  msgid "%<#pragma omp declare reduction%> previously declared here"
! msgstr "%<#pragma omp declare reduction%> tidigare deklarerat här"
  
  #: c/c-parser.cc:29483
  #, gcc-internal-format
*************** msgid "%<#pragma omp error%> with %<at(e
*** 52493,52502 ****
  msgstr "%<#pragma omp error%> med %<at(execution)%>-klausul får bara användas i sammansatta satser"
  
  #: c/c-parser.cc:30192 cp/parser.cc:56036
! #, fuzzy, gcc-internal-format
! #| msgid "%<#pragma omp error%> with %<at(execution)%> clause may only be used in compound statements"
  msgid "%<#pragma omp error%> with %<at(execution)%> clause may not be used in intervening code"
! msgstr "%<#pragma omp error%> med %<at(execution)%>-klausul får bara användas i sammansatta satser"
  
  #: c/c-parser.cc:30219 cp/parser.cc:56067
  #, gcc-internal-format
--- 52032,52040 ----
  msgstr "%<#pragma omp error%> med %<at(execution)%>-klausul får bara användas i sammansatta satser"
  
  #: c/c-parser.cc:30192 cp/parser.cc:56036
! #, gcc-internal-format
  msgid "%<#pragma omp error%> with %<at(execution)%> clause may not be used in intervening code"
! msgstr "%<#pragma omp error%> med %<at(execution)%>-klausul får inte användas i mellanliggande kod"
  
  #: c/c-parser.cc:30219 cp/parser.cc:56067
  #, gcc-internal-format
*************** msgstr[1] "%qs är inte ett fält, utan
*** 71619,71626 ****
  #, gcc-internal-format
  msgid "%qT has %u field"
  msgid_plural "%qT has %u fields"
! msgstr[0] ""
! msgstr[1] ""
  
  #: cp/typeck.cc:2183
  #, gcc-internal-format
--- 71157,71164 ----
  #, gcc-internal-format
  msgid "%qT has %u field"
  msgid_plural "%qT has %u fields"
! msgstr[0] "%qT har %u fält"
! msgstr[1] "%qT har %u fält"
  
  #: cp/typeck.cc:2183
  #, gcc-internal-format
diff -Nrcpad gcc-16-20260308/gcc/pub-sub.cc gcc-16-20260315/gcc/pub-sub.cc
*** gcc-16-20260308/gcc/pub-sub.cc	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/pub-sub.cc	Sun Mar 15 22:32:08 2026
***************
*** 1,5 ****
  /* Loosely-coupled notifications via the Publish-Subscribe pattern.
!    Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
--- 1,5 ----
  /* Loosely-coupled notifications via the Publish-Subscribe pattern.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
diff -Nrcpad gcc-16-20260308/gcc/pub-sub.h gcc-16-20260315/gcc/pub-sub.h
*** gcc-16-20260308/gcc/pub-sub.h	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/pub-sub.h	Sun Mar 15 22:32:08 2026
***************
*** 1,5 ****
  /* Loosely-coupled notifications via the Publish-Subscribe pattern.
!    Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
--- 1,5 ----
  /* Loosely-coupled notifications via the Publish-Subscribe pattern.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
diff -Nrcpad gcc-16-20260308/gcc/regcprop.cc gcc-16-20260315/gcc/regcprop.cc
*** gcc-16-20260308/gcc/regcprop.cc	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/regcprop.cc	Sun Mar 15 22:32:08 2026
***************
*** 36,41 ****
--- 36,42 ----
  #include "cfgrtl.h"
  #include "target.h"
  #include "function-abi.h"
+ #include "cfgcleanup.h"
  
  /* The following code does forward propagation of hard register copies.
     The object is to eliminate as many dependencies as possible, so that
*************** pass_cprop_hardreg::execute (function *f
*** 1443,1448 ****
--- 1444,1450 ----
    auto_vec<int> *curr = &worklist1;
    auto_vec<int> *next = &worklist2;
    bool any_debug_changes = false;
+   bool any_changes = false;
  
    /* We need accurate notes.  Earlier passes such as if-conversion may
       leave notes in an inconsistent state.  */
*************** pass_cprop_hardreg::execute (function *f
*** 1462,1468 ****
    FOR_EACH_BB_FN (bb, fun)
      {
        if (cprop_hardreg_bb (bb, all_vd, visited))
! 	curr->safe_push (bb->index);
        if (all_vd[bb->index].n_debug_insn_changes)
  	any_debug_changes = true;
      }
--- 1464,1473 ----
    FOR_EACH_BB_FN (bb, fun)
      {
        if (cprop_hardreg_bb (bb, all_vd, visited))
! 	{
! 	  curr->safe_push (bb->index);
! 	  any_changes = true;
! 	}
        if (all_vd[bb->index].n_debug_insn_changes)
  	any_debug_changes = true;
      }
*************** pass_cprop_hardreg::execute (function *f
*** 1489,1495 ****
  	{
  	  bb = BASIC_BLOCK_FOR_FN (fun, index);
            if (cprop_hardreg_bb (bb, all_vd, visited))
! 	    next->safe_push (bb->index);
  	  if (all_vd[bb->index].n_debug_insn_changes)
  	    any_debug_changes = true;
  	}
--- 1494,1503 ----
  	{
  	  bb = BASIC_BLOCK_FOR_FN (fun, index);
            if (cprop_hardreg_bb (bb, all_vd, visited))
! 	    {
! 	      next->safe_push (bb->index);
! 	      any_changes = true;
! 	    }
  	  if (all_vd[bb->index].n_debug_insn_changes)
  	    any_debug_changes = true;
  	}
*************** pass_cprop_hardreg::execute (function *f
*** 1501,1506 ****
--- 1509,1523 ----
      }
  
    free (all_vd);
+ 
+   /* Copy propagation of the sp register into an mem's address
+      can cause what was a trapping instruction into
+      a non-trapping one so cleanup after that in the case of non-call
+      exceptions.  */
+   if (any_changes
+       && cfun->can_throw_non_call_exceptions
+       && purge_all_dead_edges ())
+     cleanup_cfg (0);
    return 0;
  }
  
diff -Nrcpad gcc-16-20260308/gcc/rtlanal.cc gcc-16-20260315/gcc/rtlanal.cc
*** gcc-16-20260308/gcc/rtlanal.cc	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/rtlanal.cc	Sun Mar 15 22:32:08 2026
*************** truncated_to_mode (machine_mode mode, co
*** 6201,6217 ****
    if (REG_P (x) && rtl_hooks.reg_truncated_to_mode (mode, x))
      return true;
  
-   /* This explicit TRUNCATE may be needed on targets that require
-      MODE to be suitably extended when stored in X.  Targets such as
-      mips64 use (sign_extend:DI (truncate:SI (reg:DI x))) to perform
-      an explicit extension, avoiding use of (subreg:SI (reg:DI x))
-      which is assumed to already be extended.  */
-   scalar_int_mode imode, omode;
-   if (is_a <scalar_int_mode> (mode, &imode)
-       && is_a <scalar_int_mode> (GET_MODE (x), &omode)
-       && targetm.mode_rep_extended (imode, omode) != UNKNOWN)
-     return false;
- 
    /* See if we already satisfy the requirements of MODE.  If yes we
       can just switch to MODE.  */
    if (num_sign_bit_copies_in_rep[GET_MODE (x)][mode]
--- 6201,6206 ----
diff -Nrcpad gcc-16-20260308/gcc/simplify-rtx.cc gcc-16-20260315/gcc/simplify-rtx.cc
*** gcc-16-20260308/gcc/simplify-rtx.cc	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/simplify-rtx.cc	Sun Mar 15 22:32:08 2026
*************** simplify_context::simplify_subreg (machi
*** 8491,8497 ****
        res = simplify_subreg (outermode, part, part_mode, final_offset);
        if (res)
  	return res;
!       if (validate_subreg (outermode, part_mode, part, final_offset))
  	return gen_rtx_SUBREG (outermode, part, final_offset);
        return NULL_RTX;
      }
--- 8491,8498 ----
        res = simplify_subreg (outermode, part, part_mode, final_offset);
        if (res)
  	return res;
!       if (GET_MODE (part) != VOIDmode
! 	  && validate_subreg (outermode, part_mode, part, final_offset))
  	return gen_rtx_SUBREG (outermode, part, final_offset);
        return NULL_RTX;
      }
diff -Nrcpad gcc-16-20260308/gcc/symtab.cc gcc-16-20260315/gcc/symtab.cc
*** gcc-16-20260308/gcc/symtab.cc	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/symtab.cc	Sun Mar 15 22:32:08 2026
*************** symtab_node::set_init_priority (priority
*** 1897,1907 ****
    if (is_a <cgraph_node *> (this))
      gcc_assert (DECL_STATIC_CONSTRUCTOR (this->decl));
  
!   if (priority == DEFAULT_INIT_PRIORITY)
!     {
!       gcc_assert (get_init_priority() == priority);
!       return;
!     }
    h = priority_info ();
    h->init = priority;
  }
--- 1897,1905 ----
    if (is_a <cgraph_node *> (this))
      gcc_assert (DECL_STATIC_CONSTRUCTOR (this->decl));
  
!   if (priority == DEFAULT_INIT_PRIORITY
!       && get_init_priority() == priority)
!     return;
    h = priority_info ();
    h->init = priority;
  }
*************** cgraph_node::set_fini_priority (priority
*** 1915,1925 ****
  
    gcc_assert (DECL_STATIC_DESTRUCTOR (this->decl));
  
!   if (priority == DEFAULT_INIT_PRIORITY)
!     {
!       gcc_assert (get_fini_priority() == priority);
!       return;
!     }
    h = priority_info ();
    h->fini = priority;
  }
--- 1913,1921 ----
  
    gcc_assert (DECL_STATIC_DESTRUCTOR (this->decl));
  
!   if (priority == DEFAULT_INIT_PRIORITY
!       && get_fini_priority() == priority)
!     return;
    h = priority_info ();
    h->fini = priority;
  }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/ChangeLog gcc-16-20260315/gcc/testsuite/ChangeLog
*** gcc-16-20260308/gcc/testsuite/ChangeLog	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/testsuite/ChangeLog	Sun Mar 15 22:32:08 2026
***************
*** 1,3 ****
--- 1,532 ----
+ 2026-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124399
+ 	* g++.dg/reflect/annotations12.C: Uncomment two tests, remove
+ 	temporary test added until that is fixed.
+ 	* g++.dg/reflect/annotations13.C: New test.
+ 
+ 2026-03-14  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	* algol68/execute/float-1.a68: New test.
+ 
+ 2026-03-14  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	* algol68/execute/mult-char-1.a68: Multiplying a char or string by
+ 	negative or zero factor results in the empty string.
+ 	* algol68/execute/mult-string-3.a68: Likewise.
+ 	* algol68/execute/mult-string-2.a68: Likewise.
+ 	* algol68/execute/mult-string-1.a68: Likewise.
+ 
+ 2026-03-14  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124485
+ 	* g++.dg/modules/class-8_b.C: Adjusted expected behaviour.
+ 	* g++.dg/modules/pr124485_a.C: New test.
+ 	* g++.dg/modules/pr124485_b.C: New test.
+ 
+ 2026-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124456
+ 	* g++.dg/cpp26/decomp27.C: New test.
+ 
+ 2026-03-14  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124478
+ 	* g++.dg/modules/imp-member-6_a.C: New test.
+ 	* g++.dg/modules/imp-member-6_b.C: New test.
+ 	* g++.dg/modules/imp-member-6_c.C: New test.
+ 
+ 2026-03-14  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	* gcc.c-torture/execute/pr17377.c: Mark global variable x
+ 	as volatile.
+ 
+ 2026-03-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR rtl-optimization/124454
+ 	* gcc.dg/pr124454-1.c: New test.
+ 
+ 2026-03-13  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* g++.dg/reflect/expansion-stmt3.C: New test.
+ 
+ 2026-03-13  Andre Vehreschild  <vehre@gcc.gnu.org>
+ 
+ 	PR testsuite/124484
+ 	* gfortran.dg/coarray/caf.exp: Add -pthread and -lrt
+ 	for *-linux* targets for caf_shmem testing.
+ 
+ 2026-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR analyzer/124375
+ 	* gcc.dg/analyzer/ice-pr124375-1.c (__printf_buffer): Put the whole ?:
+ 	expression on a single line.
+ 
+ 2026-03-13  Jørgen Kvalsvik  <j@lambda.is>
+ 
+ 	PR ipa/124462
+ 	* g++.dg/gcov/pr124462.C: New test.
+ 
+ 2026-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/124461
+ 	* gcc.target/i386/movrs-pr124461.c: New test.
+ 
+ 2026-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124388
+ 	* g++.dg/reflect/display_string_of1.C (S, NS5::S): Add
+ 	union { int a; }.  Add static_assertions that the unnamed non-static
+ 	data member is printed as <unnamed member>.
+ 	* g++.dg/reflect/u8display_string_of1.C (S, NS5::S): Add
+ 	union { int a; }.  Add static_assertions that the unnamed non-static
+ 	data member is printed as <unnamed member>.
+ 
+ 2026-03-13  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/102459
+ 	* gfortran.dg/pr102459.f90: New test.
+ 
+ 2026-03-12  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/102596
+ 	* gfortran.dg/pr102596.f90: New test.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 	    Thomas Berger  <loki+gcc@loki.codes>
+ 
+ 	PR c++/124200
+ 	* g++.dg/modules/reflect-2_a.H: New test.
+ 	* g++.dg/modules/reflect-2_b.C: New test.
+ 	* g++.dg/modules/reflect-2_c.C: New test.
+ 	* g++.dg/modules/reflect-3_a.H: New test.
+ 	* g++.dg/modules/reflect-3_b.C: New test.
+ 	* g++.dg/modules/reflect-3_c.C: New test.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124309
+ 	* g++.dg/modules/part-11_a.C: New test.
+ 	* g++.dg/modules/part-11_b.C: New test.
+ 	* g++.dg/modules/part-11_c.C: New test.
+ 	* g++.dg/modules/part-11_d.C: New test.
+ 	* g++.dg/modules/part-11_e.C: New test.
+ 
+ 2026-03-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR rtl-optimization/123822
+ 	* gcc.dg/torture/pr123822-1.c: New test.
+ 
+ 2026-03-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR testsuite/119930
+ 	* g++.dg/coroutines/torture/pr103953.C: Store the second
+ 	lambda into its own object to extend its lifeime.
+ 
+ 2026-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+ 	    Gilles Gouaillardet  <gilles.gouaillardet@gmail.com>
+ 
+ 	PR fortran/121743
+ 	* gfortran.dg/pr121743.f90: New test.
+ 
+ 2026-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	PR tree-optimization/80006
+ 	* gcc.dg/attr-alloc_size-11.c (dg-warning): Remove xfails.
+ 
+ 2026-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	PR middle-end/121159
+ 	* gcc.dg/plugin/must-tail-call-2.c (dg-additional-options): Add
+ 	-fdelayed-branch on SPARC.
+ 
+ 2026-03-12  Marek Polacek  <polacek@redhat.com>
+ 
+ 	* g++.dg/reflect/define_static_array5.C: New test.
+ 
+ 2026-03-12  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/124440
+ 	* g++.dg/reflect/member21.C: Uncomment the commented out asserts.
+ 
+ 2026-03-12  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/115316
+ 	* gfortran.dg/pdt_87.f03: New test.
+ 
+ 2026-03-12  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/122696
+ 	* gfortran.dg/pdt_89.f03: New test.
+ 
+ 2026-03-12  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* ada/acats-3/tests/c3/c3a0025.a: Tweak.
+ 	* ada/acats-4/tests/c3/c3a0025.a: Likewise.
+ 	* gnat.dg/access12.adb: New test.
+ 
+ 2026-03-12  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/aliased3.adb: New test.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124459
+ 	* g++.dg/modules/warn-spec-4_a.C: New test.
+ 	* g++.dg/modules/warn-spec-4_b.C: New test.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124311
+ 	* g++.dg/modules/imp-member-5_a.C: New test.
+ 	* g++.dg/modules/imp-member-5_b.C: New test.
+ 	* g++.dg/modules/imp-member-5_c.C: New test.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	* g++.dg/modules/class-12_a.C: New test.
+ 	* g++.dg/modules/class-12_b.C: New test.
+ 	* g++.dg/modules/class-12_c.C: New test.
+ 
+ 2026-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124154
+ 	* g++.dg/cpp23/explicit-obj-lambda21.C: New test.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	* g++.dg/modules/class-13_a.C: New test.
+ 	* g++.dg/modules/class-13_b.C: New test.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124390
+ 	* g++.dg/modules/friend-13.C: New test.
+ 
+ 2026-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* g++.dg/reflect/omp_depend1.C: New test.
+ 
+ 2026-03-12  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR target/122925
+ 	PR target/119979
+ 	* gcc.dg/pr122925.c: New test.
+ 
+ 2026-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/124450
+ 	* gfortran.dg/pr124450.f90: New test.
+ 
+ 2026-03-12  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/97818
+ 	* gfortran.dg/pdt_88.f03: New test.
+ 
+ 2026-03-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR middle-end/120030
+ 	* gcc.dg/constructor-2.c: New test.
+ 
+ 2026-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* g++.dg/reflect/omp_taskwait1.C: New test.
+ 
+ 2026-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124425
+ 	* g++.dg/reflect/define_static_array4.C: Enable commented out
+ 	static_asserts and fix up the first one.
+ 	(as_pair): Make sure to return std::pair <int, int>.
+ 	* g++.dg/reflect/reflect_constant_array4.C: Enable commented out
+ 	static_asserts and fix up the first one.
+ 	(as_pair): Make sure to return std::pair <int, int>.
+ 	* g++.dg/reflect/reflect_constant_array7.C: New test.
+ 	* g++.dg/reflect/reflect_constant_array8.C: New test.
+ 
+ 2026-03-12  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/102333
+ 	PR fortran/102333
+ 	* gfortran.dg/pr102333.f90: New test.
+ 
+ 2026-03-12  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/103139
+ 	PR fortran/103139
+ 	* gfortran.dg/pr103139.f90: New test.
+ 
+ 2026-03-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+ 
+ 	PR c++/124431
+ 	* g++.dg/modules/merge-21_a.C: New test.
+ 	* g++.dg/modules/merge-21_b.C: New test.
+ 	* g++.dg/modules/merge-21_c.C: New test.
+ 	* g++.dg/modules/merge-21_d.C: New test.
+ 
+ 2026-03-12  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/82721
+ 	* gfortran.dg/pr82721.f90: New test.
+ 
+ 2026-03-12  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/106946
+ 	* gfortran.dg/pr106946.f90: Cover allocatable and pointer CLASS
+ 	declarations, including a valid component followed by a bad one.
+ 
+ 2026-03-12  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/124451
+ 	* gcc.dg/analyzer/conditionals-pr124451-_Bool.c: New test.
+ 	* gcc.dg/analyzer/conditionals-pr124451-enum.c: New test.
+ 
+ 2026-03-12  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/124375
+ 	* gcc.dg/analyzer/ice-pr124375-1.c: New test.
+ 	* gcc.dg/analyzer/ice-pr124375-2.c: New test.
+ 
+ 2026-03-12  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/124433
+ 	* gcc.dg/analyzer/divide-by-zero-ice-pr124433.c: New test.
+ 
+ 2026-03-12  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/110877
+ 	* gfortran.dg/pr110877.f90: New test.
+ 
+ 2026-03-12  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/124397
+ 	* g++.dg/cpp2a/lambda-uneval30.C: New test.
+ 
+ 2026-03-11  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/95338
+ 	* gfortran.dg/pr95338.f90: New test.
+ 
+ 2026-03-11  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/120285
+ 	* g++.dg/cpp1z/decomp68.C: New test.
+ 
+ 2026-03-11  Saurabh Jha  <saurabh.jha@arm.com>
+ 
+ 	* gcc.target/aarch64/mingw/variadic_hva.c: Deleted and created
+ 	three variants.
+ 	* gcc.target/aarch64/mingw/variadic_hva1.c: Derived from
+ 	variadic_hva.c and compiled with option -fno-section-anchors.
+ 	* gcc.target/aarch64/mingw/variadic_hva2.c: Derived from
+ 	variadic_hva.c and compiled with option -mcmodel=tiny.
+ 	* gcc.target/aarch64/mingw/variadic_hva3.c: Derived from
+ 	variadic_hva.c and compiled with option -mcmodel=small.
+ 
+ 2026-03-11  Marek Polacek  <polacek@redhat.com>
+ 
+ 	PR c++/124331
+ 	* g++.dg/reflect/expr13.C: Uncomment the commented out assert.
+ 	* g++.dg/reflect/serialize2.C: Replace #if 0 with #ifdef.
+ 	* g++.dg/reflect/compare11.C: New test.
+ 	* g++.dg/reflect/member21.C: New test.
+ 	* g++.dg/reflect/serialize3.C: New test.
+ 
+ 2026-03-11  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR target/124407
+ 	* gcc.target/i386/pr124407-1.c: New test.
+ 	* gcc.target/i386/pr124407-2.c: Likewise.
+ 
+ 2026-03-11  Richard Sandiford  <rdsandiford@googlemail.com>
+ 
+ 	PR middle-end/124435
+ 	* gcc.dg/torture/pr124435.c: New test.
+ 
+ 2026-03-11  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	Revert:
+ 	2026-03-11  Jeff Law  <jeffrey.law@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/90036
+ 	* gcc.dg/tree-ssa/pr90036.c: New test.
+ 	* gfortran.dg/unconstrained_commons.f: Drop useless DOM hash table
+ 	lookup check.
+ 
+ 2026-03-11  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/124389
+ 	PR c++/122494
+ 	* g++.dg/cpp0x/static_assert18.C: New test.
+ 
+ 2026-03-11  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/123271
+ 	* gcc.target/arm/pr123271.c: New test.
+ 
+ 2026-03-11  Arsen Arsenović  <aarsenovic@baylibre.com>
+ 
+ 	* gcc.target/gcn/addr-space-convert-1.c: New test.
+ 	* gcc.target/gcn/addr-space-convert-2.c: New test.
+ 
+ 2026-03-11  Arsen Arsenović  <aarsenovic@baylibre.com>
+ 
+ 	* gcc.target/gcn/pr124044.c: New test.
+ 
+ 2026-03-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124118
+ 	* g++.dg/reflect/eh8.C (bar, c): Move second part of tests to ...
+ 	* g++.dg/reflect/eh10.C: ... here, new test.  Add dg-skip-if for
+ 	solaris.
+ 
+ 2026-03-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* g++.dg/reflect/eh8.C: Expect different diagnostics.
+ 	* g++.dg/reflect/no-exceptions2.C: New test.
+ 
+ 2026-03-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124417
+ 	* g++.dg/reflect/no-exceptions1.C: New test.
+ 
+ 2026-03-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124404
+ 	* g++.dg/ext/constexpr-diag7.C: New test.
+ 
+ 2026-03-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124399
+ 	* g++.dg/reflect/annotations12.C: Add further tests.
+ 
+ 2026-03-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/124399
+ 	* g++.dg/reflect/annotations3.C: Uncomment 3 test lines.
+ 	* g++.dg/reflect/annotations12.C: New test.
+ 	* g++.dg/reflect/constant_of5.C: Enable some commented out
+ 	or #if 0ed out tests.
+ 	* g++.dg/reflect/constant_of6.C: Remove dg-error directive.
+ 	* g++.dg/reflect/extract6.C: Remove 2 dg-error directives.
+ 
+ 2026-03-10  Jason Merrill  <jason@redhat.com>
+ 
+ 	* g++.dg/ext/constexpr-diag3.C: Skip if -fimplicit-constexpr.
+ 	* g++.dg/ext/constexpr-diag6.C: Likewise.
+ 	* g++.dg/reflect/annotations2.C: Handle -fimplicit-constexpr.
+ 	* g++.dg/reflect/p2996-21.C: Likewise.
+ 	* g++.dg/reflect/parm4.C: Likewise.
+ 
+ 2026-03-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* gcc.target/arm/pr45701-2.c: Fix typo in last commit.
+ 
+ 2026-03-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* gcc.target/arm/pr45701-2.c: Escape '[]' in scan-assembler.
+ 
+ 2026-03-10  Yangyu Chen  <cyy@cyyself.name>
+ 
+ 	* gcc.target/riscv/mvc-warning1.c: New test.
+ 
+ 2026-03-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* gcc.target/arm/pr45701-1.c: Don't match across lines.
+ 	* gcc.target/arm/pr45701-2.c: Likewise.
+ 	* gcc.target/arm/pr45701-3.c: Likewise.
+ 
+ 2026-03-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR testsuite/112520
+ 	* gcc.dg/plugin/analyzer_cpython_plugin.cc (get_field_by_name):
+ 	If name is "ob_refcnt", recurse only for types of FIELD_DECLs
+ 	with no DECL_NAME and record or union type.
+ 
+ 2026-03-10  Richard Sandiford  <rdsandiford@googlemail.com>
+ 
+ 	* gcc.target/mips/pr118608-2.c: Delete.
+ 	* gcc.target/mips/pr118608-4.c: Likewise.
+ 	* gcc.target/mips/pr123833.c: Remove -O* option.
+ 	* gcc.target/mips/pr118608-1.c: Likewise.
+ 	* gcc.target/mips/pr118608-3.c: Likewise, and rename to pr118608-2.c.
+ 
+ 2026-03-10  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR rtl-optimization/123094
+ 	* gcc.target/aarch64/pr123094-1.c: New test.
+ 
+ 2026-03-10  Richard Sandiford  <rdsandiford@googlemail.com>
+ 
+ 	PR testsuite/124066
+ 	* lib/target-supports.exp (check_cached_effective_target_indexed):
+ 	Remove.  Replace all uses with check_cached_effective_target.
+ 
+ 2026-03-10  Richard Sandiford  <rdsandiford@googlemail.com>
+ 
+ 	PR testsuite/124066
+ 	* lib/target-supports.exp (check_cached_effective_target): If
+ 	et_index is defined, add the associated EFFECTIVE_TARGETS element
+ 	to the cache key.
+ 	(check_cached_effective_target_indexed): Turn into a simple wrapper
+ 	around check_cached_effective_target.
+ 	(is-effective-target): Remove default-initialization of et_index.
+ 	(et-dg-runtest): Likewise.  Unset et_index after each
+ 	EFFECTIVE_TARGETS run.
+ 	(et-is-effective-target): Key off the existence of et_index rather
+ 	than EFFECTIVE_TARGETS.
+ 
+ 2026-03-10  Richard Sandiford  <rdsandiford@googlemail.com>
+ 
+ 	* lib/target-supports.exp (check_effective_target_mips_loongson_mmi)
+ 	(check_effective_target_mips_msa): Add the arguments to the cache
+ 	identifier.
+ 	(check_effective_target_mpaired_single): Likewise.  Use an asm
+ 	to test whether -mpaired-single is supported.
+ 	(check_mpaired_single_hw_available): Add -mpaired-single.
+ 
+ 2026-03-10  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR c/123461
+ 	* gcc.dg/pr123461-1.c: New test.
+ 
+ 2026-03-10  Jan Hubicka  <jh@suse.cz>
+ 	    Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+ 
+ 	PR tree-optimization/120987
+ 	* g++.dg/torture/pr120987-1.C: New test.
+ 
+ 2026-03-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR translation/124422
+ 	* g++.dg/ipa/devirt-15.C: Fix spelling in comment.
+ 	* gcc.target/loongarch/attr-check-error-message3.c: Adjust
+ 	dg-error to match fixed spelling.
+ 	* gcc.target/loongarch/attr-check-error-message4.c: Likewise.
+ 
+ 2026-03-09  Karl Meakin  <karl.meakin@arm.com>
+ 
+ 	* gcc.target/aarch64/sve/acle/general/cops.c: Fix test.
+ 
+ 2026-03-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* gcc.target/arm/pr45701-1.c: Rework test to avoid global
+ 	variables.  Require arm_arch_v7a_thumb as the effective
+ 	target.
+ 	* gcc.target/arm/pr45701-2.c: Likewise.
+ 	* gcc.target/arm/pr45701-3.c: Likewise.
+ 
+ 2026-03-09  Alice Carlotti  <alice.carlotti@arm.com>
+ 
+ 	* gcc.target/aarch64/sme/sme-shrinkwrap.c: Add -save-temp to
+ 	dg-options, and move [[gnu::noipa]] to callee.
+ 
+ 2026-03-09  Paul Thomas  <pault@gcc.gnu.org>
+ 
+ 	PR fortran/122902
+ 	* gfortran.dg/pdt_39.f03: Deallocate a_r4 and a_r8.
+ 	* gfortran.dg/pdt_86.f03: New test.
+ 
  2026-03-07  Jason Merrill  <jason@redhat.com>
  	     <mtxn@duck.com>
  
diff -Nrcpad gcc-16-20260308/gcc/testsuite/ada/acats-3/tests/c3/c3a0025.a gcc-16-20260315/gcc/testsuite/ada/acats-3/tests/c3/c3a0025.a
*** gcc-16-20260308/gcc/testsuite/ada/acats-3/tests/c3/c3a0025.a	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/testsuite/ada/acats-3/tests/c3/c3a0025.a	Sun Mar 15 22:32:08 2026
*************** begin
*** 324,331 ****
           when Constraint_Error =>
              null;
        end;
!       Obj := Func_1 (Non_Null_Init);
!       if Obj /= Non_Null_Init then
           Report.Failed ("Func_1_OK: Wrong value");
        end if;
     end;
--- 324,334 ----
           when Constraint_Error =>
              null;
        end;
!       --  Temporary deviation from the original test:
!       --    Obj := Func_1 (Non_Null_Init);
!       --    if Obj /= Non_Null_Init then
! 
!       if Func_1 (Non_Null_Init) /= Non_Null_Init then
           Report.Failed ("Func_1_OK: Wrong value");
        end if;
     end;
*************** begin
*** 347,354 ****
           when Constraint_Error =>
              null;
        end;
!       Obj := Func_2 (Non_Null_Init);
!       if Obj /= Non_Null_Init then
           Report.Failed ("Func_2_OK: Wrong value");
        end if;
     end;
--- 350,360 ----
           when Constraint_Error =>
              null;
        end;
!       --  Temporary deviation from the original test:
!       --    Obj := Func_2 (Non_Null_Init);
!       --    if Obj /= Non_Null_Init then
! 
!       if Func_2 (Non_Null_Init) /= Non_Null_Init then
           Report.Failed ("Func_2_OK: Wrong value");
        end if;
     end;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/ada/acats-4/tests/c3/c3a0025.a gcc-16-20260315/gcc/testsuite/ada/acats-4/tests/c3/c3a0025.a
*** gcc-16-20260308/gcc/testsuite/ada/acats-4/tests/c3/c3a0025.a	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/testsuite/ada/acats-4/tests/c3/c3a0025.a	Sun Mar 15 22:32:08 2026
*************** begin
*** 324,331 ****
           when Constraint_Error =>
              null;
        end;
!       Obj := Func_1 (Non_Null_Init);
!       if Obj /= Non_Null_Init then
           Report.Failed ("Func_1_OK: Wrong value");
        end if;
     end;
--- 324,334 ----
           when Constraint_Error =>
              null;
        end;
!       --  Temporary deviation from the original test:
!       --    Obj := Func_1 (Non_Null_Init);
!       --    if Obj /= Non_Null_Init then
! 
!       if Func_1 (Non_Null_Init) /= Non_Null_Init then
           Report.Failed ("Func_1_OK: Wrong value");
        end if;
     end;
*************** begin
*** 347,354 ****
           when Constraint_Error =>
              null;
        end;
!       Obj := Func_2 (Non_Null_Init);
!       if Obj /= Non_Null_Init then
           Report.Failed ("Func_2_OK: Wrong value");
        end if;
     end;
--- 350,360 ----
           when Constraint_Error =>
              null;
        end;
!       --  Temporary deviation from the original test:
!       --    Obj := Func_2 (Non_Null_Init);
!       --    if Obj /= Non_Null_Init then
! 
!       if Func_2 (Non_Null_Init) /= Non_Null_Init then
           Report.Failed ("Func_2_OK: Wrong value");
        end if;
     end;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/algol68/execute/float-1.a68 gcc-16-20260315/gcc/testsuite/algol68/execute/float-1.a68
*** gcc-16-20260308/gcc/testsuite/algol68/execute/float-1.a68	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/algol68/execute/float-1.a68	Sun Mar 15 22:32:09 2026
***************
*** 0 ****
--- 1,3 ----
+ begin assert(float(123.4567,12,5,2) = "+12.34567e+1");
+       assert(float(123.4567,-10,5,-1) = " 1.23457e2")
+ end
diff -Nrcpad gcc-16-20260308/gcc/testsuite/algol68/execute/mult-char-1.a68 gcc-16-20260315/gcc/testsuite/algol68/execute/mult-char-1.a68
*** gcc-16-20260308/gcc/testsuite/algol68/execute/mult-char-1.a68	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/testsuite/algol68/execute/mult-char-1.a68	Sun Mar 15 22:32:09 2026
***************
*** 1,8 ****
  # { dg-options "-fstropping=upper" }  #
  BEGIN ASSERT ("a" * 3 = "aaa");
        ASSERT ("" * 1 = "");
!       ASSERT ("x" * 0 = "x");
        ASSERT (3 * "a" = "aaa");
        ASSERT (1 * "" = "");
!       ASSERT (0 * "x" = "x")
  END
--- 1,10 ----
  # { dg-options "-fstropping=upper" }  #
  BEGIN ASSERT ("a" * 3 = "aaa");
        ASSERT ("" * 1 = "");
!       ASSERT ("x" * -1= "");
!       ASSERT ("x" * 0 = "");
        ASSERT (3 * "a" = "aaa");
        ASSERT (1 * "" = "");
!       ASSERT (0 * "x" = "");
!       ASSERT (-20 * "" = "")
  END
diff -Nrcpad gcc-16-20260308/gcc/testsuite/algol68/execute/mult-string-1.a68 gcc-16-20260315/gcc/testsuite/algol68/execute/mult-string-1.a68
*** gcc-16-20260308/gcc/testsuite/algol68/execute/mult-string-1.a68	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/testsuite/algol68/execute/mult-string-1.a68	Sun Mar 15 22:32:09 2026
***************
*** 1,9 ****
  # { dg-options "-fstropping=upper" }  #
  BEGIN STRING foo = "foo";
!       ASSERT (foo * -10 = "foo");
!       ASSERT (-10 * foo = "foo");
!       ASSERT (foo * 0 = "foo");
!       ASSERT (0 * foo = "foo");
        ASSERT (foo * 1 = "foo");
        ASSERT (1 * foo = "foo");
        ASSERT (foo * 2 = "foofoo");
--- 1,9 ----
  # { dg-options "-fstropping=upper" }  #
  BEGIN STRING foo = "foo";
!       ASSERT (foo * -10 = "");
!       ASSERT (-10 * foo = "");
!       ASSERT (foo * 0 = "");
!       ASSERT (0 * foo = "");
        ASSERT (foo * 1 = "foo");
        ASSERT (1 * foo = "foo");
        ASSERT (foo * 2 = "foofoo");
diff -Nrcpad gcc-16-20260308/gcc/testsuite/algol68/execute/mult-string-2.a68 gcc-16-20260315/gcc/testsuite/algol68/execute/mult-string-2.a68
*** gcc-16-20260308/gcc/testsuite/algol68/execute/mult-string-2.a68	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/testsuite/algol68/execute/mult-string-2.a68	Sun Mar 15 22:32:09 2026
***************
*** 1,9 ****
  # { dg-options "-fstropping=upper" }  #
  BEGIN []CHAR foo = ("f","o","o");
!       ASSERT (foo * -10 = "foo");
!       ASSERT (-10 * foo = "foo");
!       ASSERT (foo * 0 = "foo");
!       ASSERT (0 * foo = "foo");
        ASSERT (foo * 1 = "foo");
        ASSERT (1 * foo = "foo");
        ASSERT (foo * 2 = "foofoo");
--- 1,9 ----
  # { dg-options "-fstropping=upper" }  #
  BEGIN []CHAR foo = ("f","o","o");
!       ASSERT (foo * -10 = "");
!       ASSERT (-10 * foo = "");
!       ASSERT (foo * 0 = "");
!       ASSERT (0 * foo = "");
        ASSERT (foo * 1 = "foo");
        ASSERT (1 * foo = "foo");
        ASSERT (foo * 2 = "foofoo");
diff -Nrcpad gcc-16-20260308/gcc/testsuite/algol68/execute/mult-string-3.a68 gcc-16-20260315/gcc/testsuite/algol68/execute/mult-string-3.a68
*** gcc-16-20260308/gcc/testsuite/algol68/execute/mult-string-3.a68	Sun Mar  8 22:32:07 2026
--- gcc-16-20260315/gcc/testsuite/algol68/execute/mult-string-3.a68	Sun Mar 15 22:32:09 2026
***************
*** 1,9 ****
  # { dg-options "-fstropping=upper" }  #
  BEGIN FLEX[3]CHAR foo := ("f","o","o");
!       ASSERT (foo * -10 = "foo");
!       ASSERT (-10 * foo = "foo");
!       ASSERT (foo * 0 = "foo");
!       ASSERT (0 * foo = "foo");
        ASSERT (foo * 1 = "foo");
        ASSERT (1 * foo = "foo");
        ASSERT (foo * 2 = "foofoo");
--- 1,9 ----
  # { dg-options "-fstropping=upper" }  #
  BEGIN FLEX[3]CHAR foo := ("f","o","o");
!       ASSERT (foo * -10 = "");
!       ASSERT (-10 * foo = "");
!       ASSERT (foo * 0 = "");
!       ASSERT (0 * foo = "");
        ASSERT (foo * 1 = "foo");
        ASSERT (1 * foo = "foo");
        ASSERT (foo * 2 = "foofoo");
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/coroutines/torture/pr103953.C gcc-16-20260315/gcc/testsuite/g++.dg/coroutines/torture/pr103953.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/coroutines/torture/pr103953.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/coroutines/torture/pr103953.C	Sun Mar 15 22:32:09 2026
*************** int main() {
*** 63,71 ****
  	    co_return;
  	}();
  
! 	task coroutine_B = [&coroutine_A]() ->task {
  	    co_await coroutine_A;
! 	}();
  
  	coroutine_B.handle.resume();
      }
--- 63,73 ----
  	    co_return;
  	}();
  
! 	auto t = [&coroutine_A]() ->task {
  	    co_await coroutine_A;
! 	};
! 
! 	task coroutine_B = t();
  
  	coroutine_B.handle.resume();
      }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/cpp0x/static_assert18.C gcc-16-20260315/gcc/testsuite/g++.dg/cpp0x/static_assert18.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/cpp0x/static_assert18.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/cpp0x/static_assert18.C	Sun Mar 15 22:32:09 2026
***************
*** 0 ****
--- 1,28 ----
+ // PR c++/124389
+ // { dg-do compile { target c++11 } }
+ 
+ template <typename T> struct Empty {};
+ 
+ template <typename T>
+ constexpr bool test(T) noexcept { return true; }
+ 
+ template <typename T>
+ struct always_true {
+     static constexpr bool value = true;
+     static_assert(test(Empty<T>{}), "BUG");
+ };
+ 
+ template <typename T>
+ struct AAA {
+     template <typename U, bool = always_true<U>::value>
+     AAA(U) {}
+ };
+ 
+ template <int (*U) (AAA<int>)>
+ void test_function() {
+     auto r = U(AAA<int>(1));
+ }
+ 
+ int main() {
+     return 0;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/cpp1z/decomp68.C gcc-16-20260315/gcc/testsuite/g++.dg/cpp1z/decomp68.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/cpp1z/decomp68.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/cpp1z/decomp68.C	Sun Mar 15 22:32:09 2026
***************
*** 0 ****
--- 1,20 ----
+ // PR c++/120285
+ // { dg-do compile { target c++17 } }
+ 
+ struct S {
+   int a = 1;
+ };
+ 
+ void
+ g ()
+ {
+   S arr[2];
+   auto [a, b] = arr;
+   auto [c, d](arr);
+   S arr2[2][2];
+   auto [e, f] = arr2;
+   auto [g, h](arr2);
+   S arr3[2][2];
+   auto [i, j] = arr3;
+   auto [k, l](arr3);
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda21.C gcc-16-20260315/gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda21.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda21.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/cpp23/explicit-obj-lambda21.C	Sun Mar 15 22:32:09 2026
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/124154
+ // { dg-do compile { target c++23 } }
+ 
+ struct S
+ {
+   int x;
+   void foo () { auto l = [&] (this auto) { (void) x; }; l (); }
+ };
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/cpp26/decomp27.C gcc-16-20260315/gcc/testsuite/g++.dg/cpp26/decomp27.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/cpp26/decomp27.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/cpp26/decomp27.C	Sun Mar 15 22:32:09 2026
***************
*** 0 ****
--- 1,31 ----
+ // PR c++/124456
+ // { dg-do compile { target c++14 } }
+ // { dg-options "" }
+ 
+ struct A { int i; };
+ 
+ template <typename... T>
+ A
+ foo (T...)
+ {
+   return A ();
+ }
+ 
+ template <typename... T>
+ int
+ bar (T...)
+ {
+   return 0;
+ }
+ 
+ template <typename... T>
+ auto
+ baz (T... t)
+ {
+   return [=] (auto... a) {
+     auto [... k] = foo (t..., a...);	// { dg-warning "structured binding packs only available with" "" { target { c++17 && c++23_down } } }
+     return bar (k...); };		// { dg-warning "structured bindings only available with" "" { target c++14_down } .-1 }
+ }
+ 
+ auto x = baz (1);
+ auto y = x (1, 2, 3);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/cpp2a/lambda-uneval30.C gcc-16-20260315/gcc/testsuite/g++.dg/cpp2a/lambda-uneval30.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/cpp2a/lambda-uneval30.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/cpp2a/lambda-uneval30.C	Sun Mar 15 22:32:09 2026
***************
*** 0 ****
--- 1,11 ----
+ // PR c++/124397
+ // { dg-do compile { target c++20 } }
+ 
+ template <class T>
+ auto f(T) -> decltype([]() { T::invalid; } ()); // { dg-error "'invalid' is not a member of 'int'" }
+ template<typename T>
+ void f(T, ...);
+ 
+ void d() {
+   f(0); // { dg-error "ambiguous" }
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/ext/constexpr-diag3.C gcc-16-20260315/gcc/testsuite/g++.dg/ext/constexpr-diag3.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/ext/constexpr-diag3.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/ext/constexpr-diag3.C	Sun Mar 15 22:32:10 2026
***************
*** 1,4 ****
--- 1,5 ----
  // { dg-do compile { target c++26 } }
+ // { dg-skip-if "" { implicit_constexpr } }
  
  struct A {
    constexpr const char *data () const { return "foo"; }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/ext/constexpr-diag6.C gcc-16-20260315/gcc/testsuite/g++.dg/ext/constexpr-diag6.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/ext/constexpr-diag6.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/ext/constexpr-diag6.C	Sun Mar 15 22:32:10 2026
***************
*** 1,5 ****
--- 1,6 ----
  // { dg-do compile { target c++26 } }
  // { dg-require-iconv "IBM1047" }
+ // { dg-skip-if "" { implicit_constexpr } }
  // { dg-additional-options "-fexec-charset=IBM1047" }
  
  struct A {
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/ext/constexpr-diag7.C gcc-16-20260315/gcc/testsuite/g++.dg/ext/constexpr-diag7.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/ext/constexpr-diag7.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/ext/constexpr-diag7.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,9 ----
+ // PR c++/124404
+ // { dg-do compile { target c++26 } }
+ 
+ #include <string>
+ 
+ consteval {
+   std::string msg = "my message";
+   __builtin_constexpr_diag (2, "", msg);	// { dg-error "constexpr message: my message" }
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/gcov/pr124462.C gcc-16-20260315/gcc/testsuite/g++.dg/gcov/pr124462.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/gcov/pr124462.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/gcov/pr124462.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,29 ----
+ /* PR ipa/124462 */
+ /* { dg-options "-O -fcondition-coverage" }  */
+ /* { dg-do compile } */
+ 
+ /* PR ipa/124462 is really a gcov/instrumentation bug.  This program creates
+    blocks with multiple incoming edges where one is complex, the exception ->
+    destructor, which isn't really the outcome of a conditional expression.  */
+ 
+ void deallocate(char *, long);
+ struct buffer {};
+ void vformat_to(buffer, int, int);
+ enum { inline_buffer_size };
+ template <unsigned long = inline_buffer_size>
+ struct basic_memory_buffer : buffer {
+   ~basic_memory_buffer() {
+     char *data;
+     if (data)
+       deallocate(data, 0);
+   }
+ };
+ template <unsigned long SIZE> int to_string(basic_memory_buffer<SIZE>);
+ int vformat_fmt, vformat_args;
+ void vformat() {
+   basic_memory_buffer<> buffer;
+   vformat_to(buffer, vformat_fmt, vformat_args);
+   to_string(buffer);
+ }
+ 
+ /* { dg-final { run-gcov pr124462.C } } */
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/ipa/devirt-15.C gcc-16-20260315/gcc/testsuite/g++.dg/ipa/devirt-15.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/ipa/devirt-15.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/ipa/devirt-15.C	Sun Mar 15 22:32:10 2026
***************
*** 1,4 ****
! /* Check that we speculatively devirutalize call to FOO to B::foo becuase
     A is noreturn.  */
  /* { dg-do compile } */
  /* { dg-options "-O2 -fdump-ipa-devirt-details -fdump-tree-optimized"  } */
--- 1,4 ----
! /* Check that we speculatively devirtualize call to FOO to B::foo becuase
     A is noreturn.  */
  /* { dg-do compile } */
  /* { dg-options "-O2 -fdump-ipa-devirt-details -fdump-tree-optimized"  } */
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-12_a.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-12_a.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-12_a.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-12_a.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,44 ----
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi M }
+ 
+ export module M;
+ 
+ export extern "C++" struct Global {
+   Global();
+   Global(int);
+   void foo();
+   static int x;
+   struct S;
+   template <typename> void a();
+   template <typename> static int r;
+   template <typename> struct X;
+ 
+   Global(const Global&);
+   Global(double);
+   void bar();
+   static int y;
+   struct T;
+   template <typename> void b();
+   template <typename> static int s;
+   template <typename> struct Y;
+ };
+ 
+ export struct Module {
+   Module();
+   Module(int);
+   void foo();
+   static int x;
+   struct S;
+   template <typename> void a();
+   template <typename> static int r;
+   template <typename> struct X;
+ 
+   Module(const Module&);
+   Module(double);
+   void bar();
+   static int y;
+   struct T;
+   template <typename> void b();
+   template <typename> static int s;
+   template <typename> struct Y;
+ };
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-12_b.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-12_b.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-12_b.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-12_b.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,49 ----
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi !X }
+ 
+ export module X;
+ import M;
+ 
+ Global::Global() = default; // { dg-error "in module .X. conflicts with import" }
+ Global::Global(int) {}	    // { dg-error "in module .X. conflicts with import" }
+ void Global::foo() {}	    // { dg-error "in module .X. conflicts with import" }
+ int Global::x;		    // { dg-error "in module .X. conflicts with import" }
+ struct Global::S {};	    // { dg-error "in module .X. conflicts with import" }
+ 
+ template <typename> void Global::a() {}	  // { dg-error "in module .X. conflicts with import" }
+ template <typename> int Global::r {};	  // { dg-error "in module .X. conflicts with import" }
+ template <typename> struct Global::X {};  // { dg-error "in module .X. conflicts with import" }
+ 
+ extern "C++" {
+   Global::Global(const Global &) = default;
+   Global::Global(double) {}
+   void Global::bar() {}
+   int Global::y;
+   struct Global::T {};
+ 
+   template <typename> void Global::b() {}
+   template <typename> int Global::s {};
+   template <typename> struct Global::Y {};
+ }
+ 
+ Module::Module() = default; // { dg-error "in module .X. conflicts with import" }
+ Module::Module(int) {}	    // { dg-error "in module .X. conflicts with import" }
+ void Module::foo() {}	    // { dg-error "in module .X. conflicts with import" }
+ int Module::x;		    // { dg-error "in module .X. conflicts with import" }
+ struct Module::S {};	    // { dg-error "in module .X. conflicts with import" }
+ 
+ template <typename> void Module::a() {}	  // { dg-error "in module .X. conflicts with import" }
+ template <typename> int Module::r {};	  // { dg-error "in module .X. conflicts with import" }
+ template <typename> struct Module::X {};  // { dg-error "in module .X. conflicts with import" }
+ 
+ extern "C++" {
+   Module::Module(const Module &) = default; // { dg-error "in global module conflicts with import" }
+   Module::Module(double) {}		    // { dg-error "in global module conflicts with import" }
+   void Module::bar() {}			    // { dg-error "in global module conflicts with import" }
+   int Module::y;			    // { dg-error "in global module conflicts with import" }
+   struct Module::T {};			    // { dg-error "in global module conflicts with import" }
+ 
+   template <typename> void Module::b() {}   // { dg-error "in global module conflicts with import" }
+   template <typename> int Module::s {};	    // { dg-error "in global module conflicts with import" }
+   template <typename> struct Module::Y {};  // { dg-error "in global module conflicts with import" }
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-12_c.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-12_c.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-12_c.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-12_c.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,48 ----
+ // { dg-additional-options "-fmodules" }
+ 
+ module M:part;
+ import M;
+ 
+ Global::Global() = default; // { dg-error "in module .M. conflicts with import" }
+ Global::Global(int) {}	    // { dg-error "in module .M. conflicts with import" }
+ void Global::foo() {}	    // { dg-error "in module .M. conflicts with import" }
+ int Global::x;		    // { dg-error "in module .M. conflicts with import" }
+ struct Global::S {};	    // { dg-error "in module .M. conflicts with import" }
+ 
+ template <typename> void Global::a() {}	  // { dg-error "in module .M. conflicts with import" }
+ template <typename> int Global::r {};	  // { dg-error "in module .M. conflicts with import" }
+ template <typename> struct Global::X {};  // { dg-error "in module .M. conflicts with import" }
+ 
+ extern "C++" {
+   Global::Global(const Global &) = default;
+   Global::Global(double) {}
+   void Global::bar() {}
+   int Global::y;
+   struct Global::T {};
+ 
+   template <typename> void Global::b() {}
+   template <typename> int Global::s {};
+   template <typename> struct Global::Y {};
+ }
+ 
+ Module::Module() = default;
+ Module::Module(int) {}
+ void Module::foo() {}
+ int Module::x;
+ struct Module::S {};
+ 
+ template <typename> void Module::a() {}
+ template <typename> int Module::r {};
+ template <typename> struct Module::X{};
+ 
+ extern "C++" {
+   Module::Module(const Module &) = default; // { dg-error "in global module conflicts with import" }
+   Module::Module(double) {}		    // { dg-error "in global module conflicts with import" }
+   void Module::bar() {}			    // { dg-error "in global module conflicts with import" }
+   int Module::y;			    // { dg-error "in global module conflicts with import" }
+   struct Module::T {};			    // { dg-error "in global module conflicts with import" }
+ 
+   template <typename> void Module::b() {}   // { dg-error "in global module conflicts with import" }
+   template <typename> int Module::s {};	    // { dg-error "in global module conflicts with import" }
+   template <typename> struct Module::Y {};  // { dg-error "in global module conflicts with import" }
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-13_a.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-13_a.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-13_a.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-13_a.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,7 ----
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi M }
+ 
+ export module M;
+ export struct S {
+   struct X;
+ };
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-13_b.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-13_b.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-13_b.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-13_b.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,6 ----
+ // { dg-additional-options "-fmodules" }
+ 
+ import M;
+ struct S::X {};  // { dg-error "in global module conflicts with import" }
+ struct S::X {};  // { dg-error "in global module conflicts with import" }
+ // { dg-regexp {[^\n]*class-13_a.C:6:10: note: import declared attached to module 'M'\n} }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-8_b.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-8_b.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/class-8_b.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/class-8_b.C	Sun Mar 15 22:32:10 2026
*************** void bob ()
*** 20,23 ****
  }
  
  // { dg-final { scan-lang-dump {Lazily binding '::A'@'foo' section:} module } }
! // { dg-final { scan-lang-dump {Lazily binding '::B'@'foo' section:} module } }
--- 20,23 ----
  }
  
  // { dg-final { scan-lang-dump {Lazily binding '::A'@'foo' section:} module } }
! // { dg-final { scan-lang-dump {Reading 1 pending entities keyed to '::B'} module } }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/friend-13.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/friend-13.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/friend-13.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/friend-13.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,17 ----
+ // PR c++/124390
+ // { dg-additional-options "-fmodules -Wno-global-module -fdump-lang-module" }
+ // { dg-module-cmi M }
+ 
+ module;
+ template <typename T> struct tuple {
+   template <typename U> friend void f(tuple, U);
+ };
+ template <typename T> tuple<T> make_unique();
+ export module M;
+ void test() {
+   auto lambda = [] {};
+   make_unique<decltype(lambda)>();
+ }
+ 
+ // Hidden friends should be discarded if not used.
+ // { dg-final { scan-lang-dump-not {Bindings '::f'} module } }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-5_a.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-5_a.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-5_a.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-5_a.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,9 ----
+ // PR c++/124311
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi A }
+ 
+ export module A;
+ export struct S {
+   int x = 0;
+   S() = default;
+ };
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-5_b.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-5_b.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-5_b.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-5_b.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/124311
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi B }
+ 
+ export module B;
+ export import A;
+ export struct M { S h; };
+ M m;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-5_c.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-5_c.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-5_c.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-5_c.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,5 ----
+ // PR c++/124311
+ // { dg-additional-options "-fmodules" }
+ 
+ import B;
+ M m2;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-6_a.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-6_a.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-6_a.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-6_a.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,15 ----
+ // PR c++/124478
+ // { dg-additional-options "-fmodules -fdump-lang-module" }
+ // { dg-module-cmi tools }
+ 
+ export module tools;
+ export template <typename T> struct myvector {
+   T* t = nullptr;
+   ~myvector() { delete t; }
+ };
+ export struct DedupeFilesPath {
+     myvector<int> other;
+ };
+ 
+ // Lazy destructor
+ // { dg-final { scan-lang-dump-not {'::DedupeFilesPath@tools:.::__dt '} module } }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-6_b.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-6_b.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-6_b.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-6_b.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,9 ----
+ // PR c++/124478
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi dedupe }
+ 
+ export module dedupe;
+ import tools;
+ 
+ // This requires the destructor to exist, and is placed in CMI.
+ myvector<DedupeFilesPath> vec;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-6_c.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-6_c.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/imp-member-6_c.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/imp-member-6_c.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,11 ----
+ // PR c++/124478
+ // { dg-additional-options "-fmodules -fdump-lang-module-alias" }
+ 
+ import tools;
+ import dedupe;
+ DedupeFilesPath analyse(int) {
+   return {};
+ }
+ 
+ // Find the implicit member from dedupe when attempting to instantiate it ourselves.
+ // { dg-final { scan-lang-dump {Adding implicit member '::DedupeFilesPath@tools:.::__dt @dedupe:.'} module } }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/merge-21_a.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/merge-21_a.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/merge-21_a.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/merge-21_a.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,16 ----
+ // PR c++/124431
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi A }
+ 
+ export module A;
+ 
+ export template <int N> struct mat {
+   int data[1] = { 123 };
+   constexpr const int& operator[](int x) const { return data[x]; };
+ };
+ 
+ export template <int N> struct S {
+   int field;
+   enum e { a };
+   enum class ce { ca };
+ };
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/merge-21_b.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/merge-21_b.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/merge-21_b.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/merge-21_b.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,11 ----
+ // PR c++/124431
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi B }
+ 
+ export module B;
+ export import A;
+ struct X {
+   mat<4> viewmatrix;
+ };
+ 
+ template struct S<0>;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/merge-21_c.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/merge-21_c.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/merge-21_c.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/merge-21_c.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,9 ----
+ // PR c++/124431
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi C }
+ 
+ export module C;
+ export import A;
+ mat<4> from_triangle_frame;
+ 
+ template struct S<0>;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/merge-21_d.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/merge-21_d.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/merge-21_d.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/merge-21_d.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,20 ----
+ // PR c++/124431
+ // { dg-additional-options "-fmodules -fdump-lang-module-alias" }
+ 
+ import C;
+ import B;
+ 
+ void test() {
+   constexpr auto r = mat<4>()[0];
+   // { dg-final { scan-lang-dump {Read:-[0-9]*'s named merge key \(matched\) field_decl:'::mat@.:.<0x4>::data'} module } }
+ 
+   S<0> s;
+   s.field;
+   // { dg-final { scan-lang-dump {Read:-[0-9]*'s named merge key \(matched\) field_decl:'::S@.:.<0x0>::field'} module } }
+ 
+   S<0>::e se = S<0>::a;
+   // { dg-final { scan-lang-dump {Read:-[0-9]*'s named merge key \(matched\) const_decl:'::S@.:.<0x0>::e@.:.<0x0>::a'} module } }
+ 
+   S<0>::ce sce = S<0>::ce::ca;
+   // { dg-final { scan-lang-dump {Read:-[0-9]*'s named merge key \(matched\) const_decl:'::S@.:.<0x0>::ce@.:.<0x0>::ca'} module } }
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/part-11_a.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/part-11_a.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/part-11_a.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/part-11_a.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,7 ----
+ // PR c++/124309
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi X }
+ 
+ export module X;
+ 
+ export void frob(int*);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/part-11_b.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/part-11_b.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/part-11_b.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/part-11_b.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,6 ----
+ // PR c++/124309
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi Y }
+ 
+ export module Y;
+ export import X;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/part-11_c.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/part-11_c.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/part-11_c.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/part-11_c.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,6 ----
+ // PR c++/124309
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi Z:part }
+ 
+ export module Z:part;
+ export import X;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/part-11_d.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/part-11_d.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/part-11_d.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/part-11_d.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,7 ----
+ // PR c++/124309
+ // { dg-additional-options "-fmodules" }
+ // { dg-module-cmi Z }
+ 
+ export module Z;
+ export import Y;
+ export import :part;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/part-11_e.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/part-11_e.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/part-11_e.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/part-11_e.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,10 ----
+ // PR c++/124309
+ // { dg-additional-options "-fmodules" }
+ 
+ import Z;
+ 
+ int main() {
+   frob(2);  // { dg-error "invalid conversion" }
+ }
+ 
+ // { dg-regexp "In module X, imported at \[^\n]*part-11_c.C:6,\n\\\s*included from \[^\n]*part-11_d.C:7,\nof module Z, imported at \[^\n]*part-11_e.C:4:\n\[^\n]*part-11_a.C:7:18: note:.*" }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/pr124485_a.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/pr124485_a.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/pr124485_a.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/pr124485_a.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,13 ----
+ // PR c++/124485
+ // { dg-additional-options "-fmodules -Wno-global-module" }
+ // { dg-module-cmi foo }
+ 
+ module;
+ namespace __cxxabiv1 {
+   struct __class_type_info {};
+ }
+ struct type_info {
+   void __do_upcast(__cxxabiv1::__class_type_info);
+ };
+ export module foo;
+ type_info t;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/pr124485_b.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/pr124485_b.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/pr124485_b.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/pr124485_b.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,7 ----
+ // PR c++/124485
+ // { dg-additional-options "-fmodules -Wno-global-module" }
+ 
+ import foo;
+ struct Type {
+   virtual ~Type() {}
+ };
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-2_a.H gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-2_a.H
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-2_a.H	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-2_a.H	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,9 ----
+ // PR c++/124200
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-fmodule-header -freflection" }
+ // { dg-module-cmi {} }
+ 
+ namespace ns {
+   inline void a() {}
+   inline void b() {}
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-2_b.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-2_b.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-2_b.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-2_b.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,23 ----
+ // PR c++/124200
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-fmodules -freflection -Wno-global-module" }
+ // { dg-module-cmi M }
+ 
+ module;
+ namespace ns {
+   inline void b() {}
+   inline void c() {}
+ }
+ export module M;
+ namespace ns {
+   export using ns::b;
+   export extern "C++" inline void d() {}
+   void e() {}
+   export void f() {}
+ 
+   export struct S {} S;
+   export struct T {};
+   T T;
+   struct U {};
+   export U U;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-2_c.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-2_c.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-2_c.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-2_c.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,38 ----
+ // PR c++/124200
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-fmodules -freflection" }
+ // Test that reflecting names from modules works, and we deduplicate correctly.
+ 
+ #include <meta>
+ 
+ namespace ns {
+   inline void b() {}  // dedup with reflect-1_a.H and M GMF
+   inline void d() {}  // dedup with M purview
+   inline void f() {}
+ }
+ 
+ import "reflect-2_a.H";
+ import M;
+ 
+ constexpr auto ctx = std::meta::access_context::unchecked();
+ consteval int count_name(std::meta::info i, const char* name) {
+   int count = 0;
+   for (std::meta::info x : members_of(i, ctx))
+     if (has_identifier(x) && identifier_of(x) == name)
+       ++count;
+   return count;
+ }
+ 
+ static_assert(count_name(^^ns, "a") == 1);
+ static_assert(count_name(^^ns, "b") == 1);
+ static_assert(count_name(^^ns, "c") == 0);  // discarded from M's GMF
+ static_assert(count_name(^^ns, "d") == 1);
+ static_assert(count_name(^^ns, "e") == 0);  // e@M is not visible from here
+ static_assert(count_name(^^ns, "f") == 2);  // f and f@M are separate entities
+ 
+ // handle imported stat hack
+ static_assert(count_name(^^ns, "S") == 2);
+ static_assert(count_name(^^ns, "T") == 1);
+ static_assert(count_name(^^ns, "U") == 1);
+ 
+ static_assert(members_of(^^ns, ctx).size() == 9);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-3_a.H gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-3_a.H
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-3_a.H	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-3_a.H	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/124200
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-fmodule-header -freflection" }
+ // { dg-module-cmi {} }
+ 
+ // FIXME: This header unit is only needed because we don't support
+ // standard library merging with -freflection yet.
+ #include <meta>
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-3_b.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-3_b.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-3_b.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-3_b.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,20 ----
+ // PR c++/124200
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-fmodules -freflection" }
+ // { dg-module-cmi M }
+ 
+ export module M;
+ import "reflect-3_a.H";
+ 
+ constexpr auto ctx = std::meta::access_context::unchecked();
+ 
+ export template <std::meta::info scope>
+ consteval std::size_t num_members() {
+   constexpr auto result = members_of(scope, ctx).size();
+   return result;
+ }
+ 
+ namespace ns {
+   void foo();
+   export void bar();
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-3_c.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-3_c.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/reflect-3_c.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/reflect-3_c.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/124200
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-fmodules -freflection" }
+ 
+ import M;
+ 
+ // From this context we should see ns::bar but not ns::foo.
+ static_assert(num_members<^^ns>() == 1);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/warn-spec-4_a.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/warn-spec-4_a.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/warn-spec-4_a.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/warn-spec-4_a.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,15 ----
+ // PR c++/124459
+ // { dg-additional-options "-fmodules -Wunused-but-set-variable" }
+ // Test diagnostic pragmas in macro maps.
+ 
+ export module M;
+ 
+ #define MACRO(t) \
+   _Pragma("GCC diagnostic push") \
+   _Pragma("GCC diagnostic ignored \"-Wunused-but-set-variable\"") \
+   int x = t; \
+   _Pragma("GCC diagnostic pop")
+ 
+ export template <typename T> void foo(T t) {
+   MACRO(t);
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/modules/warn-spec-4_b.C gcc-16-20260315/gcc/testsuite/g++.dg/modules/warn-spec-4_b.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/modules/warn-spec-4_b.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/modules/warn-spec-4_b.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/124459
+ // { dg-additional-options "-fmodules -Wunused-but-set-variable" }
+ 
+ import M;
+ 
+ void test() {
+   foo(123);
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/annotations12.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/annotations12.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/annotations12.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/annotations12.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,23 ----
+ // PR c++/124399
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-freflection" }
+ 
+ #include <meta>
+ 
+ template <class T>
+   struct [[=42]] D { };
+ 
+ constexpr std::meta::info a1 = annotations_of (^^D <int>)[0];
+ constexpr std::meta::info a2 = annotations_of (^^D <char>)[0];
+ static_assert (a1 != a2);
+ static_assert (constant_of (a1) == constant_of (a2));
+ 
+ [[=1]] int x, y;
+ static_assert (annotations_of (^^x)[0] == annotations_of (^^y)[0]);
+ int z [[=2]], w [[=2]];
+ static_assert (annotations_of (^^z)[0] != annotations_of (^^w)[0]);
+ [[=3]] int u [[=3]], v [[=3]];
+ static_assert (annotations_of (^^u)[0] == annotations_of (^^v)[0]);
+ static_assert (annotations_of (^^u)[1] != annotations_of (^^v)[1]);
+ static_assert (annotations_of (^^u)[0] != annotations_of (^^u)[1]);
+ static_assert (annotations_of (^^v)[0] != annotations_of (^^v)[1]);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/annotations13.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/annotations13.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/annotations13.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/annotations13.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,33 ----
+ // PR c++/124399
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-freflection" }
+ 
+ #include <meta>
+ 
+ [[=1]] int a [[=2]], b [[=3]];
+ static_assert ([: constant_of (annotations_of (^^a)[0]) :] == 1);
+ static_assert ([: constant_of (annotations_of (^^a)[1]) :] == 2);
+ static_assert ([: constant_of (annotations_of (^^b)[0]) :] == 1);
+ static_assert ([: constant_of (annotations_of (^^b)[1]) :] == 3);
+ 
+ [[=10, =11]] extern int e;
+ [[=1]] [[=2, =3]] int c [[=4, =5]] [[=6]], d [[=7, =8]] (), e [[=9]];
+ [[=12]] extern int c;
+ static_assert ([: constant_of (annotations_of (^^c)[0]) :] == 1);
+ static_assert ([: constant_of (annotations_of (^^c)[1]) :] == 2);
+ static_assert ([: constant_of (annotations_of (^^c)[2]) :] == 3);
+ static_assert ([: constant_of (annotations_of (^^c)[3]) :] == 4);
+ static_assert ([: constant_of (annotations_of (^^c)[4]) :] == 5);
+ static_assert ([: constant_of (annotations_of (^^c)[5]) :] == 6);
+ static_assert ([: constant_of (annotations_of (^^c)[6]) :] == 12);
+ static_assert ([: constant_of (annotations_of (^^d)[0]) :] == 1);
+ static_assert ([: constant_of (annotations_of (^^d)[1]) :] == 2);
+ static_assert ([: constant_of (annotations_of (^^d)[2]) :] == 3);
+ static_assert ([: constant_of (annotations_of (^^d)[3]) :] == 7);
+ static_assert ([: constant_of (annotations_of (^^d)[4]) :] == 8);
+ static_assert ([: constant_of (annotations_of (^^e)[0]) :] == 10);
+ static_assert ([: constant_of (annotations_of (^^e)[1]) :] == 11);
+ static_assert ([: constant_of (annotations_of (^^e)[2]) :] == 1);
+ static_assert ([: constant_of (annotations_of (^^e)[3]) :] == 2);
+ static_assert ([: constant_of (annotations_of (^^e)[4]) :] == 3);
+ static_assert ([: constant_of (annotations_of (^^e)[5]) :] == 9);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/annotations2.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/annotations2.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/annotations2.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/annotations2.C	Sun Mar 15 22:32:10 2026
*************** namespace [[=7]] [[= 7 + 1]] [[= 7 + 2]]
*** 16,23 ****
  struct B { constexpr B () : b (42) {} int b; };
  [[=B ()]] int d;
  struct C { constexpr C () : c (42) {} int c; ~C () {} };
! [[=C ()]] int e;						// { dg-error "temporary of non-literal type 'C' in a constant expression" }
! 								// { dg-error "annotation does not have structural type" "" { target *-*-* } .-1 }
  struct D { constexpr D () : d (42) {} volatile int d; };
  [[=D ()]] int f;						// { dg-error "temporary of non-literal type 'D' in a constant expression" }
  								// { dg-error "annotation does not have structural type" "" { target *-*-* } .-1 }
--- 16,23 ----
  struct B { constexpr B () : b (42) {} int b; };
  [[=B ()]] int d;
  struct C { constexpr C () : c (42) {} int c; ~C () {} };
! [[=C ()]] int e;						// { dg-error "temporary of non-literal type 'C' in a constant expression" "" { target { ! implicit_constexpr } } }
! 								// { dg-error "annotation does not have structural type" "" { target { ! implicit_constexpr } } .-1 }
  struct D { constexpr D () : d (42) {} volatile int d; };
  [[=D ()]] int f;						// { dg-error "temporary of non-literal type 'D' in a constant expression" }
  								// { dg-error "annotation does not have structural type" "" { target *-*-* } .-1 }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/annotations3.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/annotations3.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/annotations3.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/annotations3.C	Sun Mar 15 22:32:10 2026
*************** static_assert (type_of (a0) == ^^int);
*** 41,49 ****
  template <class T>
  struct [[=42]] D {};
  
! //constexpr std::meta::info a1 = annotations_of (^^D<int>)[0];
! //constexpr std::meta::info a2 = annotations_of (^^D<char>)[0];
! //static_assert (is_annotation (a1) && is_annotation (a2));
  
  [[=1, =2L, =3.0, =4U, =5U, =6L, =7U]] int y;
  static_assert (annotations_of (^^y).size () == 7);
--- 41,49 ----
  template <class T>
  struct [[=42]] D {};
  
! constexpr std::meta::info a1 = annotations_of (^^D<int>)[0];
! constexpr std::meta::info a2 = annotations_of (^^D<char>)[0];
! static_assert (is_annotation (a1) && is_annotation (a2));
  
  [[=1, =2L, =3.0, =4U, =5U, =6L, =7U]] int y;
  static_assert (annotations_of (^^y).size () == 7);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/compare11.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/compare11.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/compare11.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/compare11.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,15 ----
+ // PR c++/124331
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-freflection" }
+ 
+ #include <meta>
+ 
+ template <typename T>
+ void f() {
+     constexpr auto ctx = std::meta::access_context::current();
+     static constexpr auto rng = std::define_static_array(nonstatic_data_members_of(^^T, ctx));
+     static_assert(rng[0] == ^^T::mem);
+ };
+ 
+ struct S { int mem; };
+ auto force_instantiation = (f<S>, 0);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/constant_of5.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/constant_of5.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/constant_of5.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/constant_of5.C	Sun Mar 15 22:32:10 2026
*************** static_assert (type_of (constant_of (ann
*** 23,37 ****
  static_assert (type_of (constant_of (annotations_of (^^S)[1])) == ^^int);
  static_assert (type_of (constant_of (annotations_of (^^S)[2])) == ^^int);
  static_assert (type_of (constant_of (annotations_of (^^S)[3])) == ^^float);
- #if 0
  template <typename> struct [[=5, =5, =6, =3.0f]] TCls {};
- // TODO Should work but we don't propagate the annotations correctly to the
- // instantiation.  See also the TODO in annotations3.C.
  static_assert (type_of (constant_of (annotations_of (^^TCls<int>)[0])) == ^^int);
  static_assert (type_of (constant_of (annotations_of (^^TCls<int>)[1])) == ^^int);
  static_assert (type_of (constant_of (annotations_of (^^TCls<int>)[2])) == ^^int);
  static_assert (type_of (constant_of (annotations_of (^^TCls<int>)[3])) == ^^float);
- #endif
  template <typename> [[=5, =5, =6, =3.0f]] void TFn();
  static_assert (type_of (constant_of (annotations_of (^^TFn<int>)[0])) == ^^int);
  static_assert (type_of (constant_of (annotations_of (^^TFn<int>)[1])) == ^^int);
--- 23,33 ----
*************** template<info R>
*** 57,63 ****
  struct [[=[:constant_of (annotations_of (R)[0]):]]] Y {};
  
  static_assert (extract<int>(annotations_of (^^bar<^^::fn>)[0]) == 1);
! //static_assert (extract<int>(annotations_of (^^Y<^^::S>)[0]) == 3);
  
  struct [[=42, =42.0f]] S1;
  struct [[=42, =40]] S2;
--- 53,59 ----
  struct [[=[:constant_of (annotations_of (R)[0]):]]] Y {};
  
  static_assert (extract<int>(annotations_of (^^bar<^^::fn>)[0]) == 1);
! static_assert (extract<int>(annotations_of (^^Y<^^::S>)[0]) == 3);
  
  struct [[=42, =42.0f]] S1;
  struct [[=42, =40]] S2;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/constant_of6.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/constant_of6.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/constant_of6.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/constant_of6.C	Sun Mar 15 22:32:10 2026
*************** struct [[=[:constant_of (annotations_of
*** 17,20 ****
  
  constexpr auto y = constant_of (annotations_of (^^bar<^^::fn>)[0]);
  constexpr auto z = constant_of (annotations_of (^^Y<^^::S>)[0]);
- // { dg-error "call to non-.constexpr." "" { target *-*-* } 0 }
--- 17,19 ----
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/define_static_array4.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/define_static_array4.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/define_static_array4.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/define_static_array4.C	Sun Mar 15 22:32:10 2026
***************
*** 8,17 ****
  constexpr int x[]{1,2,3,4,5};
  constexpr int y[]{11,12,13,14,15};
  constexpr auto as_pair = []<typename T1, typename T2>(const std::tuple<T1, T2>& t) static
! { return std::pair<T1, T2>(t); };
  
  constexpr std::span spn = std::define_static_array(std::views::zip (x, y) | std::views::transform (as_pair));
! // FIXME these should pass
! // static_assert (^^decltype(spn) == ^^std::span<const std::pair<int, int>>);
! // static_assert (spn[2].first == 3);
! // static_assert (spn[2].second == 13);
--- 8,16 ----
  constexpr int x[]{1,2,3,4,5};
  constexpr int y[]{11,12,13,14,15};
  constexpr auto as_pair = []<typename T1, typename T2>(const std::tuple<T1, T2>& t) static
! { return std::make_pair (std::get <0> (t), std::get <1> (t)); };
  
  constexpr std::span spn = std::define_static_array(std::views::zip (x, y) | std::views::transform (as_pair));
! static_assert (^^decltype(spn) == ^^const std::span<const std::pair<int, int>>);
! static_assert (spn[2].first == 3);
! static_assert (spn[2].second == 13);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/define_static_array5.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/define_static_array5.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/define_static_array5.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/define_static_array5.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,20 ----
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-freflection" }
+ 
+ #include <meta>
+ #include <ranges>
+ 
+ static_assert(
+     std::ranges::equal(
+         (std::vector {1, 2} | std::views::transform([](auto z) { return std::pair(z, z); })),
+         std::vector {std::pair{1, 1}, std::pair{2, 2}}));
+ static_assert(
+     std::ranges::equal(
+         std::define_static_array(
+             (std::vector {1, 2} | std::views::transform([](auto z) { return std::pair(z, z); }))),
+         std::vector {std::pair{1, 1}, std::pair{2, 2}}));
+ static_assert(
+     std::ranges::equal(
+         std::define_static_array(
+             (std::vector {1, 2} | std::views::transform([](auto z) { return z; }))),
+         std::vector {1, 2}));
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/display_string_of1.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/display_string_of1.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/display_string_of1.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/display_string_of1.C	Sun Mar 15 22:32:10 2026
*************** struct B {};
*** 17,22 ****
--- 17,23 ----
  struct S : B {
    int mem;
    int : 0;
+   union { int a; };
  };
  struct T {
    T () {}
*************** foo (int a, const long b, T c, int d[4],
*** 106,111 ****
--- 107,113 ----
    static_assert (display_string_of (^^S) == "S");
    static_assert (display_string_of (^^S::mem) == "S::mem");
    static_assert (display_string_of (members_of (^^S, ctx)[1]) == "S::<unnamed bit-field>");
+   static_assert (display_string_of (nonstatic_data_members_of (^^S, ctx)[1]) == "S::<anonymous union>");
    static_assert (display_string_of (^^TCls) == "template<auto <anonymous> > struct TCls");
    static_assert (display_string_of (^^TFn) == "template<auto <anonymous> > void TFn()");
    static_assert (display_string_of (^^TVar) == "template<auto <anonymous> > int TVar<<anonymous> >");
*************** namespace NS5 {
*** 145,150 ****
--- 147,153 ----
    struct S : B {
      int mem;
      int : 0;
+     union { int a; };
    };
    struct T {
      T () {}
*************** namespace NS5 {
*** 212,217 ****
--- 215,221 ----
      static_assert (display_string_of (^^S) == "NS5::S");
      static_assert (display_string_of (^^S::mem) == "NS5::S::mem");
      static_assert (display_string_of (members_of (^^S, ctx)[1]) == "NS5::S::<unnamed bit-field>");
+     static_assert (display_string_of (nonstatic_data_members_of (^^S, ctx)[1]) == "NS5::S::<anonymous union>");
      static_assert (display_string_of (^^TCls) == "template<auto <anonymous> > struct NS5::TCls");
      static_assert (display_string_of (^^TFn) == "template<auto <anonymous> > void NS5::TFn()");
      static_assert (display_string_of (^^TVar) == "template<auto <anonymous> > int NS5::TVar<<anonymous> >");
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/eh10.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/eh10.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/eh10.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/eh10.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,19 ----
+ // { dg-do compile { target c++26 } }
+ // { dg-require-iconv "ISO-8859-2" }
+ // { dg-options "-freflection -fexec-charset=ISO-8859-2" }
+ // { dg-skip-if "PR c++/124118" *-*-solaris2* }
+ // Test std::meta::exception.
+ 
+ #include <meta>
+ 
+ using namespace std::meta;
+ 
+ consteval bool
+ bar ()
+ {
+   exception a (u8"\N{GRINNING FACE}\N{GRINNING FACE WITH SMILING EYES}\N{LEFT SPEECH BUBBLE}", ^^bar);
+   const char *b = a.what ();	// { dg-message "in 'constexpr' expansion of 'a.std::meta::exception::what\\\(\\\)" }
+   return true;			// { dg-error "constexpr message: std::meta::exception message could not be successfully transcoded from UTF-8 to ordinary literal encoding" "" { target *-*-* } 0 }
+ }
+ 
+ constexpr auto c = bar ();
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/eh8.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/eh8.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/eh8.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/eh8.C	Sun Mar 15 22:32:10 2026
*************** foo ()
*** 19,31 ****
    return true;
  }
  
- consteval bool
- bar ()
- {
-   exception a (u8"\N{GRINNING FACE}\N{GRINNING FACE WITH SMILING EYES}\N{LEFT SPEECH BUBBLE}", ^^foo);
-   const char *b = a.what ();	// { dg-message "in 'constexpr' expansion of 'a.std::meta::exception::what\\\(\\\)" }
-   return true;			// { dg-error "inline assembly is not a constant expression" "" { target *-*-* } 0 }
- }
- 
  static_assert (foo ());
- constexpr auto c = bar ();
--- 19,22 ----
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/expansion-stmt3.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/expansion-stmt3.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/expansion-stmt3.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/expansion-stmt3.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,31 ----
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-freflection" }
+ 
+ #include <meta>
+ #include <string_view>
+ 
+ int volatile sink = 0;
+ void use(auto&& x) {
+     sink += sizeof(x);
+ }
+ 
+ template <typename T>
+ void reflect_struct(T const& obj) {
+     static constexpr std::meta::info mems[] = {^^T::name, ^^T::age, ^^T::active};
+ 
+     template for (constexpr std::meta::info field : mems) {
+         use(std::meta::identifier_of(field));
+         use(obj.[:field:]);
+     }
+ }
+ 
+ template <int>
+ struct User {
+     std::string_view name;
+     int age;
+     bool active;
+ };
+ 
+ int main() {
+     reflect_struct(User<0>{.name = "Alice", .age = 30, .active = true});
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/expr13.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/expr13.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/expr13.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/expr13.C	Sun Mar 15 22:32:10 2026
*************** constexpr auto foo (S s) {
*** 16,20 ****
  }
  
  constexpr auto a = foo (Y { 42 });
! // TODO: This doesn't work: 'const struct X<^^Y::name>' is not the same as 'const struct X<^^Y::name>'
! //static_assert (std::is_same_v <decltype (a), const X <^^Y::name>>);
--- 16,19 ----
  }
  
  constexpr auto a = foo (Y { 42 });
! static_assert (std::is_same_v <decltype (a), const X <^^Y::name>>);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/extract6.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/extract6.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/extract6.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/extract6.C	Sun Mar 15 22:32:10 2026
*************** template<info R>
*** 15,20 ****
  struct [[=[:constant_of (annotations_of (R)[0]):]]] TCls {};
  
  static_assert (extract<int>(annotations_of (^^TFn<^^::fn>)[0]) == 1);
! static_assert (extract<int>(annotations_of (^^TCls<^^::S>)[0]) == 3); // { dg-error "non-constant" }
  static_assert (extract<int>(annotations_of (^^fn)[0]) == 1);
- // { dg-error "call to non-.constexpr." "" { target *-*-* } 0 }
--- 15,19 ----
  struct [[=[:constant_of (annotations_of (R)[0]):]]] TCls {};
  
  static_assert (extract<int>(annotations_of (^^TFn<^^::fn>)[0]) == 1);
! static_assert (extract<int>(annotations_of (^^TCls<^^::S>)[0]) == 3);
  static_assert (extract<int>(annotations_of (^^fn)[0]) == 1);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/member21.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/member21.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/member21.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/member21.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,31 ----
+ // PR c++/124331
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-freflection" }
+ 
+ struct B { consteval virtual int fn() const { return 1; } };
+ struct D : B { consteval int fn() const override { return 2; } };
+ 
+ constexpr D d;
+ 
+ template<typename T, typename U>
+ void
+ f ()
+ {
+   static_assert(d.[:^^U::fn:]() == 2);
+   static_assert(d.[:^^D::fn:]() == 2);
+   static_assert(d.U::fn() == 2);
+   static_assert(d.D::fn() == 2);
+   static_assert(d.fn() == 2);
+   static_assert(d.[:^^T::fn:]() == 2);
+   static_assert(d.[:^^T:]::fn() == 1);
+   static_assert(d.T::fn() == 1);
+   static_assert(d.[:^^B::fn:]() == 2);
+   static_assert(d.[:^^B:]::fn() == 1);
+   static_assert(d.B::fn() == 1);
+ }
+ 
+ void
+ g ()
+ {
+   f<B, D>();
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/no-exceptions1.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/no-exceptions1.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/no-exceptions1.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/no-exceptions1.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,10 ----
+ // PR c++/124417
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-freflection -fno-exceptions" }
+ 
+ #include <meta>
+ 
+ auto a = is_enum_type (^^::);
+ // { dg-error "call to consteval function 'std::meta::is_enum_type\\\(\\\^\\\^::\\\)' is not a constant expression" "" { target *-*-* } .-1 }
+ // { dg-error "'consteval bool std::meta::is_enum_type\\\(info\\\)' should throw 'std::meta::exception'; 'what\\\(\\\)': 'reflection does not represent a type'" "" { target *-*-* } .-2 }
+ // { dg-message "exceptions are disabled, treating as non-constant" "" { target *-*-* } .-3 }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/no-exceptions2.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/no-exceptions2.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/no-exceptions2.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/no-exceptions2.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,15 ----
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-freflection -fno-exceptions" }
+ 
+ #include <meta>
+ 
+ consteval bool
+ foo ()
+ {
+   auto ctx = std::meta::access_context::unchecked ();
+   auto ctx2 = ctx.via (^^::);	// { dg-message "in 'constexpr' expansion of 'ctx.std::meta::access_context::via\\\(\\\^\\\^::\\\)'" }
+   return true;
+ }
+ 
+ auto b = foo ();		// { dg-message "in 'constexpr' expansion of 'foo\\\(\\\)'" }
+ // { dg-error "constexpr message: std::meta::access_context::via argument other than null or complete class type reflection" "" { target *-*-* } 0 }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/omp_depend1.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/omp_depend1.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/omp_depend1.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/omp_depend1.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,14 ----
+ // { dg-do compile { target c++26 } }
+ // { dg-require-effective-target fopenmp }
+ // { dg-additional-options "-freflection -fopenmp" }
+ 
+ int *foo (int, int);
+ 
+ void
+ bar (int *x)
+ {
+   [[omp::directive (parallel)]]
+   for (int i = 0; i < 64; i++)
+     [[omp::directive (task, depend (iterator (j=i:i+1), out: foo (1, j)[0]))]]
+     x[i] = i;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/omp_taskwait1.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/omp_taskwait1.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/omp_taskwait1.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/omp_taskwait1.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,10 ----
+ // { dg-do compile { target c++26 } }
+ // { dg-require-effective-target fopenmp }
+ // { dg-additional-options "-freflection -fopenmp" }
+ 
+ void
+ foo (int *x)
+ {
+   ++x;
+   [[omp::directive (taskwait depend (inout: x[0]))]];
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/p2996-21.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/p2996-21.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/p2996-21.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/p2996-21.C	Sun Mar 15 22:32:10 2026
*************** template <typename> struct TCls {
*** 40,46 ****
  };
  
  consteval { TCls<void>::sfn(); }	// error: TCls<void>::S4 is not enclosed by requires-clause lambda
! // { dg-error "call to non-'constexpr' function 'static void TCls< <template-parameter-1-1> >::sfn\\\(\\\) requires \\\(<lambda>\\\)\\\(\\\) \\\[with <template-parameter-1-1> = void\\\]'" "" { target *-*-* } .-1 }
  
  struct S5;
  struct Cls {
--- 40,46 ----
  };
  
  consteval { TCls<void>::sfn(); }	// error: TCls<void>::S4 is not enclosed by requires-clause lambda
! // { dg-error "call to non-'constexpr' function 'static void TCls< <template-parameter-1-1> >::sfn\\\(\\\) requires \\\(<lambda>\\\)\\\(\\\) \\\[with <template-parameter-1-1> = void\\\]'" "" { target { ! implicit_constexpr } } .-1 }
  
  struct S5;
  struct Cls {
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/parm4.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/parm4.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/parm4.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/parm4.C	Sun Mar 15 22:32:10 2026
*************** struct S {
*** 15,24 ****
  void
  g (S s)
  {
!   int i0 = s.mfn0 (^^int);  // { dg-error "consteval-only expressions" }
    constexpr int i1 = s.mfn1 (^^int);
    constexpr int i2 = s.mfn2 (^^int);
!   int i3 = s.mfn3 (42, ^^int);  // { dg-error "consteval-only expressions" }
    info i4 = s.mfn4 ();  // { dg-error "consteval-only variable" }
  }
  
--- 15,24 ----
  void
  g (S s)
  {
!   int i0 = s.mfn0 (^^int);  // { dg-error "consteval-only expressions" "" { target { ! implicit_constexpr } } }
    constexpr int i1 = s.mfn1 (^^int);
    constexpr int i2 = s.mfn2 (^^int);
!   int i3 = s.mfn3 (42, ^^int);  // { dg-error "consteval-only expressions" "" { target { ! implicit_constexpr } } }
    info i4 = s.mfn4 ();  // { dg-error "consteval-only variable" }
  }
  
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/reflect_constant_array4.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/reflect_constant_array4.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/reflect_constant_array4.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/reflect_constant_array4.C	Sun Mar 15 22:32:10 2026
*************** using namespace std::meta;
*** 9,20 ****
  
  constexpr int x[]{1,2,3,4,5};
  constexpr int y[]{11,12,13,14,15};
! constexpr auto as_pair = []<typename T1, typename T2>(const std::tuple<T1, T2>& t) static
! { return std::pair<T1, T2>(t); };
  
  constexpr info r = reflect_constant_array(std::views::zip (x, y) | std::views::transform (as_pair));
! // FIXME this should be pass
! // static_assert (type_of (^^r) == ^^const std::pair<int, int>[5]);
! // static_assert ([: r :][2].first == 3);
! // static_assert ([: r :][2].second == 13);
! 
--- 9,18 ----
  
  constexpr int x[]{1,2,3,4,5};
  constexpr int y[]{11,12,13,14,15};
! constexpr auto as_pair = []<typename T1, typename T2>(const std::tuple<T1, T2>& t)
! { const auto &[x, y] = t; return std::make_pair(x, y); };
  
  constexpr info r = reflect_constant_array(std::views::zip (x, y) | std::views::transform (as_pair));
! static_assert (type_of (r) == ^^const std::pair<int, int>[5]);
! static_assert ([: r :][2].first == 3);
! static_assert ([: r :][2].second == 13);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/reflect_constant_array7.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/reflect_constant_array7.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/reflect_constant_array7.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/reflect_constant_array7.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,51 ----
+ // PR c++/124425
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-freflection" }
+ 
+ #include <meta>
+ 
+ struct A { };
+ 
+ template <typename T>
+ struct B
+ {
+   using value_type = T;
+   using difference_type = int;
+   struct C
+   {
+     T i;
+     constexpr operator T () const { return i; }
+   };
+   constexpr B &operator++ () { ++i; return *this; }
+   constexpr B operator++ (int) { return B { i++ }; }
+   constexpr C operator * () const { return C { i }; }
+   constexpr bool operator== (A) const { return i == 10; }
+   constexpr B () : p (new char (42)) {}
+   constexpr B (const B &x) : i (x.i), p (new char (42)) {}
+   constexpr ~B () { delete p; }
+   int i = 0;
+   char *p;
+ };
+ 
+ template <typename T>
+ struct D
+ {
+   constexpr B <T> begin () const { return {}; };
+   constexpr A end () const { return {}; };
+ };
+ 
+ struct E
+ {
+   constexpr E (int x) : a (x), b (x + 1), c (x + 2) {}
+   constexpr E (const E &x) : a (x.a), b (x.b), c (x.c) {}
+   constexpr ~E () {}
+   int a, b, c;
+ };
+ 
+ constexpr auto &d = [: std::meta::reflect_constant_array (D <int> {}) :];
+ constexpr auto &e = [: std::meta::reflect_constant_array (D <E> {}) :];
+ consteval {
+   for (int i = 0; i < 10; ++i)
+     if (d[i] != i || e[i].a != i || e[i].b != i + 1 || e[i].c != i + 2)
+       throw 1;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/reflect_constant_array8.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/reflect_constant_array8.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/reflect_constant_array8.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/reflect_constant_array8.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,8 ----
+ // PR c++/124425
+ // { dg-do compile { target c++26 } }
+ // { dg-additional-options "-freflection" }
+ 
+ #include <meta>
+ 
+ constexpr auto &s = [: std::meta::reflect_constant_array (std::vector { true, false, true }) :];
+ static_assert (s[0] && !s[1] && s[2]);
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/serialize2.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/serialize2.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/serialize2.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/serialize2.C	Sun Mar 15 22:32:10 2026
*************** constexpr std::string
*** 36,43 ****
  serialize (S s)
  {
    std::string result = " ";
! #if 0
!   // TODO, this ICEs in tsubst_expr.
    impl::replicator <^^S::age, ^^S::name> >> [&] <auto m> {
  #else
    impl::replicator <^^Person::age, ^^Person::name> >> [&] <auto m> {
--- 36,42 ----
  serialize (S s)
  {
    std::string result = " ";
! #ifdef TEST_SERIALIZE3
    impl::replicator <^^S::age, ^^S::name> >> [&] <auto m> {
  #else
    impl::replicator <^^Person::age, ^^Person::name> >> [&] <auto m> {
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/serialize3.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/serialize3.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/serialize3.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/serialize3.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,5 ----
+ // { dg-do run { target c++26 } }
+ // { dg-additional-options "-freflection -O0" }
+ 
+ #define TEST_SERIALIZE3
+ #include "serialize2.C"
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/reflect/u8display_string_of1.C gcc-16-20260315/gcc/testsuite/g++.dg/reflect/u8display_string_of1.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/reflect/u8display_string_of1.C	Sun Mar  8 22:32:08 2026
--- gcc-16-20260315/gcc/testsuite/g++.dg/reflect/u8display_string_of1.C	Sun Mar 15 22:32:10 2026
*************** struct B {};
*** 17,22 ****
--- 17,23 ----
  struct S : B {
    int mem;
    int : 0;
+   union { int a; };
  };
  struct T {
    T () {}
*************** foo (int a, const long b, T c, int d[4],
*** 106,111 ****
--- 107,113 ----
    static_assert (u8display_string_of (^^S) == u8"S");
    static_assert (u8display_string_of (^^S::mem) == u8"S::mem");
    static_assert (u8display_string_of (members_of (^^S, ctx)[1]) == u8"S::<unnamed bit-field>");
+   static_assert (u8display_string_of (nonstatic_data_members_of (^^S, ctx)[1]) == u8"S::<anonymous union>");
    static_assert (u8display_string_of (^^TCls) == u8"template<auto <anonymous> > struct TCls");
    static_assert (u8display_string_of (^^TFn) == u8"template<auto <anonymous> > void TFn()");
    static_assert (u8display_string_of (^^TVar) == u8"template<auto <anonymous> > int TVar<<anonymous> >");
*************** namespace NS5 {
*** 145,150 ****
--- 147,153 ----
    struct S : B {
      int mem;
      int : 0;
+     union { int a; };
    };
    struct T {
      T () {}
*************** namespace NS5 {
*** 212,217 ****
--- 215,221 ----
      static_assert (u8display_string_of (^^S) == u8"NS5::S");
      static_assert (u8display_string_of (^^S::mem) == u8"NS5::S::mem");
      static_assert (u8display_string_of (members_of (^^S, ctx)[1]) == u8"NS5::S::<unnamed bit-field>");
+     static_assert (u8display_string_of (nonstatic_data_members_of (^^S, ctx)[1]) == u8"NS5::S::<anonymous union>");
      static_assert (u8display_string_of (^^TCls) == u8"template<auto <anonymous> > struct NS5::TCls");
      static_assert (u8display_string_of (^^TFn) == u8"template<auto <anonymous> > void NS5::TFn()");
      static_assert (u8display_string_of (^^TVar) == u8"template<auto <anonymous> > int NS5::TVar<<anonymous> >");
diff -Nrcpad gcc-16-20260308/gcc/testsuite/g++.dg/torture/pr120987-1.C gcc-16-20260315/gcc/testsuite/g++.dg/torture/pr120987-1.C
*** gcc-16-20260308/gcc/testsuite/g++.dg/torture/pr120987-1.C	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/g++.dg/torture/pr120987-1.C	Sun Mar 15 22:32:10 2026
***************
*** 0 ****
--- 1,57 ----
+ // { dg-do run { target c++11 } }
+ // { dg-skip-if "requires hosted libstdc++ for string/memory" { ! hostedlib } }
+ // PR tree-optimization/120987
+ 
+ #include <memory>
+ #include <string>
+ #include <cstdlib>
+ 
+ #define ERROR_STRING  "012345678901234567"
+ 
+ struct gdb_exception
+ {
+   gdb_exception (const char *s)
+     : message (std::make_shared<std::string> (s))
+   {}
+ 
+   explicit gdb_exception (gdb_exception &&other) noexcept
+     : message (std::move (other.message))
+   {
+     volatile int a = 1;
+     if (a != 1)
+       abort ();
+   }
+   
+ 
+   std::shared_ptr<std::string> message;
+ };
+ 
+ void __attribute__((noinline, noclone))
+ throw_exception (gdb_exception &&exception)
+ {
+   throw gdb_exception (std::move (exception));
+ }
+ 
+ static void __attribute__((noinline, noclone))
+ parse_linespec (void)
+ {
+   struct gdb_exception file_exception (ERROR_STRING);
+   throw_exception (std::move (file_exception));
+ }
+ 
+ int
+ main (void)
+ {
+   try
+     {
+       parse_linespec ();
+     }
+   catch (const gdb_exception &e)
+     {
+       if (*e.message != ERROR_STRING)
+         __builtin_abort();
+       return 0;
+     }
+ 
+   __builtin_abort();
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.c-torture/execute/pr17377.c gcc-16-20260315/gcc/testsuite/gcc.c-torture/execute/pr17377.c
*** gcc-16-20260308/gcc/testsuite/gcc.c-torture/execute/pr17377.c	Sun Mar  8 22:32:09 2026
--- gcc-16-20260315/gcc/testsuite/gcc.c-torture/execute/pr17377.c	Sun Mar 15 22:32:11 2026
*************** f (int i)
*** 28,34 ****
    return 0;
  }
  
! int x;
  
  void *y (int i) __attribute__ ((__noinline__,__noclone__));
  void *
--- 28,34 ----
    return 0;
  }
  
! volatile int x;
  
  void *y (int i) __attribute__ ((__noinline__,__noclone__));
  void *
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/analyzer/conditionals-pr124451-_Bool.c gcc-16-20260315/gcc/testsuite/gcc.dg/analyzer/conditionals-pr124451-_Bool.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/analyzer/conditionals-pr124451-_Bool.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.dg/analyzer/conditionals-pr124451-_Bool.c	Sun Mar 15 22:32:11 2026
***************
*** 0 ****
--- 1,34 ----
+ typedef _Bool BOOL;
+ #define NULL ((void *)0)
+ 
+ int test_eq_null_inverted ()
+ {
+     char *p = __builtin_malloc(1);
+     const BOOL p_is_null = (p == NULL);
+     if (!p_is_null) __builtin_free(p);
+     return 0;
+ }
+ 
+ int test_eq_null_compared_against_false ()
+ {
+     char *p = __builtin_malloc(1);
+     const BOOL p_is_null = (p == NULL);
+     if (p_is_null == false) __builtin_free(p);
+     return 0;
+ }
+ 
+ int test_ne_null ()
+ {
+     char *p = __builtin_malloc(1);
+     const BOOL p_is_notnull = (p != NULL);
+     if (p_is_notnull) __builtin_free(p);
+     return 0;
+ }
+ 
+ int test_eq_null ()
+ {
+     char *p = __builtin_malloc(1);
+     const BOOL p_is_null = (p == NULL);
+     if (p_is_null) {} else __builtin_free(p);
+     return 0;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/analyzer/conditionals-pr124451-enum.c gcc-16-20260315/gcc/testsuite/gcc.dg/analyzer/conditionals-pr124451-enum.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/analyzer/conditionals-pr124451-enum.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.dg/analyzer/conditionals-pr124451-enum.c	Sun Mar 15 22:32:11 2026
***************
*** 0 ****
--- 1,36 ----
+ /* { dg-additional-options "-std=c99" } */
+ 
+ typedef enum { false = 0, true } BOOL;
+ #define NULL ((void *)0)
+ 
+ int test_eq_null_inverted ()
+ {
+     char *p = __builtin_malloc(1);
+     const BOOL p_is_null = (p == NULL);
+     if (!p_is_null) __builtin_free(p);
+     return 0;
+ }
+ 
+ int test_eq_null_compared_against_false ()
+ {
+     char *p = __builtin_malloc(1);
+     const BOOL p_is_null = (p == NULL);
+     if (p_is_null == false) __builtin_free(p);
+     return 0;
+ }
+ 
+ int test_ne_null ()
+ {
+     char *p = __builtin_malloc(1);
+     const BOOL p_is_notnull = (p != NULL);
+     if (p_is_notnull) __builtin_free(p);
+     return 0;
+ }
+ 
+ int test_eq_null ()
+ {
+     char *p = __builtin_malloc(1);
+     const BOOL p_is_null = (p == NULL);
+     if (p_is_null) {} else __builtin_free(p);
+     return 0;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/analyzer/divide-by-zero-ice-pr124433.c gcc-16-20260315/gcc/testsuite/gcc.dg/analyzer/divide-by-zero-ice-pr124433.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/analyzer/divide-by-zero-ice-pr124433.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.dg/analyzer/divide-by-zero-ice-pr124433.c	Sun Mar 15 22:32:11 2026
***************
*** 0 ****
--- 1,9 ----
+ unsigned m;
+ int c;
+ 
+ void
+ foo()
+ {
+   do c %= (5ull << 40) & m;
+   while (c);
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/analyzer/ice-pr124375-1.c gcc-16-20260315/gcc/testsuite/gcc.dg/analyzer/ice-pr124375-1.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/analyzer/ice-pr124375-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.dg/analyzer/ice-pr124375-1.c	Sun Mar 15 22:32:11 2026
***************
*** 0 ****
--- 1,14 ----
+ /* { dg-additional-options "-O2" } */
+ 
+ char __printf_buffer_spec;
+ int __printf_buffer_offset;
+ void *__printf_buffer_ptr;
+ void __printf_buffer() {
+   int step0_jumps[] = {&&do_flag_hash - &&do_form_unknown};
+ do_flag_hash:
+   __printf_buffer_offset
+     = __printf_buffer_spec ? &&do_form_unknown - &&do_form_unknown : step0_jumps[' ']; /* { dg-warning "stack-based buffer over-read" } */
+   __printf_buffer_ptr = &&do_form_unknown + __printf_buffer_offset;
+   goto *__printf_buffer_ptr;
+ do_form_unknown:
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/analyzer/ice-pr124375-2.c gcc-16-20260315/gcc/testsuite/gcc.dg/analyzer/ice-pr124375-2.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/analyzer/ice-pr124375-2.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.dg/analyzer/ice-pr124375-2.c	Sun Mar 15 22:32:11 2026
***************
*** 0 ****
--- 1,11 ----
+ int __wcslen_spec, __wcslen_offset;
+ void *__wcslen_ptr;
+ long __wcslen() {
+   &&do_form_binary;
+   __wcslen_offset =
+       __wcslen_spec ? &&do_form_unknown - &&do_form_unknown : L' ';
+   __wcslen_ptr = &&do_form_unknown + __wcslen_offset;
+   goto *__wcslen_ptr;
+ do_form_binary:
+ do_form_unknown:
+ } /* { dg-warning "return-value" } */
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/attr-alloc_size-11.c gcc-16-20260315/gcc/testsuite/gcc.dg/attr-alloc_size-11.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/attr-alloc_size-11.c	Sun Mar  8 22:32:09 2026
--- gcc-16-20260315/gcc/testsuite/gcc.dg/attr-alloc_size-11.c	Sun Mar 15 22:32:11 2026
*************** typedef __SIZE_TYPE__    size_t;
*** 47,54 ****
  
  /* The following tests fail because of missing range information.  The xfail
     exclusions are PR79356.  */
! TEST (signed char, SCHAR_MIN + 2, ALLOC_MAX);   /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for signed char" { xfail { ! { aarch64*-*-* arm*-*-* avr-*-* alpha*-*-* cris-*-* ia64-*-* mips*-*-* or1k*-*-* pdp11*-*-* powerpc*-*-* riscv*-*-* sparc*-*-* s390*-*-* visium-*-* msp430-*-* nvptx*-*-*} } } } */
! TEST (short, SHRT_MIN + 2, ALLOC_MAX); /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for short" { xfail { ! { aarch64*-*-* arm*-*-* alpha*-*-* avr-*-* cris-*-* ia64-*-* mips*-*-* or1k*-*-* pdp11*-*-* powerpc*-*-* riscv*-*-* sparc*-*-* s390x-*-* visium-*-* msp430-*-* nvptx*-*-* } } } } */
  TEST (int, INT_MIN + 2, ALLOC_MAX);    /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
  TEST (int, -3, ALLOC_MAX);             /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
  TEST (int, -2, ALLOC_MAX);             /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
--- 47,54 ----
  
  /* The following tests fail because of missing range information.  The xfail
     exclusions are PR79356.  */
! TEST (signed char, SCHAR_MIN + 2, ALLOC_MAX);   /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for signed char" } */
! TEST (short, SHRT_MIN + 2, ALLOC_MAX); /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for short" } */
  TEST (int, INT_MIN + 2, ALLOC_MAX);    /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
  TEST (int, -3, ALLOC_MAX);             /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
  TEST (int, -2, ALLOC_MAX);             /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/constructor-2.c gcc-16-20260315/gcc/testsuite/gcc.dg/constructor-2.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/constructor-2.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.dg/constructor-2.c	Sun Mar 15 22:32:11 2026
***************
*** 0 ****
--- 1,7 ----
+ /* { dg-do compile { target init_priority } } */
+ /* { dg-options "" } */
+ 
+ /* PR middle-end/120030 */
+ 
+ void f()  __attribute__ ((constructor (140))) __attribute__ ((constructor));
+ void g()  __attribute__ ((destructor (140))) __attribute__ ((destructor));
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/plugin/analyzer_cpython_plugin.cc gcc-16-20260315/gcc/testsuite/gcc.dg/plugin/analyzer_cpython_plugin.cc
*** gcc-16-20260308/gcc/testsuite/gcc.dg/plugin/analyzer_cpython_plugin.cc	Sun Mar  8 22:32:09 2026
--- gcc-16-20260315/gcc/testsuite/gcc.dg/plugin/analyzer_cpython_plugin.cc	Sun Mar 15 22:32:11 2026
*************** get_field_by_name (tree type, const char
*** 69,79 ****
  	      return field;
  	  }
  
!       /* Prior to python 3.11, ob_refcnt a field of PyObject.
  	 In Python 3.11 ob_refcnt was moved to an anonymous union within
  	 PyObject (as part of PEP 683 "Immortal Objects, Using a
  	 Fixed Refcount").  */
!       if (0 == strcmp (name, "ob_refcnt"))
  	if (tree subfield = get_field_by_name (TREE_TYPE (field), name, false))
  	  return subfield;
      }
--- 69,82 ----
  	      return field;
  	  }
  
!       /* Prior to python 3.11, ob_refcnt was a field of PyObject.
  	 In Python 3.11 ob_refcnt was moved to an anonymous union within
  	 PyObject (as part of PEP 683 "Immortal Objects, Using a
  	 Fixed Refcount").  */
!       if (strcmp (name, "ob_refcnt") == 0
! 	  && TREE_CODE (field) == FIELD_DECL
! 	  && DECL_NAME (field) == NULL_TREE
! 	  && RECORD_OR_UNION_TYPE_P (TREE_TYPE (field)))
  	if (tree subfield = get_field_by_name (TREE_TYPE (field), name, false))
  	  return subfield;
      }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/plugin/must-tail-call-2.c gcc-16-20260315/gcc/testsuite/gcc.dg/plugin/must-tail-call-2.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/plugin/must-tail-call-2.c	Sun Mar  8 22:32:09 2026
--- gcc-16-20260315/gcc/testsuite/gcc.dg/plugin/must-tail-call-2.c	Sun Mar 15 22:32:11 2026
***************
*** 1,6 ****
--- 1,8 ----
  /* { dg-do compile { target tail_call } } */
  /* Allow nested functions.  */
  /* { dg-options "-Wno-pedantic" } */
+ /* PR middle-end/121159  */
+ /* { dg-additional-options "-fdelayed-branch" { target sparc*-*-* } } */
  
  struct box { char field[64]; int i; };
  
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/pr122925.c gcc-16-20260315/gcc/testsuite/gcc.dg/pr122925.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/pr122925.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.dg/pr122925.c	Sun Mar 15 22:32:11 2026
***************
*** 0 ****
--- 1,23 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2" } */
+ 
+ typedef __UINT64_TYPE__ uint64_t;
+ typedef __UINT32_TYPE__ uint32_t;
+ typedef __UINT16_TYPE__ uint16_t;
+ 
+ __attribute__ ((noipa)) int
+ foo (uint32_t a, uint16_t b)
+ {
+   uint64_t c = (b ^ -4);
+   if (1 - c >= b)
+     a = 100;
+   return a;
+ }
+ 
+ int
+ main (void)
+ {
+   if (foo (0, -1))
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/pr123461-1.c gcc-16-20260315/gcc/testsuite/gcc.dg/pr123461-1.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/pr123461-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.dg/pr123461-1.c	Sun Mar 15 22:32:11 2026
***************
*** 0 ****
--- 1,10 ----
+ /* { dg-do compile } */
+ /* { dg-options "" } */
+ /* PR c/123461 */
+ 
+ void foo(int n) {
+   enum b typedef V[]; /* { dg-error "array type has incomplete element type" } */
+   void bar(V) /* { dg-error "old-style parameter" } */
+   V bar_ptr;
+   {}
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/pr124454-1.c gcc-16-20260315/gcc/testsuite/gcc.dg/pr124454-1.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/pr124454-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.dg/pr124454-1.c	Sun Mar 15 22:32:11 2026
***************
*** 0 ****
--- 1,15 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-O3 -fno-forward-propagate -fnon-call-exceptions -fno-dse -fprofile-generate -fopenmp -finstrument-functions" } */
+ /* { dg-additional-options "-mno-outline-atomics" { target aarch64*-*-* } } */
+ 
+ /* PR rtl-optimization/124454 */
+ 
+ int a, b;
+ 
+ void
+ foo()
+ {
+   long c;
+   a *= b;
+   b = *(char *)__builtin_memset(&c, 1, 4);
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/torture/pr123822-1.c gcc-16-20260315/gcc/testsuite/gcc.dg/torture/pr123822-1.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/torture/pr123822-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.dg/torture/pr123822-1.c	Sun Mar 15 22:32:12 2026
***************
*** 0 ****
--- 1,16 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-ffast-math" } */
+ /* { dg-require-effective-target dfp } */
+ 
+ /* PR rtl-optimization/123822 */
+ 
+ typedef __attribute__((__vector_size__(16))) _Decimal64 D;
+ 
+ int i;
+ D d;
+ 
+ void
+ foo()
+ {
+   d /= (D)(d >= *(D *)__builtin_memset(&d, i, 3));
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/torture/pr124435.c gcc-16-20260315/gcc/testsuite/gcc.dg/torture/pr124435.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/torture/pr124435.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.dg/torture/pr124435.c	Sun Mar 15 22:32:12 2026
***************
*** 0 ****
--- 1,18 ----
+ /* { dg-do run { target le } } */
+ 
+ short c;
+ 
+ __attribute__((__noipa__)) short
+ foo (short s)
+ {
+   __builtin_memmove (1 + (char *) &s, &c, 1);
+   return s >> 10;
+ }
+ 
+ int
+ main ()
+ {
+   short x = foo (-6);
+   if (x)
+     __builtin_abort();
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.dg/tree-ssa/pr90036.c gcc-16-20260315/gcc/testsuite/gcc.dg/tree-ssa/pr90036.c
*** gcc-16-20260308/gcc/testsuite/gcc.dg/tree-ssa/pr90036.c	Sun Mar  8 22:32:10 2026
--- gcc-16-20260315/gcc/testsuite/gcc.dg/tree-ssa/pr90036.c	Thu Jan  1 00:00:00 1970
***************
*** 1,69 ****
- /* { dg-do compile } */
- /* { dg-options "-O2 -Wall" } */
- 
- extern int sprintf (char *__restrict __s,
-                     const char *__restrict __format, ...)
-   __attribute__ ((__nothrow__));
- 
- typedef int bfd_boolean;
- 
- 
- 
- struct stab_type_stack
- {
-   long index;
-   bfd_boolean definition;
- };
- 
- 
- 
- struct stab_write_handle
- {
-   struct stab_type_stack *type_stack;
- };
- extern char *stab_pop_type (struct stab_write_handle *);
- bfd_boolean stab_start_struct_type (void *, const char *, unsigned int,
-                                     bfd_boolean, unsigned int);
- 
- 
- bfd_boolean
- stab_start_class_type (void *p, const char *tag, unsigned int id,
-                        bfd_boolean structp, unsigned int size,
-                        bfd_boolean vptr, bfd_boolean ownvptr)
- {
-   struct stab_write_handle *info = (struct stab_write_handle *) p;
-   bfd_boolean definition;
-   char *vstring;
- 
-   if (!vptr || ownvptr)
-     {
-       definition = 0;
-       vstring = ((void *) 0);
-     }
-   else
-     {
-       definition = info->type_stack->definition;
-       vstring = stab_pop_type (info);
-     }
- 
- 
- 
-   if (vptr)
-     {
-       if (ownvptr)
-         {
- 
-           sprintf (p, "~%%%ld", info->type_stack->index);
-         }
-       else
-         {
-           sprintf (p, "~%%%s", vstring);
-         }
- 
-     }
- 
-   if (definition)
-     info->type_stack->definition = 1;
- 
-   return 1;
- }
--- 0 ----
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva.c gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva.c	Sun Mar  8 22:32:10 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva.c	Thu Jan  1 00:00:00 1970
***************
*** 1,89 ****
- /* { dg-do compile } */
- /* { dg-additional-options "-std=c99" } */
- /* { dg-final { check-function-bodies "**" "" } } */
- 
- #include <arm_neon.h>
- #include <stdarg.h>
- 
- typedef struct {
-   float32x4_t a;
-   float32x4_t b;
-   float32x4_t c;
-   float32x4_t d;
- } mat4x4;
- 
- mat4x4 accumulate(int count, ...) {
-     va_list va;
-     va_start(va, count);
- 
-     mat4x4 result = {
-       vdupq_n_f32(0.0f),
-       vdupq_n_f32(0.0f),
-       vdupq_n_f32(0.0f),
-       vdupq_n_f32(0.0f)
-     };
- 
-     for (int i = 0; i < count; ++i) {
-         mat4x4 v = va_arg(va, mat4x4);
-         result.a = vaddq_f32(result.a, v.a);
-         result.b = vaddq_f32(result.b, v.b);
-         result.c = vaddq_f32(result.c, v.c);
-         result.d = vaddq_f32(result.d, v.d);
-     }
- 
-     va_end(va);
-     return result;
- }
- 
- 
- /**
-  * For aarch64-w64-mingw32 target, the Homogeneous Vector Aggregate (HVA) types
-  * are not treated specially.
-  *
-  * This is in contrast to to aarch64-linux-gnu target where float32x4n args
-  * would be loaded into 128 bit Q registers.
-  */
- 
- 
- /*
- ** main:
- **	...
- ** 	ldr	q\d+, \[x\d+, #:lo\d+:\.LC\d+\]
- ** 	str	q\d+, \[sp, \d+\]
- **	...
- ** 	ldr	q\d+, \[x\d+, #:lo\d+:\.LC\d+\]
- ** 	str	q\d+, \[sp, \d+\]
- **	...
- ** 	ldr	q\d+, \[x\d+, #:lo\d+:\.LC\d+\]
- ** 	str	q\d+, \[sp, \d+\]
- **	...
- ** 	ldr	q\d+, \[x\d+, #:lo\d+:\.LC\d+\]
- ** 	str	q\d+, \[sp, \d+\]
- **  ...
- ** 	ldr	x\d+, \[sp, \d+\]
- **  ...
- ** 	ldr	x\d+, \[sp, \d+\]
- **  ...
- ** 	ldr	x\d+, \[sp, \d+\]
- **  ...
- ** 	ldr	x\d+, \[sp, \d+\]
- **  ...
- ** 	ldr	x\d+, \[sp, \d+\]
- **  ...
- ** 	ldr	x\d+, \[sp, \d+\]
- **  ...
- ** 	ldr	x\d+, \[sp, \d+\]
- **  ...
- ** 	ldr	x\d+, \[sp, \d+\]
- **  ...
- */
- int main()
- {
-   float32x4_t x = {1.0, 2.0, 3.0, 4.0};
-   float32x4_t y = {2.0, 3.0, 4.0, 5.0};
-   float32x4_t z = {3.0, 4.0, 5.0, 6.0};
-   float32x4_t w = {4.0, 5.0, 6.0, 7.0};
- 
-   accumulate (4, x, y, z, w);
-   return 0;
- }
\ No newline at end of file
--- 0 ----
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva1.c gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva1.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva1.c	Sun Mar 15 22:32:12 2026
***************
*** 0 ****
--- 1,93 ----
+ /* { dg-do compile } */
+ /* { dg-options "-fno-section-anchors" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ #include <arm_neon.h>
+ #include <stdarg.h>
+ 
+ typedef struct {
+   float32x4_t a;
+   float32x4_t b;
+   float32x4_t c;
+   float32x4_t d;
+ } mat4x4;
+ 
+ mat4x4 accumulate(int count, ...) {
+     va_list va;
+     va_start(va, count);
+ 
+     mat4x4 result = {
+       vdupq_n_f32(0.0f),
+       vdupq_n_f32(0.0f),
+       vdupq_n_f32(0.0f),
+       vdupq_n_f32(0.0f)
+     };
+ 
+     for (int i = 0; i < count; ++i) {
+         mat4x4 v = va_arg(va, mat4x4);
+         result.a = vaddq_f32(result.a, v.a);
+         result.b = vaddq_f32(result.b, v.b);
+         result.c = vaddq_f32(result.c, v.c);
+         result.d = vaddq_f32(result.d, v.d);
+     }
+ 
+     va_end(va);
+     return result;
+ }
+ 
+ 
+ /**
+  * For aarch64-w64-mingw32 target, the Homogeneous Vector Aggregate (HVA) types
+  * are not treated specially.
+  *
+  * This is in contrast to to aarch64-linux-gnu target where float32x4n args
+  * would be loaded into 128 bit Q registers.
+  */
+ 
+ 
+ /*
+ ** main:
+ **	...
+ **	add	x\d+, x\d+, :lo\d+:\.LC\d+
+ **	ldr	q\d+, \[x\d+\]
+ **	str	q\d+, \[sp, \d+\]
+ **	...
+ **	add	x\d+, x\d+, :lo\d+:\.LC\d+
+ **	ldr	q\d+, \[x\d+\]
+ **	str	q\d+, \[sp, \d+\]
+ **	...
+ **	add	x\d+, x\d+, :lo\d+:\.LC\d+
+ **	ldr	q\d+, \[x\d+\]
+ **	str	q\d+, \[sp, \d+\]
+ **	...
+ **	add	x\d+, x\d+, :lo\d+:\.LC\d+
+ **	ldr	q\d+, \[x\d+\]
+ **	str	q\d+, \[sp, \d+\]
+ **	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **	...
+ */
+ int main()
+ {
+   float32x4_t x = {1.0, 2.0, 3.0, 4.0};
+   float32x4_t y = {2.0, 3.0, 4.0, 5.0};
+   float32x4_t z = {3.0, 4.0, 5.0, 6.0};
+   float32x4_t w = {4.0, 5.0, 6.0, 7.0};
+ 
+   accumulate (4, x, y, z, w);
+   return 0;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva2.c gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva2.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva2.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva2.c	Sun Mar 15 22:32:12 2026
***************
*** 0 ****
--- 1,89 ----
+ /* { dg-do compile } */
+ /* { dg-options "-mcmodel=tiny" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ #include <arm_neon.h>
+ #include <stdarg.h>
+ 
+ typedef struct {
+   float32x4_t a;
+   float32x4_t b;
+   float32x4_t c;
+   float32x4_t d;
+ } mat4x4;
+ 
+ mat4x4 accumulate(int count, ...) {
+     va_list va;
+     va_start(va, count);
+ 
+     mat4x4 result = {
+       vdupq_n_f32(0.0f),
+       vdupq_n_f32(0.0f),
+       vdupq_n_f32(0.0f),
+       vdupq_n_f32(0.0f)
+     };
+ 
+     for (int i = 0; i < count; ++i) {
+         mat4x4 v = va_arg(va, mat4x4);
+         result.a = vaddq_f32(result.a, v.a);
+         result.b = vaddq_f32(result.b, v.b);
+         result.c = vaddq_f32(result.c, v.c);
+         result.d = vaddq_f32(result.d, v.d);
+     }
+ 
+     va_end(va);
+     return result;
+ }
+ 
+ 
+ /**
+  * For aarch64-w64-mingw32 target, the Homogeneous Vector Aggregate (HVA) types
+  * are not treated specially.
+  *
+  * This is in contrast to to aarch64-linux-gnu target where float32x4n args
+  * would be loaded into 128 bit Q registers.
+  */
+ 
+ 
+ /*
+ ** main:
+ **	...
+ ** 	ldr	q\d+, \.LC\d+
+ ** 	str	q\d+, \[sp, \d+\]
+ **	...
+ ** 	ldr	q\d+, \.LC\d+
+ ** 	str	q\d+, \[sp, \d+\]
+ **	...
+ ** 	ldr	q\d+, \.LC\d+
+ ** 	str	q\d+, \[sp, \d+\]
+ **	...
+ ** 	ldr	q\d+, \.LC\d+
+ ** 	str	q\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ */
+ int main()
+ {
+   float32x4_t x = {1.0, 2.0, 3.0, 4.0};
+   float32x4_t y = {2.0, 3.0, 4.0, 5.0};
+   float32x4_t z = {3.0, 4.0, 5.0, 6.0};
+   float32x4_t w = {4.0, 5.0, 6.0, 7.0};
+ 
+   accumulate (4, x, y, z, w);
+   return 0;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva3.c gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva3.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva3.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva3.c	Sun Mar 15 22:32:12 2026
***************
*** 0 ****
--- 1,93 ----
+ /* { dg-do compile } */
+ /* { dg-options "-mcmodel=small" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ #include <arm_neon.h>
+ #include <stdarg.h>
+ 
+ typedef struct {
+   float32x4_t a;
+   float32x4_t b;
+   float32x4_t c;
+   float32x4_t d;
+ } mat4x4;
+ 
+ mat4x4 accumulate(int count, ...) {
+     va_list va;
+     va_start(va, count);
+ 
+     mat4x4 result = {
+       vdupq_n_f32(0.0f),
+       vdupq_n_f32(0.0f),
+       vdupq_n_f32(0.0f),
+       vdupq_n_f32(0.0f)
+     };
+ 
+     for (int i = 0; i < count; ++i) {
+         mat4x4 v = va_arg(va, mat4x4);
+         result.a = vaddq_f32(result.a, v.a);
+         result.b = vaddq_f32(result.b, v.b);
+         result.c = vaddq_f32(result.c, v.c);
+         result.d = vaddq_f32(result.d, v.d);
+     }
+ 
+     va_end(va);
+     return result;
+ }
+ 
+ 
+ /**
+  * For aarch64-w64-mingw32 target, the Homogeneous Vector Aggregate (HVA) types
+  * are not treated specially.
+  *
+  * This is in contrast to to aarch64-linux-gnu target where float32x4n args
+  * would be loaded into 128 bit Q registers.
+  */
+ 
+ 
+ /*
+ ** main:
+ **	...
+ **	add	x\d+, x\d+, :lo\d+:\.LC\d+
+ **	ldr	q\d+, \[x\d+\]
+ **	str	q\d+, \[sp, \d+\]
+ **	...
+ **	add	x\d+, x\d+, :lo\d+:\.LC\d+
+ **	ldr	q\d+, \[x\d+\]
+ **	str	q\d+, \[sp, \d+\]
+ **	...
+ **	add	x\d+, x\d+, :lo\d+:\.LC\d+
+ **	ldr	q\d+, \[x\d+\]
+ **	str	q\d+, \[sp, \d+\]
+ **	...
+ **	add	x\d+, x\d+, :lo\d+:\.LC\d+
+ **	ldr	q\d+, \[x\d+\]
+ **	str	q\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ ** 	ldr	x\d+, \[sp, \d+\]
+ **  	...
+ */
+ int main()
+ {
+   float32x4_t x = {1.0, 2.0, 3.0, 4.0};
+   float32x4_t y = {2.0, 3.0, 4.0, 5.0};
+   float32x4_t z = {3.0, 4.0, 5.0, 6.0};
+   float32x4_t w = {4.0, 5.0, 6.0, 7.0};
+ 
+   accumulate (4, x, y, z, w);
+   return 0;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/pr123094-1.c gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/pr123094-1.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/pr123094-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/pr123094-1.c	Sun Mar 15 22:32:12 2026
***************
*** 0 ****
--- 1,23 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=armv9-a -O2" } */
+ 
+ /* PR rtl-optimization/123094 */
+ 
+ typedef long a;
+ typedef a __attribute__((vector_size(2 * sizeof(a)))) b;
+ typedef a __attribute__((vector_size(4 * sizeof(a)))) c;
+ typedef a __attribute__((vector_size(8 * sizeof(a)))) d;
+ a e;
+ int f, h;
+ d g;
+ [[gnu::noinline]] void j(b) {
+   h = 1;
+ }
+ c k() {
+   if (e)
+     if (f)
+       return (c){3};
+   j((b){1});
+   d l = {1, 1, 1, 1, 1, 1, 1};
+   return __builtin_shufflevector(l, g, 2, 11, 4, 6);
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c	Sun Mar  8 22:32:10 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/sme/sme-shrinkwrap.c	Sun Mar 15 22:32:12 2026
***************
*** 1,4 ****
! /* { dg-options "-O3 -fshrink-wrap" } */
  /* { dg-do run { target { aarch64_sme_hw && aarch64_sve_hw } } } */
  /* { dg-do compile { target { ! { aarch64_sme_hw && aarch64_sve_hw } } } } */
  /* { dg-final { check-function-bodies "**" "" } } */
--- 1,4 ----
! /* { dg-options "-O3 -fshrink-wrap -save-temps" } */
  /* { dg-do run { target { aarch64_sme_hw && aarch64_sve_hw } } } */
  /* { dg-do compile { target { ! { aarch64_sme_hw && aarch64_sve_hw } } } } */
  /* { dg-final { check-function-bodies "**" "" } } */
*************** int foo(int x)
*** 46,51 ****
--- 46,52 ----
  **	...
  */
  
+ [[gnu::noipa]]
  __arm_locally_streaming
  int bar(int x)
  {
*************** int baz(int x)
*** 69,75 ****
      return svcntd();
  }
  
- [[gnu::noipa]]
  int main()
  {
    if (bar(0) != svcntsd())
--- 70,75 ----
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/sve/acle/general/cops.c gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/sve/acle/general/cops.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/aarch64/sve/acle/general/cops.c	Sun Mar  8 22:32:10 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/aarch64/sve/acle/general/cops.c	Sun Mar 15 22:32:12 2026
***************
*** 4,9 ****
--- 4,11 ----
  #include <arm_sve.h>
  #include <stdio.h>
  
+ #define VLEN(v) svcntb() / sizeof(v[0])
+ 
  #define DECL_FUNC_UNARY(type, name, op, intr, su, sz, id) \
    __attribute__ ((noipa)) \
    type func_ ## name ## type ## _unary (type a) { \
***************
*** 51,59 ****
    } \
    void checkfunc_ ## rtype ## type ## _vindex () { \
      type a = svindex_ ## su ## sz (0, 1); \
!     int n = 2; \
!     if (2 != func_ ## rtype ## type ## _vindex (a, n)) \
!       __builtin_abort (); \
    } \
    void checkfunc_ ## rtype ## type ## _cindex () { \
      type a = svindex_ ## su ## sz (1, 0); \
--- 53,61 ----
    } \
    void checkfunc_ ## rtype ## type ## _vindex () { \
      type a = svindex_ ## su ## sz (0, 1); \
!     for (int i = 0; i < VLEN (a); i++) \
!       if (i != func_ ## rtype ## type ## _vindex (a, i)) \
! 	__builtin_abort (); \
    } \
    void checkfunc_ ## rtype ## type ## _cindex () { \
      type a = svindex_ ## su ## sz (1, 0); \
***************
*** 72,80 ****
    } \
    void checkfunc_ ## rtype ## type ## _vindex () { \
      type a = svdup_n_ ## su ## sz (2.0); \
!     int n = 2; \
!     if (2.0 != func_ ## rtype ## type ## _vindex (a, n)) \
!       __builtin_abort (); \
    } \
    void checkfunc_ ## rtype ## type ## _cindex () { \
      type a = svdup_n_ ## su ## sz (4.0); \
--- 74,82 ----
    } \
    void checkfunc_ ## rtype ## type ## _vindex () { \
      type a = svdup_n_ ## su ## sz (2.0); \
!     for (int i = 0; i < VLEN (a); i++) \
!       if (2.0 != func_ ## rtype ## type ## _vindex (a, i)) \
! 	__builtin_abort (); \
    } \
    void checkfunc_ ## rtype ## type ## _cindex () { \
      type a = svdup_n_ ## su ## sz (4.0); \
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/arm/pr123271.c gcc-16-20260315/gcc/testsuite/gcc.target/arm/pr123271.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/arm/pr123271.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/arm/pr123271.c	Sun Mar 15 22:32:13 2026
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-options "-O2 -ftrapv" } */
+ /* { dg-final { check-function-bodies "**" "" "" } } */
+ 
+ int sub(int a, int b)
+ {
+   return a - b;
+ }
+ 
+ /*
+ ** sub:
+ ** ...
+ ** (
+ **	bl	__subvsi3
+ ** |
+    Not generated yet, but would be equally acceptable.
+ **	subs	r0, r0, r1
+ **	bv[sc]	.*
+ ** )
+ ** ...
+ */
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/arm/pr45701-1.c gcc-16-20260315/gcc/testsuite/gcc.target/arm/pr45701-1.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/arm/pr45701-1.c	Sun Mar  8 22:32:11 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/arm/pr45701-1.c	Sun Mar 15 22:32:13 2026
***************
*** 1,26 ****
! /* { dg-do compile } */
! /* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
! /* { dg-options "-mthumb -Os" }  */
! /* { dg-final { scan-assembler "push\t\{r3" { target { ! arm*-*-uclinuxfdpiceabi } } } } */
! /* { dg-final { scan-assembler-not "\[^\-e\]r8" { target { ! arm*-*-uclinuxfdpiceabi } } } } */
  
- extern int hist_verify;
- extern int a1;
  extern char *pre_process_line (char*);
! extern char* str_cpy (char*, char*);
! extern int str_len (char*);
! extern char* x_malloc (int);
! #define savestring(x) (char *)str_cpy (x_malloc (1 + str_len (x)), (x))
  
  char *
  history_expand_line_internal (char* line)
  {
    char *new_line;
-   int old_verify;
-   int a = a1;
-   old_verify = hist_verify;
-   hist_verify = 0;
    new_line = pre_process_line (line);
!   hist_verify = old_verify + a;
!   return (new_line == line) ? savestring (line) : new_line;
  }
--- 1,18 ----
! /* { dg-require-effective-target arm_arch_v7a_thumb_ok } */
! /* { dg-options "-Os" } */
! /* { dg-add-options arm_arch_v7a_thumb } */
! /* { dg-final { scan-assembler "push\t\{r3" } } */
! /* { dg-final { scan-assembler-not "push\t\[^\n\]*r8" } } */
  
  extern char *pre_process_line (char*);
! extern char* x_strdup (const char*);
  
  char *
  history_expand_line_internal (char* line)
  {
    char *new_line;
    new_line = pre_process_line (line);
!   asm ("nop": : :"r4","r5","r6");
!   return (new_line == line) ? x_strdup (line) : new_line;
  }
+ 
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/arm/pr45701-2.c gcc-16-20260315/gcc/testsuite/gcc.target/arm/pr45701-2.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/arm/pr45701-2.c	Sun Mar  8 22:32:11 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/arm/pr45701-2.c	Sun Mar 15 22:32:13 2026
***************
*** 1,28 ****
! /* { dg-do compile } */
! /* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
! /* { dg-options "-mthumb -Os" }  */
! /* { dg-final { scan-assembler "push\t\{r3" { target { ! arm*-*-uclinuxfdpiceabi } } } } */
! /* { dg-final { scan-assembler-not "\[^\-e\]r8" { target { ! arm*-*-uclinuxfdpiceabi } } } } */
  
- extern int hist_verify;
- extern int a1;
  extern char *pre_process_line (char*);
! extern char* savestring1 (char*, char*);
! extern char* str_cpy (char*, char*);
! extern int str_len (char*);
! extern char* x_malloc (int);
! #define savestring(x) (char *)str_cpy (x_malloc (1 + str_len (x)), (x))
! 
  char *
  history_expand_line_internal (char* line)
  {
    char *new_line;
-   int old_verify;
-   int a = a1;
-   old_verify = hist_verify;
-   hist_verify = 0;
    new_line = pre_process_line (line);
!   hist_verify = old_verify + a;
    /* Two tail calls here, but r3 is not used to pass values.  */
!   return (new_line == line) ? savestring (line) : savestring1 (new_line, line);
  }
--- 1,18 ----
! /* { dg-require-effective-target arm_arch_v7a_thumb_ok } */
! /* { dg-options "-Os" } */
! /* { dg-add-options arm_arch_v7a_thumb } */
! /* { dg-final { scan-assembler "push\t\{r3" } } */
! /* { dg-final { scan-assembler-not "push\t\[^\n\]*r8" } } */
  
  extern char *pre_process_line (char*);
! extern char* x_strdup (const char*);
! extern char* x_strdup2 (const char*, const char*);
  char *
  history_expand_line_internal (char* line)
  {
    char *new_line;
    new_line = pre_process_line (line);
!   asm ("nop": : :"r4","r5","r6");
    /* Two tail calls here, but r3 is not used to pass values.  */
!   return (new_line == line) ? x_strdup (line) : x_strdup2 (new_line, line);
  }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/arm/pr45701-3.c gcc-16-20260315/gcc/testsuite/gcc.target/arm/pr45701-3.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/arm/pr45701-3.c	Sun Mar  8 22:32:11 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/arm/pr45701-3.c	Sun Mar 15 22:32:13 2026
***************
*** 1,28 ****
! /* { dg-do compile } */
! /* { dg-require-effective-target arm_thumb2_ok } */
! /* { dg-options "-mthumb -Os" }  */
! /* { dg-final { scan-assembler "push\t.*r8" } } */
! /* { dg-final { scan-assembler-not "push\t*r3" } } */
  
- extern int hist_verify;
  extern char *pre_process_line (char*);
! extern char* savestring1 (char*, char*, int, int);
! extern char* str_cpy (char*, char*);
! extern int str_len (char*);
! extern char* x_malloc (int);
! #define savestring(x) (char *)str_cpy (x_malloc (1 + str_len (x)), (x))
  
  char *
  history_expand_line_internal (char* line)
  {
    char *new_line;
-   int old_verify;
- 
-   old_verify = hist_verify;
-   hist_verify = 0;
    new_line = pre_process_line (line);
!   hist_verify = old_verify;
    /* Two tail calls here, but r3 is used to pass values.  */
!   return (new_line == line) ? savestring (line) : 
!     savestring1 (new_line, line, 0, old_verify+1);
  }
--- 1,20 ----
! /* { dg-require-effective-target arm_arch_v7a_thumb_ok } */
! /* { dg-options "-Os" } */
! /* { dg-add-options arm_arch_v7a_thumb } */
! /* { dg-final { scan-assembler "push\t\[^\n\]*r8" } } */
! /* { dg-final { scan-assembler-not "push\t\[^\n\]*r3" } } */
  
  extern char *pre_process_line (char*);
! extern char* x_strdup (const char*);
! extern char* x_strdup2 (const char*, const char*, int, int);
  
  char *
  history_expand_line_internal (char* line)
  {
    char *new_line;
    new_line = pre_process_line (line);
!   asm ("nop": : :"r4","r5","r6");
    /* Two tail calls here, but r3 is used to pass values.  */
!   return (new_line == line) ? x_strdup (line) : 
!     x_strdup2 (new_line, line, 0, 1);
  }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/gcn/addr-space-convert-1.c gcc-16-20260315/gcc/testsuite/gcc.target/gcn/addr-space-convert-1.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/gcn/addr-space-convert-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/gcn/addr-space-convert-1.c	Sun Mar 15 22:32:13 2026
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do compile }
+    { dg-options "-O -Wall" } */
+ 
+ void __flat *
+ convert_lds_addr (void __lds *x)
+ { return x; }
+ 
+ /* { dg-final { scan-assembler "shared_base" } }  */
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/gcn/addr-space-convert-2.c gcc-16-20260315/gcc/testsuite/gcc.target/gcn/addr-space-convert-2.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/gcn/addr-space-convert-2.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/gcn/addr-space-convert-2.c	Sun Mar 15 22:32:13 2026
***************
*** 0 ****
--- 1,13 ----
+ /* { dg-do run }
+    { dg-options "-O -Wall" } */
+ 
+ int
+ main ()
+ {
+   int __lds *testptr = (int __lds *)(__UINTPTR_TYPE__)8;
+   *testptr = 4;
+ 
+   int __flat *testptr_flat = testptr;
+   if (*testptr_flat != 4)
+     return 1;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/gcn/pr124044.c gcc-16-20260315/gcc/testsuite/gcc.target/gcn/pr124044.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/gcn/pr124044.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/gcn/pr124044.c	Sun Mar 15 22:32:13 2026
***************
*** 0 ****
--- 1,16 ----
+ /* { dg-do compile }
+    { dg-options "-O -Wall" } */
+ /* PR target/124044  */
+ 
+ void *
+ foo (void __flat* ptr)
+ { return ptr; }
+ 
+ void __flat *
+ foo2 (void* ptr)
+ { return ptr; }
+ 
+ /* This test relies on flat addressing being used for pointers without a
+    specified address space.  */
+ /* { dg-final { scan-assembler-not "using global addressing" } }
+    { dg-final { scan-assembler-times "using flat addressing" 2 } } */
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/i386/movrs-pr124461.c gcc-16-20260315/gcc/testsuite/gcc.target/i386/movrs-pr124461.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/i386/movrs-pr124461.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/i386/movrs-pr124461.c	Sun Mar 15 22:32:13 2026
***************
*** 0 ****
--- 1,19 ----
+ /* PR target/124461 */
+ /* { dg-do compile { target { masm_intel && { ! ia32 } } } } */
+ /* { dg-options "-O2 -mmovrs -masm=intel" } */
+ /* { dg-final { scan-assembler "\tmovrs\teax, DWORD PTR \\\[\[er]di\\\]" } } */
+ /* { dg-final { scan-assembler "\tmovrs\trax, QWORD PTR \\\[\[er]di\\\]" } } */
+ 
+ #include <x86intrin.h>
+ 
+ int
+ foo (const void *p)
+ {
+   return _movrs_i32 (p);
+ }
+ 
+ long long
+ bar (const void *p)
+ {
+   return _movrs_i64 (p);
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/i386/pr124407-1.c gcc-16-20260315/gcc/testsuite/gcc.target/i386/pr124407-1.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/i386/pr124407-1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/i386/pr124407-1.c	Sun Mar 15 22:32:13 2026
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-do compile } */
+ /* { dg-options "-Ofast -msse2 -fdump-rtl-x86_cse" } */
+ 
+ typedef __attribute__((__vector_size__(8))) float V;
+ V v;
+ 
+ void
+ foo()
+ {
+   int i;
+   float f;
+   __builtin_memcpy(&f, &i, 1);
+   v -= f;
+   v /= f;
+ }
+ 
+ /* { dg-final { scan-rtl-dump {\(const_double:SF 0.0 \[0x0.0p\+0\]\)} "x86_cse" { target { ! ia32 } } } } */
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/i386/pr124407-2.c gcc-16-20260315/gcc/testsuite/gcc.target/i386/pr124407-2.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/i386/pr124407-2.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/i386/pr124407-2.c	Sun Mar 15 22:32:13 2026
***************
*** 0 ****
--- 1,12 ----
+ /* { dg-do compile } */
+ /* { dg-options "-Ofast -msse2" } */
+ 
+ __attribute__((__vector_size__(2 * sizeof(float)))) float v64f32_0;
+ 
+ void
+ foo0 (float f32_0)
+ {
+   double v128f64_0;
+   v64f32_0 -= *(float *)__builtin_memcpy(&f32_0, &v128f64_0, 1);
+   foo0 (848135872);
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/loongarch/attr-check-error-message3.c gcc-16-20260315/gcc/testsuite/gcc.target/loongarch/attr-check-error-message3.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/loongarch/attr-check-error-message3.c	Sun Mar  8 22:32:11 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/loongarch/attr-check-error-message3.c	Sun Mar 15 22:32:13 2026
***************
*** 2,6 ****
  /* { dg-options "-O2 -Wno-attributes" } */
  
  __attribute__ ((target_clones ("default",";priority=1"))) void
! test (void)	/* { dg-error "characher before \\\';\\\' in attribute \\\';priority=1\\\' cannot be empty" } */
  {}
--- 2,6 ----
  /* { dg-options "-O2 -Wno-attributes" } */
  
  __attribute__ ((target_clones ("default",";priority=1"))) void
! test (void)	/* { dg-error "character before \\\';\\\' in attribute \\\';priority=1\\\' cannot be empty" } */
  {}
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/loongarch/attr-check-error-message4.c gcc-16-20260315/gcc/testsuite/gcc.target/loongarch/attr-check-error-message4.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/loongarch/attr-check-error-message4.c	Sun Mar  8 22:32:11 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/loongarch/attr-check-error-message4.c	Sun Mar 15 22:32:13 2026
***************
*** 2,6 ****
  /* { dg-options "-O2 -Wno-attributes" } */
  
  __attribute__ ((target_clones ("default","lsx;priority=1;lasx"))) void
! test (void)	/* { dg-error "in attribute \\\'lsx;priority=1;lasx\\\' the number of reatures cannot exceed two" } */
  {}
--- 2,6 ----
  /* { dg-options "-O2 -Wno-attributes" } */
  
  __attribute__ ((target_clones ("default","lsx;priority=1;lasx"))) void
! test (void)	/* { dg-error "in attribute \\\'lsx;priority=1;lasx\\\' the number of features cannot exceed two" } */
  {}
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/mips/pr118608-1.c gcc-16-20260315/gcc/testsuite/gcc.target/mips/pr118608-1.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/mips/pr118608-1.c	Sun Mar  8 22:32:11 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/mips/pr118608-1.c	Sun Mar 15 22:32:13 2026
***************
*** 1,5 ****
  /* { dg-do run } */
! /* { dg-options "-mabi=64 -O2" } */
  
  #define COUNT 10
  
--- 1,5 ----
  /* { dg-do run } */
! /* { dg-options "-mabi=64" } */
  
  #define COUNT 10
  
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/mips/pr118608-2.c gcc-16-20260315/gcc/testsuite/gcc.target/mips/pr118608-2.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/mips/pr118608-2.c	Sun Mar  8 22:32:11 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/mips/pr118608-2.c	Sun Mar 15 22:32:13 2026
***************
*** 1,5 ****
! /* { dg-do run } */
! /* { dg-options "-mabi=64 -Os" } */
  
  #define COUNT 10
  
--- 1,5 ----
! /* { dg-do compile } */
! /* { dg-options "-mabi=64 -march=octeon2" } */
  
  #define COUNT 10
  
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/mips/pr118608-3.c gcc-16-20260315/gcc/testsuite/gcc.target/mips/pr118608-3.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/mips/pr118608-3.c	Sun Mar  8 22:32:11 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/mips/pr118608-3.c	Thu Jan  1 00:00:00 1970
***************
*** 1,45 ****
- /* { dg-do compile } */
- /* { dg-options "-mabi=64 -O2 -march=octeon2" } */
- 
- #define COUNT 10
- 
- typedef unsigned short u16;
- typedef unsigned int   u32;
- 
- typedef struct NeedleAddress
- {
-   u16   nId;
-   u16   mId;
- } NeedleAddress;
- 
- u32 __attribute__ ((noinline)) prepareNeedle(const u16 upper, const u16 lower)
- {
-     u32 needleAddress = 0;
-     NeedleAddress *const addr = (NeedleAddress*)(&needleAddress);
-     addr->mId = upper;
-     addr->nId = lower;
-     return needleAddress;
- }
- 
- const u32* __attribute__ ((noinline)) findNeedle(const u32 needle, const u32* begin, const u32* end)
- {
-     while ( begin != end && needle != *begin )
-     {
-         ++begin;
-     }
-     return begin;
- }
- 
- int main()
- {
-     u32 needle = prepareNeedle(0xDCBA, 0xABCD);
- 
-     u32 haystack[COUNT] = {};
-     for (int i = 0; i < COUNT; i++)
-         haystack[i] = needle;
- 
-     const u32* result = findNeedle(needle, haystack, haystack + COUNT);
-     if (result == haystack + COUNT)
-         __builtin_abort ();
-     return 0;
- }
--- 0 ----
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/mips/pr118608-4.c gcc-16-20260315/gcc/testsuite/gcc.target/mips/pr118608-4.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/mips/pr118608-4.c	Sun Mar  8 22:32:11 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/mips/pr118608-4.c	Thu Jan  1 00:00:00 1970
***************
*** 1,45 ****
- /* { dg-do compile } */
- /* { dg-options "-mabi=64 -Os -march=octeon2" } */
- 
- #define COUNT 10
- 
- typedef unsigned short u16;
- typedef unsigned int   u32;
- 
- typedef struct NeedleAddress
- {
-   u16   nId;
-   u16   mId;
- } NeedleAddress;
- 
- u32 __attribute__ ((noinline)) prepareNeedle(const u16 upper, const u16 lower)
- {
-     u32 needleAddress = 0;
-     NeedleAddress *const addr = (NeedleAddress*)(&needleAddress);
-     addr->mId = upper;
-     addr->nId = lower;
-     return needleAddress;
- }
- 
- const u32* __attribute__ ((noinline)) findNeedle(const u32 needle, const u32* begin, const u32* end)
- {
-     while ( begin != end && needle != *begin )
-     {
-         ++begin;
-     }
-     return begin;
- }
- 
- int main()
- {
-     u32 needle = prepareNeedle(0xDCBA, 0xABCD);
- 
-     u32 haystack[COUNT] = {};
-     for (int i = 0; i < COUNT; i++)
-         haystack[i] = needle;
- 
-     const u32* result = findNeedle(needle, haystack, haystack + COUNT);
-     if (result == haystack + COUNT)
-         __builtin_abort ();
-     return 0;
- }
--- 0 ----
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/mips/pr123833.c gcc-16-20260315/gcc/testsuite/gcc.target/mips/pr123833.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/mips/pr123833.c	Sun Mar  8 22:32:11 2026
--- gcc-16-20260315/gcc/testsuite/gcc.target/mips/pr123833.c	Sun Mar 15 22:32:13 2026
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-O1 -mabi=64 -mhard-float" } */
  
  typedef short int16_t;
  typedef signed char int8_t;
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-mabi=64 -mhard-float" } */
  
  typedef short int16_t;
  typedef signed char int8_t;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gcc.target/riscv/mvc-warning1.c gcc-16-20260315/gcc/testsuite/gcc.target/riscv/mvc-warning1.c
*** gcc-16-20260308/gcc/testsuite/gcc.target/riscv/mvc-warning1.c	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gcc.target/riscv/mvc-warning1.c	Sun Mar 15 22:32:13 2026
***************
*** 0 ****
--- 1,9 ----
+ /* { dg-do compile } */
+ /* { dg-require-ifunc "" } */
+ /* { dg-options "-O0" } */
+ 
+ __attribute__((target_clones("default", "random-arch-string")))
+ int foo () /* { dg-warning "invalid version .*random-arch-string.*target_clones" } */
+ {
+ 	return 1;
+ }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/coarray/caf.exp gcc-16-20260315/gcc/testsuite/gfortran.dg/coarray/caf.exp
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/coarray/caf.exp	Sun Mar  8 22:32:12 2026
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/coarray/caf.exp	Sun Mar 15 22:32:14 2026
*************** foreach test [lsort [glob -nocomplain $s
*** 123,129 ****
              if { [istarget *-*-freebsd*] } {
                  dg-test $test "-fcoarray=lib -pthread $flags -lcaf_shmem" {}
              } else {
!                 dg-test $test "-fcoarray=lib $flags -lcaf_shmem" {}
              }
              cleanup-modules ""
          }
--- 123,133 ----
              if { [istarget *-*-freebsd*] } {
                  dg-test $test "-fcoarray=lib -pthread $flags -lcaf_shmem" {}
              } else {
!                 if { [istarget *-linux*] } {
!                     dg-test $test "-fcoarray=lib -pthread $flags -lcaf_shmem -lrt" {}
!                 } else {
!                     dg-test $test "-fcoarray=lib $flags -lcaf_shmem" {}
!                 }
              }
              cleanup-modules ""
          }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pdt_39.f03 gcc-16-20260315/gcc/testsuite/gfortran.dg/pdt_39.f03
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pdt_39.f03	Sun Mar  8 22:32:12 2026
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pdt_39.f03	Sun Mar 15 22:32:14 2026
*************** program p
*** 119,123 ****
--- 119,127 ----
       print *, " error deallocating mat_r4: stat = ", istat
       stop
    end if
+ 
+ ! Make sure valgrind shows no leaks.
+   if (allocated (a_r4)) deallocate (a_r4)
+   if (allocated (a_r8)) deallocate (a_r8)
    stop
  end program p
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pdt_86.f03 gcc-16-20260315/gcc/testsuite/gfortran.dg/pdt_86.f03
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pdt_86.f03	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pdt_86.f03	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,57 ----
+ ! { dg-do run }
+ !
+ ! Test the fix for PR122902. Line 47 gave "free(): invalid pointer".
+ !
+ ! Contributed by Damian Rouson  <damian@archaeologic.codes>
+ !
+ module input_output_pair_m
+   implicit none
+ 
+   type tensor_t(k)
+     integer, kind :: k = kind(1.)
+     real(k), allocatable :: values_(:)
+   end type
+ 
+   type input_output_pair_t(k)
+     integer, kind :: k = kind(1.)
+     type(tensor_t(k)) inputs_, expected_outputs_
+   end type
+ 
+   interface
+     type(input_output_pair_t) elemental module function input_output_pair(inputs, expected_outputs)
+       implicit none
+       type(tensor_t), intent(in) :: inputs, expected_outputs
+     end function
+   end interface
+ 
+ end module
+ 
+ submodule(input_output_pair_m) input_output_pair_s
+   implicit none
+ contains
+   module procedure input_output_pair
+     input_output_pair%inputs_ = inputs
+     input_output_pair%expected_outputs_ = expected_outputs
+   end procedure
+ end submodule
+ 
+   use input_output_pair_m
+   implicit none
+   type(tensor_t), allocatable :: inputs(:), outputs(:)
+   type(input_output_pair_t), allocatable :: input_output_pairs(:), mini_batch(:)
+   integer i
+ 
+   inputs = [(tensor_t([real(i)]), i=1,7)]
+   outputs = inputs
+   input_output_pairs = input_output_pair(inputs, outputs)
+   mini_batch = input_output_pairs(1:1)     ! Original failure
+   if (any (mini_batch(1)%inputs_%values_ /= 1.0)) stop 1
+   mini_batch = input_output_pairs(1:2)     ! Also failed
+   if (any (mini_batch(2)%inputs_%values_ /= 2.0)) stop 2
+   mini_batch = input_output_pairs          ! Was OK
+   if (any (mini_batch(5)%inputs_%values_ /= 5.0)) stop 3
+   if (allocated(inputs)) deallocate(inputs)
+   if (allocated(outputs)) deallocate(outputs)
+   if (allocated(input_output_pairs)) deallocate(input_output_pairs)
+   if (allocated(mini_batch)) deallocate(mini_batch)
+ end
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pdt_87.f03 gcc-16-20260315/gcc/testsuite/gfortran.dg/pdt_87.f03
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pdt_87.f03	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pdt_87.f03	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,89 ----
+ ! { dg-do compile }
+ !
+ ! Test the fix for pr115316, in which none of the deferred type PDT errors were caught.
+ ! Note the exclusion of the old-style character length at line 62. This compiles OK
+ ! but causes an excess errors message in the testsuite.
+ !
+ ! Contributed by David Binderman  <dcb314@hotmail.com>
+ !
+ subroutine C933_a(b1, ca3, ca4, cp3, cp3mold, cp4, cp7, cp8, bsrc)
+ ! If any allocate-object has a deferred type parameter, is unlimited polymorphic,
+ ! or is of abstract type, either type-spec or source-expr shall appear.
+   type SomeType(k, l1, l2)
+     integer, kind :: k = 1
+     integer, len :: l1
+     integer, len :: l2 = 3
+     character(len=l2+l1) str
+   end type
+ 
+   type B(l)
+     integer, len :: l
+     character(:), allocatable :: msg
+     type(SomeType(4, l, :)), pointer :: something
+   end type
+   character(len=:), allocatable :: ca1, ca2(:)
+   character(len=*), allocatable :: ca3, ca4(:)
+   character(len=2), allocatable :: ca5, ca6(:)
+   character(len=5) mold
+ 
+   type(SomeType(l1=:,l2=:)), pointer :: cp1, cp2(:)
+   type(SomeType(l1=3,l2=4)) cp1mold
+   type(SomeType(1,*,:)), pointer :: cp3, cp4(:)
+   type(SomeType(1,*,5)) cp3mold
+   type(SomeType(l1=:)), pointer :: cp5, cp6(:)
+   type(SomeType(l1=6)) cp5mold
+   type(SomeType(1,*,*)), pointer :: cp7, cp8(:)
+   type(SomeType(1, l1=3)), pointer :: cp9, cp10(:)
+ 
+   type(B(*)) b1
+   type(B(:)), allocatable :: b2
+   type(B(5)) b3
+ 
+   type(SomeType(4, *, 8)) bsrc
+ 
+   allocate(ca1)          ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(ca2(4))       ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(cp1)          ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(cp2(2))       ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(cp3)          ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(cp4(2))       ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(cp5)          ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(cp6(2))       ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(b1%msg)       ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(b1%something) ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(b2%msg)       ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(b2%something) ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(b3%msg)       ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" }
+   allocate(b3%something) ! { dg-error "requires either a type-spec or SOURCE tag or a MOLD tag" } 
+ 
+   ! Nominal cases, expecting no errors
+   allocate(character(len=5):: ca2(4))
+   allocate(character(len=5):: ca1)
+ !  allocate(character*5:: ca1)
+   allocate(ca2(4), MOLD = "abcde")
+   allocate(ca2(2), MOLD = (/"abcde", "fghij"/))
+   allocate(ca1, MOLD = mold)
+   allocate(ca2(4), SOURCE = "abcde")
+   allocate(ca2(2), SOURCE = (/"abcde", "fghij"/))
+   allocate(ca1, SOURCE = mold)
+   allocate(SomeType(l1=1, l2=2):: cp1, cp2(2))
+   allocate(SomeType(1,*,5):: cp3, cp4(2))
+   allocate(SomeType(l1=1):: cp5, cp6(2))
+   allocate(cp1, cp2(2), mold = cp1mold)
+   allocate(cp3, cp4(2), mold = cp3mold)
+   allocate(cp5, cp6(2), mold = cp5mold)
+   allocate(cp1, cp2(2), source = cp1mold)
+   allocate(cp3, cp4(2), source = cp3mold)
+   allocate(cp5, cp6(2), source = cp5mold)
+   allocate(character(len=10):: b1%msg, b2%msg, b3%msg)
+   allocate(SomeType(4, b1%l, 9):: b1%something)
+   allocate(b2%something, source=bsrc)
+   allocate(SomeType(4, 5, 8):: b3%something)
+ 
+   ! assumed/explicit length do not need type-spec/mold
+   allocate(ca3, ca4(4))
+   allocate(ca5, ca6(4))
+   allocate(cp7, cp8(2))
+   allocate(cp9, cp10(2))
+ 
+ end subroutine
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pdt_88.f03 gcc-16-20260315/gcc/testsuite/gfortran.dg/pdt_88.f03
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pdt_88.f03	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pdt_88.f03	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,78 ----
+ ! { dg-do compile }
+ !
+ ! Test the fix for pr97818. Used to ICE in structure_alloc_comps, at
+ ! fortran/trans-array.cc:10211 because the parameterized function results
+ ! had not been set.
+ !
+ ! Contributed by Adam Jermyn  <adamjermyn@gmail.com>
+ !
+ module my_type_module
+    
+    implicit none
+       private
+    public :: my_type, &
+       assignment(=), &
+       operator(+)
+ 
+    type :: my_type(n)
+       integer, len :: n ! Length of array of independent variables
+       real :: val
+       real :: d1
+       real :: d2
+       real :: d1Array(n)
+       real :: d1_d2
+       real :: d1_d1Array(n)
+       real :: d2_d1Array(n)
+       real :: d1_d2_d1Array(n)
+    end type my_type
+    
+    interface assignment(=)
+       module procedure assign_from_self
+    end interface assignment(=)
+    
+    interface operator(+)
+       module procedure add_self
+       module procedure add_self_real
+    end interface operator(+)
+    
+    
+    contains
+ 
+    subroutine assign_from_self(this, other)
+       type(my_type(n=*)), intent(inout) :: this
+       type(my_type(n=this%n)), intent(in) :: other
+    end subroutine assign_from_self
+ 
+    function add_self(x, y) result(binary)
+       type(my_type(n=*)), intent(in) :: x
+       type(my_type(n=*)), intent(in) :: y
+       type(my_type(n=x%n)) :: binary
+    end function add_self
+    
+    function add_self_real(x, y) result(unary)
+       type(my_type(n=*)), intent(in) :: x
+       real, intent(in) :: y
+       type(my_type(n=x%n)) :: unary
+    end function add_self_real
+ 
+ end module my_type_module
+ 
+ 
+ program test_auto_diff
+    use my_type_module
+ 
+    call do_test_auto_diff_2var_order3_dArray(5)
+ 
+    contains
+ 
+    subroutine do_test_auto_diff_2var_order3_dArray(n)
+       integer, intent(in) :: n
+       type(my_type(n=n)) :: x, y, z
+ 
+       z = (x + 2.0) + ((x + 2.0) + 1.0)
+ 
+    end subroutine do_test_auto_diff_2var_order3_dArray
+ 
+ 
+ 
+ end program test_auto_diff
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pdt_89.f03 gcc-16-20260315/gcc/testsuite/gfortran.dg/pdt_89.f03
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pdt_89.f03	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pdt_89.f03	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,30 ----
+ ! { dg-do compile }
+ ! { dg-options "-fdump-tree-original" }
+ !
+ ! Test the fix for pr122696, which used to ICE on the associate statement. The
+ ! generic selector tensor_t () should resolve to tensor ().
+ !
+ ! Contributed by Damian Rouson  <damian@archaeologic.codes>
+ !
+ module tensor_m
+   implicit none
+ 
+   type tensor_t(k)
+     integer, kind :: k = kind(0.)
+   end type
+ 
+   interface tensor_t
+     module function tensor()
+       implicit none
+       type(tensor_t) tensor
+     end function
+   end interface
+ 
+ end module
+ 
+   use tensor_m
+   implicit none
+   associate(t => tensor_t())
+   end associate
+ end
+ ! { dg-final { scan-tree-dump-times "t = tensor \\(\\)" 1 "original" } }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pr102333.f90 gcc-16-20260315/gcc/testsuite/gfortran.dg/pr102333.f90
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pr102333.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pr102333.f90	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,20 ----
+ ! { dg-do compile }
+ ! PR fortran/102333
+ ! Contributed by G. Steinmetz <gscfq@t-online.de>
+ !
+ ! ICE in gfc_generate_function_code with procedure pointer returning
+ ! unlimited polymorphic pointer.
+ 
+ module m
+ contains
+   function f() result(res)
+     class(*), pointer :: res
+     res => null()
+   end function
+   subroutine s()
+     procedure(f), pointer :: p
+     class(*), pointer :: x
+     p => f
+     x => p()
+   end subroutine
+ end module
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pr102459.f90 gcc-16-20260315/gcc/testsuite/gfortran.dg/pr102459.f90
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pr102459.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pr102459.f90	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,15 ----
+ ! { dg-do compile }
+ ! { dg-additional-options "-fopenmp" }
+ 
+ program p
+   type t
+     integer :: a(2)
+   end type
+   type(t) :: x(8)
+ 
+   !$omp task depend (iterator(j=1:8), out:x(j)%a)
+   !$omp end task
+ 
+   !$omp task depend (iterator(j=1:8), out:x(j)%a(1))
+   !$omp end task
+ end
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pr102596.f90 gcc-16-20260315/gcc/testsuite/gfortran.dg/pr102596.f90
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pr102596.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pr102596.f90	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,13 ----
+ ! { dg-do compile }
+ ! { dg-additional-options "-fopenmp" }
+ 
+ program p
+   integer, allocatable :: r
+ 
+   allocate (r)
+   r = 0
+ 
+   !$omp target parallel reduction(task, +:r)
+   r = r + 1
+   !$omp end target parallel
+ end
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pr103139.f90 gcc-16-20260315/gcc/testsuite/gfortran.dg/pr103139.f90
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pr103139.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pr103139.f90	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,17 ----
+ ! { dg-do compile }
+ ! PR fortran/103139
+ ! Contributed by G. Steinmetz <gscfq@t-online.de>
+ !
+ ! ICE in fold_convert_loc with structure constructor containing
+ ! unlimited polymorphic allocatable component.
+ 
+ module m
+   type :: t1
+     class(*), allocatable :: c
+   end type
+ contains
+   subroutine s1 ()
+     type(t1) :: a
+     a = t1 (42)
+   end subroutine
+ end module
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pr106946.f90 gcc-16-20260315/gcc/testsuite/gfortran.dg/pr106946.f90
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pr106946.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pr106946.f90	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,30 ----
+ ! { dg-do compile }
+ ! PR fortran/106946
+ ! ICE in resolve_component on invalid CLASS declaration with missing comma.
+ !
+ ! The bad declarations below should diagnose and continue without leaving
+ ! behind dangling CLASS container symbols in the surrounding namespace.
+ 
+ program p
+   type :: u
+   end type
+ 
+   type :: v
+   end type
+ 
+   type :: w
+   end type
+ 
+   type :: t1
+     class(u), allocatable :: a b  ! { dg-error "Syntax error in data declaration" }
+   end type
+ 
+   type :: t2
+     class(v), pointer :: p q  ! { dg-error "Syntax error in data declaration" }
+   end type
+ 
+   type :: t3
+     class(w), allocatable :: ok
+     class(w), allocatable :: x y  ! { dg-error "Syntax error in data declaration" }
+   end type
+ end
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pr110877.f90 gcc-16-20260315/gcc/testsuite/gfortran.dg/pr110877.f90
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pr110877.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pr110877.f90	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,49 ----
+ ! { dg-do run }
+ !
+ ! PR fortran/110877
+ ! Incorrect copy of allocatable component in polymorphic assignment
+ ! from an array dummy argument.
+ 
+ module pr110877_m
+   type :: foo_t
+   end type foo_t
+ 
+   type, extends(foo_t) :: bar_t
+     real, allocatable :: a
+   end type bar_t
+ end module pr110877_m
+ 
+ program pr110877
+   use pr110877_m
+   implicit none
+ 
+   class(foo_t), allocatable :: foo(:)
+ 
+   allocate(bar_t :: foo(1))
+   select type (foo)
+   class is (bar_t)
+     allocate(foo(1)%a)
+   end select
+ 
+   call check_assign(foo)
+ 
+ contains
+ 
+   subroutine check_assign(f)
+     class(foo_t), intent(in) :: f(:)
+     class(foo_t), allocatable :: g(:)
+ 
+     g = f
+     select type (g)
+     class is (bar_t)
+       if (.not. allocated(g(1)%a)) stop 1
+     end select
+ 
+     deallocate(g)
+     allocate(g, source=f)
+     select type (g)
+     class is (bar_t)
+       if (.not. allocated(g(1)%a)) stop 2
+     end select
+   end subroutine check_assign
+ end program pr110877
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pr121743.f90 gcc-16-20260315/gcc/testsuite/gfortran.dg/pr121743.f90
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pr121743.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pr121743.f90	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,11 ----
+ ! PR fortran/121743
+ ! { dg-do compile }
+ ! { dg-options "-fcoarray=lib" }
+ 
+ program pr121743
+ end program pr121743
+ subroutine foo ()
+   integer, allocatable, dimension(:), codimension[:] :: s
+   integer :: i
+   i = s(1)[1]
+ end
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pr124450.f90 gcc-16-20260315/gcc/testsuite/gfortran.dg/pr124450.f90
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pr124450.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pr124450.f90	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,14 ----
+ ! PR fortran/124450
+ ! { dg-do compile }
+ 
+   type ta
+     integer(kind=4) :: a(1)
+     integer(kind=4) :: b(1)
+   end type ta
+   type tb
+     type(ta) :: c(1) = ta(1, 2)
+   end type tb
+   type(tb) :: e = tb(ta(3, 4))
+ 
+   print *, e
+ end
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pr82721.f90 gcc-16-20260315/gcc/testsuite/gfortran.dg/pr82721.f90
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pr82721.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pr82721.f90	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,9 ----
+ ! { dg-do compile }
+ ! { dg-set-target-env-var MALLOC_PERTURB_ "165" }
+ ! PR fortran/82721
+ ! Reject a duplicate declaration without leaving the CHARACTER length
+ ! expression from the failed statement on the namespace charlen list.
+ 
+ integer :: b
+ character(len(c)) :: b  ! { dg-error "already has basic type of INTEGER" }
+ end
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/pr95338.f90 gcc-16-20260315/gcc/testsuite/gfortran.dg/pr95338.f90
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/pr95338.f90	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/pr95338.f90	Sun Mar 15 22:32:14 2026
***************
*** 0 ****
--- 1,27 ----
+ ! { dg-do run }
+ ! { dg-additional-options "-O1 -ff2c" }
+ !
+ ! PR fortran/95338 - mixed ENTRY results with -ff2c must use the ABI
+ ! return type in the master union.
+ 
+ module m
+ contains
+   function f(x)
+     integer :: x
+     integer :: f
+     real :: g
+ 
+     f = x
+     return
+ 
+     entry g(x)
+     g = x
+   end
+ end
+ 
+ program p
+   use m
+ 
+   if (f(1) /= 1) stop 1
+   if (g(1) /= 1.0) stop 2
+ end
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gfortran.dg/unconstrained_commons.f gcc-16-20260315/gcc/testsuite/gfortran.dg/unconstrained_commons.f
*** gcc-16-20260308/gcc/testsuite/gfortran.dg/unconstrained_commons.f	Sun Mar  8 22:32:12 2026
--- gcc-16-20260315/gcc/testsuite/gfortran.dg/unconstrained_commons.f	Sun Mar 15 22:32:14 2026
***************
*** 14,19 ****
--- 14,20 ----
    10  CONTINUE
        RETURN
        END
+ ! { dg-final { scan-tree-dump-not "FIND" "dom2" } }
  ! We should retain both a read and write of mycommon.x.
  ! { dg-final { scan-tree-dump-times "  _\[0-9\]+ = mycommon\\.x\\\[_\[0-9\]+\\\];" 1 "dom2" } }
  ! { dg-final { scan-tree-dump-times "  mycommon\\.x\\\[j?_\[0-9\]+\\\] = _\[0-9\]+;" 1 "dom2" } }
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gnat.dg/access12.adb gcc-16-20260315/gcc/testsuite/gnat.dg/access12.adb
*** gcc-16-20260308/gcc/testsuite/gnat.dg/access12.adb	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gnat.dg/access12.adb	Sun Mar 15 22:32:15 2026
***************
*** 0 ****
--- 1,26 ----
+ -- { dg-do compile }
+ 
+ procedure Access12 is
+ 
+    type Rec (Element : access Integer) is null record;
+ 
+    function Make_Rec (X : access Integer) return Rec is (Element => X);
+ 
+    type Acc is access all Integer;
+ 
+    A : Acc;
+ 
+ begin
+    for I in 1 .. 10 loop
+       declare
+          X : aliased Integer;
+          R : Rec := Make_Rec (X'Access);
+       begin
+          if I = 1 then
+             X := 0;
+          end if;
+          A := R.Element.all'Access; -- { dg-error "non-local pointer" }
+          X := I;
+       end;
+    end loop;
+ end;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/gnat.dg/aliased3.adb gcc-16-20260315/gcc/testsuite/gnat.dg/aliased3.adb
*** gcc-16-20260308/gcc/testsuite/gnat.dg/aliased3.adb	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/gcc/testsuite/gnat.dg/aliased3.adb	Sun Mar 15 22:32:15 2026
***************
*** 0 ****
--- 1,18 ----
+ -- { dg-do compile }
+ 
+ procedure Aliased3 is
+ 
+    function F (R : aliased Integer) return access constant Integer is
+    (R'Access);
+ 
+    X : access constant Integer;
+ 
+ begin
+    declare
+       R : aliased Integer := 123;
+       Y : access constant Integer;
+    begin
+       Y := F (R); -- { dg-bogus "wrong accessibility in assignment" }
+       X := F (R); -- { dg-error "wrong accessibility in assignment" }
+    end;
+ end;
diff -Nrcpad gcc-16-20260308/gcc/testsuite/lib/target-supports.exp gcc-16-20260315/gcc/testsuite/lib/target-supports.exp
*** gcc-16-20260308/gcc/testsuite/lib/target-supports.exp	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/gcc/testsuite/lib/target-supports.exp	Sun Mar 15 22:32:15 2026
*************** proc current_target_name { } {
*** 138,147 ****
  # the Tcl command ARGS and seeing if it returns true.
  
  proc check_cached_effective_target { prop args } {
      global et_cache
  
      set target [current_target_name]
!     if {![info exists et_cache($prop,$target)]} {
  	verbose "check_cached_effective_target $prop: checking $target" 2
  	if {[string is true -strict $args] || [string is false -strict $args]} {
  	    error {check_cached_effective_target condition already evaluated; did you pass [...] instead of the expected {...}?}
--- 138,154 ----
  # the Tcl command ARGS and seeing if it returns true.
  
  proc check_cached_effective_target { prop args } {
+     global EFFECTIVE_TARGETS
+     global et_index
      global et_cache
  
+     if { [info exists et_index] } {
+ 	set et [lindex $EFFECTIVE_TARGETS $et_index]
+     } else {
+ 	set et "default"
+     }
      set target [current_target_name]
!     if {![info exists et_cache($prop,$target,$et)]} {
  	verbose "check_cached_effective_target $prop: checking $target" 2
  	if {[string is true -strict $args] || [string is false -strict $args]} {
  	    error {check_cached_effective_target condition already evaluated; did you pass [...] instead of the expected {...}?}
*************** proc check_cached_effective_target { pro
*** 150,173 ****
  	    if {$code != 0 && $code != 2} {
  		return -code $code $result
  	    }
! 	    set et_cache($prop,$target) $result
  	}
      }
!     set value $et_cache($prop,$target)
      verbose "check_cached_effective_target $prop: returning $value for $target" 2
      return $value
  }
  
- # Implements a version of check_cached_effective_target that also takes et_index
- # into account when creating the key for the cache.
- proc check_cached_effective_target_indexed { prop args } {
-     global et_index
-     set key "$et_index $prop"
-     verbose "check_cached_effective_target_index $prop: returning $key" 2
- 
-     return [check_cached_effective_target $key [list uplevel eval $args]]
- }
- 
  # Clear effective-target cache. This is useful after testing
  # effective-target features and overriding TEST_ALWAYS_FLAGS and/or
  # ALWAYS_CXXFLAGS.
--- 157,170 ----
  	    if {$code != 0 && $code != 2} {
  		return -code $code $result
  	    }
! 	    set et_cache($prop,$target,$et) $result
  	}
      }
!     set value $et_cache($prop,$target,$et)
      verbose "check_cached_effective_target $prop: returning $value for $target" 2
      return $value
  }
  
  # Clear effective-target cache. This is useful after testing
  # effective-target features and overriding TEST_ALWAYS_FLAGS and/or
  # ALWAYS_CXXFLAGS.
*************** proc check_effective_target_pie { } {
*** 1563,1570 ****
  # Return true if the target supports -mpaired-single (as used on MIPS).
  
  proc check_effective_target_mpaired_single { args } {
!     return [check_no_compiler_messages mpaired_single object {
! 	void foo (void) { }
      } "$args"]
  }
  
--- 1560,1569 ----
  # Return true if the target supports -mpaired-single (as used on MIPS).
  
  proc check_effective_target_mpaired_single { args } {
!     return [check_no_compiler_messages "mpaired_single_$args" object {
! 	void foo (void) {
! 	    asm volatile ("pll.ps $f2,$f4,$f6");
! 	}
      } "$args"]
  }
  
*************** proc check_mpaired_single_hw_available {
*** 3100,3106 ****
  		asm volatile ("pll.ps $f2,$f4,$f6");
  		return 0;
  	      }
! 	    } ""
  	}
      }]
  }
--- 3099,3105 ----
  		asm volatile ("pll.ps $f2,$f4,$f6");
  		return 0;
  	      }
! 	    } "-mpaired-single"
  	}
      }]
  }
*************** proc check_effective_target_vect_cmdline
*** 4613,4619 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_int { } {
!     return [check_cached_effective_target_indexed vect_int {
        expr {
  	 [check_effective_target_x86]
  	 || [istarget powerpc*-*-*]
--- 4612,4618 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_int { } {
!     return [check_cached_effective_target vect_int {
        expr {
  	 [check_effective_target_x86]
  	 || [istarget powerpc*-*-*]
*************** proc check_effective_target_vect_int_div
*** 4644,4650 ****
  # producing si outputs, 0 otherwise.
  
  proc check_effective_target_vect_dotprod_hisi { } {
!     return [check_cached_effective_target_indexed aarch64_sme2 {
  	expr { [check_effective_target_aarch64_sme2]
      }}]
  }
--- 4643,4649 ----
  # producing si outputs, 0 otherwise.
  
  proc check_effective_target_vect_dotprod_hisi { } {
!     return [check_cached_effective_target aarch64_sme2 {
  	expr { [check_effective_target_aarch64_sme2]
      }}]
  }
*************** proc check_effective_target_vect_dotprod
*** 4655,4661 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_early_break { } {
!     return [check_cached_effective_target_indexed vect_early_break {
        expr {
  	[istarget aarch64*-*-*]
  	|| [check_effective_target_arm_v8_neon_ok]
--- 4654,4660 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_early_break { } {
!     return [check_cached_effective_target vect_early_break {
        expr {
  	[istarget aarch64*-*-*]
  	|| [check_effective_target_arm_v8_neon_ok]
*************** proc check_effective_target_vect_early_b
*** 4672,4678 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_early_break_hw { } {
!     return [check_cached_effective_target_indexed vect_early_break_hw {
        expr {
  	[istarget aarch64*-*-*]
  	|| [check_effective_target_arm_v8_neon_hw]
--- 4671,4677 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_early_break_hw { } {
!     return [check_cached_effective_target vect_early_break_hw {
        expr {
  	[istarget aarch64*-*-*]
  	|| [check_effective_target_arm_v8_neon_hw]
*************** proc add_options_for_vect_early_break {
*** 4706,4712 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_byte { } {
!     return [check_cached_effective_target_indexed vect_complex_add_byte {
        expr {
  	 ([check_effective_target_aarch64_sve2]
  	  && [check_effective_target_aarch64_little_endian])
--- 4705,4711 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_byte { } {
!     return [check_cached_effective_target vect_complex_add_byte {
        expr {
  	 ([check_effective_target_aarch64_sve2]
  	  && [check_effective_target_aarch64_little_endian])
*************** proc check_effective_target_vect_complex
*** 4721,4727 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_short { } {
!     return [check_cached_effective_target_indexed vect_complex_add_short {
        expr {
  	 ([check_effective_target_aarch64_sve2]
  	  && [check_effective_target_aarch64_little_endian])
--- 4720,4726 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_short { } {
!     return [check_cached_effective_target vect_complex_add_short {
        expr {
  	 ([check_effective_target_aarch64_sve2]
  	  && [check_effective_target_aarch64_little_endian])
*************** proc check_effective_target_vect_complex
*** 4736,4742 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_int { } {
!     return [check_cached_effective_target_indexed vect_complex_add_int {
        expr {
  	 ([check_effective_target_aarch64_sve2]
  	  && [check_effective_target_aarch64_little_endian])
--- 4735,4741 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_int { } {
!     return [check_cached_effective_target vect_complex_add_int {
        expr {
  	 ([check_effective_target_aarch64_sve2]
  	  && [check_effective_target_aarch64_little_endian])
*************** proc check_effective_target_vect_complex
*** 4751,4757 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_long { } {
!     return [check_cached_effective_target_indexed vect_complex_add_long {
        expr {
  	 ([check_effective_target_aarch64_sve2]
  	  && [check_effective_target_aarch64_little_endian])
--- 4750,4756 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_long { } {
!     return [check_cached_effective_target vect_complex_add_long {
        expr {
  	 ([check_effective_target_aarch64_sve2]
  	  && [check_effective_target_aarch64_little_endian])
*************** proc check_effective_target_vect_complex
*** 4766,4772 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_half { } {
!     return [check_cached_effective_target_indexed vect_complex_add_half {
        expr {
  	 ([check_effective_target_arm_v8_3a_fp16_complex_neon_ok]
  	  && ([check_effective_target_aarch64_little_endian]
--- 4765,4771 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_half { } {
!     return [check_cached_effective_target vect_complex_add_half {
        expr {
  	 ([check_effective_target_arm_v8_3a_fp16_complex_neon_ok]
  	  && ([check_effective_target_aarch64_little_endian]
*************** proc check_effective_target_vect_complex
*** 4784,4790 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_float { } {
!     return [check_cached_effective_target_indexed vect_complex_add_float {
        expr {
  	 ([check_effective_target_arm_v8_3a_complex_neon_ok]
  	  && ([check_effective_target_aarch64_little_endian]
--- 4783,4789 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_float { } {
!     return [check_cached_effective_target vect_complex_add_float {
        expr {
  	 ([check_effective_target_arm_v8_3a_complex_neon_ok]
  	  && ([check_effective_target_aarch64_little_endian]
*************** proc check_effective_target_vect_complex
*** 4802,4808 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_double { } {
!     return [check_cached_effective_target_indexed vect_complex_add_double {
        expr {
  	 (([check_effective_target_arm_v8_3a_complex_neon_ok]
  	  && [check_effective_target_aarch64_little_endian])
--- 4801,4807 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_complex_add_double { } {
!     return [check_cached_effective_target vect_complex_add_double {
        expr {
  	 (([check_effective_target_arm_v8_3a_complex_neon_ok]
  	  && [check_effective_target_aarch64_little_endian])
*************** proc check_effective_target_vect_complex
*** 4815,4821 ****
  #
  
  proc check_effective_target_vect_intfloat_cvt { } {
!     return [check_cached_effective_target_indexed vect_intfloat_cvt {
        expr { [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
  	     || [is-effective-target arm_neon]
--- 4814,4820 ----
  #
  
  proc check_effective_target_vect_intfloat_cvt { } {
!     return [check_cached_effective_target vect_intfloat_cvt {
        expr { [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
  	     || [is-effective-target arm_neon]
*************** proc check_effective_target_vect_intfloa
*** 4834,4840 ****
  #
  
  proc check_effective_target_vect_doubleint_cvt { } {
!     return [check_cached_effective_target_indexed vect_doubleint_cvt {
        expr { ([check_effective_target_x86]
  	      && [check_no_compiler_messages vect_doubleint_cvt assembly {
  		   #ifdef __tune_atom__
--- 4833,4839 ----
  #
  
  proc check_effective_target_vect_doubleint_cvt { } {
!     return [check_cached_effective_target vect_doubleint_cvt {
        expr { ([check_effective_target_x86]
  	      && [check_no_compiler_messages vect_doubleint_cvt assembly {
  		   #ifdef __tune_atom__
*************** proc check_effective_target_vect_doublei
*** 4857,4863 ****
  #
  
  proc check_effective_target_vect_intdouble_cvt { } {
!     return [check_cached_effective_target_indexed vect_intdouble_cvt {
        expr { ([check_effective_target_x86]
  	      && [check_no_compiler_messages vect_intdouble_cvt assembly {
  		  #ifdef __tune_atom__
--- 4856,4862 ----
  #
  
  proc check_effective_target_vect_intdouble_cvt { } {
!     return [check_cached_effective_target vect_intdouble_cvt {
        expr { ([check_effective_target_x86]
  	      && [check_no_compiler_messages vect_intdouble_cvt assembly {
  		  #ifdef __tune_atom__
*************** proc check_effective_target_int128 { } {
*** 4894,4900 ****
  #
  
  proc check_effective_target_vect_uintfloat_cvt { } {
!     return [check_cached_effective_target_indexed vect_uintfloat_cvt {
        expr { [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
  	     || [istarget aarch64*-*-*]
--- 4893,4899 ----
  #
  
  proc check_effective_target_vect_uintfloat_cvt { } {
!     return [check_cached_effective_target vect_uintfloat_cvt {
        expr { [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
  	     || [istarget aarch64*-*-*]
*************** proc check_effective_target_vect_uintflo
*** 4915,4921 ****
  #
  
  proc check_effective_target_vect_floatint_cvt { } {
!     return [check_cached_effective_target_indexed vect_floatint_cvt {
        expr { [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
  	     || [is-effective-target arm_neon]
--- 4914,4920 ----
  #
  
  proc check_effective_target_vect_floatint_cvt { } {
!     return [check_cached_effective_target vect_floatint_cvt {
        expr { [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
  	     || [is-effective-target arm_neon]
*************** proc check_effective_target_vect_floatin
*** 4934,4940 ****
  #
  
  proc check_effective_target_vect_floatuint_cvt { } {
!     return [check_cached_effective_target_indexed vect_floatuint_cvt {
        expr { [istarget powerpc*-*-*]
  	    || [is-effective-target arm_neon]
  	    || ([istarget mips*-*-*]
--- 4933,4939 ----
  #
  
  proc check_effective_target_vect_floatuint_cvt { } {
!     return [check_cached_effective_target vect_floatuint_cvt {
        expr { [istarget powerpc*-*-*]
  	    || [is-effective-target arm_neon]
  	    || ([istarget mips*-*-*]
*************** proc check_effective_target_vect_floatui
*** 4952,4958 ****
  #
  
  proc check_effective_target_vect_ext_char_longlong { } {
!     return [check_cached_effective_target_indexed vect_ext_char_longlong {
        expr { ([istarget riscv*-*-*]
  	      && [check_effective_target_riscv_v])
  	     || ([istarget loongarch*-*-*]
--- 4951,4957 ----
  #
  
  proc check_effective_target_vect_ext_char_longlong { } {
!     return [check_cached_effective_target vect_ext_char_longlong {
        expr { ([istarget riscv*-*-*]
  	      && [check_effective_target_riscv_v])
  	     || ([istarget loongarch*-*-*]
*************** proc check_effective_target_vect_ext_cha
*** 4963,4969 ****
  #
  
  proc check_effective_target_vect_peeling_profitable { } {
!     return [check_cached_effective_target_indexed vect_peeling_profitable {
        expr { ([istarget s390*-*-*]
  	      && [check_effective_target_s390_vx])
  	    || [check_effective_target_vect_element_align_preferred] }}]
--- 4962,4968 ----
  #
  
  proc check_effective_target_vect_peeling_profitable { } {
!     return [check_cached_effective_target vect_peeling_profitable {
        expr { ([istarget s390*-*-*]
  	      && [check_effective_target_s390_vx])
  	    || [check_effective_target_vect_element_align_preferred] }}]
*************** proc check_effective_target_vect_simd_cl
*** 4978,4984 ****
      # avx2 and avx512f clone.  Only the right clone for the
      # specified arch will be chosen, but still we need to at least
      # be able to assemble avx512f.
!     return [check_cached_effective_target_indexed vect_simd_clones {
        expr { ([check_effective_target_x86]
  	      && [check_effective_target_avx512f])
  	     || [istarget amdgcn-*-*]
--- 4977,4983 ----
      # avx2 and avx512f clone.  Only the right clone for the
      # specified arch will be chosen, but still we need to at least
      # be able to assemble avx512f.
!     return [check_cached_effective_target vect_simd_clones {
        expr { ([check_effective_target_x86]
  	      && [check_effective_target_avx512f])
  	     || [istarget amdgcn-*-*]
*************** proc add_options_for_mips_loongson_mmi {
*** 7665,7671 ****
  # the Loongson vector modes.
  
  proc check_effective_target_mips_loongson_mmi { args } {
!     return [check_no_compiler_messages loongson assembly {
  	#if !defined(__mips_loongson_mmi)
  	#error !__mips_loongson_mmi
  	#endif
--- 7664,7670 ----
  # the Loongson vector modes.
  
  proc check_effective_target_mips_loongson_mmi { args } {
!     return [check_no_compiler_messages "loongson_$args" assembly {
  	#if !defined(__mips_loongson_mmi)
  	#error !__mips_loongson_mmi
  	#endif
*************** proc check_effective_target_mips_msa { a
*** 7690,7696 ****
    if ![check_effective_target_nomips16] {
      return 0
    }
!   return [check_no_compiler_messages msa object {
      #if !defined(__mips_msa)
      #error "MSA NOT AVAIL"
      #else
--- 7689,7695 ----
    if ![check_effective_target_nomips16] {
      return 0
    }
!   return [check_no_compiler_messages "msa_$args" object {
      #if !defined(__mips_msa)
      #error "MSA NOT AVAIL"
      #else
*************** proc check_effective_target_sparc_vis {
*** 8266,8272 ****
  # Return 1 if the target supports hardware vector shift operation.
  
  proc check_effective_target_vect_shift { } {
!     return [check_cached_effective_target_indexed vect_shift {
        expr {[istarget powerpc*-*-*]
  	     || [istarget ia64-*-*]
  	     || [check_effective_target_x86]
--- 8265,8271 ----
  # Return 1 if the target supports hardware vector shift operation.
  
  proc check_effective_target_vect_shift { } {
!     return [check_cached_effective_target vect_shift {
        expr {[istarget powerpc*-*-*]
  	     || [istarget ia64-*-*]
  	     || [check_effective_target_x86]
*************** proc check_effective_target_vect_shift {
*** 8287,8293 ****
  # Return 1 if the target supports hardware vector shift by register operation.
  
  proc check_effective_target_vect_var_shift { } {
!     return [check_cached_effective_target_indexed vect_var_shift {
        expr {([check_effective_target_x86]
  	     && [check_avx2_available])
  	    || [istarget aarch64*-*-*]
--- 8286,8292 ----
  # Return 1 if the target supports hardware vector shift by register operation.
  
  proc check_effective_target_vect_var_shift { } {
!     return [check_cached_effective_target vect_var_shift {
        expr {([check_effective_target_x86]
  	     && [check_avx2_available])
  	    || [istarget aarch64*-*-*]
*************** proc check_effective_target_whole_vector
*** 8326,8332 ****
  # Return 1 if the target supports vector bswap operations.
  
  proc check_effective_target_vect_bswap { } {
!     return [check_cached_effective_target_indexed vect_bswap {
        expr { ([istarget aarch64*-*-*]
  	      || [is-effective-target arm_neon]
  	      || [istarget amdgcn-*-*])
--- 8325,8331 ----
  # Return 1 if the target supports vector bswap operations.
  
  proc check_effective_target_vect_bswap { } {
!     return [check_cached_effective_target vect_bswap {
        expr { ([istarget aarch64*-*-*]
  	      || [is-effective-target arm_neon]
  	      || [istarget amdgcn-*-*])
*************** proc check_effective_target_vect_bswap {
*** 8339,8345 ****
  # least one vector length.
  
  proc check_effective_target_vect_bool_cmp { } {
!     return [check_cached_effective_target_indexed vect_bool_cmp {
        expr { [check_effective_target_x86]
  	     || [istarget aarch64*-*-*]
  	     || [is-effective-target arm_neon]
--- 8338,8344 ----
  # least one vector length.
  
  proc check_effective_target_vect_bool_cmp { } {
!     return [check_cached_effective_target vect_bool_cmp {
        expr { [check_effective_target_x86]
  	     || [istarget aarch64*-*-*]
  	     || [is-effective-target arm_neon]
*************** proc check_effective_target_vect_bool_cm
*** 8353,8359 ****
  # one vector length.
  
  proc check_effective_target_vect_char_add { } {
!     return [check_cached_effective_target_indexed vect_char_add {
        expr {
  	 [check_effective_target_x86]
  	 || [istarget powerpc*-*-*]
--- 8352,8358 ----
  # one vector length.
  
  proc check_effective_target_vect_char_add { } {
!     return [check_cached_effective_target vect_char_add {
        expr {
  	 [check_effective_target_x86]
  	 || [istarget powerpc*-*-*]
*************** proc check_effective_target_vect_char_ad
*** 8376,8382 ****
  # Return 1 if the target supports hardware vector shift operation for char.
  
  proc check_effective_target_vect_shift_char { } {
!     return [check_cached_effective_target_indexed vect_shift_char {
        expr { [istarget powerpc*-*-*]
  	     || [is-effective-target arm_neon]
  	     || ([istarget mips*-*-*]
--- 8375,8381 ----
  # Return 1 if the target supports hardware vector shift operation for char.
  
  proc check_effective_target_vect_shift_char { } {
!     return [check_cached_effective_target vect_shift_char {
        expr { [istarget powerpc*-*-*]
  	     || [is-effective-target arm_neon]
  	     || ([istarget mips*-*-*]
*************** proc check_effective_target_vect_long {
*** 8425,8431 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_float { } {
!     return [check_cached_effective_target_indexed vect_float {
        expr { [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
  	     || [istarget mips-sde-elf]
--- 8424,8430 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_float { } {
!     return [check_cached_effective_target vect_float {
        expr { [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
  	     || [istarget mips-sde-elf]
*************** proc check_effective_target_vect_float_s
*** 8457,8463 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_double { } {
!     return [check_cached_effective_target_indexed vect_double {
  	expr { ([check_effective_target_x86]
  		&& [check_no_compiler_messages vect_double assembly {
  		  #ifdef __tune_atom__
--- 8456,8462 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_double { } {
!     return [check_cached_effective_target vect_double {
  	expr { ([check_effective_target_x86]
  		&& [check_no_compiler_messages vect_double assembly {
  		  #ifdef __tune_atom__
*************** proc check_effective_target_vect_double_
*** 8491,8497 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_long_long { } {
!     return [check_cached_effective_target_indexed vect_long_long {
        expr { [check_effective_target_x86]
  	     || ([istarget mips*-*-*]
  		 && [et-is-effective-target mips_msa])
--- 8490,8496 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_long_long { } {
!     return [check_cached_effective_target vect_long_long {
        expr { [check_effective_target_x86]
  	     || ([istarget mips*-*-*]
  		 && [et-is-effective-target mips_msa])
*************** proc check_effective_target_vect_long_lo
*** 8514,8520 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_no_int_min_max { } {
!     return [check_cached_effective_target_indexed vect_no_int_min_max {
        expr { [istarget sparc*-*-*]
  	     || [istarget alpha*-*-*]
  	     || ([istarget mips*-*-*]
--- 8513,8519 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_no_int_min_max { } {
!     return [check_cached_effective_target vect_no_int_min_max {
        expr { [istarget sparc*-*-*]
  	     || [istarget alpha*-*-*]
  	     || ([istarget mips*-*-*]
*************** proc check_effective_target_vect_no_int_
*** 8528,8534 ****
  
  proc check_effective_target_vect_no_int_add { } {
      # Alpha only supports vector add on V8QI and V4HI.
!     return [check_cached_effective_target_indexed vect_no_int_add {
        expr { [istarget alpha*-*-*] }}]
  }
  
--- 8527,8533 ----
  
  proc check_effective_target_vect_no_int_add { } {
      # Alpha only supports vector add on V8QI and V4HI.
!     return [check_cached_effective_target vect_no_int_add {
        expr { [istarget alpha*-*-*] }}]
  }
  
*************** proc check_effective_target_vect_no_int_
*** 8538,8544 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_no_bitwise { } {
!     return [check_cached_effective_target_indexed vect_no_bitwise { return 0 }]
  }
  
  # Return 1 if the target plus current options supports vector permutation,
--- 8537,8543 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_no_bitwise { } {
!     return [check_cached_effective_target vect_no_bitwise { return 0 }]
  }
  
  # Return 1 if the target plus current options supports vector permutation,
*************** proc check_effective_target_vect_no_bitw
*** 8547,8553 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_perm { } {
!     return [check_cached_effective_target_indexed vect_perm {
        expr { [is-effective-target arm_neon]
  	     || [istarget aarch64*-*-*]
  	     || [istarget powerpc*-*-*]
--- 8546,8552 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_perm { } {
!     return [check_cached_effective_target vect_perm {
        expr { [is-effective-target arm_neon]
  	     || [istarget aarch64*-*-*]
  	     || [istarget powerpc*-*-*]
*************** proc check_effective_target_vect_perm3_i
*** 8644,8650 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_perm_byte { } {
!     return [check_cached_effective_target_indexed vect_perm_byte {
        expr { ([is-effective-target arm_neon]
  	      && [is-effective-target arm_little_endian])
  	     || ([istarget aarch64*-*-*]
--- 8643,8649 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_perm_byte { } {
!     return [check_cached_effective_target vect_perm_byte {
        expr { ([is-effective-target arm_neon]
  	      && [is-effective-target arm_little_endian])
  	     || ([istarget aarch64*-*-*]
*************** proc check_effective_target_vect_perm3_b
*** 8675,8681 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_perm_short { } {
!     return [check_cached_effective_target_indexed vect_perm_short {
        expr { ([is-effective-target arm_neon]
  	      && [is-effective-target arm_little_endian])
  	     || ([istarget aarch64*-*-*]
--- 8674,8680 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_perm_short { } {
!     return [check_cached_effective_target vect_perm_short {
        expr { ([is-effective-target arm_neon]
  	      && [is-effective-target arm_little_endian])
  	     || ([istarget aarch64*-*-*]
*************** proc check_effective_target_vect_perm3_s
*** 8708,8714 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_xorsign { } {
!     return [check_cached_effective_target_indexed xorsign {
        expr { [check_effective_target_x86]
  	     || [istarget aarch64*-*-*] || [istarget arm*-*-*] }}]
  }
--- 8707,8713 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_xorsign { } {
!     return [check_cached_effective_target xorsign {
        expr { [check_effective_target_x86]
  	     || [istarget aarch64*-*-*] || [istarget arm*-*-*] }}]
  }
*************** proc check_effective_target_xorsign { }
*** 8719,8725 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_ifn_copysign { } {
!     return [check_cached_effective_target_indexed ifn_copysign {
        expr {
  	 ([check_effective_target_x86]
  	  && [is-effective-target sse])
--- 8718,8724 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_ifn_copysign { } {
!     return [check_cached_effective_target ifn_copysign {
        expr {
  	 ([check_effective_target_x86]
  	  && [is-effective-target sse])
*************** proc check_effective_target_ifn_copysign
*** 8742,8748 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_sum_hi_to_si_pattern { } {
!     return [check_cached_effective_target_indexed vect_widen_sum_hi_to_si_pattern {
        expr { [istarget powerpc*-*-*]
  	     || ([istarget aarch64*-*-*]
  		 && ![check_effective_target_aarch64_sve])
--- 8741,8747 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_sum_hi_to_si_pattern { } {
!     return [check_cached_effective_target vect_widen_sum_hi_to_si_pattern {
        expr { [istarget powerpc*-*-*]
  	     || ([istarget aarch64*-*-*]
  		 && ![check_effective_target_aarch64_sve])
*************** proc check_effective_target_vect_widen_s
*** 8758,8764 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_sum_hi_to_si { } {
!     return [check_cached_effective_target_indexed vect_widen_sum_hi_to_si {
        expr { [check_effective_target_vect_unpack]
  	     || [istarget powerpc*-*-*]
  	     || [istarget ia64-*-*]
--- 8757,8763 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_sum_hi_to_si { } {
!     return [check_cached_effective_target vect_widen_sum_hi_to_si {
        expr { [check_effective_target_vect_unpack]
  	     || [istarget powerpc*-*-*]
  	     || [istarget ia64-*-*]
*************** proc check_effective_target_vect_widen_s
*** 8774,8780 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_sum_qi_to_hi { } {
!     return [check_cached_effective_target_indexed vect_widen_sum_qi_to_hi {
        expr { [check_effective_target_vect_unpack]
  	     || [is-effective-target arm_neon]
  	     || [istarget ia64-*-*]
--- 8773,8779 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_sum_qi_to_hi { } {
!     return [check_cached_effective_target vect_widen_sum_qi_to_hi {
        expr { [check_effective_target_vect_unpack]
  	     || [is-effective-target arm_neon]
  	     || [istarget ia64-*-*]
*************** proc check_effective_target_vect_widen_s
*** 8788,8794 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_sum_qi_to_si { } {
!     return [check_cached_effective_target_indexed vect_widen_sum_qi_to_si {
        expr { [istarget powerpc*-*-*]
  	     || [istarget loongarch*-*-*]
  	     || [istarget riscv*-*-*] }}]
--- 8787,8793 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_sum_qi_to_si { } {
!     return [check_cached_effective_target vect_widen_sum_qi_to_si {
        expr { [istarget powerpc*-*-*]
  	     || [istarget loongarch*-*-*]
  	     || [istarget riscv*-*-*] }}]
*************** proc check_effective_target_vect_widen_s
*** 8804,8810 ****
  
  
  proc check_effective_target_vect_widen_mult_qi_to_hi { } {
!     return [check_cached_effective_target_indexed vect_widen_mult_qi_to_hi {
        expr { ([check_effective_target_vect_unpack]
  	       && [check_effective_target_vect_short_mult])
  	      || ([istarget powerpc*-*-*]
--- 8803,8809 ----
  
  
  proc check_effective_target_vect_widen_mult_qi_to_hi { } {
!     return [check_cached_effective_target vect_widen_mult_qi_to_hi {
        expr { ([check_effective_target_vect_unpack]
  	       && [check_effective_target_vect_short_mult])
  	      || ([istarget powerpc*-*-*]
*************** proc check_effective_target_vect_widen_m
*** 8826,8832 ****
  
  
  proc check_effective_target_vect_widen_mult_hi_to_si { } {
!     return [check_cached_effective_target_indexed vect_widen_mult_hi_to_si {
        expr { ([check_effective_target_vect_unpack]
  	      && [check_effective_target_vect_int_mult])
  	     || ([istarget powerpc*-*-*]
--- 8825,8831 ----
  
  
  proc check_effective_target_vect_widen_mult_hi_to_si { } {
!     return [check_cached_effective_target vect_widen_mult_hi_to_si {
        expr { ([check_effective_target_vect_unpack]
  	      && [check_effective_target_vect_int_mult])
  	     || ([istarget powerpc*-*-*]
*************** proc check_effective_target_vect_widen_m
*** 8846,8852 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_mult_qi_to_hi_pattern { } {
!     return [check_cached_effective_target_indexed vect_widen_mult_qi_to_hi_pattern {
        expr { [istarget powerpc*-*-*]
  	     || ([is-effective-target arm_neon]
  		 && [check_effective_target_arm_little_endian])
--- 8845,8851 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_mult_qi_to_hi_pattern { } {
!     return [check_cached_effective_target vect_widen_mult_qi_to_hi_pattern {
        expr { [istarget powerpc*-*-*]
  	     || ([is-effective-target arm_neon]
  		 && [check_effective_target_arm_little_endian])
*************** proc check_effective_target_vect_widen_m
*** 8862,8868 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_mult_hi_to_si_pattern { } {
!     return [check_cached_effective_target_indexed vect_widen_mult_hi_to_si_pattern {
        expr { [istarget powerpc*-*-*]
  	     || [istarget ia64-*-*]
  	     || [istarget loongarch*-*-*]
--- 8861,8867 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_mult_hi_to_si_pattern { } {
!     return [check_cached_effective_target vect_widen_mult_hi_to_si_pattern {
        expr { [istarget powerpc*-*-*]
  	     || [istarget ia64-*-*]
  	     || [istarget loongarch*-*-*]
*************** proc check_effective_target_vect_widen_m
*** 8880,8886 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_mult_si_to_di_pattern { } {
!     return [check_cached_effective_target_indexed vect_widen_mult_si_to_di_pattern {
        expr { [istarget ia64-*-*]
  	     || [check_effective_target_x86]
  	     || [istarget loongarch*-*-*]
--- 8879,8885 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_mult_si_to_di_pattern { } {
!     return [check_cached_effective_target vect_widen_mult_si_to_di_pattern {
        expr { [istarget ia64-*-*]
  	     || [check_effective_target_x86]
  	     || [istarget loongarch*-*-*]
*************** proc check_effective_target_vect_widen_m
*** 8894,8900 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_shift { } {
!     return [check_cached_effective_target_indexed vect_widen_shift {
        expr { [is-effective-target arm_neon] }}]
  }
  
--- 8893,8899 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_widen_shift { } {
!     return [check_cached_effective_target vect_widen_shift {
        expr { [is-effective-target arm_neon] }}]
  }
  
*************** proc check_effective_target_vect_widen_s
*** 8904,8910 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_sdot_qi { } {
!     return [check_cached_effective_target_indexed vect_sdot_qi {
        expr { [istarget ia64-*-*]
  	     || [istarget aarch64*-*-*]
  	     || [istarget arm*-*-*]
--- 8903,8909 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_sdot_qi { } {
!     return [check_cached_effective_target vect_sdot_qi {
        expr { [istarget ia64-*-*]
  	     || [istarget aarch64*-*-*]
  	     || [istarget arm*-*-*]
*************** proc check_effective_target_vect_sdot_qi
*** 8922,8928 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_udot_qi { } {
!     return [check_cached_effective_target_indexed vect_udot_qi {
        expr { [istarget powerpc*-*-*]
  	     || [istarget aarch64*-*-*]
  	     || [istarget arm*-*-*]
--- 8921,8927 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_udot_qi { } {
!     return [check_cached_effective_target vect_udot_qi {
        expr { [istarget powerpc*-*-*]
  	     || [istarget aarch64*-*-*]
  	     || [istarget arm*-*-*]
*************** proc check_effective_target_vect_udot_qi
*** 8942,8948 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_usdot_qi { } {
!     return [check_cached_effective_target_indexed vect_usdot_qi {
        expr { [istarget aarch64*-*-*]
  	     || [istarget arm*-*-*] }}]
  }
--- 8941,8947 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_usdot_qi { } {
!     return [check_cached_effective_target vect_usdot_qi {
        expr { [istarget aarch64*-*-*]
  	     || [istarget arm*-*-*] }}]
  }
*************** proc check_effective_target_vect_usdot_q
*** 8954,8960 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_sdot_hi { } {
!     return [check_cached_effective_target_indexed vect_sdot_hi {
        expr { [istarget powerpc*-*-*]
  	     || [istarget ia64-*-*]
  	     || [check_effective_target_x86]
--- 8953,8959 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_sdot_hi { } {
!     return [check_cached_effective_target vect_sdot_hi {
        expr { [istarget powerpc*-*-*]
  	     || [istarget ia64-*-*]
  	     || [check_effective_target_x86]
*************** proc check_effective_target_vect_sdot_hi
*** 8972,8978 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_udot_hi { } {
!     return [check_cached_effective_target_indexed vect_udot_hi {
        expr { [istarget powerpc*-*-*]
  	     || ([istarget mips*-*-*]
  		 && [et-is-effective-target mips_msa])
--- 8971,8977 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_udot_hi { } {
!     return [check_cached_effective_target vect_udot_hi {
        expr { [istarget powerpc*-*-*]
  	     || ([istarget mips*-*-*]
  		 && [et-is-effective-target mips_msa])
*************** proc check_effective_target_vect_udot_hi
*** 8988,8994 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_usad_char { } {
!     return [check_cached_effective_target_indexed vect_usad_char {
        expr { [check_effective_target_x86]
  	      || ([istarget aarch64*-*-*]
  		  && ![check_effective_target_aarch64_sve])
--- 8987,8993 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_usad_char { } {
!     return [check_cached_effective_target vect_usad_char {
        expr { [check_effective_target_x86]
  	      || ([istarget aarch64*-*-*]
  		  && ![check_effective_target_aarch64_sve])
*************** proc check_effective_target_vect_sdiv_po
*** 9036,9042 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_pack_trunc { } {
!     return [check_cached_effective_target_indexed vect_pack_trunc {
        expr { [istarget powerpc*-*-*]
  	     || [check_effective_target_x86]
  	     || [istarget aarch64*-*-*]
--- 9035,9041 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_pack_trunc { } {
!     return [check_cached_effective_target vect_pack_trunc {
        expr { [istarget powerpc*-*-*]
  	     || [check_effective_target_x86]
  	     || [istarget aarch64*-*-*]
*************** proc check_effective_target_vect_pack_tr
*** 9059,9065 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_unpack { } {
!     return [check_cached_effective_target_indexed vect_unpack {
        expr { [istarget powerpc*-*-*]
  	     || [check_effective_target_x86]
  	     || [istarget ia64-*-*]
--- 9058,9064 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_unpack { } {
!     return [check_cached_effective_target vect_unpack {
        expr { [istarget powerpc*-*-*]
  	     || [check_effective_target_x86]
  	     || [istarget ia64-*-*]
*************** proc check_effective_target_vect_unpack
*** 9083,9089 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_unaligned_stack { } {
!     return [check_cached_effective_target_indexed unaligned_stack { expr 0 }]
  }
  
  # Return 1 if the target plus current options does not support a vector
--- 9082,9088 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_unaligned_stack { } {
!     return [check_cached_effective_target unaligned_stack { expr 0 }]
  }
  
  # Return 1 if the target plus current options does not support a vector
*************** proc check_effective_target_unaligned_st
*** 9092,9098 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_no_align { } {
!     return [check_cached_effective_target_indexed vect_no_align {
        expr { [istarget mipsisa64*-*-*]
  	     || [istarget mips-sde-elf]
  	     || [istarget sparc*-*-*]
--- 9091,9097 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_no_align { } {
!     return [check_cached_effective_target vect_no_align {
        expr { [istarget mipsisa64*-*-*]
  	     || [istarget mips-sde-elf]
  	     || [istarget sparc*-*-*]
*************** proc check_effective_target_vect_no_alig
*** 9108,9114 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_hw_misalign { } {
!     return [check_cached_effective_target_indexed vect_hw_misalign {
  	if { [check_effective_target_x86]
  	     || ([istarget powerpc*-*-*] && [check_p8vector_hw_available])
  	     || [istarget aarch64*-*-*]
--- 9107,9113 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_vect_hw_misalign { } {
!     return [check_cached_effective_target vect_hw_misalign {
  	if { [check_effective_target_x86]
  	     || ([istarget powerpc*-*-*] && [check_p8vector_hw_available])
  	     || [istarget aarch64*-*-*]
*************** proc check_effective_target_no_alignment
*** 9170,9176 ****
  proc check_effective_target_natural_alignment_32 { } {
      # FIXME: 32bit powerpc: guaranteed only if MASK_ALIGN_NATURAL/POWER.
      # FIXME: m68k has -malign-int
!     return [check_cached_effective_target_indexed natural_alignment_32 {
        if { ([istarget *-*-darwin*] && [is-effective-target lp64])
  	   || [istarget avr-*-*]
  	   || [istarget m68k-*-linux*]
--- 9169,9175 ----
  proc check_effective_target_natural_alignment_32 { } {
      # FIXME: 32bit powerpc: guaranteed only if MASK_ALIGN_NATURAL/POWER.
      # FIXME: m68k has -malign-int
!     return [check_cached_effective_target natural_alignment_32 {
        if { ([istarget *-*-darwin*] && [is-effective-target lp64])
  	   || [istarget avr-*-*]
  	   || [istarget m68k-*-linux*]
*************** proc check_effective_target_natural_alig
*** 9194,9200 ****
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_natural_alignment_64 { } {
!     return [check_cached_effective_target_indexed natural_alignment_64 {
        expr { [is-effective-target natural_alignment_32]
  	     && [is-effective-target lp64] && ![istarget *-*-darwin*] }
      }]
--- 9193,9199 ----
  # This won't change for different subtargets so cache the result.
  
  proc check_effective_target_natural_alignment_64 { } {
!     return [check_cached_effective_target natural_alignment_64 {
        expr { [is-effective-target natural_alignment_32]
  	     && [is-effective-target lp64] && ![istarget *-*-darwin*] }
      }]
*************** proc check_effective_target_vector_align
*** 9682,9688 ****
  # Return 1 if the target only requires element alignment for vector accesses
  
  proc check_effective_target_vect_element_align { } {
!     return [check_cached_effective_target_indexed vect_element_align {
        expr { ([istarget arm*-*-*]
  	      && ![check_effective_target_arm_vect_no_misalign])
  	     || [check_effective_target_vect_hw_misalign] }}]
--- 9681,9687 ----
  # Return 1 if the target only requires element alignment for vector accesses
  
  proc check_effective_target_vect_element_align { } {
!     return [check_cached_effective_target vect_element_align {
        expr { ([istarget arm*-*-*]
  	      && ![check_effective_target_arm_vect_no_misalign])
  	     || [check_effective_target_vect_hw_misalign] }}]
*************** proc check_effective_target_vect_scatter
*** 9746,9752 ****
  # Return 1 if the target supports vector conditional operations, 0 otherwise.
  
  proc check_effective_target_vect_condition { } {
!     return [check_cached_effective_target_indexed vect_condition {
        expr { [istarget aarch64*-*-*]
  	     || [istarget powerpc*-*-*]
  	     || [istarget ia64-*-*]
--- 9745,9751 ----
  # Return 1 if the target supports vector conditional operations, 0 otherwise.
  
  proc check_effective_target_vect_condition { } {
!     return [check_cached_effective_target vect_condition {
        expr { [istarget aarch64*-*-*]
  	     || [istarget powerpc*-*-*]
  	     || [istarget ia64-*-*]
*************** proc check_effective_target_vect_conditi
*** 9767,9773 ****
  # the comparison has different type from the lhs, 0 otherwise.
  
  proc check_effective_target_vect_cond_mixed { } {
!     return [check_cached_effective_target_indexed vect_cond_mixed {
        expr { [check_effective_target_x86]
  	     || [istarget aarch64*-*-*]
  	     || [istarget powerpc*-*-*]
--- 9766,9772 ----
  # the comparison has different type from the lhs, 0 otherwise.
  
  proc check_effective_target_vect_cond_mixed { } {
!     return [check_cached_effective_target vect_cond_mixed {
        expr { [check_effective_target_x86]
  	     || [istarget aarch64*-*-*]
  	     || [istarget powerpc*-*-*]
*************** proc check_effective_target_vect_cond_mi
*** 9786,9792 ****
  # Return 1 if the target supports vector char multiplication, 0 otherwise.
  
  proc check_effective_target_vect_char_mult { } {
!     return [check_cached_effective_target_indexed vect_char_mult {
        expr { [istarget aarch64*-*-*]
  	     || [istarget ia64-*-*]
  	     || [check_effective_target_x86]
--- 9785,9791 ----
  # Return 1 if the target supports vector char multiplication, 0 otherwise.
  
  proc check_effective_target_vect_char_mult { } {
!     return [check_cached_effective_target vect_char_mult {
        expr { [istarget aarch64*-*-*]
  	     || [istarget ia64-*-*]
  	     || [check_effective_target_x86]
*************** proc check_effective_target_vect_char_mu
*** 9806,9812 ****
  # Return 1 if the target supports vector short multiplication, 0 otherwise.
  
  proc check_effective_target_vect_short_mult { } {
!     return [check_cached_effective_target_indexed vect_short_mult {
        expr { [istarget ia64-*-*]
  	     || [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
--- 9805,9811 ----
  # Return 1 if the target supports vector short multiplication, 0 otherwise.
  
  proc check_effective_target_vect_short_mult { } {
!     return [check_cached_effective_target vect_short_mult {
        expr { [istarget ia64-*-*]
  	     || [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
*************** proc check_effective_target_vect_short_m
*** 9827,9833 ****
  # Return 1 if the target supports vector int multiplication, 0 otherwise.
  
  proc check_effective_target_vect_int_mult { } {
!     return [check_cached_effective_target_indexed vect_int_mult {
        expr { [istarget powerpc*-*-*]
  	     || [check_effective_target_x86]
  	     || [istarget ia64-*-*]
--- 9826,9832 ----
  # Return 1 if the target supports vector int multiplication, 0 otherwise.
  
  proc check_effective_target_vect_int_mult { } {
!     return [check_cached_effective_target vect_int_mult {
        expr { [istarget powerpc*-*-*]
  	     || [check_effective_target_x86]
  	     || [istarget ia64-*-*]
*************** proc check_effective_target_vect_long_mu
*** 9879,9885 ****
  # Return 1 if the target supports vector even/odd elements extraction, 0 otherwise.
  
  proc check_effective_target_vect_extract_even_odd { } {
!     return [check_cached_effective_target_indexed extract_even_odd {
        expr { [istarget aarch64*-*-*]
  	     || [istarget powerpc*-*-*]
  	     || [is-effective-target arm_neon]
--- 9878,9884 ----
  # Return 1 if the target supports vector even/odd elements extraction, 0 otherwise.
  
  proc check_effective_target_vect_extract_even_odd { } {
!     return [check_cached_effective_target extract_even_odd {
        expr { [istarget aarch64*-*-*]
  	     || [istarget powerpc*-*-*]
  	     || [is-effective-target arm_neon]
*************** proc check_effective_target_vect_extract
*** 9899,9905 ****
  # Return 1 if the target supports vector interleaving, 0 otherwise.
  
  proc check_effective_target_vect_interleave { } {
!     return [check_cached_effective_target_indexed vect_interleave {
        expr { [istarget aarch64*-*-*]
  	     || [istarget powerpc*-*-*]
  	     || [is-effective-target arm_neon]
--- 9898,9904 ----
  # Return 1 if the target supports vector interleaving, 0 otherwise.
  
  proc check_effective_target_vect_interleave { } {
!     return [check_cached_effective_target vect_interleave {
        expr { [istarget aarch64*-*-*]
  	     || [istarget powerpc*-*-*]
  	     || [is-effective-target arm_neon]
*************** foreach N {2 3 4 5 6 7 8} {
*** 9920,9926 ****
      eval [string map [list N $N] {
  	# Return 1 if the target supports 2-vector interleaving
  	proc check_effective_target_vect_stridedN { } {
! 	    return [check_cached_effective_target_indexed vect_stridedN {
  		if { (N & -N) == N
  		     && [check_effective_target_vect_interleave]
  		     && [check_effective_target_vect_extract_even_odd] } {
--- 9919,9925 ----
      eval [string map [list N $N] {
  	# Return 1 if the target supports 2-vector interleaving
  	proc check_effective_target_vect_stridedN { } {
! 	    return [check_cached_effective_target vect_stridedN {
  		if { (N & -N) == N
  		     && [check_effective_target_vect_interleave]
  		     && [check_effective_target_vect_extract_even_odd] } {
*************** proc check_effective_target_vect32 { } {
*** 10031,10037 ****
  # Return 1 if the target supports vector copysignf calls.
  
  proc check_effective_target_vect_call_copysignf { } {
!     return [check_cached_effective_target_indexed vect_call_copysignf {
        expr { [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
  	     || [istarget aarch64*-*-*]
--- 10030,10036 ----
  # Return 1 if the target supports vector copysignf calls.
  
  proc check_effective_target_vect_call_copysignf { } {
!     return [check_cached_effective_target vect_call_copysignf {
        expr { [check_effective_target_x86]
  	     || [istarget powerpc*-*-*]
  	     || [istarget aarch64*-*-*]
*************** proc add_options_for_sqrt_insn { flags }
*** 10070,10076 ****
  # Return 1 if the target supports vector sqrtf calls.
  
  proc check_effective_target_vect_call_sqrtf { } {
!     return [check_cached_effective_target_indexed vect_call_sqrtf {
        expr { [istarget aarch64*-*-*]
  	     || [check_effective_target_x86]
  	     || ([istarget powerpc*-*-*] && [check_vsx_hw_available])
--- 10069,10075 ----
  # Return 1 if the target supports vector sqrtf calls.
  
  proc check_effective_target_vect_call_sqrtf { } {
!     return [check_cached_effective_target vect_call_sqrtf {
        expr { [istarget aarch64*-*-*]
  	     || [check_effective_target_x86]
  	     || ([istarget powerpc*-*-*] && [check_vsx_hw_available])
*************** proc check_effective_target_vect_call_lr
*** 10101,10107 ****
  # Return 1 if the target supports vector btrunc calls.
  
  proc check_effective_target_vect_call_btrunc { } {
!     return [check_cached_effective_target_indexed vect_call_btrunc {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
--- 10100,10106 ----
  # Return 1 if the target supports vector btrunc calls.
  
  proc check_effective_target_vect_call_btrunc { } {
!     return [check_cached_effective_target vect_call_btrunc {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
*************** proc check_effective_target_vect_call_bt
*** 10109,10115 ****
  # Return 1 if the target supports vector btruncf calls.
  
  proc check_effective_target_vect_call_btruncf { } {
!     return [check_cached_effective_target_indexed vect_call_btruncf {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
--- 10108,10114 ----
  # Return 1 if the target supports vector btruncf calls.
  
  proc check_effective_target_vect_call_btruncf { } {
!     return [check_cached_effective_target vect_call_btruncf {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
*************** proc check_effective_target_vect_call_bt
*** 10117,10123 ****
  # Return 1 if the target supports vector ceil calls.
  
  proc check_effective_target_vect_call_ceil { } {
!     return [check_cached_effective_target_indexed vect_call_ceil {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
--- 10116,10122 ----
  # Return 1 if the target supports vector ceil calls.
  
  proc check_effective_target_vect_call_ceil { } {
!     return [check_cached_effective_target vect_call_ceil {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
*************** proc check_effective_target_vect_call_ce
*** 10125,10131 ****
  # Return 1 if the target supports vector ceilf calls.
  
  proc check_effective_target_vect_call_ceilf { } {
!     return [check_cached_effective_target_indexed vect_call_ceilf {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
--- 10124,10130 ----
  # Return 1 if the target supports vector ceilf calls.
  
  proc check_effective_target_vect_call_ceilf { } {
!     return [check_cached_effective_target vect_call_ceilf {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
*************** proc check_effective_target_vect_call_ce
*** 10133,10139 ****
  # Return 1 if the target supports vector floor calls.
  
  proc check_effective_target_vect_call_floor { } {
!     return [check_cached_effective_target_indexed vect_call_floor {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
--- 10132,10138 ----
  # Return 1 if the target supports vector floor calls.
  
  proc check_effective_target_vect_call_floor { } {
!     return [check_cached_effective_target vect_call_floor {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
*************** proc check_effective_target_vect_call_fl
*** 10141,10147 ****
  # Return 1 if the target supports vector floorf calls.
  
  proc check_effective_target_vect_call_floorf { } {
!     return [check_cached_effective_target_indexed vect_call_floorf {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
--- 10140,10146 ----
  # Return 1 if the target supports vector floorf calls.
  
  proc check_effective_target_vect_call_floorf { } {
!     return [check_cached_effective_target vect_call_floorf {
        expr { [istarget aarch64*-*-*]
  	     || [istarget amdgcn-*-*] }}]
  }
*************** proc check_effective_target_vect_call_fl
*** 10149,10190 ****
  # Return 1 if the target supports vector lceil calls.
  
  proc check_effective_target_vect_call_lceil { } {
!     return [check_cached_effective_target_indexed vect_call_lceil {
        expr { [istarget aarch64*-*-*] }}]
  }
  
  # Return 1 if the target supports vector lfloor calls.
  
  proc check_effective_target_vect_call_lfloor { } {
!     return [check_cached_effective_target_indexed vect_call_lfloor {
        expr { [istarget aarch64*-*-*] }}]
  }
  
  # Return 1 if the target supports vector nearbyint calls.
  
  proc check_effective_target_vect_call_nearbyint { } {
!     return [check_cached_effective_target_indexed vect_call_nearbyint {
        expr { [istarget aarch64*-*-*] }}]
  }
  
  # Return 1 if the target supports vector nearbyintf calls.
  
  proc check_effective_target_vect_call_nearbyintf { } {
!     return [check_cached_effective_target_indexed vect_call_nearbyintf {
        expr { [istarget aarch64*-*-*] }}]
  }
  
  # Return 1 if the target supports vector round calls.
  
  proc check_effective_target_vect_call_round { } {
!     return [check_cached_effective_target_indexed vect_call_round {
        expr { [istarget aarch64*-*-*] }}]
  }
  
  # Return 1 if the target supports vector roundf calls.
  
  proc check_effective_target_vect_call_roundf { } {
!     return [check_cached_effective_target_indexed vect_call_roundf {
        expr { [istarget aarch64*-*-*] }}]
  }
  
--- 10148,10189 ----
  # Return 1 if the target supports vector lceil calls.
  
  proc check_effective_target_vect_call_lceil { } {
!     return [check_cached_effective_target vect_call_lceil {
        expr { [istarget aarch64*-*-*] }}]
  }
  
  # Return 1 if the target supports vector lfloor calls.
  
  proc check_effective_target_vect_call_lfloor { } {
!     return [check_cached_effective_target vect_call_lfloor {
        expr { [istarget aarch64*-*-*] }}]
  }
  
  # Return 1 if the target supports vector nearbyint calls.
  
  proc check_effective_target_vect_call_nearbyint { } {
!     return [check_cached_effective_target vect_call_nearbyint {
        expr { [istarget aarch64*-*-*] }}]
  }
  
  # Return 1 if the target supports vector nearbyintf calls.
  
  proc check_effective_target_vect_call_nearbyintf { } {
!     return [check_cached_effective_target vect_call_nearbyintf {
        expr { [istarget aarch64*-*-*] }}]
  }
  
  # Return 1 if the target supports vector round calls.
  
  proc check_effective_target_vect_call_round { } {
!     return [check_cached_effective_target vect_call_round {
        expr { [istarget aarch64*-*-*] }}]
  }
  
  # Return 1 if the target supports vector roundf calls.
  
  proc check_effective_target_vect_call_roundf { } {
!     return [check_cached_effective_target vect_call_roundf {
        expr { [istarget aarch64*-*-*] }}]
  }
  
*************** proc check_effective_target_init_priorit
*** 10635,10647 ****
  # arguments with keywords that pass particular arguments.
  
  proc is-effective-target { arg } {
-     global et_index
      set selected 0
-     if { ![info exists et_index] } {
- 	# Initialize the effective target index that is used in some
- 	# check_effective_target_* procs.
- 	set et_index 0
-     }
      if { [info procs check_effective_target_${arg}] != [list] } {
  	set selected [check_effective_target_${arg}]
      } else {
--- 10634,10640 ----
*************** proc et-dg-runtest { runtest testcases f
*** 10723,10731 ****
  		set dg-do-what-default run
  	    }
  	    $runtest $testcases $target_flags ${default-extra-flags}
  	}
      } else {
- 	set et_index 0
  	$runtest $testcases $flags ${default-extra-flags}
      }
  }
--- 10716,10724 ----
  		set dg-do-what-default run
  	    }
  	    $runtest $testcases $target_flags ${default-extra-flags}
+ 	    unset et_index
  	}
      } else {
  	$runtest $testcases $flags ${default-extra-flags}
      }
  }
*************** proc et-is-effective-target { target } {
*** 10737,10749 ****
      global EFFECTIVE_TARGETS
      global et_index
  
!     if { [info exists EFFECTIVE_TARGETS] } {
! 	if { [llength $EFFECTIVE_TARGETS] > $et_index
! 	     && [lindex $EFFECTIVE_TARGETS $et_index] == $target } {
! 	    return 1
! 	} else {
! 	    return 0
! 	}
      } else {
  	return [check_effective_target_${target}]
      }
--- 10730,10737 ----
      global EFFECTIVE_TARGETS
      global et_index
  
!     if { [info exists et_index] } {
!         return [string equal [lindex $EFFECTIVE_TARGETS $et_index] $target]
      } else {
  	return [check_effective_target_${target}]
      }
*************** proc check_effective_target_glibc { } {
*** 13999,14005 ****
  foreach N {hf sf} {
      eval [string map [list N $N] {
  	proc check_effective_target_vect_complex_rot_N { } {
! 	    return [check_cached_effective_target_indexed vect_complex_rot_N {
  	    expr { [istarget aarch64*-*-*]
  		    || [istarget arm*-*-*] }}]
  	}
--- 13987,13993 ----
  foreach N {hf sf} {
      eval [string map [list N $N] {
  	proc check_effective_target_vect_complex_rot_N { } {
! 	    return [check_cached_effective_target vect_complex_rot_N {
  	    expr { [istarget aarch64*-*-*]
  		    || [istarget arm*-*-*] }}]
  	}
*************** foreach N {hf sf} {
*** 14014,14020 ****
  foreach N {df} {
      eval [string map [list N $N] {
  	proc check_effective_target_vect_complex_rot_N { } {
! 	    return [check_cached_effective_target_indexed vect_complex_rot_N {
  	    expr { [istarget aarch64*-*-*] }}]
  	}
      }]
--- 14002,14008 ----
  foreach N {df} {
      eval [string map [list N $N] {
  	proc check_effective_target_vect_complex_rot_N { } {
! 	    return [check_cached_effective_target vect_complex_rot_N {
  	    expr { [istarget aarch64*-*-*] }}]
  	}
      }]
diff -Nrcpad gcc-16-20260308/gcc/topics/pass-events.h gcc-16-20260315/gcc/topics/pass-events.h
*** gcc-16-20260308/gcc/topics/pass-events.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/gcc/topics/pass-events.h	Sun Mar 15 22:32:15 2026
***************
*** 1,5 ****
  /* pass-events.h - pub/sub messages about GCC optimization passes.
!    Copyright (C) 2025 Free Software Foundation, Inc.
  
  This file is part of GCC.
  
--- 1,5 ----
  /* pass-events.h - pub/sub messages about GCC optimization passes.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
  
  This file is part of GCC.
  
diff -Nrcpad gcc-16-20260308/gcc/tree-diagnostic-cfg.cc gcc-16-20260315/gcc/tree-diagnostic-cfg.cc
*** gcc-16-20260308/gcc/tree-diagnostic-cfg.cc	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/gcc/tree-diagnostic-cfg.cc	Sun Mar 15 22:32:15 2026
***************
*** 1,5 ****
  /* Generating diagnostics graphs from GCC CFGs.
!    Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
--- 1,5 ----
  /* Generating diagnostics graphs from GCC CFGs.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by David Malcolm <dmalcolm@redhat.com>.
  
  This file is part of GCC.
diff -Nrcpad gcc-16-20260308/gcc/tree-diagnostic-sink-extensions.h gcc-16-20260315/gcc/tree-diagnostic-sink-extensions.h
*** gcc-16-20260308/gcc/tree-diagnostic-sink-extensions.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/gcc/tree-diagnostic-sink-extensions.h	Sun Mar 15 22:32:15 2026
***************
*** 1,5 ****
  /* Compiler-specific implementation of GCC extensions to diagnostic output.
!    Copyright (C) 2025 Free Software Foundation, Inc.
  
  This file is part of GCC.
  
--- 1,5 ----
  /* Compiler-specific implementation of GCC extensions to diagnostic output.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
  
  This file is part of GCC.
  
diff -Nrcpad gcc-16-20260308/gcc/tree-profile.cc gcc-16-20260315/gcc/tree-profile.cc
*** gcc-16-20260308/gcc/tree-profile.cc	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/gcc/tree-profile.cc	Sun Mar 15 22:32:15 2026
*************** namespace
*** 164,193 ****
     wasted memory.  */
  struct conds_ctx
  {
!     /* This is both a reusable shared allocation which is also used to return
!        single expressions, which means it for most code should only hold a
!        couple of elements.  */
!     auto_vec<basic_block, 64> blocks;
  
!     /* Index for the topological order indexed by basic_block->index to an
!        ordering so that expression (a || b && c) => top_index[a] < top_index[b]
!        < top_index[c].  */
!     auto_vec<int, 256> top_index;
  
!     /* Pre-allocate bitmaps and vectors for per-function book keeping.  This is
!        pure instance reuse and the bitmaps carry no data between function
!        calls.  */
!     auto_vec<basic_block, 64> B1;
!     auto_vec<basic_block, 64> B2;
!     auto_sbitmap G1;
!     auto_sbitmap G2;
!     auto_sbitmap G3;
!     auto_vec<edge, 64> edges;
  
!     explicit conds_ctx (unsigned size) noexcept (true) : G1 (size), G2 (size),
!     G3 (size)
!     {
!     }
  };
  
  /* Only instrument terms with fewer than number of bits in a (wide) gcov
--- 164,193 ----
     wasted memory.  */
  struct conds_ctx
  {
!   /* This is both a reusable shared allocation which is also used to return
!      single expressions, which means it for most code should only hold a
!      couple of elements.  */
!   auto_vec<basic_block, 64> blocks;
  
!   /* Index for the topological order indexed by basic_block->index to an
!      ordering so that expression (a || b && c) => top_index[a] < top_index[b]
!      < top_index[c].  */
!   auto_vec<int, 256> top_index;
  
!   /* Pre-allocate bitmaps and vectors for per-function book keeping.  This is
!      pure instance reuse and the bitmaps carry no data between function
!      calls.  */
!   auto_vec<basic_block, 64> b1;
!   auto_vec<basic_block, 64> b2;
!   auto_sbitmap g1;
!   auto_sbitmap g2;
!   auto_sbitmap g3;
!   auto_vec<edge, 64> edges;
  
!   explicit conds_ctx (unsigned size) noexcept (true) : g1 (size), g2 (size),
!   g3 (size)
!   {
!   }
  };
  
  /* Only instrument terms with fewer than number of bits in a (wide) gcov
*************** struct conds_ctx
*** 212,221 ****
  int
  topological_cmp (const void *lhs, const void *rhs, void *top_index)
  {
!     const_basic_block l = *(const basic_block*) lhs;
!     const_basic_block r = *(const basic_block*) rhs;
!     const vec<int>* im = (const vec<int>*) top_index;
!     return (*im)[l->index] - (*im)[r->index];
  }
  
  /* topological_cmp of the src block of LHS and RHS.  The TOP_INDEX argument
--- 212,221 ----
  int
  topological_cmp (const void *lhs, const void *rhs, void *top_index)
  {
!   const_basic_block l = *(const basic_block *) lhs;
!   const_basic_block r = *(const basic_block *) rhs;
!   const vec<int> *im = (const vec<int> *) top_index;
!   return (*im)[l->index] - (*im)[r->index];
  }
  
  /* topological_cmp of the src block of LHS and RHS.  The TOP_INDEX argument
*************** topological_cmp (const void *lhs, const
*** 223,231 ****
  int
  topological_src_cmp (const void *lhs, const void *rhs, void *top_index)
  {
!     const_edge l = *(const edge*) lhs;
!     const_edge r = *(const edge*) rhs;
!     return topological_cmp (&l->src, &r->src, top_index);
  }
  
  /* Find the index of NEEDLE in BLOCKS; return -1 if not found.  This has two
--- 223,231 ----
  int
  topological_src_cmp (const void *lhs, const void *rhs, void *top_index)
  {
!   const_edge l = *(const edge *) lhs;
!   const_edge r = *(const edge *) rhs;
!   return topological_cmp (&l->src, &r->src, top_index);
  }
  
  /* Find the index of NEEDLE in BLOCKS; return -1 if not found.  This has two
*************** topological_src_cmp (const void *lhs, co
*** 235,244 ****
  int
  index_of (const basic_block needle, array_slice<basic_block> blocks)
  {
!     for (size_t i = 0; i < blocks.size (); i++)
! 	if (blocks[i] == needle)
! 	    return int (i);
!     return -1;
  }
  
  /* Special cases of the single_*_p and single_*_edge functions in basic-block.h
--- 235,244 ----
  int
  index_of (const basic_block needle, array_slice<basic_block> blocks)
  {
!   for (size_t i = 0; i < blocks.size (); i++)
!     if (blocks[i] == needle)
!       return int (i);
!   return -1;
  }
  
  /* Special cases of the single_*_p and single_*_edge functions in basic-block.h
*************** index_of (const basic_block needle, arra
*** 249,263 ****
  bool
  single_p (const vec<edge, va_gc> *edges)
  {
!     int n = EDGE_COUNT (edges);
!     if (n == 0)
! 	return false;
  
!     for (edge e : edges)
! 	if (e->flags & EDGE_COMPLEX)
! 	    n -= 1;
  
!     return n == 1;
  }
  
  /* Get the single, non-complex edge.  Behavior is undefined edges have more
--- 249,263 ----
  bool
  single_p (const vec<edge, va_gc> *edges)
  {
!   int n = EDGE_COUNT (edges);
!   if (n == 0)
!     return false;
  
!   for (edge e : edges)
!     if (e->flags & EDGE_COMPLEX)
!       n -= 1;
  
!   return n == 1;
  }
  
  /* Get the single, non-complex edge.  Behavior is undefined edges have more
*************** single_p (const vec<edge, va_gc> *edges)
*** 265,278 ****
  edge
  single_edge (const vec<edge, va_gc> *edges)
  {
!     gcc_checking_assert (single_p (edges));
!     for (edge e : edges)
      {
! 	if (e->flags & EDGE_COMPLEX)
! 	    continue;
! 	return e;
      }
!     return NULL;
  }
  
  /* Sometimes, for example with function calls, goto labels, and C++
--- 265,278 ----
  edge
  single_edge (const vec<edge, va_gc> *edges)
  {
!   gcc_checking_assert (single_p (edges));
!   for (edge e : edges)
      {
!       if (e->flags & EDGE_COMPLEX)
! 	continue;
!       return e;
      }
!   return NULL;
  }
  
  /* Sometimes, for example with function calls, goto labels, and C++
*************** single_edge (const vec<edge, va_gc> *edg
*** 305,318 ****
  edge
  contract_edge_up (edge e)
  {
!     while (true)
      {
! 	basic_block src = e->src;
! 	if (!single_p (src->preds))
! 	    return e;
! 	if (!single_p (src->succs))
! 	    return e;
! 	e = single_edge (src->preds);
      }
  }
  
--- 305,318 ----
  edge
  contract_edge_up (edge e)
  {
!   while (true)
      {
!       basic_block src = e->src;
!       if (!single_p (src->preds))
! 	return e;
!       if (!single_p (src->succs))
! 	return e;
!       e = single_edge (src->preds);
      }
  }
  
*************** contract_edge_up (edge e)
*** 320,332 ****
     blocks are set or both are NULL.  */
  struct outcomes
  {
!     basic_block t = NULL;
!     basic_block f = NULL;
  
!     operator bool () const noexcept (true)
!     {
! 	return t && f;
!     }
  };
  
  /* Get the true/false successors of a basic block.  If b is not a conditional
--- 320,332 ----
     blocks are set or both are NULL.  */
  struct outcomes
  {
!   basic_block t = NULL;
!   basic_block f = NULL;
  
!   operator bool () const noexcept (true)
!   {
!     return t && f;
!   }
  };
  
  /* Get the true/false successors of a basic block.  If b is not a conditional
*************** struct outcomes
*** 334,350 ****
  outcomes
  conditional_succs (const basic_block b)
  {
!     outcomes c;
!     for (edge e : b->succs)
      {
! 	if (e->flags & EDGE_TRUE_VALUE)
! 	    c.t = e->dest;
! 	if (e->flags & EDGE_FALSE_VALUE)
! 	    c.f = e->dest;
      }
  
!     gcc_assert ((c.t && c.f) || (!c.t && !c.f));
!     return c;
  }
  
  /* Get the index or offset of a conditional flag, 0 for true and 1 for false.
--- 334,350 ----
  outcomes
  conditional_succs (const basic_block b)
  {
!   outcomes c;
!   for (edge e : b->succs)
      {
!       if (e->flags & EDGE_TRUE_VALUE)
! 	c.t = e->dest;
!       if (e->flags & EDGE_FALSE_VALUE)
! 	c.f = e->dest;
      }
  
!   gcc_assert ((c.t && c.f) || (!c.t && !c.f));
!   return c;
  }
  
  /* Get the index or offset of a conditional flag, 0 for true and 1 for false.
*************** conditional_succs (const basic_block b)
*** 353,359 ****
  unsigned
  condition_index (unsigned flag)
  {
!     return (flag & EDGE_CONDITION) == EDGE_TRUE_VALUE ? 0 : 1;
  }
  
  /* Returns the condition identifier for the basic block if set, otherwise 0.
--- 353,359 ----
  unsigned
  condition_index (unsigned flag)
  {
!   return (flag & EDGE_CONDITION) == EDGE_TRUE_VALUE ? 0 : 1;
  }
  
  /* Returns the condition identifier for the basic block if set, otherwise 0.
*************** condition_index (unsigned flag)
*** 379,390 ****
  unsigned
  condition_uid (struct function *fn, basic_block b)
  {
!     gimple *stmt = gsi_stmt (gsi_last_bb (b));
!     if (!safe_is_a <gcond*> (stmt) || !fn->cond_uids)
! 	return 0;
  
!     unsigned *v = fn->cond_uids->get (as_a <gcond*> (stmt));
!     return v ? *v : 0;
  }
  
  /* Compute the masking table.
--- 379,390 ----
  unsigned
  condition_uid (struct function *fn, basic_block b)
  {
!   gimple *stmt = gsi_stmt (gsi_last_bb (b));
!   if (!safe_is_a <gcond *> (stmt) || !fn->cond_uids)
!     return 0;
  
!   unsigned *v = fn->cond_uids->get (as_a <gcond *> (stmt));
!   return v ? *v : 0;
  }
  
  /* Compute the masking table.
*************** void
*** 473,608 ****
  masking_vectors (conds_ctx& ctx, array_slice<basic_block> blocks,
  		 array_slice<sbitmap> maps, array_slice<uint64_t> masks)
  {
!     gcc_assert (blocks.is_valid ());
!     gcc_assert (!blocks.empty ());
!     gcc_assert (maps.is_valid ());
!     gcc_assert (masks.is_valid ());
!     gcc_assert (sizeof (masks[0]) * BITS_PER_UNIT >= CONDITIONS_MAX_TERMS);
  
!     if (bitmap_count_bits (maps[0]) == 1)
! 	return;
  
!     sbitmap marks = ctx.G1;
!     const sbitmap core = maps[0];
!     const sbitmap allg = maps[1];
!     vec<basic_block>& queue = ctx.B1;
!     vec<basic_block>& body = ctx.B2;
!     const vec<int>& top_index = ctx.top_index;
  
!     /* Set up for the iteration - include the outcome nodes in the traversal.
!        The algorithm compares pairs of nodes and is not really sensitive to
!        traversal order, but need to maintain topological order because the
!        index of masking nodes maps to the index in the accumulators.  We must
!        also check the incoming-to-outcome pairs.  These edges may in turn be
!        split (this happens with labels on top of then/else blocks) so we must
!        follow any single-in single-out path.  The non-condition blocks do not
!        have to be in order as they are non-condition blocks and will not be
!        considered for the set-bit index.  */
!     body.truncate (0);
!     body.reserve (blocks.size () + 2);
!     for (const basic_block b : blocks)
! 	if (bitmap_bit_p (core, b->index))
! 	    body.quick_push (b);
  
!     for (basic_block b : blocks)
      {
! 	if (!bitmap_bit_p (core, b->index))
! 	    continue;
  
! 	for (edge e : b->succs)
  	{
! 	    if (e->flags & EDGE_COMPLEX)
! 		continue;
! 	    if (bitmap_bit_p (allg, e->dest->index))
! 		continue;
! 	    body.safe_push (e->dest);
  
! 	    /* There may be multiple nodes between the condition edge and the
! 	       actual outcome, and we need to know when these paths join to
! 	       determine if there is short circuit/masking.  This is
! 	       effectively creating a virtual edge from the condition node to
! 	       the real outcome.  */
! 	    while (!(e->flags & EDGE_DFS_BACK) && single_p (e->dest->succs))
  	    {
! 		e = single_edge (e->dest->succs);
! 		body.safe_push (e->dest);
  	    }
  	}
      }
  
!     /* Find the masking.  The leftmost element cannot mask anything, so
!        start at 1.  */
!     for (size_t i = 1; i != body.length (); i++)
      {
! 	const basic_block b = body[i];
! 	if (b->preds->length () < 2)
! 	  continue;
! 	ctx.edges.truncate (0);
! 	ctx.edges.reserve (b->preds->length ());
! 	for (edge e : b->preds)
! 	  if (!(e->flags & EDGE_COMPLEX))
! 	    ctx.edges.quick_push (contract_edge_up (e));
! 	ctx.edges.sort (topological_src_cmp, &ctx.top_index);
  
! 	for (size_t i0 = 0, i1 = 1; i1 != ctx.edges.length (); ++i0, ++i1)
  	{
! 	    edge etop = ctx.edges[i0];
! 	    edge ebot = ctx.edges[i1];
! 	    gcc_assert (etop != ebot);
  
! 	    const basic_block top = etop->src;
! 	    const basic_block bot = ebot->src;
! 	    const unsigned cond = etop->flags & ebot->flags & EDGE_CONDITION;
! 	    if (!cond)
! 		continue;
! 	    if (top_index[top->index] > top_index[bot->index])
  		continue;
! 	    if (!bitmap_bit_p (core, top->index))
  		continue;
! 	    if (!bitmap_bit_p (core, bot->index))
  		continue;
  
! 	    outcomes out = conditional_succs (top);
! 	    gcc_assert (out);
! 	    bitmap_clear (marks);
! 	    bitmap_set_bit (marks, out.t->index);
! 	    bitmap_set_bit (marks, out.f->index);
! 	    queue.truncate (0);
! 	    queue.safe_push (top);
  
! 	    // The edge bot -> outcome triggers the masking
! 	    const int m = 2*index_of (bot, body) + condition_index (cond);
! 	    gcc_assert (m >= 0);
! 	    while (!queue.is_empty ())
! 	    {
! 		basic_block q = queue.pop ();
! 		/* q may have been processed & completed by being added to the
! 		   queue multiple times, so check that there is still work to
! 		   do before continuing.  */
! 		if (bitmap_bit_p (marks, q->index))
  		    continue;
! 
! 		outcomes succs = conditional_succs (q);
! 		if (!bitmap_bit_p (marks, succs.t->index))
  		    continue;
! 		if (!bitmap_bit_p (marks, succs.f->index))
  		    continue;
! 
! 		const int index = index_of (q, body);
! 		gcc_assert (index != -1);
! 		masks[m] |= uint64_t (1) << index;
! 		bitmap_set_bit (marks, q->index);
! 
! 		for (edge e : q->preds)
! 		{
! 		    e = contract_edge_up (e);
! 		    if (e->flags & EDGE_DFS_BACK)
! 			continue;
! 		    if (bitmap_bit_p (marks, e->src->index))
! 			continue;
! 		    if (!bitmap_bit_p (core, e->src->index))
! 			continue;
! 		    queue.safe_push (e->src);
  		}
  	    }
  	}
--- 473,610 ----
  masking_vectors (conds_ctx& ctx, array_slice<basic_block> blocks,
  		 array_slice<sbitmap> maps, array_slice<uint64_t> masks)
  {
!   gcc_assert (blocks.is_valid ());
!   gcc_assert (!blocks.empty ());
!   gcc_assert (maps.is_valid ());
!   gcc_assert (masks.is_valid ());
!   gcc_assert (sizeof (masks[0]) * BITS_PER_UNIT >= CONDITIONS_MAX_TERMS);
  
!   if (bitmap_count_bits (maps[0]) == 1)
!     return;
  
!   sbitmap marks = ctx.g1;
!   const sbitmap core = maps[0];
!   const sbitmap allg = maps[1];
!   vec<basic_block> &queue = ctx.b1;
!   vec<basic_block> &body = ctx.b2;
!   const vec<int> &top_index = ctx.top_index;
  
!   /* Set up for the iteration - include the outcome nodes in the traversal.
!      The algorithm compares pairs of nodes and is not really sensitive to
!      traversal order, but need to maintain topological order because the
!      index of masking nodes maps to the index in the accumulators.  We must
!      also check the incoming-to-outcome pairs.  These edges may in turn be
!      split (this happens with labels on top of then/else blocks) so we must
!      follow any single-in single-out path.  The non-condition blocks do not
!      have to be in order as they are non-condition blocks and will not be
!      considered for the set-bit index.  */
!   body.truncate (0);
!   body.reserve (blocks.size () + 2);
!   for (const basic_block b : blocks)
!     if (bitmap_bit_p (core, b->index))
!       body.quick_push (b);
  
!   for (basic_block b : blocks)
      {
!       if (!bitmap_bit_p (core, b->index))
! 	continue;
  
!       for (edge e : b->succs)
  	{
! 	  if (e->flags & EDGE_COMPLEX)
! 	    continue;
! 	  if (bitmap_bit_p (allg, e->dest->index))
! 	    continue;
! 	  body.safe_push (e->dest);
  
! 	  /* There may be multiple nodes between the condition edge and the
! 	     actual outcome, and we need to know when these paths join to
! 	     determine if there is short circuit/masking.  This is
! 	     effectively creating a virtual edge from the condition node to
! 	     the real outcome.  */
! 	  while (!(e->flags & EDGE_DFS_BACK) && single_p (e->dest->succs))
  	    {
! 	      e = single_edge (e->dest->succs);
! 	      body.safe_push (e->dest);
  	    }
  	}
      }
  
!   /* Find the masking.  The leftmost element cannot mask anything, so
!      start at 1.  */
!   for (size_t i = 1; i != body.length (); i++)
      {
!       const basic_block b = body[i];
!       if (b->preds->length () < 2)
! 	continue;
!       ctx.edges.truncate (0);
!       ctx.edges.reserve (b->preds->length ());
!       for (edge e : b->preds)
! 	if (!(e->flags & EDGE_COMPLEX))
! 	  ctx.edges.quick_push (contract_edge_up (e));
!       if (ctx.edges.length () < 2)
! 	continue;
!       ctx.edges.sort (topological_src_cmp, &ctx.top_index);
  
!       for (size_t i0 = 0, i1 = 1; i1 != ctx.edges.length (); ++i0, ++i1)
  	{
! 	  edge etop = ctx.edges[i0];
! 	  edge ebot = ctx.edges[i1];
! 	  gcc_assert (etop != ebot);
  
! 	  const basic_block top = etop->src;
! 	  const basic_block bot = ebot->src;
! 	  const unsigned cond = etop->flags & ebot->flags & EDGE_CONDITION;
! 	  if (!cond)
! 	    continue;
! 	  if (top_index[top->index] > top_index[bot->index])
! 	    continue;
! 	  if (!bitmap_bit_p (core, top->index))
! 	    continue;
! 	  if (!bitmap_bit_p (core, bot->index))
! 	    continue;
! 
! 	  outcomes out = conditional_succs (top);
! 	  gcc_assert (out);
! 	  bitmap_clear (marks);
! 	  bitmap_set_bit (marks, out.t->index);
! 	  bitmap_set_bit (marks, out.f->index);
! 	  queue.truncate (0);
! 	  queue.safe_push (top);
! 
! 	  // The edge bot -> outcome triggers the masking
! 	  const int m = 2 * index_of (bot, body) + condition_index (cond);
! 	  gcc_assert (m >= 0);
! 	  while (!queue.is_empty ())
! 	    {
! 	      basic_block q = queue.pop ();
! 	      /* q may have been processed & completed by being added to the
! 		 queue multiple times, so check that there is still work to
! 		 do before continuing.  */
! 	      if (bitmap_bit_p (marks, q->index))
  		continue;
! 
! 	      outcomes succs = conditional_succs (q);
! 	      if (!bitmap_bit_p (marks, succs.t->index))
  		continue;
! 	      if (!bitmap_bit_p (marks, succs.f->index))
  		continue;
  
! 	      const int index = index_of (q, body);
! 	      gcc_assert (index != -1);
! 	      masks[m] |= uint64_t (1) << index;
! 	      bitmap_set_bit (marks, q->index);
  
! 	      for (edge e : q->preds)
! 		{
! 		  e = contract_edge_up (e);
! 		  if (e->flags & EDGE_DFS_BACK)
  		    continue;
! 		  if (bitmap_bit_p (marks, e->src->index))
  		    continue;
! 		  if (!bitmap_bit_p (core, e->src->index))
  		    continue;
! 		  queue.safe_push (e->src);
  		}
  	    }
  	}
*************** masking_vectors (conds_ctx& ctx, array_s
*** 615,670 ****
  tree
  emit_assign (edge e, tree lhs, tree rhs)
  {
!     gassign *w = gimple_build_assign (lhs, rhs);
!     gsi_insert_on_edge (e, w);
!     return lhs;
  }
  
  /* Emit lhs = RHS on edges.  The lhs is created.  */
  tree
  emit_assign (edge e, tree rhs)
  {
!     return emit_assign (e, make_ssa_name (gcov_type_node), rhs);
  }
  
  /* Emit LHS = OP1 <OP> OP2 on edges.  */
  tree
  emit_bitwise_op (edge e, tree op1, tree_code op, tree op2 = NULL_TREE)
  {
!     tree lhs = make_ssa_name (gcov_type_node);
!     gassign *w = gimple_build_assign (lhs, op, op1, op2);
!     gsi_insert_on_edge (e, w);
!     return lhs;
  }
  
  /* Visitor for make_top_index.  */
  void
! make_top_index_visit (basic_block b, vec<basic_block>& L, vec<int>& marks)
  {
!     if (marks[b->index])
! 	return;
  
!     /* Follow the false edge first, if it exists, so that true paths are given
!        the lower index in the ordering.  Any iteration order
!        would yield a valid and useful topological ordering, but making sure the
!        true branch has the lower index first makes reporting work better for
!        expressions with ternaries.  Walk the false branch first because the
!        array will be reversed to finalize the topological order.
  
!        With the wrong ordering (a ? b : c) && d could become [a c b d], but the
!        (expected) order is really [a b c d].  */
  
!     const unsigned false_fwd = EDGE_DFS_BACK | EDGE_FALSE_VALUE;
!     for (edge e : b->succs)
! 	if ((e->flags & false_fwd) == EDGE_FALSE_VALUE)
! 	    make_top_index_visit (e->dest, L, marks);
  
!     for (edge e : b->succs)
! 	if (!(e->flags & false_fwd))
! 	    make_top_index_visit (e->dest, L, marks);
  
!     marks[b->index] = 1;
!     L.quick_push (b);
  }
  
  /* Find a topological sorting of the blocks in a function so that left operands
--- 617,672 ----
  tree
  emit_assign (edge e, tree lhs, tree rhs)
  {
!   gassign *w = gimple_build_assign (lhs, rhs);
!   gsi_insert_on_edge (e, w);
!   return lhs;
  }
  
  /* Emit lhs = RHS on edges.  The lhs is created.  */
  tree
  emit_assign (edge e, tree rhs)
  {
!   return emit_assign (e, make_ssa_name (gcov_type_node), rhs);
  }
  
  /* Emit LHS = OP1 <OP> OP2 on edges.  */
  tree
  emit_bitwise_op (edge e, tree op1, tree_code op, tree op2 = NULL_TREE)
  {
!   tree lhs = make_ssa_name (gcov_type_node);
!   gassign *w = gimple_build_assign (lhs, op, op1, op2);
!   gsi_insert_on_edge (e, w);
!   return lhs;
  }
  
  /* Visitor for make_top_index.  */
  void
! make_top_index_visit (basic_block b, vec<basic_block> &l, vec<int> &marks)
  {
!   if (marks[b->index])
!     return;
  
!   /* Follow the false edge first, if it exists, so that true paths are given
!      the lower index in the ordering.  Any iteration order
!      would yield a valid and useful topological ordering, but making sure the
!      true branch has the lower index first makes reporting work better for
!      expressions with ternaries.  Walk the false branch first because the
!      array will be reversed to finalize the topological order.
  
!      With the wrong ordering (a ? b : c) && d could become [a c b d], but the
!      (expected) order is really [a b c d].  */
  
!   const unsigned false_fwd = EDGE_DFS_BACK | EDGE_FALSE_VALUE;
!   for (edge e : b->succs)
!     if ((e->flags & false_fwd) == EDGE_FALSE_VALUE)
!       make_top_index_visit (e->dest, l, marks);
  
!   for (edge e : b->succs)
!     if (!(e->flags & false_fwd))
!       make_top_index_visit (e->dest, l, marks);
  
!   marks[b->index] = 1;
!   l.quick_push (b);
  }
  
  /* Find a topological sorting of the blocks in a function so that left operands
*************** make_top_index_visit (basic_block b, vec
*** 677,708 ****
  
     For the expression (a || (b && c) || d) the blocks should be [a b c d].  */
  void
! make_top_index (array_slice<basic_block> blocks, vec<basic_block>& L,
! 		vec<int>& top_index)
  {
!     L.truncate (0);
!     L.reserve (blocks.size ());
  
!     /* Use of the output map as a temporary for tracking visited status.  */
!     top_index.truncate (0);
!     top_index.safe_grow_cleared (blocks.size ());
!     for (const basic_block b : blocks)
! 	make_top_index_visit (b, L, top_index);
  
!     /* Insert canaries - if there are unreachable nodes (for example infinite
!        loops) then the unreachable nodes should never be needed for comparison,
!        and L.length () < max_index.  An index mapping should also never be
!        recorded twice.  */
!     for (unsigned i = 0; i != top_index.length (); i++)
! 	top_index[i] = -1;
  
!     gcc_assert (blocks.size () == L.length ());
!     L.reverse ();
!     const unsigned nblocks = L.length ();
!     for (unsigned i = 0; i != nblocks; i++)
      {
! 	gcc_assert (L[i]->index != -1);
! 	top_index[L[i]->index] = int (i);
      }
  }
  
--- 679,710 ----
  
     For the expression (a || (b && c) || d) the blocks should be [a b c d].  */
  void
! make_top_index (array_slice<basic_block> blocks, vec<basic_block> &l,
! 		vec<int> &top_index)
  {
!   l.truncate (0);
!   l.reserve (blocks.size ());
  
!   /* Use of the output map as a temporary for tracking visited status.  */
!   top_index.truncate (0);
!   top_index.safe_grow_cleared (blocks.size ());
!   for (const basic_block b : blocks)
!     make_top_index_visit (b, l, top_index);
  
!   /* Insert canaries - if there are unreachable nodes (for example infinite
!      loops) then the unreachable nodes should never be needed for comparison,
!      and l.length () < max_index.  An index mapping should also never be
!      recorded twice.  */
!   for (unsigned i = 0; i != top_index.length (); i++)
!     top_index[i] = -1;
  
!   gcc_assert (blocks.size () == l.length ());
!   l.reverse ();
!   const unsigned nblocks = l.length ();
!   for (unsigned i = 0; i != nblocks; i++)
      {
!       gcc_assert (l[i]->index != -1);
!       top_index[l[i]->index] = int (i);
      }
  }
  
*************** make_top_index (array_slice<basic_block>
*** 720,789 ****
  
     It is assumed GRAPH is an array_slice of the basic blocks of this function
     sorted by the basic block index.  */
! vec<basic_block>&
  paths_between (conds_ctx &ctx, array_slice<basic_block> graph,
! 	       const vec<basic_block>& expr)
  {
!     if (expr.length () == 1)
      {
! 	ctx.blocks.truncate (0);
! 	ctx.blocks.safe_push (expr[0]);
! 	return ctx.blocks;
      }
  
!     basic_block dom;
!     sbitmap up = ctx.G1;
!     sbitmap down = ctx.G2;
!     sbitmap paths = ctx.G3;
!     vec<basic_block>& queue = ctx.B1;
  
!     queue.truncate (0);
!     bitmap_clear (down);
!     dom = get_immediate_dominator (CDI_POST_DOMINATORS, expr[0]);
!     for (basic_block b : expr)
! 	if (dom != b)
! 	    dom = nearest_common_dominator (CDI_POST_DOMINATORS, dom, b);
!     queue.safe_splice (expr);
!     while (!queue.is_empty ())
      {
! 	basic_block b = queue.pop ();
! 	if (!bitmap_set_bit (down, b->index))
! 	    continue;
! 	if (b == dom)
! 	    continue;
! 	for (edge e : b->succs)
! 	    if (!(e->flags & (EDGE_COMPLEX | EDGE_DFS_BACK)))
! 		queue.safe_push (e->dest);
      }
  
!     queue.truncate (0);
!     bitmap_clear (up);
!     dom = expr[0];
!     for (basic_block b : expr)
! 	if (dom != b)
! 	    dom = nearest_common_dominator (CDI_DOMINATORS, dom, b);
!     queue.safe_splice (expr);
!     while (!queue.is_empty ())
      {
! 	basic_block b = queue.pop ();
! 	if (!bitmap_set_bit (up, b->index))
! 	    continue;
! 	if (b == dom)
! 	    continue;
! 	for (edge e : b->preds)
! 	    if (!(e->flags & (EDGE_COMPLEX | EDGE_DFS_BACK)))
! 		queue.safe_push (e->src);
      }
  
!     bitmap_and (paths, up, down);
!     vec<basic_block>& blocks = ctx.blocks;
!     blocks.truncate (0);
!     blocks.reserve (graph.size ());
!     sbitmap_iterator itr;
!     unsigned index;
!     EXECUTE_IF_SET_IN_BITMAP (paths, 0, index, itr)
! 	blocks.quick_push (graph[index]);
!     return blocks;
  }
  
  }
--- 722,791 ----
  
     It is assumed GRAPH is an array_slice of the basic blocks of this function
     sorted by the basic block index.  */
! vec<basic_block> &
  paths_between (conds_ctx &ctx, array_slice<basic_block> graph,
! 	       const vec<basic_block> &expr)
  {
!   if (expr.length () == 1)
      {
!       ctx.blocks.truncate (0);
!       ctx.blocks.safe_push (expr[0]);
!       return ctx.blocks;
      }
  
!   basic_block dom;
!   sbitmap up = ctx.g1;
!   sbitmap down = ctx.g2;
!   sbitmap paths = ctx.g3;
!   vec<basic_block> &queue = ctx.b1;
  
!   queue.truncate (0);
!   bitmap_clear (down);
!   dom = get_immediate_dominator (CDI_POST_DOMINATORS, expr[0]);
!   for (basic_block b : expr)
!     if (dom != b)
!       dom = nearest_common_dominator (CDI_POST_DOMINATORS, dom, b);
!   queue.safe_splice (expr);
!   while (!queue.is_empty ())
      {
!       basic_block b = queue.pop ();
!       if (!bitmap_set_bit (down, b->index))
! 	continue;
!       if (b == dom)
! 	continue;
!       for (edge e : b->succs)
! 	if (!(e->flags & (EDGE_COMPLEX | EDGE_DFS_BACK)))
! 	  queue.safe_push (e->dest);
      }
  
!   queue.truncate (0);
!   bitmap_clear (up);
!   dom = expr[0];
!   for (basic_block b : expr)
!     if (dom != b)
!       dom = nearest_common_dominator (CDI_DOMINATORS, dom, b);
!   queue.safe_splice (expr);
!   while (!queue.is_empty ())
      {
!       basic_block b = queue.pop ();
!       if (!bitmap_set_bit (up, b->index))
! 	continue;
!       if (b == dom)
! 	continue;
!       for (edge e : b->preds)
! 	if (!(e->flags & (EDGE_COMPLEX | EDGE_DFS_BACK)))
! 	  queue.safe_push (e->src);
      }
  
!   bitmap_and (paths, up, down);
!   vec<basic_block> &blocks = ctx.blocks;
!   blocks.truncate (0);
!   blocks.reserve (graph.size ());
!   sbitmap_iterator itr;
!   unsigned index;
!   EXECUTE_IF_SET_IN_BITMAP (paths, 0, index, itr)
!     blocks.quick_push (graph[index]);
!   return blocks;
  }
  
  }
*************** paths_between (conds_ctx &ctx, array_sli
*** 794,863 ****
     avoid having to reallocate for most programs.  */
  struct condcov
  {
!     explicit condcov (unsigned nblocks) noexcept (true) : ctx (nblocks),
!     m_maps (sbitmap_vector_alloc (2 * nblocks, nblocks))
!     {
! 	bitmap_vector_clear (m_maps, 2 * nblocks);
!     }
!     auto_vec<size_t, 128> m_index;
!     auto_vec<basic_block, 256> m_blocks;
!     auto_vec<uint64_t, 512> m_masks;
!     conds_ctx ctx;
!     sbitmap *m_maps;
  };
  
  /* Get the length, that is the number of Boolean expression found.  cov_length
     is the one-past index for cov_{blocks,masks,maps}.  */
  size_t
! cov_length (const struct condcov* cov)
  {
!     if (cov->m_index.is_empty ())
! 	return 0;
!     return cov->m_index.length () - 1;
  }
  
  /* The subgraph, exluding intermediates, for the nth Boolean expression.  */
  array_slice<basic_block>
! cov_blocks (struct condcov* cov, size_t n)
  {
!     if (n >= cov->m_index.length ())
! 	return array_slice<basic_block>::invalid ();
  
!     basic_block *begin = cov->m_blocks.begin () + cov->m_index[n];
!     basic_block *end = cov->m_blocks.begin () + cov->m_index[n + 1];
!     return array_slice<basic_block> (begin, end - begin);
  }
  
  /* The masks for the nth Boolean expression.  */
  array_slice<uint64_t>
! cov_masks (struct condcov* cov, size_t n)
  {
!     if (n >= cov->m_index.length ())
! 	return array_slice<uint64_t>::invalid ();
  
!     uint64_t *begin = cov->m_masks.begin () + 2*cov->m_index[n];
!     uint64_t *end = cov->m_masks.begin () + 2*cov->m_index[n + 1];
!     return array_slice<uint64_t> (begin, end - begin);
  }
  
  /* The maps for the nth Boolean expression.  */
  array_slice<sbitmap>
! cov_maps (struct condcov* cov, size_t n)
  {
!     if (n >= cov->m_index.length ())
! 	return array_slice<sbitmap>::invalid ();
  
!     sbitmap *begin = cov->m_maps + 2*n;
!     sbitmap *end = begin + 2;
!     return array_slice<sbitmap> (begin, end - begin);
  }
  
  /* Deleter for condcov.  */
  void
! cov_free (struct condcov* cov)
  {
!     sbitmap_vector_free (cov->m_maps);
!     delete cov;
  }
  
  /* Condition coverage (MC/DC)
--- 796,865 ----
     avoid having to reallocate for most programs.  */
  struct condcov
  {
!   explicit condcov (unsigned nblocks) noexcept (true) : ctx (nblocks),
!   m_maps (sbitmap_vector_alloc (2 * nblocks, nblocks))
!   {
!     bitmap_vector_clear (m_maps, 2 * nblocks);
!   }
!   auto_vec<size_t, 128> m_index;
!   auto_vec<basic_block, 256> m_blocks;
!   auto_vec<uint64_t, 512> m_masks;
!   conds_ctx ctx;
!   sbitmap *m_maps;
  };
  
  /* Get the length, that is the number of Boolean expression found.  cov_length
     is the one-past index for cov_{blocks,masks,maps}.  */
  size_t
! cov_length (const struct condcov *cov)
  {
!   if (cov->m_index.is_empty ())
!     return 0;
!   return cov->m_index.length () - 1;
  }
  
  /* The subgraph, exluding intermediates, for the nth Boolean expression.  */
  array_slice<basic_block>
! cov_blocks (struct condcov *cov, size_t n)
  {
!   if (n >= cov->m_index.length ())
!     return array_slice<basic_block>::invalid ();
  
!   basic_block *begin = cov->m_blocks.begin () + cov->m_index[n];
!   basic_block *end = cov->m_blocks.begin () + cov->m_index[n + 1];
!   return array_slice<basic_block> (begin, end - begin);
  }
  
  /* The masks for the nth Boolean expression.  */
  array_slice<uint64_t>
! cov_masks (struct condcov *cov, size_t n)
  {
!   if (n >= cov->m_index.length ())
!     return array_slice<uint64_t>::invalid ();
  
!   uint64_t *begin = cov->m_masks.begin () + 2 * cov->m_index[n];
!   uint64_t *end = cov->m_masks.begin () + 2 * cov->m_index[n + 1];
!   return array_slice<uint64_t> (begin, end - begin);
  }
  
  /* The maps for the nth Boolean expression.  */
  array_slice<sbitmap>
! cov_maps (struct condcov *cov, size_t n)
  {
!   if (n >= cov->m_index.length ())
!     return array_slice<sbitmap>::invalid ();
  
!   sbitmap *begin = cov->m_maps + 2 * n;
!   sbitmap *end = begin + 2;
!   return array_slice<sbitmap> (begin, end - begin);
  }
  
  /* Deleter for condcov.  */
  void
! cov_free (struct condcov *cov)
  {
!   sbitmap_vector_free (cov->m_maps);
!   delete cov;
  }
  
  /* Condition coverage (MC/DC)
*************** cov_free (struct condcov* cov)
*** 881,955 ****
     in the expression.
  
     The returned condcov should be released by the caller with cov_free.  */
! struct condcov*
  find_conditions (struct function *fn)
  {
!     mark_dfs_back_edges (fn);
!     const bool have_dom = dom_info_available_p (fn, CDI_DOMINATORS);
!     const bool have_post_dom = dom_info_available_p (fn, CDI_POST_DOMINATORS);
!     if (!have_dom)
! 	calculate_dominance_info (CDI_DOMINATORS);
!     if (!have_post_dom)
! 	calculate_dominance_info (CDI_POST_DOMINATORS);
  
!     const unsigned nblocks = n_basic_blocks_for_fn (fn);
!     basic_block *fnblocksp = basic_block_info_for_fn (fn)->address ();
!     condcov *cov = new condcov (nblocks);
!     conds_ctx& ctx = cov->ctx;
!     array_slice<basic_block> fnblocks (fnblocksp, nblocks);
!     make_top_index (fnblocks, ctx.B1, ctx.top_index);
  
!     /* Bin the Boolean expressions so that exprs[id] -> [x1, x2, ...].  */
!     hash_map<int_hash<unsigned, 0>, auto_vec<basic_block>> exprs;
!     for (basic_block b : fnblocks)
      {
! 	const unsigned uid = condition_uid (fn, b);
! 	if (uid == 0)
! 	    continue;
! 	exprs.get_or_insert (uid).safe_push (b);
      }
  
!     /* Visit all reachable nodes and collect conditions.  Topological order is
!        important so the first node of a boolean expression is visited first
!        (it will mark subsequent terms).  */
!     cov->m_index.safe_push (0);
!     for (auto expr : exprs)
      {
! 	vec<basic_block>& conds = expr.second;
! 	if (conds.length () > CONDITIONS_MAX_TERMS)
  	{
! 	    location_t loc = gimple_location (gsi_stmt (gsi_last_bb (conds[0])));
! 	    warning_at (loc, OPT_Wcoverage_too_many_conditions,
! 			"Too many conditions (found %u); giving up coverage",
! 			conds.length ());
! 	    continue;
  	}
! 	conds.sort (topological_cmp, &ctx.top_index);
! 	vec<basic_block>& subgraph = paths_between (ctx, fnblocks, conds);
! 	subgraph.sort (topological_cmp, &ctx.top_index);
! 	const unsigned index = cov->m_index.length () - 1;
! 	sbitmap condm = cov->m_maps[0 + 2*index];
! 	sbitmap subgm = cov->m_maps[1 + 2*index];
! 	for (basic_block b : conds)
! 	    bitmap_set_bit (condm, b->index);
! 	for (basic_block b : subgraph)
! 	    bitmap_set_bit (subgm, b->index);
! 	cov->m_blocks.safe_splice (subgraph);
! 	cov->m_index.safe_push (cov->m_blocks.length ());
      }
  
!     if (!have_dom)
! 	free_dominance_info (fn, CDI_DOMINATORS);
!     if (!have_post_dom)
! 	free_dominance_info (fn, CDI_POST_DOMINATORS);
  
!     cov->m_masks.safe_grow_cleared (2 * cov->m_index.last ());
!     const size_t length = cov_length (cov);
!     for (size_t i = 0; i != length; i++)
! 	masking_vectors (ctx, cov_blocks (cov, i), cov_maps (cov, i),
! 			 cov_masks (cov, i));
  
!     return cov;
  }
  
  namespace
--- 883,957 ----
     in the expression.
  
     The returned condcov should be released by the caller with cov_free.  */
! struct condcov *
  find_conditions (struct function *fn)
  {
!   mark_dfs_back_edges (fn);
!   const bool have_dom = dom_info_available_p (fn, CDI_DOMINATORS);
!   const bool have_post_dom = dom_info_available_p (fn, CDI_POST_DOMINATORS);
!   if (!have_dom)
!     calculate_dominance_info (CDI_DOMINATORS);
!   if (!have_post_dom)
!     calculate_dominance_info (CDI_POST_DOMINATORS);
  
!   const unsigned nblocks = n_basic_blocks_for_fn (fn);
!   basic_block *fnblocksp = basic_block_info_for_fn (fn)->address ();
!   condcov *cov = new condcov (nblocks);
!   conds_ctx &ctx = cov->ctx;
!   array_slice<basic_block> fnblocks (fnblocksp, nblocks);
!   make_top_index (fnblocks, ctx.b1, ctx.top_index);
  
!   /* Bin the Boolean expressions so that exprs[id] -> [x1, x2, ...].  */
!   hash_map<int_hash<unsigned, 0>, auto_vec<basic_block>> exprs;
!   for (basic_block b : fnblocks)
      {
!       const unsigned uid = condition_uid (fn, b);
!       if (uid == 0)
! 	continue;
!       exprs.get_or_insert (uid).safe_push (b);
      }
  
!   /* Visit all reachable nodes and collect conditions.  Topological order is
!      important so the first node of a boolean expression is visited first
!      (it will mark subsequent terms).  */
!   cov->m_index.safe_push (0);
!   for (auto expr : exprs)
      {
!       vec<basic_block> &conds = expr.second;
!       if (conds.length () > CONDITIONS_MAX_TERMS)
  	{
! 	  location_t loc = gimple_location (gsi_stmt (gsi_last_bb (conds[0])));
! 	  warning_at (loc, OPT_Wcoverage_too_many_conditions,
! 		      "too many conditions (found %u); giving up coverage",
! 		      conds.length ());
! 	  continue;
  	}
!       conds.sort (topological_cmp, &ctx.top_index);
!       vec<basic_block> &subgraph = paths_between (ctx, fnblocks, conds);
!       subgraph.sort (topological_cmp, &ctx.top_index);
!       const unsigned index = cov->m_index.length () - 1;
!       sbitmap condm = cov->m_maps[0 + 2 * index];
!       sbitmap subgm = cov->m_maps[1 + 2 * index];
!       for (basic_block b : conds)
! 	bitmap_set_bit (condm, b->index);
!       for (basic_block b : subgraph)
! 	bitmap_set_bit (subgm, b->index);
!       cov->m_blocks.safe_splice (subgraph);
!       cov->m_index.safe_push (cov->m_blocks.length ());
      }
  
!   if (!have_dom)
!     free_dominance_info (fn, CDI_DOMINATORS);
!   if (!have_post_dom)
!     free_dominance_info (fn, CDI_POST_DOMINATORS);
  
!   cov->m_masks.safe_grow_cleared (2 * cov->m_index.last ());
!   const size_t length = cov_length (cov);
!   for (size_t i = 0; i != length; i++)
!     masking_vectors (ctx, cov_blocks (cov, i), cov_maps (cov, i),
! 		     cov_masks (cov, i));
  
!   return cov;
  }
  
  namespace
*************** namespace
*** 962,1031 ****
     tend to be identical for the different counters.  */
  struct counters
  {
!     edge e;
!     tree counter[3];
!     tree& operator [] (size_t i) { return counter[i]; }
  };
  
  /* Find the counters for the incoming edge e, or NULL if the edge has not been
     recorded (could be for complex incoming edges).  */
! counters*
! find_counters (vec<counters>& candidates, edge e)
  {
!     for (counters& candidate : candidates)
! 	if (candidate.e == e)
! 	    return &candidate;
!     return NULL;
  }
  
  /* Resolve the SSA for a specific counter KIND.  If it is not modified by any
     incoming edges, simply forward it, otherwise create a phi node of all the
     candidate counters and return it.  */
  tree
! resolve_counter (vec<counters>& cands, size_t kind)
  {
!     gcc_assert (!cands.is_empty ());
!     gcc_assert (kind < 3);
  
!     counters& fst = cands[0];
  
!     if (!fst.e || fst.e->dest->preds->length () == 1)
      {
! 	gcc_assert (cands.length () == 1);
! 	return fst[kind];
      }
  
!     tree zero0 = build_int_cst (gcov_type_node, 0);
!     tree ssa = make_ssa_name (gcov_type_node);
!     gphi *phi = create_phi_node (ssa, fst.e->dest);
!     for (edge e : fst.e->dest->preds)
      {
! 	counters *prev = find_counters (cands, e);
! 	if (prev)
! 	    add_phi_arg (phi, (*prev)[kind], e, UNKNOWN_LOCATION);
! 	else
  	{
! 	    tree zero = make_ssa_name (gcov_type_node);
! 	    gimple_stmt_iterator gsi = gsi_after_labels (e->src);
! 	    gassign *set = gimple_build_assign (zero, zero0);
! 	    gsi_insert_before (&gsi, set, GSI_NEW_STMT);
! 	    add_phi_arg (phi, zero, e, UNKNOWN_LOCATION);
  	}
      }
!     return ssa;
  }
  
  /* Resolve all the counters for a node.  Note that the edge is undefined, as
     the counters are intended to form the base to push to the successors, and
     because the is only meaningful for nodes with a single predecessor.  */
  counters
! resolve_counters (vec<counters>& cands)
  {
!     counters next;
!     next[0] = resolve_counter (cands, 0);
!     next[1] = resolve_counter (cands, 1);
!     next[2] = resolve_counter (cands, 2);
!     return next;
  }
  
  }
--- 964,1033 ----
     tend to be identical for the different counters.  */
  struct counters
  {
!   edge e;
!   tree counter[3];
!   tree &operator[] (size_t i) { return counter[i]; }
  };
  
  /* Find the counters for the incoming edge e, or NULL if the edge has not been
     recorded (could be for complex incoming edges).  */
! counters *
! find_counters (vec<counters> &candidates, edge e)
  {
!   for (counters &candidate : candidates)
!     if (candidate.e == e)
!       return &candidate;
!   return NULL;
  }
  
  /* Resolve the SSA for a specific counter KIND.  If it is not modified by any
     incoming edges, simply forward it, otherwise create a phi node of all the
     candidate counters and return it.  */
  tree
! resolve_counter (vec<counters> &cands, size_t kind)
  {
!   gcc_assert (!cands.is_empty ());
!   gcc_assert (kind < 3);
  
!   counters &fst = cands[0];
  
!   if (!fst.e || fst.e->dest->preds->length () == 1)
      {
!       gcc_assert (cands.length () == 1);
!       return fst[kind];
      }
  
!   tree zero0 = build_int_cst (gcov_type_node, 0);
!   tree ssa = make_ssa_name (gcov_type_node);
!   gphi *phi = create_phi_node (ssa, fst.e->dest);
!   for (edge e : fst.e->dest->preds)
      {
!       counters *prev = find_counters (cands, e);
!       if (prev)
! 	add_phi_arg (phi, (*prev)[kind], e, UNKNOWN_LOCATION);
!       else
  	{
! 	  tree zero = make_ssa_name (gcov_type_node);
! 	  gimple_stmt_iterator gsi = gsi_after_labels (e->src);
! 	  gassign *set = gimple_build_assign (zero, zero0);
! 	  gsi_insert_before (&gsi, set, GSI_NEW_STMT);
! 	  add_phi_arg (phi, zero, e, UNKNOWN_LOCATION);
  	}
      }
!   return ssa;
  }
  
  /* Resolve all the counters for a node.  Note that the edge is undefined, as
     the counters are intended to form the base to push to the successors, and
     because the is only meaningful for nodes with a single predecessor.  */
  counters
! resolve_counters (vec<counters> &cands)
  {
!   counters next;
!   next[0] = resolve_counter (cands, 0);
!   next[1] = resolve_counter (cands, 1);
!   next[2] = resolve_counter (cands, 2);
!   return next;
  }
  
  }
*************** size_t
*** 1065,1197 ****
  instrument_decisions (array_slice<basic_block> expr, size_t condno,
  		      array_slice<sbitmap> maps, array_slice<uint64_t> masks)
  {
!     tree zero = build_int_cst (gcov_type_node, 0);
!     tree poison = build_int_cst (gcov_type_node, ~0ULL);
!     const sbitmap core = maps[0];
!     const sbitmap allg = maps[1];
  
!     hash_map<basic_block, vec<counters>> table;
!     counters zerocounter;
!     zerocounter.e = NULL;
!     zerocounter[0] = zero;
!     zerocounter[1] = zero;
!     zerocounter[2] = zero;
  
!     unsigned xi = 0;
!     bool increment = false;
!     tree rhs = build_int_cst (gcov_type_node, 1ULL << xi);
!     for (basic_block current : expr)
      {
! 	vec<counters>& candidates = table.get_or_insert (current);
! 	if (candidates.is_empty ())
! 	    candidates.safe_push (zerocounter);
! 	counters prev = resolve_counters (candidates);
  
! 	if (increment)
  	{
! 	    xi += 1;
! 	    gcc_checking_assert (xi < sizeof (uint64_t) * BITS_PER_UNIT);
! 	    rhs = build_int_cst (gcov_type_node, 1ULL << xi);
! 	    increment = false;
  	}
  
! 	for (edge e : current->succs)
  	{
! 	    counters next = prev;
! 	    next.e = e;
  
! 	    if (bitmap_bit_p (core, e->src->index) && (e->flags & EDGE_CONDITION))
  	    {
! 		const int k = condition_index (e->flags);
! 		next[k] = emit_bitwise_op (e, prev[k], BIT_IOR_EXPR, rhs);
! 		if (masks[2*xi + k])
  		{
! 		    tree m = build_int_cst (gcov_type_node, masks[2*xi + k]);
! 		    next[2] = emit_bitwise_op (e, prev[2], BIT_IOR_EXPR, m);
  		}
! 		increment = true;
  	    }
! 	    else if (e->flags & EDGE_COMPLEX)
  	    {
! 		/* A complex edge has been taken - wipe the accumulators and
! 		   poison the mask so that this path does not contribute to
! 		   coverage.  */
! 		next[0] = poison;
! 		next[1] = poison;
! 		next[2] = poison;
  	    }
! 	    table.get_or_insert (e->dest).safe_push (next);
  	}
      }
  
!     /* Since this is also the return value, the number of conditions, make sure
!        to include the increment of the last basic block.  */
!     if (increment)
! 	xi += 1;
  
!     gcc_assert (xi == bitmap_count_bits (core));
  
!     const tree relaxed = build_int_cst (integer_type_node, MEMMODEL_RELAXED);
!     const bool atomic = flag_profile_update == PROFILE_UPDATE_ATOMIC;
!     const tree atomic_ior = builtin_decl_explicit
! 	(TYPE_PRECISION (gcov_type_node) > 32
! 	 ? BUILT_IN_ATOMIC_FETCH_OR_8
! 	 : BUILT_IN_ATOMIC_FETCH_OR_4);
  
!     /* Flush to the gcov accumulators.  */
!     for (const basic_block b : expr)
      {
! 	if (!bitmap_bit_p (core, b->index))
! 	    continue;
  
! 	for (edge e : b->succs)
  	{
! 	    /* Flush the accumulators on leaving the Boolean function.  The
! 	       destination may be inside the function only when it returns to
! 	       the loop header, such as do { ... } while (x);  */
! 	    if (bitmap_bit_p (allg, e->dest->index)) {
! 		if (!(e->flags & EDGE_DFS_BACK))
! 		    continue;
! 		if (e->dest != expr[0])
! 		    continue;
  	    }
  
! 	    vec<counters> *cands = table.get (e->dest);
! 	    gcc_assert (cands);
! 	    counters *prevp = find_counters (*cands, e);
! 	    gcc_assert (prevp);
! 	    counters prev = *prevp;
  
! 	    /* _true &= ~mask, _false &= ~mask  */
! 	    counters next;
! 	    next[2] = emit_bitwise_op (e, prev[2], BIT_NOT_EXPR);
! 	    next[0] = emit_bitwise_op (e, prev[0], BIT_AND_EXPR, next[2]);
! 	    next[1] = emit_bitwise_op (e, prev[1], BIT_AND_EXPR, next[2]);
  
! 	    /* _global_true |= _true, _global_false |= _false  */
! 	    for (size_t k = 0; k != 2; ++k)
  	    {
! 		tree ref = tree_coverage_counter_ref (GCOV_COUNTER_CONDS,
! 						      2*condno + k);
! 		if (atomic)
  		{
! 		    ref = unshare_expr (ref);
! 		    gcall *flush = gimple_build_call (atomic_ior, 3,
! 						      build_addr (ref),
! 						      next[k], relaxed);
! 		    gsi_insert_on_edge (e, flush);
  		}
! 		else
  		{
! 		    tree get = emit_assign (e, ref);
! 		    tree put = emit_bitwise_op (e, next[k], BIT_IOR_EXPR, get);
! 		    emit_assign (e, unshare_expr (ref), put);
  		}
  	    }
  	}
      }
  
!     return xi;
  }
  
  #undef CONDITIONS_MAX_TERMS
--- 1067,1200 ----
  instrument_decisions (array_slice<basic_block> expr, size_t condno,
  		      array_slice<sbitmap> maps, array_slice<uint64_t> masks)
  {
!   tree zero = build_int_cst (gcov_type_node, 0);
!   tree poison = build_int_cst (gcov_type_node, ~0ULL);
!   const sbitmap core = maps[0];
!   const sbitmap allg = maps[1];
  
!   hash_map<basic_block, vec<counters>> table;
!   counters zerocounter;
!   zerocounter.e = NULL;
!   zerocounter[0] = zero;
!   zerocounter[1] = zero;
!   zerocounter[2] = zero;
  
!   unsigned xi = 0;
!   bool increment = false;
!   tree rhs = build_int_cst (gcov_type_node, 1ULL << xi);
!   for (basic_block current : expr)
      {
!       vec<counters> &candidates = table.get_or_insert (current);
!       if (candidates.is_empty ())
! 	candidates.safe_push (zerocounter);
!       counters prev = resolve_counters (candidates);
  
!       if (increment)
  	{
! 	  xi += 1;
! 	  gcc_checking_assert (xi < sizeof (uint64_t) * BITS_PER_UNIT);
! 	  rhs = build_int_cst (gcov_type_node, 1ULL << xi);
! 	  increment = false;
  	}
  
!       for (edge e : current->succs)
  	{
! 	  counters next = prev;
! 	  next.e = e;
  
! 	  if (bitmap_bit_p (core, e->src->index) && (e->flags & EDGE_CONDITION))
  	    {
! 	      const int k = condition_index (e->flags);
! 	      next[k] = emit_bitwise_op (e, prev[k], BIT_IOR_EXPR, rhs);
! 	      if (masks[2 * xi + k])
  		{
! 		  tree m = build_int_cst (gcov_type_node, masks[2 * xi + k]);
! 		  next[2] = emit_bitwise_op (e, prev[2], BIT_IOR_EXPR, m);
  		}
! 	      increment = true;
  	    }
! 	  else if (e->flags & EDGE_COMPLEX)
  	    {
! 	      /* A complex edge has been taken - wipe the accumulators and
! 		 poison the mask so that this path does not contribute to
! 		 coverage.  */
! 	      next[0] = poison;
! 	      next[1] = poison;
! 	      next[2] = poison;
  	    }
! 	  table.get_or_insert (e->dest).safe_push (next);
  	}
      }
  
!   /* Since this is also the return value, the number of conditions, make sure
!      to include the increment of the last basic block.  */
!   if (increment)
!     xi += 1;
  
!   gcc_assert (xi == bitmap_count_bits (core));
  
!   const tree relaxed = build_int_cst (integer_type_node, MEMMODEL_RELAXED);
!   const bool atomic = flag_profile_update == PROFILE_UPDATE_ATOMIC;
!   const tree atomic_ior
!     = builtin_decl_explicit (TYPE_PRECISION (gcov_type_node) > 32
! 			     ? BUILT_IN_ATOMIC_FETCH_OR_8
! 			     : BUILT_IN_ATOMIC_FETCH_OR_4);
  
!   /* Flush to the gcov accumulators.  */
!   for (const basic_block b : expr)
      {
!       if (!bitmap_bit_p (core, b->index))
! 	continue;
  
!       for (edge e : b->succs)
  	{
! 	  /* Flush the accumulators on leaving the Boolean function.  The
! 	     destination may be inside the function only when it returns to
! 	     the loop header, such as do { ... } while (x);  */
! 	  if (bitmap_bit_p (allg, e->dest->index))
! 	    {
! 	      if (!(e->flags & EDGE_DFS_BACK))
! 		continue;
! 	      if (e->dest != expr[0])
! 		continue;
  	    }
  
! 	  vec<counters> *cands = table.get (e->dest);
! 	  gcc_assert (cands);
! 	  counters *prevp = find_counters (*cands, e);
! 	  gcc_assert (prevp);
! 	  counters prev = *prevp;
  
! 	  /* _true &= ~mask, _false &= ~mask  */
! 	  counters next;
! 	  next[2] = emit_bitwise_op (e, prev[2], BIT_NOT_EXPR);
! 	  next[0] = emit_bitwise_op (e, prev[0], BIT_AND_EXPR, next[2]);
! 	  next[1] = emit_bitwise_op (e, prev[1], BIT_AND_EXPR, next[2]);
  
! 	  /* _global_true |= _true, _global_false |= _false  */
! 	  for (size_t k = 0; k != 2; ++k)
  	    {
! 	      tree ref = tree_coverage_counter_ref (GCOV_COUNTER_CONDS,
! 						    2 * condno + k);
! 	      if (atomic)
  		{
! 		  ref = unshare_expr (ref);
! 		  gcall *flush = gimple_build_call (atomic_ior, 3,
! 						    build_addr (ref),
! 						    next[k], relaxed);
! 		  gsi_insert_on_edge (e, flush);
  		}
! 	      else
  		{
! 		  tree get = emit_assign (e, ref);
! 		  tree put = emit_bitwise_op (e, next[k], BIT_IOR_EXPR, get);
! 		  emit_assign (e, unshare_expr (ref), put);
  		}
  	    }
  	}
      }
  
!   return xi;
  }
  
  #undef CONDITIONS_MAX_TERMS
*************** instrument_decisions (array_slice<basic_
*** 1200,1209 ****
  /* Do initialization work for the edge profiler.  */
  
  /* Add code:
!    __thread gcov*	__gcov_indirect_call.counters; // pointer to actual counter
!    __thread void*	__gcov_indirect_call.callee; // actual callee address
!    __thread int __gcov_function_counter; // time profiler function counter
! */
  static void
  init_ic_make_global_vars (void)
  {
--- 1203,1211 ----
  /* Do initialization work for the edge profiler.  */
  
  /* Add code:
!    __thread gcov *__gcov_indirect_call.counters; // pointer to actual counter
!    __thread void *__gcov_indirect_call.callee; // actual callee address
!    __thread int __gcov_function_counter; // time profiler function counter  */
  static void
  init_ic_make_global_vars (void)
  {
*************** gimple_init_gcov_profiler (void)
*** 1259,1268 ****
  
        /* void (*) (gcov_type *, gcov_type, int, unsigned)  */
        interval_profiler_fn_type
! 	      = build_function_type_list (void_type_node,
! 					  gcov_type_ptr, gcov_type_node,
! 					  integer_type_node,
! 					  unsigned_type_node, NULL_TREE);
        fn_name = concat ("__gcov_interval_profiler", fn_suffix, NULL);
        tree_interval_profiler_fn = build_fn_decl (fn_name,
  						 interval_profiler_fn_type);
--- 1261,1270 ----
  
        /* void (*) (gcov_type *, gcov_type, int, unsigned)  */
        interval_profiler_fn_type
! 	= build_function_type_list (void_type_node,
! 				    gcov_type_ptr, gcov_type_node,
! 				    integer_type_node,
! 				    unsigned_type_node, NULL_TREE);
        fn_name = concat ("__gcov_interval_profiler", fn_suffix, NULL);
        tree_interval_profiler_fn = build_fn_decl (fn_name,
  						 interval_profiler_fn_type);
*************** gimple_init_gcov_profiler (void)
*** 1274,1282 ****
  
        /* void (*) (gcov_type *, gcov_type)  */
        pow2_profiler_fn_type
! 	      = build_function_type_list (void_type_node,
! 					  gcov_type_ptr, gcov_type_node,
! 					  NULL_TREE);
        fn_name = concat ("__gcov_pow2_profiler", fn_suffix, NULL);
        tree_pow2_profiler_fn = build_fn_decl (fn_name, pow2_profiler_fn_type);
        free (const_cast<char *> (fn_name));
--- 1276,1284 ----
  
        /* void (*) (gcov_type *, gcov_type)  */
        pow2_profiler_fn_type
! 	= build_function_type_list (void_type_node,
! 				    gcov_type_ptr, gcov_type_node,
! 				    NULL_TREE);
        fn_name = concat ("__gcov_pow2_profiler", fn_suffix, NULL);
        tree_pow2_profiler_fn = build_fn_decl (fn_name, pow2_profiler_fn_type);
        free (const_cast<char *> (fn_name));
*************** gimple_init_gcov_profiler (void)
*** 1287,1295 ****
  
        /* void (*) (gcov_type *, gcov_type)  */
        topn_values_profiler_fn_type
! 	      = build_function_type_list (void_type_node,
! 					  gcov_type_ptr, gcov_type_node,
! 					  NULL_TREE);
        fn_name = concat ("__gcov_topn_values_profiler", fn_suffix, NULL);
        tree_topn_values_profiler_fn
  	= build_fn_decl (fn_name, topn_values_profiler_fn_type);
--- 1289,1297 ----
  
        /* void (*) (gcov_type *, gcov_type)  */
        topn_values_profiler_fn_type
! 	= build_function_type_list (void_type_node,
! 				    gcov_type_ptr, gcov_type_node,
! 				    NULL_TREE);
        fn_name = concat ("__gcov_topn_values_profiler", fn_suffix, NULL);
        tree_topn_values_profiler_fn
  	= build_fn_decl (fn_name, topn_values_profiler_fn_type);
*************** gimple_init_gcov_profiler (void)
*** 1304,1313 ****
  
        /* void (*) (gcov_type, void *)  */
        ic_profiler_fn_type
! 	       = build_function_type_list (void_type_node,
! 					  gcov_type_node,
! 					  ptr_type_node,
! 					  NULL_TREE);
        fn_name = concat ("__gcov_indirect_call_profiler_v4", fn_suffix, NULL);
        tree_indirect_call_profiler_fn
  	= build_fn_decl (fn_name, ic_profiler_fn_type);
--- 1306,1315 ----
  
        /* void (*) (gcov_type, void *)  */
        ic_profiler_fn_type
! 	= build_function_type_list (void_type_node,
! 				    gcov_type_node,
! 				    ptr_type_node,
! 				    NULL_TREE);
        fn_name = concat ("__gcov_indirect_call_profiler_v4", fn_suffix, NULL);
        tree_indirect_call_profiler_fn
  	= build_fn_decl (fn_name, ic_profiler_fn_type);
*************** gimple_init_gcov_profiler (void)
*** 1330,1337 ****
  
        /* void (*) (gcov_type *, gcov_type)  */
        average_profiler_fn_type
! 	      = build_function_type_list (void_type_node,
! 					  gcov_type_ptr, gcov_type_node, NULL_TREE);
        fn_name = concat ("__gcov_average_profiler", fn_suffix, NULL);
        tree_average_profiler_fn = build_fn_decl (fn_name,
  						average_profiler_fn_type);
--- 1332,1339 ----
  
        /* void (*) (gcov_type *, gcov_type)  */
        average_profiler_fn_type
! 	= build_function_type_list (void_type_node,
! 				    gcov_type_ptr, gcov_type_node, NULL_TREE);
        fn_name = concat ("__gcov_average_profiler", fn_suffix, NULL);
        tree_average_profiler_fn = build_fn_decl (fn_name,
  						average_profiler_fn_type);
*************** gimple_init_gcov_profiler (void)
*** 1349,1355 ****
  		     DECL_ATTRIBUTES (tree_ior_profiler_fn));
  
        /* LTO streamer needs assembler names.  Because we create these decls
!          late, we need to initialize them by hand.  */
        DECL_ASSEMBLER_NAME (tree_interval_profiler_fn);
        DECL_ASSEMBLER_NAME (tree_pow2_profiler_fn);
        DECL_ASSEMBLER_NAME (tree_topn_values_profiler_fn);
--- 1351,1357 ----
  		     DECL_ATTRIBUTES (tree_ior_profiler_fn));
  
        /* LTO streamer needs assembler names.  Because we create these decls
! 	 late, we need to initialize them by hand.  */
        DECL_ASSEMBLER_NAME (tree_interval_profiler_fn);
        DECL_ASSEMBLER_NAME (tree_pow2_profiler_fn);
        DECL_ASSEMBLER_NAME (tree_topn_values_profiler_fn);
diff -Nrcpad gcc-16-20260308/gcc/tree-ssa-dom.cc gcc-16-20260315/gcc/tree-ssa-dom.cc
*** gcc-16-20260308/gcc/tree-ssa-dom.cc	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/gcc/tree-ssa-dom.cc	Sun Mar 15 22:32:15 2026
*************** dom_valueize (tree t)
*** 1097,1103 ****
     additional equivalences that are valid on edge E.  */
  static void
  back_propagate_equivalences (tree lhs, edge e,
- 			     class avail_exprs_stack *avail_exprs_stack,
  			     class const_and_copies *const_and_copies,
  			     bitmap domby)
  {
--- 1097,1102 ----
*************** back_propagate_equivalences (tree lhs, e
*** 1150,1169 ****
  						 no_follow_ssa_edges);
        if (res && (TREE_CODE (res) == SSA_NAME || is_gimple_min_invariant (res)))
  	record_equality (lhs2, res, const_and_copies);
- 
-       /* It may also be the case that the value is in the hash table.  So
- 	 try to look it up there too.  But restrict ourselves to cases where
- 	 the hash lookup produced a constant rather than another SSA_NAME.
- 	 That avoids infinite recursion issues.  */
-       res = avail_exprs_stack->lookup_avail_expr (use_stmt, false, false);
-       if (res && is_gimple_min_invariant (res))
- 	{
- 	  record_equality (lhs2, res, const_and_copies);
- 
- 	  /* And that in turn may trigger further propagation opportunities.  */
- 	  back_propagate_equivalences (lhs2, e, avail_exprs_stack,
- 				       const_and_copies, domby);
- 	}
      }
  }
  
--- 1149,1154 ----
*************** record_temporary_equivalences (edge e,
*** 1188,1212 ****
        /* If we have 0 = COND or 1 = COND equivalences, record them
  	 into our expression hash tables.  */
        for (i = 0; edge_info->cond_equivalences.iterate (i, &eq); ++i)
! 	{
! 	  avail_exprs_stack->record_cond (eq);
! 
! 	  /* This is not a simple equivalence, but may still enable
! 	     discovery of other equivalences.  This is fairly narrowly
! 	     implemented and can likely be generalized further.
! 
! 	     Essentially we're looking for [0/1] = A cond [0/1] and try
! 	     to derive equivalences at use points of A.  */
! 	     if ((integer_zerop (eq->value) || integer_onep (eq->value))
! 		 && eq->cond.kind == EXPR_BINARY
! 		 && (eq->cond.ops.binary.op == EQ_EXPR
! 		     || eq->cond.ops.binary.op == NE_EXPR)
! 		 && TREE_CODE (eq->cond.ops.binary.opnd0) == SSA_NAME
! 		 && TREE_CODE (eq->cond.ops.binary.opnd1) == INTEGER_CST)
! 		back_propagate_equivalences (eq->cond.ops.binary.opnd0, e,
! 					     avail_exprs_stack,
! 					     const_and_copies, blocks_on_stack);
! 	}
  
        edge_info::equiv_pair *seq;
        for (i = 0; edge_info->simple_equivalences.iterate (i, &seq); ++i)
--- 1173,1179 ----
        /* If we have 0 = COND or 1 = COND equivalences, record them
  	 into our expression hash tables.  */
        for (i = 0; edge_info->cond_equivalences.iterate (i, &eq); ++i)
! 	avail_exprs_stack->record_cond (eq);
  
        edge_info::equiv_pair *seq;
        for (i = 0; edge_info->simple_equivalences.iterate (i, &seq); ++i)
*************** record_temporary_equivalences (edge e,
*** 1244,1251 ****
  	  /* Any equivalence found for LHS may result in additional
  	     equivalences for other uses of LHS that we have already
  	     processed.  */
! 	  back_propagate_equivalences (lhs, e, avail_exprs_stack,
! 				       const_and_copies, blocks_on_stack);
  	}
      }
  }
--- 1211,1218 ----
  	  /* Any equivalence found for LHS may result in additional
  	     equivalences for other uses of LHS that we have already
  	     processed.  */
! 	  back_propagate_equivalences (lhs, e, const_and_copies,
! 				       blocks_on_stack);
  	}
      }
  }
diff -Nrcpad gcc-16-20260308/gcc/tree-ssa-scopedtables.cc gcc-16-20260315/gcc/tree-ssa-scopedtables.cc
*** gcc-16-20260308/gcc/tree-ssa-scopedtables.cc	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/gcc/tree-ssa-scopedtables.cc	Sun Mar 15 22:32:15 2026
*************** avail_exprs_stack::record_cond (cond_equ
*** 392,404 ****
    expr_hash_elt **slot;
  
    slot = m_avail_exprs->find_slot_with_hash (element, element->hash (), INSERT);
! 
!   /* We will always get back a valid slot in the hash table.  Go ahead and
!      record the new equivalence.  While it may be overwriting something older,
!      the belief is that the newer equivalence is more likely to be useful as
!      it was derived using more information/context.  */
!   record_expr (element, *slot, '1');
!   *slot = element;
  }
  
  /* Generate a hash value for a pair of expressions.  This can be used
--- 392,404 ----
    expr_hash_elt **slot;
  
    slot = m_avail_exprs->find_slot_with_hash (element, element->hash (), INSERT);
!   if (*slot == NULL)
!     {
!       *slot = element;
!       record_expr (element, NULL, '1');
!     }
!   else
!     delete element;
  }
  
  /* Generate a hash value for a pair of expressions.  This can be used
diff -Nrcpad gcc-16-20260308/gcc/tree-vect-loop.cc gcc-16-20260315/gcc/tree-vect-loop.cc
*** gcc-16-20260308/gcc/tree-vect-loop.cc	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/gcc/tree-vect-loop.cc	Sun Mar 15 22:32:15 2026
*************** vect_analyze_loop_costing (loop_vec_info
*** 1975,1980 ****
--- 1975,1983 ----
    return 1;
  }
  
+ /* Gather data references in LOOP with body BBS and store them into
+    *DATAREFS.  */
+ 
  static opt_result
  vect_get_datarefs_in_loop (loop_p loop, basic_block *bbs,
  			   vec<data_reference_p> *datarefs)
*************** vect_analyze_loop_2 (loop_vec_info loop_
*** 2172,2178 ****
  
    loop_p loop = LOOP_VINFO_LOOP (loop_vinfo);
  
!   /* Gather the data references and count stmts in the loop.  */
    if (!LOOP_VINFO_DATAREFS (loop_vinfo).exists ())
      {
        opt_result res
--- 2175,2181 ----
  
    loop_p loop = LOOP_VINFO_LOOP (loop_vinfo);
  
!   /* Gather the data references.  */
    if (!LOOP_VINFO_DATAREFS (loop_vinfo).exists ())
      {
        opt_result res
diff -Nrcpad gcc-16-20260308/libcpp/ChangeLog gcc-16-20260315/libcpp/ChangeLog
*** gcc-16-20260308/libcpp/ChangeLog	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libcpp/ChangeLog	Sun Mar 15 22:32:15 2026
***************
*** 1,3 ****
--- 1,15 ----
+ 2026-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR preprocessor/105412
+ 	* files.cc (_cpp_stack_file): Call deps_add_dep even on
+ 	empty file path.
+ 	* mkdeps.cc (class mkdeps): Add first_phony_dep member.
+ 	(mkdeps::mkdeps ()): Initialize it to 1.
+ 	(deps_add_dep): When called first with "" argument, decrease
+ 	d->first_phony_dep to 0.
+ 	(make_write): For -MP iterate from d->first_phony_dep
+ 	rather than 1.
+ 
  2026-02-22  Nathaniel Shead  <nathanieloshead@gmail.com>
  
  	PR c++/124153
diff -Nrcpad gcc-16-20260308/libcpp/files.cc gcc-16-20260315/libcpp/files.cc
*** gcc-16-20260308/libcpp/files.cc	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libcpp/files.cc	Sun Mar 15 22:32:15 2026
*************** _cpp_stack_file (cpp_reader *pfile, _cpp
*** 972,978 ****
    /* Add the file to the dependencies on its first inclusion.  */
    if (CPP_OPTION (pfile, deps.style) > (sysp != 0)
        && !file->stack_count
-       && file->path[0]
        && !(pfile->main_file == file
  	   && CPP_OPTION (pfile, deps.ignore_main_file)))
      deps_add_dep (pfile->deps, file->path);
--- 972,977 ----
diff -Nrcpad gcc-16-20260308/libcpp/mkdeps.cc gcc-16-20260315/libcpp/mkdeps.cc
*** gcc-16-20260308/libcpp/mkdeps.cc	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libcpp/mkdeps.cc	Sun Mar 15 22:32:15 2026
*************** public:
*** 81,88 ****
    };
  
    mkdeps ()
!     : primary_output (NULL), module_name (NULL), cmi_name (NULL)
!     , is_header_unit (false), is_exported (false), quote_lwm (0)
    {
    }
    ~mkdeps ()
--- 81,89 ----
    };
  
    mkdeps ()
!     : primary_output (NULL), module_name (NULL), cmi_name (NULL),
!       is_header_unit (false), is_exported (false), quote_lwm (0),
!       first_phony_dep (1)
    {
    }
    ~mkdeps ()
*************** public:
*** 118,123 ****
--- 119,125 ----
    bool is_header_unit;
    bool is_exported;
    unsigned short quote_lwm;
+   unsigned int first_phony_dep;
  };
  
  /* Apply Make quoting to STR, TRAIL.  Note that it's not possible to
*************** fdeps_add_target (struct mkdeps *d, cons
*** 318,328 ****
  void
  deps_add_dep (class mkdeps *d, const char *t)
  {
!   gcc_assert (*t);
! 
!   t = apply_vpath (d, t);
  
!   d->deps.push (xstrdup (t));
  }
  
  void
--- 320,336 ----
  void
  deps_add_dep (class mkdeps *d, const char *t)
  {
!   if (*t)
!     {
!       t = apply_vpath (d, t);
  
!       d->deps.push (xstrdup (t));
!     }
!   /* When called first with "", remember we should
!      emit for -MP all dependencies rather than just
!      second and following dependency.  See PR105412.  */
!   else if (d->deps.size () == 0)
!     d->first_phony_dep = 0;
  }
  
  void
*************** make_write (const cpp_reader *pfile, FIL
*** 438,444 ****
        make_write_vec (d->deps, fp, column, colmax);
        fputs ("\n", fp);
        if (CPP_OPTION (pfile, deps.phony_targets))
! 	for (unsigned i = 1; i < d->deps.size (); i++)
  	  fprintf (fp, "%s:\n", munge (d->deps[i]));
      }
  
--- 446,452 ----
        make_write_vec (d->deps, fp, column, colmax);
        fputs ("\n", fp);
        if (CPP_OPTION (pfile, deps.phony_targets))
! 	for (unsigned i = d->first_phony_dep; i < d->deps.size (); i++)
  	  fprintf (fp, "%s:\n", munge (d->deps[i]));
      }
  
diff -Nrcpad gcc-16-20260308/libga68/ChangeLog gcc-16-20260315/libga68/ChangeLog
*** gcc-16-20260308/libga68/ChangeLog	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libga68/ChangeLog	Sun Mar 15 22:32:15 2026
***************
*** 1,3 ****
--- 1,8 ----
+ 2026-03-14  Jose E. Marchesi  <jemarch@gnu.org>
+ 
+ 	* standard.a68.in (float): Fix typo from RR and handle short* int
+ 	arguments properly.
+ 
  2026-02-23  Jose E. Marchesi  <jemarch@gnu.org>
  
  	* transput.a68.in: Remove and move content to..
diff -Nrcpad gcc-16-20260308/libga68/ga68.map gcc-16-20260315/libga68/ga68.map
*** gcc-16-20260308/libga68/ga68.map	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libga68/ga68.map	Sun Mar 15 22:32:15 2026
*************** LIBGA68_2.0 {
*** 37,42 ****
--- 37,103 ----
      _libga68_u32_cmp2;
      _libga68_unreachable;
      _libga68_upper_bound;
+     POSIX__prelude;
+     POSIX__postlude;
+     POSIX_stdin;
+     POSIX_stdout;
+     POSIX_stderr;
+     POSIX_fileodeault;
+     POSIX_fileordwr;
+     POSIX_fileordonly;
+     POSIX_fileowronly;
+     POSIX_fileotrunc;
+     POSIX_seekcur;
+     POSIX_seekend;
+     POSIX_seekset;
+     POSIX_errno;
+     POSIX_argc;
+     POSIX_argv;
+     POSIX_strerror;
+     POSIX_fopen;
+     POSIX_fcreate;
+     POSIX_fconnect;
+     POSIX_fclose;
+     POSIX_fsize;
+     POSIX_lseek;
+     POSIX_getchar;
+     POSIX_putchar;
+     POSIX_fgetc;
+     POSIX_fputc;
+     POSIX_gets;
+     POSIX_puts;
+     POSIX_fgets;
+     POSIX_fputs;
+     POSIX_posixexit;
+     POSIX_perror;
+     POSIX_getenv;
+     STANDARD__prelude;
+     STANDARD__postlude;
+     STANDARD_float;
+     STANDARD_shortshortbitspack;
+     STANDARD_shortbitspack;
+     STANDARD_bitspack;
+     STANDARD_longbitspack;
+     STANDARD_longlongbitspack;
+     STANDARD_whole;
+     STANDARD_fixed;
+     STANDARD_float;
+     STANDARD_stringtoreal;
+     STANDARD_stringtolongreal;
+     STANDARD_stringtolonglongreal;
+     STANDARD_charinstring;
+     STANDARD_shortshortintwidth;
+     STANDARD_shortintwidth;
+     STANDARD_intwidth;
+     STANDARD_longintwidth;
+     STANDARD_longlongintwidth;
+     STANDARD_realwidth;
+     STANDARD_longrealwidth;
+     STANDARD_longlongrealwidth;
+     STANDARD_expwidth;
+     STANDARD_longexpwidth;
+     STANDARD_longlongexpwidth;
+     main;
    local:
      *;
  };
diff -Nrcpad gcc-16-20260308/libga68/standard.a68.in gcc-16-20260315/libga68/standard.a68.in
*** gcc-16-20260308/libga68/standard.a68.in	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libga68/standard.a68.in	Sun Mar 15 22:32:15 2026
*************** def
*** 114,134 ****
          case v in
             {iter L  {} {long}  {long long}}
             {iter L_ {} {long_} {long_long_}}
             ({L} real x):
                if int before = ABS width - ABS exp - (after /= 0 | after+1 | 0) - 2;
                   SIGN before + SIGN after > 0
                then string s, {L} real y := ABS x, int p := 0;
                     {L_}standardize (y, before, after, p);
!                    s := fixed (SIGN (x * y), SIGN width * (ABS width - ABS exp - 1),
!                                after) + "*^" + whole (p, exp);
                     if exp = 0 OR char_in_string (errorchar, loc int, s)
                     then float (x, width, (after /= 0 | after-1 | 0),
                                 (exp > 0 | exp+1 | exp-1))
                     else s
                     fi
                else { XXX undefined } skip; ABS width * errorchar
!               fi,
!            ({L} int x): float ({L} real (x), width, after, exp)
             {reti {,}}
          esac;
  
--- 114,139 ----
          case v in
             {iter L  {} {long}  {long long}}
             {iter L_ {} {long_} {long_long_}}
+            {iter S  {} {LENG}  {LENG LENG}}
             ({L} real x):
                if int before = ABS width - ABS exp - (after /= 0 | after+1 | 0) - 2;
                   SIGN before + SIGN after > 0
                then string s, {L} real y := ABS x, int p := 0;
                     {L_}standardize (y, before, after, p);
!                    s := fixed ({S} SIGN x * y, SIGN width * (ABS width - ABS exp - 1),
!                                after) + "e" + whole (p, exp);
                     if exp = 0 OR char_in_string (errorchar, loc int, s)
                     then float (x, width, (after /= 0 | after-1 | 0),
                                 (exp > 0 | exp+1 | exp-1))
                     else s
                     fi
                else { XXX undefined } skip; ABS width * errorchar
!               fi
!            {reti {,}}
!            ,
!            {iter L {short short} {short} {} {long} {long long}}
!            {iter R {LENG LENG} {LENG} {} {} {}}
!            ({L} int x): float ({L} real ({R} x), width, after, exp)
             {reti {,}}
          esac;
  
diff -Nrcpad gcc-16-20260308/libgcc/ChangeLog gcc-16-20260315/libgcc/ChangeLog
*** gcc-16-20260308/libgcc/ChangeLog	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgcc/ChangeLog	Sun Mar 15 22:32:15 2026
***************
*** 1,3 ****
--- 1,8 ----
+ 2026-03-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+ 
+ 	* config/arm/libgcc-bpabi.ver: Add new symbols.
+ 	* config/arm/t-softfp: Enable use of floatbitinthf and pass necessary options to build fp16.
+ 
  2026-03-06  Saurabh Jha  <saurabh.jha@arm.com>
  	    Evgeny Karpov  <evgeny.karpov@arm.com>
  
diff -Nrcpad gcc-16-20260308/libgcc/config/aarch64/__arm_get_current_vg.S gcc-16-20260315/libgcc/config/aarch64/__arm_get_current_vg.S
*** gcc-16-20260308/libgcc/config/aarch64/__arm_get_current_vg.S	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgcc/config/aarch64/__arm_get_current_vg.S	Sun Mar 15 22:32:15 2026
***************
*** 1,5 ****
  /* Support routine for SME.
!    Copyright (C) 2025 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
--- 1,5 ----
  /* Support routine for SME.
!    Copyright (C) 2025-2026 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
diff -Nrcpad gcc-16-20260308/libgcc/config/arm/libgcc-bpabi.ver gcc-16-20260315/libgcc/config/arm/libgcc-bpabi.ver
*** gcc-16-20260308/libgcc/config/arm/libgcc-bpabi.ver	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgcc/config/arm/libgcc-bpabi.ver	Sun Mar 15 22:32:15 2026
*************** GCC_3.5 {
*** 106,108 ****
--- 106,119 ----
  GCC_4.3.0 {
    _Unwind_Backtrace
  }
+ 
+ %inherit GCC_14.0.0 GCC_4.3.0
+ GGC_14.0.0 {
+     __fixsfbitint
+     __fixdfbitint
+     __floatbitinthf
+     __floatbitintsf
+     __floatbitintdf
+     __mulbitint3
+     __divmodbitint4
+ }
diff -Nrcpad gcc-16-20260308/libgcc/config/arm/t-softfp gcc-16-20260315/libgcc/config/arm/t-softfp
*** gcc-16-20260308/libgcc/config/arm/t-softfp	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgcc/config/arm/t-softfp	Sun Mar 15 22:32:15 2026
***************
*** 1,2 ****
--- 1,4 ----
  softfp_wrap_start := '\#if !__ARM_ARCH_ISA_ARM && __ARM_ARCH_ISA_THUMB == 1'
  softfp_wrap_end := '\#endif'
+ bitint_extras += floatbitinthf
+ softfp_cflags := -mfp16-format=ieee
diff -Nrcpad gcc-16-20260308/libgcc/config/riscv/libgcc-riscv.ver gcc-16-20260315/libgcc/config/riscv/libgcc-riscv.ver
*** gcc-16-20260308/libgcc/config/riscv/libgcc-riscv.ver	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgcc/config/riscv/libgcc-riscv.ver	Sun Mar 15 22:32:15 2026
***************
*** 1,4 ****
! # Copyright (C) 2025 Free Software Foundation, Inc.
  #
  # This file is part of GCC.
  #
--- 1,4 ----
! # Copyright (C) 2025-2026 Free Software Foundation, Inc.
  #
  # This file is part of GCC.
  #
diff -Nrcpad gcc-16-20260308/libgcc/config/s390/_dpd_dd_to_hf.c gcc-16-20260315/libgcc/config/s390/_dpd_dd_to_hf.c
*** gcc-16-20260308/libgcc/config/s390/_dpd_dd_to_hf.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgcc/config/s390/_dpd_dd_to_hf.c	Sun Mar 15 22:32:15 2026
***************
*** 1,4 ****
! /* Copyright (C) 2001-2025 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
--- 1,4 ----
! /* Copyright (C) 2001-2026 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
diff -Nrcpad gcc-16-20260308/libgcc/config/s390/_dpd_hf_to_dd.c gcc-16-20260315/libgcc/config/s390/_dpd_hf_to_dd.c
*** gcc-16-20260308/libgcc/config/s390/_dpd_hf_to_dd.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgcc/config/s390/_dpd_hf_to_dd.c	Sun Mar 15 22:32:15 2026
***************
*** 1,4 ****
! /* Copyright (C) 2001-2025 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
--- 1,4 ----
! /* Copyright (C) 2001-2026 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
diff -Nrcpad gcc-16-20260308/libgcc/config/s390/_dpd_hf_to_sd.c gcc-16-20260315/libgcc/config/s390/_dpd_hf_to_sd.c
*** gcc-16-20260308/libgcc/config/s390/_dpd_hf_to_sd.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgcc/config/s390/_dpd_hf_to_sd.c	Sun Mar 15 22:32:15 2026
***************
*** 1,4 ****
! /* Copyright (C) 2001-2025 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
--- 1,4 ----
! /* Copyright (C) 2001-2026 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
diff -Nrcpad gcc-16-20260308/libgcc/config/s390/_dpd_hf_to_td.c gcc-16-20260315/libgcc/config/s390/_dpd_hf_to_td.c
*** gcc-16-20260308/libgcc/config/s390/_dpd_hf_to_td.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgcc/config/s390/_dpd_hf_to_td.c	Sun Mar 15 22:32:15 2026
***************
*** 1,4 ****
! /* Copyright (C) 2001-2025 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
--- 1,4 ----
! /* Copyright (C) 2001-2026 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
diff -Nrcpad gcc-16-20260308/libgcc/config/s390/_dpd_sd_to_hf.c gcc-16-20260315/libgcc/config/s390/_dpd_sd_to_hf.c
*** gcc-16-20260308/libgcc/config/s390/_dpd_sd_to_hf.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgcc/config/s390/_dpd_sd_to_hf.c	Sun Mar 15 22:32:15 2026
***************
*** 1,4 ****
! /* Copyright (C) 2001-2025 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
--- 1,4 ----
! /* Copyright (C) 2001-2026 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
diff -Nrcpad gcc-16-20260308/libgcc/config/s390/_dpd_td_to_hf.c gcc-16-20260315/libgcc/config/s390/_dpd_td_to_hf.c
*** gcc-16-20260308/libgcc/config/s390/_dpd_td_to_hf.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgcc/config/s390/_dpd_td_to_hf.c	Sun Mar 15 22:32:15 2026
***************
*** 1,4 ****
! /* Copyright (C) 2001-2025 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
--- 1,4 ----
! /* Copyright (C) 2001-2026 Free Software Foundation, Inc.
  
     This file is part of GCC.
  
diff -Nrcpad gcc-16-20260308/libgfortran/caf/caf_error.c gcc-16-20260315/libgfortran/caf/caf_error.c
*** gcc-16-20260308/libgfortran/caf/caf_error.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/caf_error.c	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/caf_error.h gcc-16-20260315/libgfortran/caf/caf_error.h
*** gcc-16-20260308/libgfortran/caf/caf_error.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/caf_error.h	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/alloc.c gcc-16-20260315/libgfortran/caf/shmem/alloc.c
*** gcc-16-20260308/libgfortran/caf/shmem/alloc.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/alloc.c	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/alloc.h gcc-16-20260315/libgfortran/caf/shmem/alloc.h
*** gcc-16-20260308/libgfortran/caf/shmem/alloc.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/alloc.h	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/allocator.c gcc-16-20260315/libgfortran/caf/shmem/allocator.c
*** gcc-16-20260308/libgfortran/caf/shmem/allocator.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/allocator.c	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/allocator.h gcc-16-20260315/libgfortran/caf/shmem/allocator.h
*** gcc-16-20260308/libgfortran/caf/shmem/allocator.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/allocator.h	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/collective_subroutine.c gcc-16-20260315/libgfortran/caf/shmem/collective_subroutine.c
*** gcc-16-20260308/libgfortran/caf/shmem/collective_subroutine.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/collective_subroutine.c	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/collective_subroutine.h gcc-16-20260315/libgfortran/caf/shmem/collective_subroutine.h
*** gcc-16-20260308/libgfortran/caf/shmem/collective_subroutine.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/collective_subroutine.h	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/counter_barrier.c gcc-16-20260315/libgfortran/caf/shmem/counter_barrier.c
*** gcc-16-20260308/libgfortran/caf/shmem/counter_barrier.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/counter_barrier.c	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/counter_barrier.h gcc-16-20260315/libgfortran/caf/shmem/counter_barrier.h
*** gcc-16-20260308/libgfortran/caf/shmem/counter_barrier.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/counter_barrier.h	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/hashmap.c gcc-16-20260315/libgfortran/caf/shmem/hashmap.c
*** gcc-16-20260308/libgfortran/caf/shmem/hashmap.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/hashmap.c	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/hashmap.h gcc-16-20260315/libgfortran/caf/shmem/hashmap.h
*** gcc-16-20260308/libgfortran/caf/shmem/hashmap.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/hashmap.h	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/shared_memory.c gcc-16-20260315/libgfortran/caf/shmem/shared_memory.c
*** gcc-16-20260308/libgfortran/caf/shmem/shared_memory.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/shared_memory.c	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/shared_memory.h gcc-16-20260315/libgfortran/caf/shmem/shared_memory.h
*** gcc-16-20260308/libgfortran/caf/shmem/shared_memory.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/shared_memory.h	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/supervisor.c gcc-16-20260315/libgfortran/caf/shmem/supervisor.c
*** gcc-16-20260308/libgfortran/caf/shmem/supervisor.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/supervisor.c	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/supervisor.h gcc-16-20260315/libgfortran/caf/shmem/supervisor.h
*** gcc-16-20260308/libgfortran/caf/shmem/supervisor.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/supervisor.h	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/sync.c gcc-16-20260315/libgfortran/caf/shmem/sync.c
*** gcc-16-20260308/libgfortran/caf/shmem/sync.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/sync.c	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/sync.h gcc-16-20260315/libgfortran/caf/shmem/sync.h
*** gcc-16-20260308/libgfortran/caf/shmem/sync.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/sync.h	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/teams_mgmt.c gcc-16-20260315/libgfortran/caf/shmem/teams_mgmt.c
*** gcc-16-20260308/libgfortran/caf/shmem/teams_mgmt.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/teams_mgmt.c	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/teams_mgmt.h gcc-16-20260315/libgfortran/caf/shmem/teams_mgmt.h
*** gcc-16-20260308/libgfortran/caf/shmem/teams_mgmt.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/teams_mgmt.h	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/thread_support.c gcc-16-20260315/libgfortran/caf/shmem/thread_support.c
*** gcc-16-20260308/libgfortran/caf/shmem/thread_support.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/thread_support.c	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem/thread_support.h gcc-16-20260315/libgfortran/caf/shmem/thread_support.h
*** gcc-16-20260308/libgfortran/caf/shmem/thread_support.h	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem/thread_support.h	Sun Mar 15 22:32:16 2026
***************
*** 1,4 ****
! /* Copyright (C) 2025 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
--- 1,4 ----
! /* Copyright (C) 2025-2026 Free Software Foundation, Inc.
     Contributed by Thomas Koenig, Nicolas Koenig, Andre Vehreschild
  
  This file is part of the GNU Fortran Shmem Coarray Library (caf_shmem).
diff -Nrcpad gcc-16-20260308/libgfortran/caf/shmem.c gcc-16-20260315/libgfortran/caf/shmem.c
*** gcc-16-20260308/libgfortran/caf/shmem.c	Sun Mar  8 22:32:13 2026
--- gcc-16-20260315/libgfortran/caf/shmem.c	Sun Mar 15 22:32:16 2026
***************
*** 1,6 ****
  /* Shared memory-multiple (process)-image implementation of GNU Fortran
     Coarray Library
!    Copyright (C) 2011-2025 Free Software Foundation, Inc.
     Based on single.c contributed by Tobias Burnus <burnus@net-b.de>
  
  This file is part of the GNU Fortran Coarray Runtime Library (libcaf).
--- 1,6 ----
  /* Shared memory-multiple (process)-image implementation of GNU Fortran
     Coarray Library
!    Copyright (C) 2011-2026 Free Software Foundation, Inc.
     Based on single.c contributed by Tobias Burnus <burnus@net-b.de>
  
  This file is part of the GNU Fortran Coarray Runtime Library (libcaf).
diff -Nrcpad gcc-16-20260308/libphobos/ChangeLog gcc-16-20260315/libphobos/ChangeLog
*** gcc-16-20260308/libphobos/ChangeLog	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libphobos/ChangeLog	Sun Mar 15 22:32:16 2026
***************
*** 1,3 ****
--- 1,12 ----
+ 2026-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	PR d/123202
+ 	* src/std/math/hardware.d (getIeeeFlags) [GNU && SPARC_Any]: Implement.
+ 	(resetIeeeFlags) [GNU && SPARC_Any]: Likewise.
+ 	(hasExceptionTraps) [SPARC_Any]: Return true.
+ 	(getControlState) [GNU && SPARC_Any]: Implement.
+ 	(setControlState) [GNU && SPARC_Any]: Likewise.
+ 
  2026-02-05  Iain Buclaw  <ibuclaw@gdcproject.org>
  
  	* src/MERGE: Merge upstream phobos f7249cf45.
diff -Nrcpad gcc-16-20260308/libphobos/src/std/math/hardware.d gcc-16-20260315/libphobos/src/std/math/hardware.d
*** gcc-16-20260308/libphobos/src/std/math/hardware.d	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libphobos/src/std/math/hardware.d	Sun Mar 15 22:32:17 2026
*************** private:
*** 177,182 ****
--- 177,196 ----
                      return result;
                  }
              }
+             else version (SPARC_Any)
+             {
+                 version (D_SoftFloat)
+                     return 0;
+                 else
+                 {
+                     uint result = void;
+                     asm pure nothrow @nogc
+                     {
+                         "st %%fsr, %0" : "=m" (result);
+                     }
+                     return result & EXCEPTIONS_MASK;
+                 }
+             }
              else
                  assert(0, "Not yet supported");
          }
*************** private:
*** 283,288 ****
--- 297,320 ----
                      }
                  }
              }
+             else version (SPARC_Any)
+             {
+                 version (D_SoftFloat)
+                     return;
+                 else
+                 {
+                     uint fsr;
+                     asm pure nothrow @nogc
+                     {
+                         "st %%fsr, %0" : "=m" (fsr);
+                     }
+                     fsr &= ~EXCEPTIONS_MASK;
+                     asm pure nothrow @nogc
+                     {
+                         "ld %0, %%fsr" : : "m" (fsr);
+                     }
+                 }
+             }
              else
                  assert(0, "Not yet supported");
          }
*************** nothrow @nogc:
*** 844,849 ****
--- 876,883 ----
              return true;
          else version (LoongArch_Any)
              return true;
+         else version (SPARC_Any)
+             return true;
          else version (ARM_Any)
          {
              // The hasExceptionTraps_impl function is basically pure,
*************** private:
*** 1009,1014 ****
--- 1043,1062 ----
                      return cont;
                  }
              }
+             else version (SPARC_Any)
+             {
+                 version (D_SoftFloat)
+                     return 0;
+                 else
+                 {
+                     ControlState cont;
+                     asm pure nothrow @nogc
+                     {
+                         "st %%fsr, %0" : "=m" (cont);
+                     }
+                     return cont & allExceptions;
+                 }
+             }
              else
                  assert(0, "Not yet supported");
          }
*************** private:
*** 1124,1129 ****
--- 1172,1200 ----
                      }
                  }
              }
+             else version (SPARC_Any)
+             {
+                 version (D_SoftFloat)
+                     return;
+                 else
+                 {
+                     ControlState cont;
+                     asm pure nothrow @nogc
+                     {
+                         "st %%fsr, %0" : "=m" (cont);
+                     }
+                     /* Replace rounding mask. */
+                     cont &= ~roundingMask;
+                     cont |= (newState & roundingMask);
+                     /* Replace exception mask. */
+                     cont &= ~allExceptions;
+                     cont |= (newState & allExceptions);
+                     asm nothrow @nogc
+                     {
+                         "ld %0, %%fsr" : : "m" (cont);
+                     }
+                 }
+             }
              else
                  assert(0, "Not yet supported");
          }
diff -Nrcpad gcc-16-20260308/libstdc++-v3/ChangeLog gcc-16-20260315/libstdc++-v3/ChangeLog
*** gcc-16-20260308/libstdc++-v3/ChangeLog	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/ChangeLog	Sun Mar 15 22:32:17 2026
***************
*** 1,3 ****
--- 1,127 ----
+ 2026-03-14  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/std/text_encoding: Fix @since in Doxygen comment.
+ 
+ 2026-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	PR libstdc++/124290
+ 	* testsuite/23_containers/mdspan/submdspan/selections/left_padded.cc:
+ 	Use dg-timeout-factor 4.
+ 	* testsuite/23_containers/mdspan/submdspan/selections/left.cc:
+ 	* testsuite/23_containers/mdspan/submdspan/selections/right_padded.cc:
+ 	* testsuite/23_containers/mdspan/submdspan/selections/right.cc:
+ 	Likewise.
+ 	* testsuite/23_containers/mdspan/submdspan/selections/stride.cc:
+ 	Likewise.
+ 
+ 2026-03-12  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/std/format (__format::_Ptr_sink::_M_finish): Rename
+ 	__max variable to __m.
+ 	* testsuite/17_intro/names.cc (__max): Define function-like
+ 	macro.
+ 
+ 2026-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR libstdc++/124443
+ 	* include/std/meta (std::define_static_object): Use CTAD for span.
+ 
+ 2026-03-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* include/std/meta (std::meta::exception::what()): Use
+ 	__builtin_constexpr_diag instead of __asm__("") if supported.
+ 	(std::meta::access_context::via(info)): Don't call is_class_type
+ 	if __cls is not a type.  Use __builtin_constexpr_diag instead of
+ 	__asm__("") if supported for -fno-exceptions.
+ 
+ 2026-03-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/std/chrono (hh_mm_ss): Add comment about LWG 4274.
+ 
+ 2026-03-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/bits/ranges_algo.h (__replace_fn, __replace_if_fn):
+ 	Change default template argument for type of new value, as per
+ 	LWG 4444.
+ 	* testsuite/25_algorithms/replace/lwg4444.cc: New test.
+ 	* testsuite/25_algorithms/replace_if/lwg4444.cc: New test.
+ 
+ 2026-03-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/std/span (as_bytes, as_writable_bytes): Add
+ 	constraints to disallow volatile elements, as per LWG 4243.
+ 	* testsuite/23_containers/span/lwg4243.cc: New test.
+ 
+ 2026-03-10  Nathan Myers  <ncm@cantrip.org>
+ 
+ 	PR libstdc++/118030
+ 	* include/bits/alloc_traits.h (allocate_at_least (2x)): Define.
+ 	* include/bits/allocator.h (allocate_at_least): Define.
+ 	* include/std/memory (__glibcxx_want_allocate_at_least): Define.
+ 	* include/bits/memoryfwd.h (allocation_result): Define, #include
+ 	<bits/version.h> first so that will work.
+ 	* include/bits/version.def (allocate_at_least): Add.
+ 	* include/bits/version.h: Regenerate.
+ 	* testsuite/20_util/allocator/allocate_at_least.cc: New test.
+ 	* testsuite/20_util/allocator/allocate_at_least_neg.cc: New test.
+ 
+ 2026-03-10  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/bits/basic_string.h: Check __glibcxx_to_string instead
+ 	of __cplusplus.
+ 
+ 2026-03-10  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	* include/std/format (__format::_Ptr_sink, __format::__format_padded)
+ 	(std::enable_nonlocking_formatter_optimization<pair<_Fp, _Sp>>):
+ 	Replaced 8 spaces with tabs.
+ 
+ 2026-03-10  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	* include/std/format (__format::_Ptr_sink): Reworked
+ 	from _Iter_sink specialization below.
+ 	(__format::_Iter_sink<_CharT, contiguous_iterator _OutIter>):
+ 	Renamed and reworked to _Ptr_sink.
+ 	(__format::__contiguous_char_iter, __format::__do_vformat_to_n):
+ 	Define.
+ 	(__format::__do_vformat_to): Use _Ptr_sink when appropriate,
+ 	and delegate to _Sink_iter specialization.
+ 	(std::format_to_n): Delegate to __do_vformat_to_n.
+ 	(__format::_Counting_sink): Use _Ptr_sink as base class.
+ 
+ 2026-03-10  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	* include/std/format (__formatter_int::format): Handle transcoding
+ 	to _CharT before calling _M_format_int.
+ 	(__formatter_int::_M_format_int): Accept basic_string_view<_CharT>
+ 	and remove transcoding.
+ 	(__formatter_ptr::__formatter_ptr): Configure _M_spec member.
+ 	(__formatter_ptr::parse): Negate _M_alt for __spec and not _M_spec.
+ 	(__formatter_ptr::format): Delegate to __formatter_int.
+ 
+ 2026-03-10  François Dumont  <frs.dumont@gmail.com>
+ 
+ 	* include/debug/string
+ 	[__cplusplus >= 201103L](basic_string(_Ite, _Ite, const _Alloc&)): Add
+ 	std::_RequireInputIter<_Ite> template parameter.
+ 
+ 2026-03-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/std/meta (exception::what, access_context::via): Use
+ 	__asm__ instead of asm keyword.
+ 
+ 2026-03-09  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/120527
+ 	* include/bits/atomic_wait.h [__FreeBSD__] (__platform_wait_t):
+ 	Define typedef.
+ 	[__FreeBSD__] (__platform_wait_uses_type): Define variable
+ 	template.
+ 	* src/c++20/atomic.cc (__platform_load): New function.
+ 	[__FreeBSD__] (_GLIBCXX_HAVE_PLATFORM_WAIT, __platform_wait)
+ 	(__platform_notify, __platform_wait_until): Define.
+ 	(__detail::__spin_impl): Use __platform_load.
+ 
  2026-03-07  François Dumont  <frs.dumont@gmail.com>
  
  	* include/debug/functions.h [__cplusplus >= 201103L]
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/bits/alloc_traits.h gcc-16-20260315/libstdc++-v3/include/bits/alloc_traits.h
*** gcc-16-20260308/libstdc++-v3/include/bits/alloc_traits.h	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/bits/alloc_traits.h	Sun Mar 15 22:32:17 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 404,409 ****
--- 404,433 ----
  	  return __a.allocate(__n);
        }
  
+ #ifdef __glibcxx_allocate_at_least  // C++23
+       /**
+        *  @brief  Allocate memory, generously.
+        *  @param  __a  An allocator.
+        *  @param  __n  The minimum number of objects to allocate space for.
+        *  @return Memory of suitable size and alignment for `n` or more
+        *  contiguous objects of type `value_type`.
+        *
+        *  Returns `a.allocate_at_least(n)` if that expression is
+        *  well-formed, else `{ a.allocate(n), n }`. When an allocator
+        *  is obliged to reserve more space than required for the cited
+        *  `n` objects, it may deliver the extra space to the caller.
+       */
+       [[nodiscard]] static constexpr auto
+       allocate_at_least(_Alloc& __a, size_type __n)
+ 	-> allocation_result<pointer, size_type>
+       {
+ 	if constexpr (requires { __a.allocate_at_least(__n); })
+ 	  return __a.allocate_at_least(__n);
+ 	else
+ 	  return { __a.allocate(__n), __n };
+       }
+ #endif
+ 
        /**
         *  @brief  Deallocate memory.
         *  @param  __a  An allocator.
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 635,640 ****
--- 659,680 ----
  #endif
        }
  
+ #ifdef __glibcxx_allocate_at_least  // C++23
+       /**
+        *  @brief  Allocate memory, generously.
+        *  @param  __a  An allocator.
+        *  @param  __n  The minimum number of objects to allocate space for.
+        *  @return Memory of suitable size and alignment for `n` or more
+        *  contiguous objects of type `value_type`.
+        *
+        *  Returns `a.allocate_at_least(n)`.
+       */
+       [[nodiscard]] static constexpr auto
+       allocate_at_least(allocator_type __a, size_type __n)
+ 	-> allocation_result<pointer, size_type>
+       { return __a.allocate_at_least(__n); }
+ #endif
+ 
        /**
         *  @brief  Deallocate memory.
         *  @param  __a  An allocator.
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/bits/allocator.h gcc-16-20260315/libstdc++-v3/include/bits/allocator.h
*** gcc-16-20260308/libstdc++-v3/include/bits/allocator.h	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/bits/allocator.h	Sun Mar 15 22:32:17 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 216,221 ****
--- 216,227 ----
        }
  #endif // C++20
  
+ #ifdef __glibcxx_allocate_at_least  // C++23
+       [[nodiscard]] constexpr allocation_result<_Tp*, size_t>
+       allocate_at_least(size_t __n)
+       { return { this->allocate(__n), __n }; }
+ #endif
+ 
        friend __attribute__((__always_inline__)) _GLIBCXX20_CONSTEXPR
        bool
        operator==(const allocator&, const allocator&) _GLIBCXX_NOTHROW
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/bits/atomic_wait.h gcc-16-20260315/libstdc++-v3/include/bits/atomic_wait.h
*** gcc-16-20260308/libstdc++-v3/include/bits/atomic_wait.h	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/bits/atomic_wait.h	Sun Mar 15 22:32:17 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 69,74 ****
--- 69,85 ----
      inline constexpr bool __platform_wait_uses_type
        = __detail::__waitable<_Tp>
  	  && sizeof(_Tp) == sizeof(int) && alignof(_Tp) >= 4;
+ #elif defined __FreeBSD__ && __SIZEOF_LONG__ == 8
+   namespace __detail
+   {
+     using __platform_wait_t = __UINT64_TYPE__;
+     inline constexpr size_t __platform_wait_alignment = 8;
+   }
+   template<typename _Tp>
+     inline constexpr bool __platform_wait_uses_type
+       = __detail::__waitable<_Tp>
+ 	  && ((sizeof(_Tp) == 4 && alignof(_Tp) >= 4)
+ 		|| (sizeof(_Tp) == 8 && alignof(_Tp) >= 8));
  #else
  // define _GLIBCX_HAVE_PLATFORM_WAIT and implement __platform_wait()
  // and __platform_notify() if there is a more efficient primitive supported
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/bits/basic_string.h gcc-16-20260315/libstdc++-v3/include/bits/basic_string.h
*** gcc-16-20260308/libstdc++-v3/include/bits/basic_string.h	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/bits/basic_string.h	Sun Mar 15 22:32:17 2026
***************
*** 56,66 ****
  # include <bits/ranges_util.h>          // ranges::subrange
  #endif
  
! #if __cplusplus > 202302L
  # include <charconv>
  #endif
  
- 
  #if ! _GLIBCXX_USE_CXX11_ABI
  # include "cow_string.h"
  #else
--- 56,65 ----
  # include <bits/ranges_util.h>          // ranges::subrange
  #endif
  
! #if __glibcxx_to_string >= 202306L // C++ >= 26
  # include <charconv>
  #endif
  
  #if ! _GLIBCXX_USE_CXX11_ABI
  # include "cow_string.h"
  #else
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/bits/memoryfwd.h gcc-16-20260315/libstdc++-v3/include/bits/memoryfwd.h
*** gcc-16-20260308/libstdc++-v3/include/bits/memoryfwd.h	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/bits/memoryfwd.h	Sun Mar 15 22:32:17 2026
***************
*** 48,53 ****
--- 48,54 ----
  #endif
  
  #include <bits/c++config.h>
+ #include <bits/version.h>
  
  namespace std _GLIBCXX_VISIBILITY(default)
  {
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 78,83 ****
--- 79,96 ----
      struct allocator_traits;
  #endif
  
+ #ifdef __glibcxx_allocate_at_least  // C++23
+   // Result of, specifically, allocate_at_least(). `count` is the number
+   // of objects that may be indexed from `ptr`, not bytes.
+   template <typename _Pointer, typename _Size = size_t>
+     struct allocation_result
+     {
+       _Pointer ptr;
+       _Size count;
+     };
+ #endif
+ 
+ 
    /// @} group memory
  
  _GLIBCXX_END_NAMESPACE_VERSION
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/bits/ranges_algo.h gcc-16-20260315/libstdc++-v3/include/bits/ranges_algo.h
*** gcc-16-20260308/libstdc++-v3/include/bits/ranges_algo.h	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/bits/ranges_algo.h	Sun Mar 15 22:32:17 2026
*************** namespace ranges
*** 1073,1079 ****
      template<input_iterator _Iter, sentinel_for<_Iter> _Sent,
  	     typename _Proj = identity,
  	     typename _Tp1 _GLIBCXX26_RANGE_ALGO_DEF_VAL_T(_Iter, _Proj),
! 	     typename _Tp2 _GLIBCXX26_DEF_VAL_T(_Tp1)>
        requires indirectly_writable<_Iter, const _Tp2&>
  	&& indirect_binary_predicate<ranges::equal_to, projected<_Iter, _Proj>,
  				     const _Tp1*>
--- 1073,1079 ----
      template<input_iterator _Iter, sentinel_for<_Iter> _Sent,
  	     typename _Proj = identity,
  	     typename _Tp1 _GLIBCXX26_RANGE_ALGO_DEF_VAL_T(_Iter, _Proj),
! 	     typename _Tp2 _GLIBCXX26_DEF_VAL_T(iter_value_t<_Iter>)>
        requires indirectly_writable<_Iter, const _Tp2&>
  	&& indirect_binary_predicate<ranges::equal_to, projected<_Iter, _Proj>,
  				     const _Tp1*>
*************** namespace ranges
*** 1091,1097 ****
      template<input_range _Range, typename _Proj = identity,
  	     typename _Tp1
  	       _GLIBCXX26_RANGE_ALGO_DEF_VAL_T(iterator_t<_Range>, _Proj),
! 	     typename _Tp2 _GLIBCXX26_DEF_VAL_T(_Tp1)>
        requires indirectly_writable<iterator_t<_Range>, const _Tp2&>
  	&& indirect_binary_predicate<ranges::equal_to,
  				     projected<iterator_t<_Range>, _Proj>,
--- 1091,1097 ----
      template<input_range _Range, typename _Proj = identity,
  	     typename _Tp1
  	       _GLIBCXX26_RANGE_ALGO_DEF_VAL_T(iterator_t<_Range>, _Proj),
! 	     typename _Tp2 _GLIBCXX26_DEF_VAL_T(range_value_t<_Range>)>
        requires indirectly_writable<iterator_t<_Range>, const _Tp2&>
  	&& indirect_binary_predicate<ranges::equal_to,
  				     projected<iterator_t<_Range>, _Proj>,
*************** namespace ranges
*** 1112,1118 ****
    {
      template<input_iterator _Iter, sentinel_for<_Iter> _Sent,
  	     typename _Proj = identity,
! 	     typename _Tp _GLIBCXX26_RANGE_ALGO_DEF_VAL_T(_Iter, _Proj),
  	     indirect_unary_predicate<projected<_Iter, _Proj>> _Pred>
        requires indirectly_writable<_Iter, const _Tp&>
        constexpr _Iter
--- 1112,1118 ----
    {
      template<input_iterator _Iter, sentinel_for<_Iter> _Sent,
  	     typename _Proj = identity,
! 	     typename _Tp _GLIBCXX26_DEF_VAL_T(iter_value_t<_Iter>),
  	     indirect_unary_predicate<projected<_Iter, _Proj>> _Pred>
        requires indirectly_writable<_Iter, const _Tp&>
        constexpr _Iter
*************** namespace ranges
*** 1127,1133 ****
  
      template<input_range _Range, typename _Proj = identity,
  	     typename _Tp
! 	       _GLIBCXX26_RANGE_ALGO_DEF_VAL_T(iterator_t<_Range>, _Proj),
  	     indirect_unary_predicate<projected<iterator_t<_Range>, _Proj>>
  	       _Pred>
        requires indirectly_writable<iterator_t<_Range>, const _Tp&>
--- 1127,1133 ----
  
      template<input_range _Range, typename _Proj = identity,
  	     typename _Tp
! 	       _GLIBCXX26_DEF_VAL_T(range_value_t<_Range>),
  	     indirect_unary_predicate<projected<iterator_t<_Range>, _Proj>>
  	       _Pred>
        requires indirectly_writable<iterator_t<_Range>, const _Tp&>
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/bits/version.def gcc-16-20260315/libstdc++-v3/include/bits/version.def
*** gcc-16-20260308/libstdc++-v3/include/bits/version.def	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/bits/version.def	Sun Mar 15 22:32:17 2026
*************** ftms = {
*** 89,94 ****
--- 89,102 ----
  };
  
  ftms = {
+   name = allocate_at_least;
+   values = {
+     v = 202302;
+     cxxmin = 23;
+   };
+ };
+ 
+ ftms = {
    name = is_null_pointer;
    values = {
      v = 201309;
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/bits/version.h gcc-16-20260315/libstdc++-v3/include/bits/version.h
*** gcc-16-20260308/libstdc++-v3/include/bits/version.h	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/bits/version.h	Sun Mar 15 22:32:20 2026
***************
*** 80,85 ****
--- 80,95 ----
  #endif /* !defined(__cpp_lib_allocator_traits_is_always_equal) */
  #undef __glibcxx_want_allocator_traits_is_always_equal
  
+ #if !defined(__cpp_lib_allocate_at_least)
+ # if (__cplusplus >= 202100L)
+ #  define __glibcxx_allocate_at_least 202302L
+ #  if defined(__glibcxx_want_all) || defined(__glibcxx_want_allocate_at_least)
+ #   define __cpp_lib_allocate_at_least 202302L
+ #  endif
+ # endif
+ #endif /* !defined(__cpp_lib_allocate_at_least) */
+ #undef __glibcxx_want_allocate_at_least
+ 
  #if !defined(__cpp_lib_is_null_pointer)
  # if (__cplusplus >= 201103L)
  #  define __glibcxx_is_null_pointer 201309L
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/debug/safe_sequence.h gcc-16-20260315/libstdc++-v3/include/debug/safe_sequence.h
*** gcc-16-20260308/libstdc++-v3/include/debug/safe_sequence.h	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/debug/safe_sequence.h	Sun Mar 15 22:32:17 2026
*************** namespace __gnu_debug
*** 110,115 ****
--- 110,119 ----
    template<typename _Sequence>
      class _Safe_sequence : public _Safe_sequence_base
      {
+       template<typename _Predicate>
+ 	void
+ 	_M_invalidate_if_impl(_Predicate __pred) const;
+ 
      public:
        /** Invalidates all iterators @c x that reference this sequence,
  	  are not singular, and for which @c __pred(x) returns @c
*************** namespace __gnu_debug
*** 117,123 ****
  	  in the safe ones. */
        template<typename _Predicate>
  	_GLIBCXX20_CONSTEXPR void
! 	_M_invalidate_if(_Predicate __pred) const;
  
        /** Transfers all iterators @c x that reference @c from sequence,
  	  are not singular, and for which @c __pred(x) returns @c
--- 121,133 ----
  	  in the safe ones. */
        template<typename _Predicate>
  	_GLIBCXX20_CONSTEXPR void
! 	_M_invalidate_if(_Predicate __pred) const
! 	{
! 	  if (std::__is_constant_evaluated())
! 	    return;
! 
! 	  _M_invalidate_if_impl(__pred);
! 	}
  
        /** Transfers all iterators @c x that reference @c from sequence,
  	  are not singular, and for which @c __pred(x) returns @c
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/debug/safe_sequence.tcc gcc-16-20260315/libstdc++-v3/include/debug/safe_sequence.tcc
*** gcc-16-20260308/libstdc++-v3/include/debug/safe_sequence.tcc	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/debug/safe_sequence.tcc	Sun Mar 15 22:32:17 2026
*************** namespace __gnu_debug
*** 33,45 ****
  {
    template<typename _Sequence>
      template<typename _Predicate>
!       _GLIBCXX20_CONSTEXPR void
        _Safe_sequence<_Sequence>::
!       _M_invalidate_if(_Predicate __pred) const
        {
- 	if (std::__is_constant_evaluated())
- 	  return;
- 
  	typedef typename _Sequence::iterator iterator;
  	typedef typename _Sequence::const_iterator const_iterator;
  
--- 33,42 ----
  {
    template<typename _Sequence>
      template<typename _Predicate>
!       void
        _Safe_sequence<_Sequence>::
!       _M_invalidate_if_impl(_Predicate __pred) const
        {
  	typedef typename _Sequence::iterator iterator;
  	typedef typename _Sequence::const_iterator const_iterator;
  
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/debug/string gcc-16-20260315/libstdc++-v3/include/debug/string
*** gcc-16-20260308/libstdc++-v3/include/debug/string	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/debug/string	Sun Mar 15 22:32:17 2026
*************** namespace __gnu_debug
*** 231,237 ****
--- 231,242 ----
  		   const _Allocator& __a = _Allocator())
        : _Base(__n, __c, __a) { }
  
+ #if __cplusplus >= 201103L
+       template<typename _InputIterator,
+ 	       typename = std::_RequireInputIter<_InputIterator>>
+ #else
        template<typename _InputIterator>
+ #endif
  	basic_string(_InputIterator __begin, _InputIterator __end,
  		     const _Allocator& __a = _Allocator())
  	: _Base(__gnu_debug::__base(
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/std/chrono gcc-16-20260315/libstdc++-v3/include/std/chrono
*** gcc-16-20260308/libstdc++-v3/include/std/chrono	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/std/chrono	Sun Mar 15 22:32:17 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 2361,2366 ****
--- 2361,2368 ----
  	    _M_ss._M_r = duration_cast<precision>(__ss).count();
  	}
  
+ 	// _GLIBCXX_RESOLVE_LIB_DEFECTS
+ 	// 4274. hh_mm_ss constructor is ill-formed for unsigned durations
  	static constexpr _Duration
  	_S_abs(_Duration __d)
  	{
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/std/format gcc-16-20260315/libstdc++-v3/include/std/format
*** gcc-16-20260308/libstdc++-v3/include/std/format	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/std/format	Sun Mar 15 22:32:17 2026
*************** namespace __format
*** 1647,1653 ****
  	  if (_M_spec._M_type == _Pres_c)
  	    return _M_format_character(_S_to_character(__i), __fc);
  
! 	  char __buf[sizeof(_Int) * __CHAR_BIT__ + 3];
  	  to_chars_result __res{};
  
  	  string_view __base_prefix;
--- 1647,1654 ----
  	  if (_M_spec._M_type == _Pres_c)
  	    return _M_format_character(_S_to_character(__i), __fc);
  
! 	  constexpr size_t __buf_size = sizeof(_Int) * __CHAR_BIT__ + 3;
! 	  char __buf[__buf_size];
  	  to_chars_result __res{};
  
  	  string_view __base_prefix;
*************** namespace __format
*** 1707,1714 ****
  	    }
  	  __start = __format::__put_sign(__i, _M_spec._M_sign, __start - 1);
  
! 	  return _M_format_int(string_view(__start, __res.ptr - __start),
! 			       __start_digits - __start, __fc);
  	}
  
        template<typename _Out>
--- 1708,1728 ----
  	    }
  	  __start = __format::__put_sign(__i, _M_spec._M_sign, __start - 1);
  
! 
! 	  string_view __narrow_str(__start, __res.ptr - __start);
! 	  size_t __prefix_len = __start_digits - __start;
! 	  if constexpr (is_same_v<char, _CharT>)
! 	    return _M_format_int(__narrow_str,  __prefix_len, __fc);
! #ifdef _GLIBCXX_USE_WCHAR_T
! 	  else
! 	    {
! 	      _CharT __wbuf[__buf_size];
! 	      size_t __n = __narrow_str.size();
! 	      std::__to_wstring_numeric(__narrow_str.data(), __n, __wbuf);
! 	      return _M_format_int(basic_string_view<_CharT>(__wbuf, __n),
! 				   __prefix_len, __fc);
! 	    }
! #endif
  	}
  
        template<typename _Out>
*************** namespace __format
*** 1795,1818 ****
  
        template<typename _Out>
  	typename basic_format_context<_Out, _CharT>::iterator
! 	_M_format_int(string_view __narrow_str, size_t __prefix_len,
  		      basic_format_context<_Out, _CharT>& __fc) const
  	{
  	  size_t __width = _M_spec._M_get_width(__fc);
- 
- 	  basic_string_view<_CharT> __str;
- 	  if constexpr (is_same_v<char, _CharT>)
- 	    __str = __narrow_str;
- #ifdef _GLIBCXX_USE_WCHAR_T
- 	  else
- 	    {
- 	      size_t __n = __narrow_str.size();
- 	      auto __p = (_CharT*)__builtin_alloca(__n * sizeof(_CharT));
- 	      std::__to_wstring_numeric(__narrow_str.data(), __n, __p);
- 	      __str = {__p, __n};
- 	    }
- #endif
- 
  	  if (_M_spec._M_localized)
  	    {
  	      const auto& __l = __fc.locale();
--- 1809,1818 ----
  
        template<typename _Out>
  	typename basic_format_context<_Out, _CharT>::iterator
! 	_M_format_int(basic_string_view<_CharT> __str, size_t __prefix_len,
  		      basic_format_context<_Out, _CharT>& __fc) const
  	{
  	  size_t __width = _M_spec._M_get_width(__fc);
  	  if (_M_spec._M_localized)
  	    {
  	      const auto& __l = __fc.locale();
*************** namespace __format
*** 2433,2439 ****
    template<__format::__char _CharT>
      struct __formatter_ptr
      {
!       __formatter_ptr() = default;
  
        constexpr
        __formatter_ptr(_Spec<_CharT> __spec) noexcept
--- 2433,2445 ----
    template<__format::__char _CharT>
      struct __formatter_ptr
      {
!       constexpr
!       __formatter_ptr() noexcept
!       : _M_spec()
!       {
! 	_M_spec._M_type = _Pres_p;
! 	_M_spec._M_alt = true;
!       }
  
        constexpr
        __formatter_ptr(_Spec<_CharT> __spec) noexcept
*************** namespace __format
*** 2483,2496 ****
  	if (*__first == 'p')
  	  {
  	    __spec._M_type = _Pres_p;
! 	    _M_spec._M_alt = !_M_spec._M_alt;
  	    ++__first;
  	  }
  #if __glibcxx_format >= 202304L
  	else if (*__first == 'P')
  	  {
  	    __spec._M_type = _Pres_P;
! 	    _M_spec._M_alt = !_M_spec._M_alt;
  	    ++__first;
  	  }
  #endif
--- 2489,2502 ----
  	if (*__first == 'p')
  	  {
  	    __spec._M_type = _Pres_p;
! 	    __spec._M_alt = !__spec._M_alt;
  	    ++__first;
  	  }
  #if __glibcxx_format >= 202304L
  	else if (*__first == 'P')
  	  {
  	    __spec._M_type = _Pres_P;
! 	    __spec._M_alt = !__spec._M_alt;
  	    ++__first;
  	  }
  #endif
*************** namespace __format
*** 2506,2562 ****
  	format(const void* __v, basic_format_context<_Out, _CharT>& __fc) const
  	{
  	  auto __u = reinterpret_cast<__UINTPTR_TYPE__>(__v);
! 	  char __buf[2 + sizeof(__v) * 2];
! 	  auto [__ptr, __ec] = std::to_chars(__buf + 2, std::end(__buf),
! 					     __u, 16);
! 	  int __n = __ptr - __buf;
! 	  __buf[0] = '0';
! 	  __buf[1] = 'x';
! #if __glibcxx_format >= 202304L
! 	  if (_M_spec._M_type == __format::_Pres_P)
! 	    {
! 	      __buf[1] = 'X';
! 	      for (auto __p = __buf + 2; __p != __ptr; ++__p)
! #if __has_builtin(__builtin_toupper)
! 		*__p = __builtin_toupper(*__p);
! #else
! 		*__p = std::toupper(*__p);
! #endif
! 	    }
! #endif
! 
! 	  basic_string_view<_CharT> __str;
! 	  if constexpr (is_same_v<_CharT, char>)
! 	    __str = string_view(__buf, __n);
! #ifdef _GLIBCXX_USE_WCHAR_T
! 	  else
! 	    {
! 	      auto __p = (_CharT*)__builtin_alloca(__n * sizeof(_CharT));
! 	      std::__to_wstring_numeric(__buf, __n, __p);
! 	      __str = wstring_view(__p, __n);
! 	    }
! #endif
! 
! #if __glibcxx_format >= 202304L
! 	  if (_M_spec._M_zero_fill)
! 	    {
! 	      size_t __width = _M_spec._M_get_width(__fc);
! 	      if (__width <= __str.size())
! 		return __format::__write(__fc.out(), __str);
! 
! 	      auto __out = __fc.out();
! 	      // Write "0x" or "0X" prefix before zero-filling.
! 	      __out = __format::__write(std::move(__out), __str.substr(0, 2));
! 	      __str.remove_prefix(2);
! 	      size_t __nfill = __width - __n;
! 	      return __format::__write_padded(std::move(__out), __str,
! 					      __format::_Align_right,
! 					      __nfill, _CharT('0'));
! 	    }
! #endif
! 
! 	  return __format::__write_padded_as_spec(__str, __n, __fc, _M_spec,
! 						  __format::_Align_right);
  	}
  
      private:
--- 2512,2518 ----
  	format(const void* __v, basic_format_context<_Out, _CharT>& __fc) const
  	{
  	  auto __u = reinterpret_cast<__UINTPTR_TYPE__>(__v);
! 	  return __formatter_int<_CharT>(_M_spec).format(__u, __fc);
  	}
  
      private:
*************** namespace __format
*** 2571,2577 ****
  	}
        }
  
!       __format::_Spec<_CharT> _M_spec{};
      };
  
  } // namespace __format
--- 2527,2533 ----
  	}
        }
  
!       __format::_Spec<_CharT> _M_spec;
      };
  
  } // namespace __format
*************** namespace __format
*** 3699,3717 ****
        }
      };
  
!   // Partial specialization for contiguous iterators.
    // No buffer is used, characters are written straight to the iterator.
    // We do not know the size of the output range, so the span size just grows
    // as needed. The end of the span might be an invalid pointer outside the
    // valid range, but we never actually call _M_span.end(). This class does
    // not introduce any invalid pointer arithmetic or overflows that would not
    // have happened anyway.
!   template<typename _CharT, contiguous_iterator _OutIter>
!     requires same_as<iter_value_t<_OutIter>, _CharT>
!     class _Iter_sink<_CharT, _OutIter> : public _Sink<_CharT>
      {
!       _OutIter _M_first;
!       iter_difference_t<_OutIter> _M_max = -1;
      protected:
        size_t _M_count = 0;
      private:
--- 3655,3673 ----
        }
      };
  
!   // Used for contiguous iterators.
    // No buffer is used, characters are written straight to the iterator.
    // We do not know the size of the output range, so the span size just grows
    // as needed. The end of the span might be an invalid pointer outside the
    // valid range, but we never actually call _M_span.end(). This class does
    // not introduce any invalid pointer arithmetic or overflows that would not
    // have happened anyway.
!   template<typename _CharT>
!     class _Ptr_sink : public _Sink<_CharT>
      {
!       static constexpr size_t _S_no_limit = size_t(-1);
! 
!       size_t _M_max;
      protected:
        size_t _M_count = 0;
      private:
*************** namespace __format
*** 3726,3732 ****
  
  	auto __s = this->_M_used();
  
! 	if (_M_max >= 0)
  	  {
  	    _M_count += __s.size();
  	    // Span was already sized for the maximum character count,
--- 3682,3688 ----
  
  	auto __s = this->_M_used();
  
! 	if (_M_max != _S_no_limit)
  	  {
  	    _M_count += __s.size();
  	    // Span was already sized for the maximum character count,
*************** namespace __format
*** 3738,3744 ****
  	  {
  	    // No maximum character count. Just extend the span to allow
  	    // writing more characters to it.
! 	    this->_M_reset({__s.data(), __s.size() + 1024}, __s.size());
  	  }
        }
  
--- 3694,3700 ----
  	  {
  	    // No maximum character count. Just extend the span to allow
  	    // writing more characters to it.
! 	    _M_rebuf(__s.data(), __s.size() + 1024, __s.size());
  	  }
        }
  
*************** namespace __format
*** 3756,3829 ****
  	auto __avail = this->_M_unused();
  	if (__n > __avail.size())
  	  {
! 	    if (_M_max >= 0)
  	      return {}; // cannot grow
  
  	    auto __s = this->_M_used();
! 	    this->_M_reset({__s.data(), __s.size() + __n}, __s.size());
  	  }
  	return { this };
        }
  
      private:
!       static span<_CharT>
!       _S_make_span(_CharT* __ptr, iter_difference_t<_OutIter> __n,
! 		   span<_CharT> __buf) noexcept
!       {
! 	if (__n == 0)
! 	  return __buf; // Only write to the internal buffer.
! 
! 	if (__n > 0)
! 	  {
! 	    if constexpr (!is_integral_v<iter_difference_t<_OutIter>>
! 			    || sizeof(__n) > sizeof(size_t))
! 	      {
! 		// __int128 or __detail::__max_diff_type
! 		auto __m = iter_difference_t<_OutIter>((size_t)-1);
! 		if (__n > __m)
! 		  __n = __m;
! 	      }
! 	    return {__ptr, (size_t)__n};
! 	  }
  
! #if __has_builtin(__builtin_dynamic_object_size)
! 	if (size_t __bytes = __builtin_dynamic_object_size(__ptr, 2))
! 	  return {__ptr, __bytes / sizeof(_CharT)};
! #endif
! 	// Avoid forming a pointer to a different memory page.
! 	const auto __off = reinterpret_cast<__UINTPTR_TYPE__>(__ptr) % 1024;
! 	__n = (1024 - __off) / sizeof(_CharT);
! 	if (__n > 0) [[likely]]
! 	  return {__ptr, static_cast<size_t>(__n)};
! 	else // Misaligned/packed buffer of wchar_t?
! 	  return {__ptr, 1};
        }
  
      public:
        explicit
!       _Iter_sink(_OutIter __out, iter_difference_t<_OutIter> __n = -1) noexcept
!       : _Sink<_CharT>(_S_make_span(std::to_address(__out), __n, _M_buf)),
! 	_M_first(__out), _M_max(__n)
!       { }
! 
!       format_to_n_result<_OutIter>
!       _M_finish() &&
        {
! 	auto __s = this->_M_used();
! 	if (__s.data() == _M_buf)
! 	  {
! 	    // Switched to internal buffer, so must have written _M_max.
! 	    iter_difference_t<_OutIter> __count(_M_count + __s.size());
! 	    return { _M_first + _M_max, __count };
! 	  }
! 	else // Not using internal buffer yet
  	  {
! 	    iter_difference_t<_OutIter> __count(__s.size());
! 	    return { _M_first + __count, __count };
  	  }
        }
      };
  
    // A sink for handling the padded outputs (_M_padwidth) or truncated
    // (_M_maxwidth). The handling is done by writting to buffer (_Str_strink)
    // until sufficient number of characters is written. After that if sequence
--- 3712,3804 ----
  	auto __avail = this->_M_unused();
  	if (__n > __avail.size())
  	  {
! 	    if (_M_max != _S_no_limit)
  	      return {}; // cannot grow
  
  	    auto __s = this->_M_used();
! 	    _M_rebuf(__s.data(), __s.size() + __n, __s.size());
  	  }
  	return { this };
        }
  
      private:
!       template<typename _IterDifference>
! 	static size_t
! 	_S_trim_max(_IterDifference __max)
! 	{
! 	  if (__max < 0)
! 	    return _S_no_limit;
! 	  if constexpr (!is_integral_v<_IterDifference> || sizeof(__max) > sizeof(size_t))
! 	    // __int128 or __detail::__max_diff_type
! 	    if (_IterDifference((size_t)-1) < __max)
! 	      return _S_no_limit;
! 	  return size_t(__max);
! 	}
  
!       [[__gnu__::__always_inline__]]
!       void
!       _M_rebuf(_CharT* __ptr, size_t __total, size_t __inuse = 0)
!       {
! 	std::span<_CharT> __span(__ptr, __total);
! 	this->_M_reset(__span, __inuse);
        }
  
      public:
        explicit
!       _Ptr_sink(_CharT* __ptr, size_t __n = _S_no_limit) noexcept
!       : _Sink<_CharT>(_M_buf), _M_max(__n)
        {
! 	if (__n == 0)
! 	  return; // Only write to the internal buffer.
! 	else if (__n != _S_no_limit)
! 	  _M_rebuf(__ptr, __n);
! #if __has_builtin(__builtin_dynamic_object_size)
! 	else if (size_t __bytes = __builtin_dynamic_object_size(__ptr, 2))
! 	  _M_rebuf(__ptr, __bytes / sizeof(_CharT));
! #endif
! 	else
  	  {
! 	    // Avoid forming a pointer to a different memory page.
! 	    const auto __off = reinterpret_cast<__UINTPTR_TYPE__>(__ptr) % 1024;
! 	    __n = (1024 - __off) / sizeof(_CharT);
! 	    if (__n > 0) [[likely]]
! 	      _M_rebuf(__ptr, __n);
! 	    else // Misaligned/packed buffer of wchar_t?
! 	      _M_rebuf(__ptr, 1);
  	  }
        }
+ 
+       template<contiguous_iterator _OutIter>
+ 	explicit
+ 	_Ptr_sink(_OutIter __out, iter_difference_t<_OutIter> __n = -1)
+ 	: _Ptr_sink(std::to_address(__out), _S_trim_max(__n))
+ 	{ }
+ 
+       template<contiguous_iterator _OutIter>
+ 	format_to_n_result<_OutIter>
+ 	_M_finish(_OutIter __first) const
+ 	{
+ 	  auto __s = this->_M_used();
+ 	  if (__s.data() == _M_buf)
+ 	    {
+ 	      // Switched to internal buffer, so must have written _M_max.
+ 	      iter_difference_t<_OutIter> __m(_M_max);
+ 	      iter_difference_t<_OutIter> __count(_M_count + __s.size());
+ 	      return { __first + __m, __count };
+ 	    }
+ 	  else // Not using internal buffer yet
+ 	    {
+ 	      iter_difference_t<_OutIter> __count(__s.size());
+ 	      return { __first + __count, __count };
+ 	    }
+ 	 }
      };
  
+   template<typename _CharT, typename _OutIter>
+     concept __contiguous_char_iter
+       = contiguous_iterator<_OutIter>
+ 	&& same_as<iter_value_t<_OutIter>, _CharT>;
+ 
    // A sink for handling the padded outputs (_M_padwidth) or truncated
    // (_M_maxwidth). The handling is done by writting to buffer (_Str_strink)
    // until sufficient number of characters is written. After that if sequence
*************** namespace __format
*** 5250,5341 ****
  		    const basic_format_args<_Context>& __args,
  		    const locale* __loc)
      {
-       _Iter_sink<_CharT, _Out> __sink(std::move(__out));
-       _Sink_iter<_CharT> __sink_out;
- 
        if constexpr (is_same_v<_Out, _Sink_iter<_CharT>>)
! 	__sink_out = __out; // Already a sink iterator, safe to use post-move.
!       else
! 	__sink_out = __sink.out();
! 
!       if constexpr (is_same_v<_CharT, char>)
! 	// Fast path for "{}" format strings and simple format arg types.
! 	if (__fmt.size() == 2 && __fmt[0] == '{' && __fmt[1] == '}')
! 	  {
! 	    bool __done = false;
! 	    __format::__visit_format_arg([&](auto& __arg) {
! 	      using _Tp = remove_cvref_t<decltype(__arg)>;
! 	      if constexpr (is_same_v<_Tp, bool>)
! 		{
! 		  size_t __len = 4 + !__arg;
! 		  const char* __chars[] = { "false", "true" };
! 		  if (auto __res = __sink_out._M_reserve(__len))
  		    {
! 		      __builtin_memcpy(__res.get(), __chars[__arg], __len);
! 		      __res._M_bump(__len);
! 		      __done = true;
  		    }
! 		}
! 	      else if constexpr (is_same_v<_Tp, char>)
! 		{
! 		  if (auto __res = __sink_out._M_reserve(1))
  		    {
! 		      *__res.get() = __arg;
! 		      __res._M_bump(1);
! 		      __done = true;
  		    }
! 		}
! 	      else if constexpr (is_integral_v<_Tp>)
! 		{
! 		  make_unsigned_t<_Tp> __uval;
! 		  const bool __neg = __arg < 0;
! 		  if (__neg)
! 		    __uval = make_unsigned_t<_Tp>(~__arg) + 1u;
! 		  else
! 		    __uval = __arg;
! 		  const auto __n = __detail::__to_chars_len(__uval);
! 		  if (auto __res = __sink_out._M_reserve(__n + __neg))
  		    {
! 		      auto __ptr = __res.get();
! 		      *__ptr = '-';
! 		      __detail::__to_chars_10_impl(__ptr + (int)__neg, __n,
! 						   __uval);
! 		      __res._M_bump(__n + __neg);
! 		      __done = true;
  		    }
! 		}
! 	      else if constexpr (is_convertible_v<_Tp, string_view>)
! 		{
! 		  string_view __sv = __arg;
! 		  if (auto __res = __sink_out._M_reserve(__sv.size()))
  		    {
! 		      __builtin_memcpy(__res.get(), __sv.data(), __sv.size());
! 		      __res._M_bump(__sv.size());
! 		      __done = true;
  		    }
! 		}
! 	    }, __args.get(0));
  
! 	    if (__done)
! 	      {
! 		if constexpr (is_same_v<_Out, _Sink_iter<_CharT>>)
! 		  return __sink_out;
! 		else
! 		  return std::move(__sink)._M_finish().out;
  	      }
- 	  }
  
!       auto __ctx = __loc == nullptr
! 		     ? _Context(__args, __sink_out)
! 		     : _Context(__args, __sink_out, *__loc);
!       _Formatting_scanner<_Sink_iter<_CharT>, _CharT> __scanner(__ctx, __fmt);
!       __scanner._M_scan();
  
!       if constexpr (is_same_v<_Out, _Sink_iter<_CharT>>)
! 	return __ctx.out();
        else
! 	return std::move(__sink)._M_finish().out;
      }
  #pragma GCC diagnostic pop
  
  } // namespace __format
--- 5225,5337 ----
  		    const basic_format_args<_Context>& __args,
  		    const locale* __loc)
      {
        if constexpr (is_same_v<_Out, _Sink_iter<_CharT>>)
! 	{
! 	  if constexpr (is_same_v<_CharT, char>)
! 	    // Fast path for "{}" format strings and simple format arg types.
! 	    if (__fmt.size() == 2 && __fmt[0] == '{' && __fmt[1] == '}')
! 	      {
! 		bool __done = false;
! 		__format::__visit_format_arg([&](auto& __arg) {
! 		  using _Tp = remove_cvref_t<decltype(__arg)>;
! 		  if constexpr (is_same_v<_Tp, bool>)
  		    {
! 		      size_t __len = 4 + !__arg;
! 		      const char* __chars[] = { "false", "true" };
! 		      if (auto __res = __out._M_reserve(__len))
! 			{
! 			  __builtin_memcpy(__res.get(), __chars[__arg], __len);
! 			  __res._M_bump(__len);
! 			  __done = true;
! 			}
  		    }
! 		  else if constexpr (is_same_v<_Tp, char>)
  		    {
! 		      if (auto __res = __out._M_reserve(1))
! 			{
! 			  *__res.get() = __arg;
! 			  __res._M_bump(1);
! 			  __done = true;
! 			}
  		    }
! 		  else if constexpr (is_integral_v<_Tp>)
  		    {
! 		      make_unsigned_t<_Tp> __uval;
! 		      const bool __neg = __arg < 0;
! 		      if (__neg)
! 			__uval = make_unsigned_t<_Tp>(~__arg) + 1u;
! 		      else
! 			__uval = __arg;
! 		      const auto __n = __detail::__to_chars_len(__uval);
! 		      if (auto __res = __out._M_reserve(__n + __neg))
! 			{
! 			  auto __ptr = __res.get();
! 			  *__ptr = '-';
! 			  __detail::__to_chars_10_impl(__ptr + (int)__neg, __n,
! 						       __uval);
! 			  __res._M_bump(__n + __neg);
! 			  __done = true;
! 			}
  		    }
! 		  else if constexpr (is_convertible_v<_Tp, string_view>)
  		    {
! 		      string_view __sv = __arg;
! 		      if (auto __res = __out._M_reserve(__sv.size()))
! 			{
! 			  __builtin_memcpy(__res.get(), __sv.data(), __sv.size());
! 			  __res._M_bump(__sv.size());
! 			  __done = true;
! 			}
  		    }
! 		}, __args.get(0));
  
! 		if (__done)
! 		  return __out;
  	      }
  
! 	  auto __ctx = __loc == nullptr
! 			 ? _Context(__args, __out)
! 			 : _Context(__args, __out, *__loc);
! 	  _Formatting_scanner<_Sink_iter<_CharT>, _CharT> __scanner(__ctx, __fmt);
! 	  __scanner._M_scan();
! 	  return __out;
! 	}
!       else if constexpr (__contiguous_char_iter<_CharT, _Out>)
! 	{
! 	  _Ptr_sink<_CharT> __sink(__out);
! 	  __format::__do_vformat_to(__sink.out(), __fmt, __args, __loc);
! 	  return std::move(__sink)._M_finish(__out).out;
! 	}
!       else
! 	{
! 	  _Iter_sink<_CharT, _Out> __sink(std::move(__out));
! 	  __format::__do_vformat_to(__sink.out(), __fmt, __args, __loc);
! 	  return std::move(__sink)._M_finish().out;
! 	}
!     }
  
!   template<typename _Out, typename _CharT>
!     format_to_n_result<_Out>
!     __do_vformat_to_n(_Out __out, iter_difference_t<_Out> __n,
! 		      basic_string_view<_CharT> __fmt,
! 		      const type_identity_t<
! 			basic_format_args<__format_context<_CharT>>>& __args,
! 		      const locale* __loc = nullptr)
!     {
!       if constexpr (__contiguous_char_iter<_CharT, _Out>)
! 	{
! 	  _Ptr_sink<_CharT> __sink(__out, __n);
! 	  __format::__do_vformat_to(__sink.out(), __fmt, __args, __loc);
! 	  return std::move(__sink)._M_finish(__out);
! 	}
        else
! 	{
! 	  _Iter_sink<_CharT, _Out> __sink(std::move(__out), __n);
! 	  __format::__do_vformat_to(__sink.out(), __fmt, __args, __loc);
! 	  return std::move(__sink)._M_finish();
! 	}
      }
+ 
  #pragma GCC diagnostic pop
  
  } // namespace __format
*************** namespace __format
*** 5541,5550 ****
      format_to_n(_Out __out, iter_difference_t<_Out> __n,
  		format_string<_Args...> __fmt, _Args&&... __args)
      {
!       __format::_Iter_sink<char, _Out> __sink(std::move(__out), __n);
!       std::vformat_to(__sink.out(), __fmt.get(),
! 		      std::make_format_args(__args...));
!       return std::move(__sink)._M_finish();
      }
  
  #ifdef _GLIBCXX_USE_WCHAR_T
--- 5537,5545 ----
      format_to_n(_Out __out, iter_difference_t<_Out> __n,
  		format_string<_Args...> __fmt, _Args&&... __args)
      {
!       return __format::__do_vformat_to_n(
! 	       std::move(__out), __n, __fmt.get(),
! 	       std::make_format_args(__args...));
      }
  
  #ifdef _GLIBCXX_USE_WCHAR_T
*************** namespace __format
*** 5554,5563 ****
      format_to_n(_Out __out, iter_difference_t<_Out> __n,
  		wformat_string<_Args...> __fmt, _Args&&... __args)
      {
!       __format::_Iter_sink<wchar_t, _Out> __sink(std::move(__out), __n);
!       std::vformat_to(__sink.out(), __fmt.get(),
! 		      std::make_wformat_args(__args...));
!       return std::move(__sink)._M_finish();
      }
  #endif
  
--- 5549,5557 ----
      format_to_n(_Out __out, iter_difference_t<_Out> __n,
  		wformat_string<_Args...> __fmt, _Args&&... __args)
      {
!       return __format::__do_vformat_to_n(
! 	       std::move(__out), __n, __fmt.get(),
! 	       std::make_wformat_args(__args...));
      }
  #endif
  
*************** namespace __format
*** 5567,5576 ****
      format_to_n(_Out __out, iter_difference_t<_Out> __n, const locale& __loc,
  		format_string<_Args...> __fmt, _Args&&... __args)
      {
!       __format::_Iter_sink<char, _Out> __sink(std::move(__out), __n);
!       std::vformat_to(__sink.out(), __loc, __fmt.get(),
! 		      std::make_format_args(__args...));
!       return std::move(__sink)._M_finish();
      }
  
  #ifdef _GLIBCXX_USE_WCHAR_T
--- 5561,5569 ----
      format_to_n(_Out __out, iter_difference_t<_Out> __n, const locale& __loc,
  		format_string<_Args...> __fmt, _Args&&... __args)
      {
!       return __format::__do_vformat_to_n(
! 	       std::move(__out), __n, __fmt.get(),
! 	       std::make_format_args(__args...), &__loc);
      }
  
  #ifdef _GLIBCXX_USE_WCHAR_T
*************** namespace __format
*** 5580,5589 ****
      format_to_n(_Out __out, iter_difference_t<_Out> __n, const locale& __loc,
  		wformat_string<_Args...> __fmt, _Args&&... __args)
      {
!       __format::_Iter_sink<wchar_t, _Out> __sink(std::move(__out), __n);
!       std::vformat_to(__sink.out(), __loc, __fmt.get(),
! 		      std::make_wformat_args(__args...));
!       return std::move(__sink)._M_finish();
      }
  #endif
  
--- 5573,5581 ----
      format_to_n(_Out __out, iter_difference_t<_Out> __n, const locale& __loc,
  		wformat_string<_Args...> __fmt, _Args&&... __args)
      {
!       return __format::__do_vformat_to_n(
! 	       std::move(__out), __n, __fmt.get(),
! 	       std::make_wformat_args(__args...), &__loc);
      }
  #endif
  
*************** namespace __format
*** 5592,5601 ****
  {
  #if 1
    template<typename _CharT>
!     class _Counting_sink final : public _Iter_sink<_CharT, _CharT*>
      {
      public:
!       _Counting_sink() : _Iter_sink<_CharT, _CharT*>(nullptr, 0) { }
  
        [[__gnu__::__always_inline__]]
        size_t
--- 5584,5593 ----
  {
  #if 1
    template<typename _CharT>
!     class _Counting_sink final : public _Ptr_sink<_CharT>
      {
      public:
!       _Counting_sink() : _Ptr_sink<_CharT>(nullptr, 0) { }
  
        [[__gnu__::__always_inline__]]
        size_t
*************** namespace __format
*** 5722,5740 ****
  		    _Callback&& __call)
      {
        if constexpr (is_same_v<_Out, _Drop_iter<_CharT>>)
!         return __fc.out();
        else
!         {
!           // This is required to implement formatting with padding,
!           // as we need to format to temporary buffer, using the same iterator.
!           static_assert(is_same_v<_Out, _Sink_iter<_CharT>>);
  
!          const size_t __padwidth = __spec._M_get_width(__fc);
!          if (__padwidth == 0)
  	   return __call(__fc);
  
!          struct _Restore_out
!          {
  	   _Restore_out(basic_format_context<_Sink_iter<_CharT>, _CharT>& __fc)
  	   : _M_ctx(std::addressof(__fc)), _M_out(__fc.out())
  	  { }
--- 5714,5732 ----
  		    _Callback&& __call)
      {
        if constexpr (is_same_v<_Out, _Drop_iter<_CharT>>)
! 	return __fc.out();
        else
! 	{
! 	  // This is required to implement formatting with padding,
! 	  // as we need to format to temporary buffer, using the same iterator.
! 	  static_assert(is_same_v<_Out, _Sink_iter<_CharT>>);
  
! 	 const size_t __padwidth = __spec._M_get_width(__fc);
! 	 if (__padwidth == 0)
  	   return __call(__fc);
  
! 	 struct _Restore_out
! 	 {
  	   _Restore_out(basic_format_context<_Sink_iter<_CharT>, _CharT>& __fc)
  	   : _M_ctx(std::addressof(__fc)), _M_out(__fc.out())
  	  { }
*************** namespace __format
*** 5749,5766 ****
  	      _M_ctx->advance_to(_M_out);
  	  }
  
!         private:
  	  basic_format_context<_Sink_iter<_CharT>, _CharT>* _M_ctx;
  	  _Sink_iter<_CharT> _M_out;
!         };
  
!         _Restore_out __restore(__fc);
!         _Padding_sink<_Sink_iter<_CharT>, _CharT> __sink(__fc.out(), __padwidth);
!         __fc.advance_to(__sink.out());
!         __call(__fc);
!         __fc.advance_to(__sink._M_finish(__spec._M_align, __spec._M_fill));
!         __restore._M_disarm();
!         return __fc.out();
        }
      }
  
--- 5741,5758 ----
  	      _M_ctx->advance_to(_M_out);
  	  }
  
! 	private:
  	  basic_format_context<_Sink_iter<_CharT>, _CharT>* _M_ctx;
  	  _Sink_iter<_CharT> _M_out;
! 	};
  
! 	_Restore_out __restore(__fc);
! 	_Padding_sink<_Sink_iter<_CharT>, _CharT> __sink(__fc.out(), __padwidth);
! 	__fc.advance_to(__sink.out());
! 	__call(__fc);
! 	__fc.advance_to(__sink._M_finish(__spec._M_align, __spec._M_fill));
! 	__restore._M_disarm();
! 	return __fc.out();
        }
      }
  
*************** namespace __format
*** 5973,5979 ****
    template<typename _Fp, typename _Sp>
      constexpr bool enable_nonlocking_formatter_optimization<pair<_Fp, _Sp>>
        = enable_nonlocking_formatter_optimization<remove_cvref_t<_Fp>>
!         && enable_nonlocking_formatter_optimization<remove_cvref_t<_Sp>>;
  #endif
  
    template<__format::__char _CharT, formattable<_CharT>... _Tps>
--- 5965,5971 ----
    template<typename _Fp, typename _Sp>
      constexpr bool enable_nonlocking_formatter_optimization<pair<_Fp, _Sp>>
        = enable_nonlocking_formatter_optimization<remove_cvref_t<_Fp>>
! 	&& enable_nonlocking_formatter_optimization<remove_cvref_t<_Sp>>;
  #endif
  
    template<__format::__char _CharT, formattable<_CharT>... _Tps>
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/std/memory gcc-16-20260315/libstdc++-v3/include/std/memory
*** gcc-16-20260308/libstdc++-v3/include/std/memory	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/std/memory	Sun Mar 15 22:32:17 2026
***************
*** 125,130 ****
--- 125,131 ----
  #define __glibcxx_want_to_address
  #define __glibcxx_want_transparent_operators
  #define __glibcxx_want_smart_ptr_owner_equality
+ #define __glibcxx_want_allocate_at_least
  #include <bits/version.h>
  
  #if __cplusplus >= 201103L && __cplusplus <= 202002L && _GLIBCXX_HOSTED
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/std/meta gcc-16-20260315/libstdc++-v3/include/std/meta
*** gcc-16-20260308/libstdc++-v3/include/std/meta	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/std/meta	Sun Mar 15 22:32:17 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 120,126 ****
  	// from UTF-8 to ordinary literal encoding failed.
  	// In that case what() should be non-constant.
  	if (_M_what.size() == 0 && _M_u8what.size() != 0)
! 	  asm("");
  	return _M_what.c_str();
        }
        consteval u8string_view u8what() const noexcept { return _M_u8what; }
--- 120,133 ----
  	// from UTF-8 to ordinary literal encoding failed.
  	// In that case what() should be non-constant.
  	if (_M_what.size() == 0 && _M_u8what.size() != 0)
! #if __has_builtin(__builtin_constexpr_diag)
! 	  __builtin_constexpr_diag (2, "",
! 				    "std::meta::exception message could not "
! 				    "be successfully transcoded from UTF-8 to "
! 				    "ordinary literal encoding");
! #else
! 	  __asm__("");
! #endif
  	return _M_what.c_str();
        }
        consteval u8string_view u8what() const noexcept { return _M_u8what; }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 591,597 ****
      access_context::via(info __cls) const
      {
        if (__cls != info {}
! 	  && (!std::meta::is_class_type(__cls)
  	      || !std::meta::is_complete_type(__cls)))
  	{
  #if __cpp_exceptions
--- 598,605 ----
      access_context::via(info __cls) const
      {
        if (__cls != info {}
! 	  && (!std::meta::is_type(__cls)
! 	      || !std::meta::is_class_type(__cls)
  	      || !std::meta::is_complete_type(__cls)))
  	{
  #if __cpp_exceptions
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 599,605 ****
  				       "or complete class type reflection",
  				     ^^access_context::via);
  #else
! 	  asm("");
  	  return *this;
  #endif
  	}
--- 607,620 ----
  				       "or complete class type reflection",
  				     ^^access_context::via);
  #else
! #if __has_builtin(__builtin_constexpr_diag)
! 	  __builtin_constexpr_diag (2, "",
! 				    "std::meta::access_context::via argument "
! 				    "other than null or complete class type "
! 				    "reflection");
! #else
! 	  __asm__("");
! #endif
  	  return *this;
  #endif
  	}
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 642,649 ****
  	  return std::addressof(meta::extract<const _Up&>(__cst));
  	}
        else
! 	return std::define_static_array(span<const _Up>(std::addressof(__t),
! 							1)).data();
      }
  
  _GLIBCXX_END_NAMESPACE_VERSION
--- 657,663 ----
  	  return std::addressof(meta::extract<const _Up&>(__cst));
  	}
        else
! 	return std::define_static_array(span(std::addressof(__t), 1)).data();
      }
  
  _GLIBCXX_END_NAMESPACE_VERSION
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/std/span gcc-16-20260315/libstdc++-v3/include/std/span
*** gcc-16-20260308/libstdc++-v3/include/std/span	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/std/span	Sun Mar 15 22:32:17 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 517,523 ****
--- 517,526 ----
      span(_Range &&)
        -> span<remove_reference_t<ranges::range_reference_t<_Range&>>>;
  
+   // _GLIBCXX_RESOLVE_LIB_DEFECTS
+   // 4243. as_bytes/as_writable_bytes is broken with span<volatile T>
    template<typename _Type, size_t _Extent>
+     requires (!is_volatile_v<_Type>)
      [[nodiscard]]
      inline
      span<const byte, _Extent == dynamic_extent
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 532,538 ****
      }
  
    template<typename _Type, size_t _Extent>
!     requires (!is_const_v<_Type>)
      inline
      span<byte, _Extent == dynamic_extent
         ? dynamic_extent : _Extent * sizeof(_Type)>
--- 535,541 ----
      }
  
    template<typename _Type, size_t _Extent>
!     requires (!is_const_v<_Type> && !is_volatile_v<_Type>)
      inline
      span<byte, _Extent == dynamic_extent
         ? dynamic_extent : _Extent * sizeof(_Type)>
diff -Nrcpad gcc-16-20260308/libstdc++-v3/include/std/text_encoding gcc-16-20260315/libstdc++-v3/include/std/text_encoding
*** gcc-16-20260308/libstdc++-v3/include/std/text_encoding	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/include/std/text_encoding	Sun Mar 15 22:32:17 2026
***************
*** 38,44 ****
  #define __glibcxx_want_text_encoding
  #include <bits/version.h>
  
! #ifdef __cpp_lib_text_encoding
  #include <compare>
  #include <string_view>
  #include <bits/functional_hash.h> // hash
--- 38,44 ----
  #define __glibcxx_want_text_encoding
  #include <bits/version.h>
  
! #ifdef __cpp_lib_text_encoding // >= C++26
  #include <compare>
  #include <string_view>
  #include <bits/functional_hash.h> // hash
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 53,59 ****
    /**
     * @brief An interface for accessing the IANA Character Sets registry.
     * @ingroup locales
!    * @since C++23
     */
    struct text_encoding
    {
--- 53,59 ----
    /**
     * @brief An interface for accessing the IANA Character Sets registry.
     * @ingroup locales
!    * @since C++26
     */
    struct text_encoding
    {
diff -Nrcpad gcc-16-20260308/libstdc++-v3/src/c++20/atomic.cc gcc-16-20260315/libstdc++-v3/src/c++20/atomic.cc
*** gcc-16-20260308/libstdc++-v3/src/c++20/atomic.cc	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/src/c++20/atomic.cc	Sun Mar 15 22:32:17 2026
***************
*** 27,33 ****
  #if __glibcxx_atomic_wait
  #include <atomic>
  #include <bits/atomic_timed_wait.h>
! #include <cstdint> // uint32_t, uint64_t
  #include <climits> // INT_MAX
  #include <cerrno>  // errno, ETIMEDOUT, etc.
  #include <bits/std_mutex.h>  // std::mutex, std::__condvar
--- 27,33 ----
  #if __glibcxx_atomic_wait
  #include <atomic>
  #include <bits/atomic_timed_wait.h>
! #include <cstdint> // uint32_t, uint64_t, uintptr_t
  #include <climits> // INT_MAX
  #include <cerrno>  // errno, ETIMEDOUT, etc.
  #include <bits/std_mutex.h>  // std::mutex, std::__condvar
***************
*** 39,44 ****
--- 39,49 ----
  # include <unistd.h>
  # include <sys/time.h> // timespec
  # define _GLIBCXX_HAVE_PLATFORM_WAIT 1
+ #elif defined __FreeBSD__ && __FreeBSD__ >= 11 && __SIZEOF_LONG__ == 8
+ # include <sys/types.h>
+ # include <sys/umtx.h>
+ # include <sys/time.h>
+ # define _GLIBCXX_HAVE_PLATFORM_WAIT 1
  #endif
  
  #pragma GCC diagnostic ignored "-Wmissing-field-initializers"
*************** namespace
*** 87,92 ****
--- 92,104 ----
  			__wait_clock_t::time_point timeout,
  			int obj_size) = delete;
  
+   // This is needed even when we don't have __platform_wait
+   [[gnu::always_inline]]
+   inline __wait_value_type
+   __platform_load(const __platform_wait_t* addr, int memory_order,
+ 		  int /* obj_sz */) noexcept
+   { return __atomic_load_n(addr, memory_order); }
+ 
  #elif defined _GLIBCXX_HAVE_LINUX_FUTEX
  
    const int futex_private_flag = 128;
*************** namespace
*** 136,141 ****
--- 148,215 ----
        }
      return true;
    }
+ 
+   [[gnu::always_inline]]
+   inline __wait_value_type
+   __platform_load(const int* addr, int order, int /* obj_sz */) noexcept
+   { return __atomic_load_n(addr, order); }
+ 
+ #elif defined __FreeBSD__ && __SIZEOF_LONG__ == 8
+   [[gnu::always_inline]]
+   inline int
+   wait_op(int obj_sz) noexcept
+   { return obj_sz == sizeof(unsigned) ? UMTX_OP_WAIT_UINT : UMTX_OP_WAIT; }
+ 
+   void
+   __platform_wait(const void* addr, uint64_t val, int obj_sz) noexcept
+   {
+     if (_umtx_op(const_cast<void*>(addr), wait_op(obj_sz), val,
+ 		 nullptr, nullptr))
+       if (errno != EINTR)
+ 	__throw_system_error(errno);
+   }
+ 
+   void
+   __platform_notify(const void* addr, bool all, int /* obj_sz */) noexcept
+   {
+     const int count = all ? INT_MAX : 1;
+     _umtx_op(const_cast<void*>(addr), UMTX_OP_WAKE, count, nullptr, nullptr);
+   }
+ 
+   // returns true if wait ended before timeout
+   bool
+   __platform_wait_until(const void* addr, uint64_t val,
+ 			const __wait_clock_t::time_point& atime,
+ 			int obj_sz) noexcept
+   {
+     struct _umtx_time timeout = {
+       ._timeout = chrono::__to_timeout_timespec(atime),
+       ._flags = UMTX_ABSTIME,
+       ._clockid = CLOCK_MONOTONIC
+     };
+     // _umtx_op hangs if timeout._timeout is {0, 0}
+     if (atime.time_since_epoch() < chrono::nanoseconds(1))
+       return false;
+     constexpr uintptr_t timeout_sz = sizeof(timeout);
+     if (_umtx_op(const_cast<void*>(addr), wait_op(obj_sz), val,
+ 		 (void*)timeout_sz, &timeout))
+       {
+ 	if (errno == ETIMEDOUT)
+ 	  return false;
+ 	if (errno != EINTR)
+ 	  __throw_system_error(errno);
+       }
+     return true;
+   }
+ 
+   [[gnu::always_inline]]
+   inline __wait_value_type
+   __platform_load(const void* addr, int order, int obj_sz) noexcept
+   {
+     if (obj_sz == sizeof(long))
+       return __atomic_load_n(static_cast<const long*>(addr), order);
+     return __atomic_load_n(static_cast<const unsigned*>(addr), order);
+   }
  #endif // HAVE_PLATFORM_WAIT
  
    // The state used by atomic waiting and notifying functions.
*************** namespace
*** 259,265 ****
      __wait_value_type wval;
      for (auto i = 0; i < atomic_spin_count; ++i)
        {
! 	wval = __atomic_load_n(addr, args._M_order);
  	if (wval != args._M_old)
  	  return { ._M_val = wval, ._M_has_val = true, ._M_timeout = false };
  	if (i < atomic_spin_count_relax)
--- 333,339 ----
      __wait_value_type wval;
      for (auto i = 0; i < atomic_spin_count; ++i)
        {
! 	wval = __platform_load(addr, args._M_order, args._M_obj_size);
  	if (wval != args._M_old)
  	  return { ._M_val = wval, ._M_has_val = true, ._M_timeout = false };
  	if (i < atomic_spin_count_relax)
diff -Nrcpad gcc-16-20260308/libstdc++-v3/testsuite/17_intro/names.cc gcc-16-20260315/libstdc++-v3/testsuite/17_intro/names.cc
*** gcc-16-20260308/libstdc++-v3/testsuite/17_intro/names.cc	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/testsuite/17_intro/names.cc	Sun Mar 15 22:32:17 2026
***************
*** 153,158 ****
--- 153,162 ----
  # define __unused		cannot be used as an identifier
  # define __used			cannot be used as an identifier
  
+ // These are function-like macros in mingw stdlib.h
+ #define __min(A,B)              cannot use __min with parentheses
+ #define __max(A,B)              cannot use __max with parentheses
+ 
  #ifndef __APPLE__
  #define __weak   predefined qualifier on darwin
  #define __strong predefined qualifier on darwin
diff -Nrcpad gcc-16-20260308/libstdc++-v3/testsuite/20_util/allocator/allocate_at_least.cc gcc-16-20260315/libstdc++-v3/testsuite/20_util/allocator/allocate_at_least.cc
*** gcc-16-20260308/libstdc++-v3/testsuite/20_util/allocator/allocate_at_least.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/libstdc++-v3/testsuite/20_util/allocator/allocate_at_least.cc	Sun Mar 15 22:32:17 2026
***************
*** 0 ****
--- 1,65 ----
+ // { dg-do run { target c++23 } }
+ 
+ #include <memory>
+ #include <testsuite_hooks.h>
+ 
+ struct X { int i = 0; };
+ 
+ template <typename T>
+   struct A : std::allocator<T>
+   {
+     using Base = std::allocator<T>;
+ 
+     std::allocation_result<T*, size_t>
+     allocate_at_least(std::size_t n)
+       { return { this->Base::allocate(2*n), 2*n }; }
+   };
+ 
+ template <typename T>
+   struct M : std::allocator<T>
+   {
+     using Base = std::allocator<T>;
+     T* allocate_at_least(size_t n) = delete;
+ 
+     T* keep;
+     T* allocate(std::size_t n)
+       {
+ 	keep = this->Base::allocate(n);
+ 	return keep;
+       }
+   };
+ 
+ int main()
+ {
+   std::allocator<X> native;
+   auto a1 = native.allocate_at_least(100);
+   static_assert(std::is_same_v<decltype(a1), std::allocation_result<X*>>);
+   VERIFY(a1.count == 100);
+   native.deallocate(a1.ptr, a1.count);
+ 
+   using std_traits = std::allocator_traits<std::allocator<X>>;
+   auto a2 = std_traits::allocate_at_least(native, 100);
+   static_assert(std::is_same_v<decltype(a2), std::allocation_result<X*>>);
+   VERIFY(a2.count == 100);
+   std_traits::deallocate(native, a2.ptr, a2.count);
+ 
+   A<X> custom;
+   auto a3 = custom.allocate_at_least(100);
+   static_assert(std::is_same_v<decltype(a3), std::allocation_result<X*>>);
+   VERIFY(a3.count == 200);
+   custom.deallocate(a3.ptr, a3.count);
+ 
+   using custom_traits = std::allocator_traits<A<X>>;
+   auto a4 = custom_traits::allocate_at_least(custom, 100);
+   static_assert(std::is_same_v<decltype(a4), std::allocation_result<X*>>);
+   VERIFY(a4.count == 200);
+   custom_traits::deallocate(custom, a4.ptr, a4.count);
+ 
+   M<X> minimal;
+   using minimal_traits = std::allocator_traits<M<X>>;
+   auto a5 = minimal_traits::allocate_at_least(minimal, 100);
+   static_assert(std::is_same_v<decltype(a5), std::allocation_result<X*>>);
+   VERIFY(a5.count == 100);
+   VERIFY(a5.ptr == minimal.keep);
+   minimal_traits::deallocate(minimal, a5.ptr, a5.count);
+ }
diff -Nrcpad gcc-16-20260308/libstdc++-v3/testsuite/20_util/allocator/allocate_at_least_neg.cc gcc-16-20260315/libstdc++-v3/testsuite/20_util/allocator/allocate_at_least_neg.cc
*** gcc-16-20260308/libstdc++-v3/testsuite/20_util/allocator/allocate_at_least_neg.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/libstdc++-v3/testsuite/20_util/allocator/allocate_at_least_neg.cc	Sun Mar 15 22:32:17 2026
***************
*** 0 ****
--- 1,22 ----
+ // { dg-do compile { target c++23 } }
+ 
+ #include <memory>
+ #include <testsuite_hooks.h>
+ 
+ template <typename T>
+   struct A : std::allocator<T>
+   {
+     using Base = std::allocator<T>;
+     std::allocation_result<T*> allocate_at_least(size_t) = delete;
+     T* allocate(std::size_t n) { return this->Base::allocate(n); }
+   };
+ 
+ struct incomplete;
+ 
+ int main()
+ {
+   A<incomplete> a;
+   using traits = std::allocator_traits<A<incomplete>>;
+   (void) traits::allocate_at_least(a, 1); // { dg-error "from here" }
+   // { dg-error "incomplete type" "" { target { *-*-* } } 0 }
+ }
diff -Nrcpad gcc-16-20260308/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left.cc gcc-16-20260315/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left.cc
*** gcc-16-20260308/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left.cc	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left.cc	Sun Mar 15 22:32:17 2026
***************
*** 1,4 ****
--- 1,5 ----
  // { dg-do run { target c++26 } }
+ // { dg-timeout-factor 4 }
  #include "testcases.h"
  
  int
diff -Nrcpad gcc-16-20260308/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left_padded.cc gcc-16-20260315/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left_padded.cc
*** gcc-16-20260308/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left_padded.cc	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/left_padded.cc	Sun Mar 15 22:32:17 2026
***************
*** 1,5 ****
  // { dg-do run { target c++26 } }
! // { dg-timeout-factor 2 }
  #include "testcases.h"
  
  int
--- 1,5 ----
  // { dg-do run { target c++26 } }
! // { dg-timeout-factor 4 }
  #include "testcases.h"
  
  int
diff -Nrcpad gcc-16-20260308/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right.cc gcc-16-20260315/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right.cc
*** gcc-16-20260308/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right.cc	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right.cc	Sun Mar 15 22:32:17 2026
***************
*** 1,4 ****
--- 1,5 ----
  // { dg-do run { target c++26 } }
+ // { dg-timeout-factor 4 }
  #include "testcases.h"
  
  int
diff -Nrcpad gcc-16-20260308/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right_padded.cc gcc-16-20260315/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right_padded.cc
*** gcc-16-20260308/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right_padded.cc	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/right_padded.cc	Sun Mar 15 22:32:17 2026
***************
*** 1,5 ****
  // { dg-do run { target c++26 } }
! // { dg-timeout-factor 2 }
  #include "testcases.h"
  
  int
--- 1,5 ----
  // { dg-do run { target c++26 } }
! // { dg-timeout-factor 4 }
  #include "testcases.h"
  
  int
diff -Nrcpad gcc-16-20260308/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/stride.cc gcc-16-20260315/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/stride.cc
*** gcc-16-20260308/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/stride.cc	Sun Mar  8 22:32:15 2026
--- gcc-16-20260315/libstdc++-v3/testsuite/23_containers/mdspan/submdspan/selections/stride.cc	Sun Mar 15 22:32:17 2026
***************
*** 1,4 ****
--- 1,5 ----
  // { dg-do run { target c++26 } }
+ // { dg-timeout-factor 4 }
  #include "testcases.h"
  
  int
diff -Nrcpad gcc-16-20260308/libstdc++-v3/testsuite/23_containers/span/lwg4243.cc gcc-16-20260315/libstdc++-v3/testsuite/23_containers/span/lwg4243.cc
*** gcc-16-20260308/libstdc++-v3/testsuite/23_containers/span/lwg4243.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/libstdc++-v3/testsuite/23_containers/span/lwg4243.cc	Sun Mar 15 22:32:17 2026
***************
*** 0 ****
--- 1,31 ----
+ // { dg-do compile { target c++20 } }
+ 
+ // LWG 4243. as_bytes/as_writable_bytes is broken with span<volatile T>
+ 
+ #include <span>
+ 
+ template<typename ElementType, std::size_t Extent = std::dynamic_extent>
+ concept can_call_as_bytes
+   = requires (std::span<ElementType, Extent> s) { std::as_bytes(s); };
+ 
+ static_assert( can_call_as_bytes<int> );
+ static_assert( can_call_as_bytes<int, 10> );
+ static_assert( can_call_as_bytes<const int> );
+ static_assert( can_call_as_bytes<const int, 10> );
+ static_assert( ! can_call_as_bytes<volatile int> );
+ static_assert( ! can_call_as_bytes<volatile int, 10> );
+ static_assert( ! can_call_as_bytes<const volatile int> );
+ static_assert( ! can_call_as_bytes<const volatile int, 10> );
+ 
+ template<typename ElementType, std::size_t Extent = std::dynamic_extent>
+ concept can_call_as_writable_bytes
+   = requires (std::span<ElementType, Extent> s) { std::as_writable_bytes(s); };
+ 
+ static_assert( can_call_as_writable_bytes<int> );
+ static_assert( can_call_as_writable_bytes<int, 10> );
+ static_assert( ! can_call_as_writable_bytes<const int> );
+ static_assert( ! can_call_as_writable_bytes<const int, 10> );
+ static_assert( ! can_call_as_writable_bytes<volatile int> );
+ static_assert( ! can_call_as_writable_bytes<volatile int, 10> );
+ static_assert( ! can_call_as_writable_bytes<const volatile int> );
+ static_assert( ! can_call_as_writable_bytes<const volatile int, 10> );
diff -Nrcpad gcc-16-20260308/libstdc++-v3/testsuite/25_algorithms/replace/lwg4444.cc gcc-16-20260315/libstdc++-v3/testsuite/25_algorithms/replace/lwg4444.cc
*** gcc-16-20260308/libstdc++-v3/testsuite/25_algorithms/replace/lwg4444.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/libstdc++-v3/testsuite/25_algorithms/replace/lwg4444.cc	Sun Mar 15 22:32:17 2026
***************
*** 0 ****
--- 1,30 ----
+ // { dg-do run { target c++26 } }
+ 
+ // LWG 4444. Fix default template arguments for ranges::replace [...]
+ 
+ #include <algorithm>
+ #include <testsuite_hooks.h>
+ 
+ struct S { int i; int j; };
+ 
+ void
+ test_replace_iters()
+ {
+   S s[2] = { {10, 11}, {20, 22} };
+   std::ranges::replace(s, s+2, 20, {30, 33}, &S::i);
+   VERIFY( s[1].j == 33 );
+ }
+ 
+ void
+ test_replace_range()
+ {
+   S s[2] = { {10, 11}, {20, 22} };
+   std::ranges::replace(s, 20, {40, 44}, &S::i);
+   VERIFY( s[1].j == 44 );
+ }
+ 
+ int main()
+ {
+   test_replace_iters();
+   test_replace_range();
+ }
diff -Nrcpad gcc-16-20260308/libstdc++-v3/testsuite/25_algorithms/replace_if/lwg4444.cc gcc-16-20260315/libstdc++-v3/testsuite/25_algorithms/replace_if/lwg4444.cc
*** gcc-16-20260308/libstdc++-v3/testsuite/25_algorithms/replace_if/lwg4444.cc	Thu Jan  1 00:00:00 1970
--- gcc-16-20260315/libstdc++-v3/testsuite/25_algorithms/replace_if/lwg4444.cc	Sun Mar 15 22:32:17 2026
***************
*** 0 ****
--- 1,31 ----
+ // { dg-do run { target c++26 } }
+ 
+ // LWG 4444. Fix default template arguments for [...] ranges::replace_if
+ 
+ #include <algorithm>
+ #include <testsuite_hooks.h>
+ 
+ struct S { int i; int j; };
+ auto twenty = [](int i) { return i == 20; };
+ 
+ void
+ test_replace_if_iters()
+ {
+   S s[2] = { {10, 11}, {20, 22} };
+   std::ranges::replace_if(s, s+2, twenty, {30, 33}, &S::i);
+   VERIFY( s[1].j == 33 );
+ }
+ 
+ void
+ test_replace_if_range()
+ {
+   S s[2] = { {10, 11}, {20, 22} };
+   std::ranges::replace_if(s, twenty, {40, 44}, &S::i);
+   VERIFY( s[1].j == 44 );
+ }
+ 
+ int main()
+ {
+   test_replace_if_iters();
+   test_replace_if_range();
+ }
