diff -Nrcpad gcc-15-20260124/LAST_UPDATED gcc-15-20260131/LAST_UPDATED
*** gcc-15-20260124/LAST_UPDATED	Sat Jan 24 22:32:18 2026
--- gcc-15-20260131/LAST_UPDATED	Sat Jan 31 22:32:19 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision 8df4ee53f257fbf67fb2d08f3c4e239dc266ba2c
--- 1 ----
! Obtained from git: releases/gcc-15 revision f0f35f35e3a96dc15bd242e0bbb1db0096b8213f
diff -Nrcpad gcc-15-20260124/MD5SUMS gcc-15-20260131/MD5SUMS
*** gcc-15-20260124/MD5SUMS	Sat Jan 24 22:32:22 2026
--- gcc-15-20260131/MD5SUMS	Sat Jan 31 22:32:24 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20260124.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-15-20260131.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
*** 25,31 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 9a047263cea0a1023eb13f6e3741509c  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 6e35c2f4a58118f16189494231375bb9  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
*************** a22e70b3f29292d0e628450f4bb11e62  fixinc
*** 514,520 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 493817ec62348f064d9028e8fd7b3332  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
--- 514,520 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 66a084f4b5574298067bb87a6e67bfe7  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 551,557 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 5ca48300fc425d6b48bd9005b187336f  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 551,557 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! ead3a2bf040bc883aad38690642b535f  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ec6799501b2eb2923d5de6a66169dbd2  gcc/ON
*** 563,569 ****
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! 91e3ddd6e4c261cd6f3d1a62a5bea70a  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
--- 563,569 ----
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! ad330666b72ba316e1688e63666dbe7f  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
*************** ae344bff4834b9e2ef3c07f6dd01b59b  gcc/ad
*** 653,659 ****
  530290230985903c593cb9d92f5b47c8  gcc/ada/cal.c
  2acfb74c50c4563afcbe6a1bca3912a3  gcc/ada/casing.adb
  c576df64e1d6a2ac70b389cc10a835e6  gcc/ada/casing.ads
! de196fcd8bfd5f24501056cf73eb36fb  gcc/ada/checks.adb
  f963647952269416533799c6a5117ea3  gcc/ada/checks.ads
  4c0942bba88f786dffff9a3575759026  gcc/ada/cio.c
  f14d5e59f3344d9d8ee8a0e5e48a7080  gcc/ada/clean.adb
--- 653,659 ----
  530290230985903c593cb9d92f5b47c8  gcc/ada/cal.c
  2acfb74c50c4563afcbe6a1bca3912a3  gcc/ada/casing.adb
  c576df64e1d6a2ac70b389cc10a835e6  gcc/ada/casing.ads
! 92a07149f712b22fb9c3ba3ceb5c145f  gcc/ada/checks.adb
  f963647952269416533799c6a5117ea3  gcc/ada/checks.ads
  4c0942bba88f786dffff9a3575759026  gcc/ada/cio.c
  f14d5e59f3344d9d8ee8a0e5e48a7080  gcc/ada/clean.adb
*************** ad6d5aa3f46cecc1cc7e6f14db186364  gcc/ad
*** 796,802 ****
  116919038aa6e7d0ec9ce9ab609f0bc2  gcc/ada/exp_dist.ads
  c5ca94cffafc304193b3e436bceb3fb3  gcc/ada/exp_fixd.adb
  9633ee578c6cb9ea5577a5cade68bdcc  gcc/ada/exp_fixd.ads
! 950e359997abe1b839b8fad4caafad05  gcc/ada/exp_imgv.adb
  9fc56117157205ad4de1209b42148d67  gcc/ada/exp_imgv.ads
  9f1bbeb12a811457cfb88a7e17ca9740  gcc/ada/exp_intr.adb
  923affd79668e065bae4808313b11bf9  gcc/ada/exp_intr.ads
--- 796,802 ----
  116919038aa6e7d0ec9ce9ab609f0bc2  gcc/ada/exp_dist.ads
  c5ca94cffafc304193b3e436bceb3fb3  gcc/ada/exp_fixd.adb
  9633ee578c6cb9ea5577a5cade68bdcc  gcc/ada/exp_fixd.ads
! 167a195d76a1493bfa2c789250e5b9ea  gcc/ada/exp_imgv.adb
  9fc56117157205ad4de1209b42148d67  gcc/ada/exp_imgv.ads
  9f1bbeb12a811457cfb88a7e17ca9740  gcc/ada/exp_intr.adb
  923affd79668e065bae4808313b11bf9  gcc/ada/exp_intr.ads
*************** c5ca94cffafc304193b3e436bceb3fb3  gcc/ad
*** 804,811 ****
  0e4de6363c3876604fc8fa97e180ddcf  gcc/ada/exp_pakd.ads
  d5272b91cd7a6980710ec6f6981d62c1  gcc/ada/exp_prag.adb
  044c8a4d86db8fbb4eaa241c597290a7  gcc/ada/exp_prag.ads
! b61432cee386ac03cd10d81b49d92bc4  gcc/ada/exp_put_image.adb
! c0f39ee1d515a13193e5726a49291c99  gcc/ada/exp_put_image.ads
  e224b65ac653dc73160c1665f825b557  gcc/ada/exp_sel.adb
  adda0da8d4f449351c0486c3277f39bd  gcc/ada/exp_sel.ads
  624e684a9e8c068e4ad7dc5d3a3eb244  gcc/ada/exp_smem.adb
--- 804,811 ----
  0e4de6363c3876604fc8fa97e180ddcf  gcc/ada/exp_pakd.ads
  d5272b91cd7a6980710ec6f6981d62c1  gcc/ada/exp_prag.adb
  044c8a4d86db8fbb4eaa241c597290a7  gcc/ada/exp_prag.ads
! fb90ac7635c98fabd1180669de3fe664  gcc/ada/exp_put_image.adb
! ff12c6bb781bf3090c35650fb5954a87  gcc/ada/exp_put_image.ads
  e224b65ac653dc73160c1665f825b557  gcc/ada/exp_sel.adb
  adda0da8d4f449351c0486c3277f39bd  gcc/ada/exp_sel.ads
  624e684a9e8c068e4ad7dc5d3a3eb244  gcc/ada/exp_smem.adb
*************** bfe4748123d415f6eb13d89a585468f1  gcc/ad
*** 2920,2926 ****
  88daa5c9b6e135316b52695cae25a496  gcc/ada/sem_case.ads
  84667b3de209c0b04f82a349c6125ab0  gcc/ada/sem_cat.adb
  e364f4e3ae92066699cc93a8f7b828c1  gcc/ada/sem_cat.ads
! 53d4564d9d188f92bc3a52fb418d5826  gcc/ada/sem_ch10.adb
  14c23ddb8ce8f7ab6478f3aff202d2bf  gcc/ada/sem_ch10.ads
  5980a02146588bf0e31ced2382290670  gcc/ada/sem_ch11.adb
  1b6f89866a5d427002df059be3847d62  gcc/ada/sem_ch11.ads
--- 2920,2926 ----
  88daa5c9b6e135316b52695cae25a496  gcc/ada/sem_case.ads
  84667b3de209c0b04f82a349c6125ab0  gcc/ada/sem_cat.adb
  e364f4e3ae92066699cc93a8f7b828c1  gcc/ada/sem_cat.ads
! 1f29100983a397a5430c18faca8b6660  gcc/ada/sem_ch10.adb
  14c23ddb8ce8f7ab6478f3aff202d2bf  gcc/ada/sem_ch10.ads
  5980a02146588bf0e31ced2382290670  gcc/ada/sem_ch11.adb
  1b6f89866a5d427002df059be3847d62  gcc/ada/sem_ch11.ads
*************** bb01f11ceaa352a8b99f95fcbcfe97d9  gcc/ad
*** 2968,2974 ****
  db6f5a37bd59fd83ff3286e71ab985fe  gcc/ada/sem_scil.ads
  224e89cdc39291b2a52f3e96e76cc3aa  gcc/ada/sem_smem.adb
  89d73c108bd8921f6d6cd84d98726ea5  gcc/ada/sem_smem.ads
! 2165d713ac690d5f51491a61d83f497d  gcc/ada/sem_type.adb
  dee50852181adfada17fb5b7423ed973  gcc/ada/sem_type.ads
  4292a2fc5b42cbce7ec79d19cc5f7eb9  gcc/ada/sem_util.adb
  3d1db15a678b9ffc181d2df6ba742fdf  gcc/ada/sem_util.ads
--- 2968,2974 ----
  db6f5a37bd59fd83ff3286e71ab985fe  gcc/ada/sem_scil.ads
  224e89cdc39291b2a52f3e96e76cc3aa  gcc/ada/sem_smem.adb
  89d73c108bd8921f6d6cd84d98726ea5  gcc/ada/sem_smem.ads
! 2725ef487c2447b8714c2c83b19a9b99  gcc/ada/sem_type.adb
  dee50852181adfada17fb5b7423ed973  gcc/ada/sem_type.ads
  4292a2fc5b42cbce7ec79d19cc5f7eb9  gcc/ada/sem_util.adb
  3d1db15a678b9ffc181d2df6ba742fdf  gcc/ada/sem_util.ads
*************** dfcc88ca848e0510d6a048cef812a984  gcc/co
*** 4416,4422 ****
  4830ca1092bcb0c0c3701f524a11a0f7  gcc/config/loongarch/lasx.md
  64deba47bb6c4537af9a962db8e160d1  gcc/config/loongarch/lasxintrin.h
  a11605122c3f864d3527acf829c67179  gcc/config/loongarch/linux.h
! ac0512e8b259ed63d386edaa0457a5ad  gcc/config/loongarch/loongarch-builtins.cc
  514549db1d124f4f93b3859fca40e770  gcc/config/loongarch/loongarch-c.cc
  59c96fed2f7df8b17e509bfec3c4edcb  gcc/config/loongarch/loongarch-cpu.cc
  0857d194516733f19458bb44bfdeabc4  gcc/config/loongarch/loongarch-cpu.h
--- 4416,4422 ----
  4830ca1092bcb0c0c3701f524a11a0f7  gcc/config/loongarch/lasx.md
  64deba47bb6c4537af9a962db8e160d1  gcc/config/loongarch/lasxintrin.h
  a11605122c3f864d3527acf829c67179  gcc/config/loongarch/linux.h
! cdbdbcd41c06dc52f5c87bed89e0cf37  gcc/config/loongarch/loongarch-builtins.cc
  514549db1d124f4f93b3859fca40e770  gcc/config/loongarch/loongarch-c.cc
  59c96fed2f7df8b17e509bfec3c4edcb  gcc/config/loongarch/loongarch-cpu.cc
  0857d194516733f19458bb44bfdeabc4  gcc/config/loongarch/loongarch-cpu.h
*************** f33b12257452472d47dac65075ab5d62  gcc/co
*** 4429,4435 ****
  9034667d3a99adb6488a0cf70a9c572c  gcc/config/loongarch/loongarch-driver.h
  3fd647901cdc3e1d254c3b6a55a2fb7e  gcc/config/loongarch/loongarch-evolution.cc
  50e2e743ee1a4e3501d962e45003c84a  gcc/config/loongarch/loongarch-evolution.h
! ff10ba24a7f588f5d1bfbc386be0a309  gcc/config/loongarch/loongarch-ftypes.def
  d7cf3f5e6d8c9402706533b8bbd7093d  gcc/config/loongarch/loongarch-modes.def
  d3ad067b1fa15bbce42fd3cc4499966e  gcc/config/loongarch/loongarch-opts.cc
  084ba7e2ad2ac804b5f596bca0df06b3  gcc/config/loongarch/loongarch-opts.h
--- 4429,4435 ----
  9034667d3a99adb6488a0cf70a9c572c  gcc/config/loongarch/loongarch-driver.h
  3fd647901cdc3e1d254c3b6a55a2fb7e  gcc/config/loongarch/loongarch-evolution.cc
  50e2e743ee1a4e3501d962e45003c84a  gcc/config/loongarch/loongarch-evolution.h
! 3fc1896059f9f241b97d3b6cc3ead0fc  gcc/config/loongarch/loongarch-ftypes.def
  d7cf3f5e6d8c9402706533b8bbd7093d  gcc/config/loongarch/loongarch-modes.def
  d3ad067b1fa15bbce42fd3cc4499966e  gcc/config/loongarch/loongarch-opts.cc
  084ba7e2ad2ac804b5f596bca0df06b3  gcc/config/loongarch/loongarch-opts.h
*************** d3ad067b1fa15bbce42fd3cc4499966e  gcc/co
*** 4437,4443 ****
  688cd325dbeb853413435f029e712cb2  gcc/config/loongarch/loongarch-str.h
  a8cd9a4a3d712802475e91e0ec9a3274  gcc/config/loongarch/loongarch-target-attr.cc
  f539c2da7e8d7a3ef7c741bceee19eed  gcc/config/loongarch/loongarch-tune.h
! 0e6e23acf6357efcf781703822860d21  gcc/config/loongarch/loongarch.cc
  cac7a4f19361731647870d2210078a9e  gcc/config/loongarch/loongarch.h
  20d6419804da0f3e740614d707d5918d  gcc/config/loongarch/loongarch.md
  bcc951e237d5501fc2acd6ef3141724c  gcc/config/loongarch/loongarch.opt
--- 4437,4443 ----
  688cd325dbeb853413435f029e712cb2  gcc/config/loongarch/loongarch-str.h
  a8cd9a4a3d712802475e91e0ec9a3274  gcc/config/loongarch/loongarch-target-attr.cc
  f539c2da7e8d7a3ef7c741bceee19eed  gcc/config/loongarch/loongarch-tune.h
! 912b9ce1ad68e7aa4a8ba5a52d608c1e  gcc/config/loongarch/loongarch.cc
  cac7a4f19361731647870d2210078a9e  gcc/config/loongarch/loongarch.h
  20d6419804da0f3e740614d707d5918d  gcc/config/loongarch/loongarch.md
  bcc951e237d5501fc2acd6ef3141724c  gcc/config/loongarch/loongarch.opt
*************** a9c3cddee4e237141062720b72fe38cd  gcc/co
*** 5500,5506 ****
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! 3381ffdaaaec3429865362b5570d72b5  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
--- 5500,5506 ----
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! 8b0a12e385595cfa8d7e3e345d10c0d2  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
*************** fce8de27014c109814b3f69be6a5d4f6  gcc/cp
*** 5541,5547 ****
  68fc21d4889b1c70ccf89747b98b1fb4  gcc/cp/cfns.h
  65891fa261ce5aa3474ed32683a124d3  gcc/cp/class.cc
  ee3fb2cc9b9557d3895f527353160bd4  gcc/cp/config-lang.in
! 024be5aee83fc1a9950752a9d3052fa7  gcc/cp/constexpr.cc
  d132f7f4c080ce3048977e23e33b9b1c  gcc/cp/constraint.cc
  a4c4f7387ee41213f5d0113f9e78d30c  gcc/cp/contracts.cc
  1f1cd3a021a2cd25741e252145ee8282  gcc/cp/contracts.h
--- 5541,5547 ----
  68fc21d4889b1c70ccf89747b98b1fb4  gcc/cp/cfns.h
  65891fa261ce5aa3474ed32683a124d3  gcc/cp/class.cc
  ee3fb2cc9b9557d3895f527353160bd4  gcc/cp/config-lang.in
! 07cf6e7630675971840823c009796a75  gcc/cp/constexpr.cc
  d132f7f4c080ce3048977e23e33b9b1c  gcc/cp/constraint.cc
  a4c4f7387ee41213f5d0113f9e78d30c  gcc/cp/contracts.cc
  1f1cd3a021a2cd25741e252145ee8282  gcc/cp/contracts.h
*************** e7fe06956aada61bcaae5168ad47a9c1  gcc/cp
*** 5587,5593 ****
  813c253a000ee20d8d6598f56edc400e  gcc/cp/optimize.cc
  fdc1db2b699ad0d6dcd88aa60de779c2  gcc/cp/parser.cc
  e8a3a03873c6294ff25a783941b8d8af  gcc/cp/parser.h
! 9f5bbdfb420b93761eda09a348e59d6a  gcc/cp/pt.cc
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
--- 5587,5593 ----
  813c253a000ee20d8d6598f56edc400e  gcc/cp/optimize.cc
  fdc1db2b699ad0d6dcd88aa60de779c2  gcc/cp/parser.cc
  e8a3a03873c6294ff25a783941b8d8af  gcc/cp/parser.h
! 1a98bd34134ff1a76b78ef332bd5747d  gcc/cp/pt.cc
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
*************** ec1e9c9456a8530e241079823e2fc126  gcc/cr
*** 5613,5619 ****
  15aef1bfc1d9935a8df200d3827b59c6  gcc/ctfc.cc
  3df123e84e7c118eb423425f2100e3b5  gcc/ctfc.h
  aec0cd5251de880945c96eb21e97eac9  gcc/ctfout.cc
! 3cbbedb9e1e4456dc79ccf9d4564f743  gcc/d/ChangeLog
  94dbce564aba342900829d11192f8905  gcc/d/ChangeLog-2006
  1a0536d6571bca334bb5c00dbdf257ab  gcc/d/ChangeLog-2007
  362a026d745031260b2e4dd8eba9becc  gcc/d/ChangeLog-2008
--- 5613,5619 ----
  15aef1bfc1d9935a8df200d3827b59c6  gcc/ctfc.cc
  3df123e84e7c118eb423425f2100e3b5  gcc/ctfc.h
  aec0cd5251de880945c96eb21e97eac9  gcc/ctfout.cc
! 4306679af97cceb2c37843642d338d30  gcc/d/ChangeLog
  94dbce564aba342900829d11192f8905  gcc/d/ChangeLog-2006
  1a0536d6571bca334bb5c00dbdf257ab  gcc/d/ChangeLog-2007
  362a026d745031260b2e4dd8eba9becc  gcc/d/ChangeLog-2008
*************** bea890f9a34a3828dac2371f1f1796bf  gcc/d/
*** 5638,5644 ****
  477218c51620c217d3332559ce436248  gcc/d/config-lang.in
  09eb2aeb6f4b5107b4a75f4d41928cf1  gcc/d/d-attribs.cc
  8592d6b7573b4c1b70a9d87b70dd115a  gcc/d/d-builtins.cc
! 266a80ef78f59a5018f92015cdfb5a0a  gcc/d/d-codegen.cc
  70ffb6bfceda6c8afd5611f3b4a675cd  gcc/d/d-compiler.cc
  186086ac63d9d73dbed30ccc75c3ae62  gcc/d/d-convert.cc
  973d6dc819b7a8aee527f89ad0f00e08  gcc/d/d-ctfloat.cc
--- 5638,5644 ----
  477218c51620c217d3332559ce436248  gcc/d/config-lang.in
  09eb2aeb6f4b5107b4a75f4d41928cf1  gcc/d/d-attribs.cc
  8592d6b7573b4c1b70a9d87b70dd115a  gcc/d/d-builtins.cc
! 8dbece46c92d9fc1cf2b032367feb3b7  gcc/d/d-codegen.cc
  70ffb6bfceda6c8afd5611f3b4a675cd  gcc/d/d-compiler.cc
  186086ac63d9d73dbed30ccc75c3ae62  gcc/d/d-convert.cc
  973d6dc819b7a8aee527f89ad0f00e08  gcc/d/d-ctfloat.cc
*************** e4a31bc23588216ddf30ac8e625a173f  gcc/d/
*** 5647,5656 ****
  749304aa6de563eed68793be22f7cd6e  gcc/d/d-frontend.h
  b2113d2270102ca524bf783ba0720409  gcc/d/d-gimplify.cc
  b197902ac3f4ed472b28f5e6b7c07aa8  gcc/d/d-incpath.cc
! 9d341fed5cd56d0944d3739952484691  gcc/d/d-lang.cc
  8e2c018aecf39b4921be7eb633e892bf  gcc/d/d-longdouble.cc
  c804430a913eaec7363c0683fca5b24a  gcc/d/d-port.cc
! 2be676d2b24fad57cc9b6b9cbee736f3  gcc/d/d-spec.cc
  b42111bc83ef5eba5936e92037011166  gcc/d/d-system.h
  450c5da271da15be56bc4fa871414687  gcc/d/d-target-def.h
  60f3189e8c693ba0f5e748ca1e14b29f  gcc/d/d-target.cc
--- 5647,5656 ----
  749304aa6de563eed68793be22f7cd6e  gcc/d/d-frontend.h
  b2113d2270102ca524bf783ba0720409  gcc/d/d-gimplify.cc
  b197902ac3f4ed472b28f5e6b7c07aa8  gcc/d/d-incpath.cc
! 345fe4e1e55500425d2a031014ee2e00  gcc/d/d-lang.cc
  8e2c018aecf39b4921be7eb633e892bf  gcc/d/d-longdouble.cc
  c804430a913eaec7363c0683fca5b24a  gcc/d/d-port.cc
! 7ecf12b7690f9c99c6104804587c8b4b  gcc/d/d-spec.cc
  b42111bc83ef5eba5936e92037011166  gcc/d/d-system.h
  450c5da271da15be56bc4fa871414687  gcc/d/d-target-def.h
  60f3189e8c693ba0f5e748ca1e14b29f  gcc/d/d-target.cc
*************** b42111bc83ef5eba5936e92037011166  gcc/d/
*** 5658,5664 ****
  a9a0e94499b8e62705e548d30fa9f8ea  gcc/d/d-target.h
  e7ed7a15a28cf7d93c8a5e3520d4ca4e  gcc/d/d-tree.def
  aee13a120e7caed00b270b16b9d16f5d  gcc/d/d-tree.h
! 356b0733844a963e49711111be346d6b  gcc/d/decl.cc
  e6320d8163671e43446e19cf6b36a9ce  gcc/d/dmd/MERGE
  ed33de5a82bf58502d473e8138f61580  gcc/d/dmd/README.md
  a0b3558bc182f44d37822b5dc59b6307  gcc/d/dmd/VERSION
--- 5658,5664 ----
  a9a0e94499b8e62705e548d30fa9f8ea  gcc/d/d-target.h
  e7ed7a15a28cf7d93c8a5e3520d4ca4e  gcc/d/d-tree.def
  aee13a120e7caed00b270b16b9d16f5d  gcc/d/d-tree.h
! 43fe4e670be6875864c2dd2392828843  gcc/d/decl.cc
  e6320d8163671e43446e19cf6b36a9ce  gcc/d/dmd/MERGE
  ed33de5a82bf58502d473e8138f61580  gcc/d/dmd/README.md
  a0b3558bc182f44d37822b5dc59b6307  gcc/d/dmd/VERSION
*************** a3cd575b3088ab06aa23c81c93ace7e7  gcc/d/
*** 5845,5851 ****
  0d315416551f6b73f1ad743aac72797f  gcc/d/dmd/visitor/postorder.d
  9b22040efac930e873d2a2565a2867da  gcc/d/dmd/visitor/statement_rewrite_walker.d
  1cbd9c1c0ec261f10e9d9443fc16f987  gcc/d/dmd/visitor/transitive.d
! 148514a7a1077ac4c32e33c4b762e0eb  gcc/d/expr.cc
  2057d17858e2ef23807352a10a9cda35  gcc/d/gdc.texi
  a12b39ae150ae1bf58a64debe13dee03  gcc/d/implement-d.texi
  39f5715b0c2d657196f43a31dc6c33fc  gcc/d/imports.cc
--- 5845,5851 ----
  0d315416551f6b73f1ad743aac72797f  gcc/d/dmd/visitor/postorder.d
  9b22040efac930e873d2a2565a2867da  gcc/d/dmd/visitor/statement_rewrite_walker.d
  1cbd9c1c0ec261f10e9d9443fc16f987  gcc/d/dmd/visitor/transitive.d
! a4d499c370e1c41591a39e9d85512828  gcc/d/expr.cc
  2057d17858e2ef23807352a10a9cda35  gcc/d/gdc.texi
  a12b39ae150ae1bf58a64debe13dee03  gcc/d/implement-d.texi
  39f5715b0c2d657196f43a31dc6c33fc  gcc/d/imports.cc
*************** a7bde590e8469b2ffb53fcd2a06033af  gcc/d/
*** 5858,5866 ****
  532169cc522c2173657371a604a5c583  gcc/d/modules.cc
  5be4062eb2b710347ff98e3d8c9cfdde  gcc/d/runtime.cc
  14ab71dfd3fc06afb477ec01aa077f09  gcc/d/runtime.def
! a9fb549193a42256914944461c880024  gcc/d/toir.cc
  4af3aaebbbb939e7e67ed0f4349a4524  gcc/d/typeinfo.cc
! 6cca916bc4f20b74318d58d6429ce267  gcc/d/types.cc
  257fb956c4a8d2279293b031e195fdaa  gcc/data-streamer-in.cc
  80498597d8e433b8a182777985c81a1a  gcc/data-streamer-out.cc
  ef3c86ca257ef8868e25ee7cc2b20076  gcc/data-streamer.cc
--- 5858,5866 ----
  532169cc522c2173657371a604a5c583  gcc/d/modules.cc
  5be4062eb2b710347ff98e3d8c9cfdde  gcc/d/runtime.cc
  14ab71dfd3fc06afb477ec01aa077f09  gcc/d/runtime.def
! 295e39e98e26072e562ef18e757894b6  gcc/d/toir.cc
  4af3aaebbbb939e7e67ed0f4349a4524  gcc/d/typeinfo.cc
! 1aaecd18fa73a170c6e58dae10ae025c  gcc/d/types.cc
  257fb956c4a8d2279293b031e195fdaa  gcc/data-streamer-in.cc
  80498597d8e433b8a182777985c81a1a  gcc/data-streamer-out.cc
  ef3c86ca257ef8868e25ee7cc2b20076  gcc/data-streamer.cc
*************** e3f908061f2b051f55381b513a49022b  gcc/pa
*** 7740,7746 ****
  57048d71e78511e69e3d39d60cb2f1b7  gcc/plugin.cc
  995702441547e9826ffaea326d8be617  gcc/plugin.def
  79cd4ea374ded38e9f3ef38c1624db9e  gcc/plugin.h
! b528e4e57f11b50b58506529950df1f3  gcc/po/ChangeLog
  fcae8297fb0c1be8e1502d7ca12c249f  gcc/po/EXCLUDES
  276b0e994306e3cdb1f62b8de38fa0e9  gcc/po/be.po
  4ce8480a8ed1c6ea96dcee25f16b5030  gcc/po/da.po
--- 7740,7746 ----
  57048d71e78511e69e3d39d60cb2f1b7  gcc/plugin.cc
  995702441547e9826ffaea326d8be617  gcc/plugin.def
  79cd4ea374ded38e9f3ef38c1624db9e  gcc/plugin.h
! ed5863c569d6df5b818c8efeb63d38e2  gcc/po/ChangeLog
  fcae8297fb0c1be8e1502d7ca12c249f  gcc/po/EXCLUDES
  276b0e994306e3cdb1f62b8de38fa0e9  gcc/po/be.po
  4ce8480a8ed1c6ea96dcee25f16b5030  gcc/po/da.po
*************** fb211887132af72dd424dd2b31d66047  gcc/po
*** 7758,7764 ****
  a7784b508797b07a4ce6f68f1bacacc8  gcc/po/nl.po
  fdcd4a3815700acbdd4e1f3e6b833509  gcc/po/ru.po
  7eca9b1e93a0943a9b3e0162afc96508  gcc/po/sr.po
! d869add118f3b4328fb1691092405516  gcc/po/sv.po
  30f86071bc323d99189f4277b2844dd2  gcc/po/tr.po
  97298dbd14ff0ae2044aa6223ff15d35  gcc/po/uk.po
  6a667463af95654e143e41c99d642c20  gcc/po/vi.po
--- 7758,7764 ----
  a7784b508797b07a4ce6f68f1bacacc8  gcc/po/nl.po
  fdcd4a3815700acbdd4e1f3e6b833509  gcc/po/ru.po
  7eca9b1e93a0943a9b3e0162afc96508  gcc/po/sr.po
! addbe678572b00fd728ed5da73f67e36  gcc/po/sv.po
  30f86071bc323d99189f4277b2844dd2  gcc/po/tr.po
  97298dbd14ff0ae2044aa6223ff15d35  gcc/po/uk.po
  6a667463af95654e143e41c99d642c20  gcc/po/vi.po
*************** b1497a03867668af210c32280876fdd7  gcc/sy
*** 8447,8453 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 6bd15165845d0857e52984320919fb78  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8447,8453 ----
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 6ebfc6394f6eb6d9b195dfe1fc392a02  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** edb46bdf72eaeb378f5f0d557153ad9d  gcc/te
*** 21281,21286 ****
--- 21281,21287 ----
  ce0107015099b9bc8bbb6308d69d1335  gcc/testsuite/g++.dg/cpp2a/concepts-decltype2.C
  20942197b42aecb2031c455e6c7139db  gcc/testsuite/g++.dg/cpp2a/concepts-decltype3.C
  bd5315a1ae1bb7ab6b080320eca4e7cc  gcc/testsuite/g++.dg/cpp2a/concepts-decltype4.C
+ 22508583fabe144a053070d600a2f4ff  gcc/testsuite/g++.dg/cpp2a/concepts-decltype5.C
  2ff1559b74cd8147b9de258edac783b1  gcc/testsuite/g++.dg/cpp2a/concepts-defarg1.C
  8b450b687a58857141c45425bdbf8e80  gcc/testsuite/g++.dg/cpp2a/concepts-defarg2.C
  e0a60fccd4fe206005be1e84cfb2682d  gcc/testsuite/g++.dg/cpp2a/concepts-defarg3.C
*************** ebebcf3ee0f1f8f456d97ce908f36eb5  gcc/te
*** 21440,21445 ****
--- 21441,21448 ----
  d730bf14b7c6a0ff4579eb13739f7d2f  gcc/testsuite/g++.dg/cpp2a/concepts-pr108579.C
  10c26b1079f1b79e271e63ca28b96ecd  gcc/testsuite/g++.dg/cpp2a/concepts-pr112436.C
  4b3fe1ba64fb6a81fe92d55b090adf3a  gcc/testsuite/g++.dg/cpp2a/concepts-pr116681.C
+ 24814124a2638795704cea1177c1d93c  gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C
+ c3a5a8ffeaedc47bb7c475c240bce1c2  gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C
  2e23f19968091d773a47c43a32a784ae  gcc/testsuite/g++.dg/cpp2a/concepts-pr58500.C
  07c6a4dff1357ef61c0d30b12db5c948  gcc/testsuite/g++.dg/cpp2a/concepts-pr58534.C
  b6ba42db630bfd3259d65662fc03aaa0  gcc/testsuite/g++.dg/cpp2a/concepts-pr58535.C
*************** eb7720d1ee0f7dde86471e1b8ad3b82f  gcc/te
*** 83862,83867 ****
--- 83865,83871 ----
  601d1dad0996e42f64abfcea74b57e97  gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxor.c
  2b866f80af5cafa566ed2bbd75936c79  gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxori.c
  970835a22a2eef8dad1be6ea6edc6402  gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123521.c
+ 91b4f4f5d2c5b786b45fad8edab6e2a3  gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123766.c
  d26741a5156634ff29c61fea114bc141  gcc/testsuite/gcc.target/loongarch/vector/loongarch-vector.exp
  5d55305c4d66b32dd004f424d4a0a0fb  gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-abs.c
  e9f9a02f0c23d753d9f3a17d45f85db1  gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-builtin.c
*************** d9ab49aa7d7730596242bed46b4c7bed  gcc/te
*** 84073,84078 ****
--- 84077,84084 ----
  87366d24b56b7a97edbfcb4983a57a52  gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-vxori.c
  5c8f61426f6c4882be1e61b33f277961  gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-xorsign-run.c
  ee9aafb340a5c2597a6f656ccbd8a374  gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-xorsign.c
+ 559fe74ad49c6f3f986d68a4822b9041  gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123766.c
+ c09c273ba4acff5a9b6ac824b23ab663  gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123807.c
  70005d5f6a26c8e3f8e5afe7cdc53bbf  gcc/testsuite/gcc.target/loongarch/vector/simd_correctness_check.h
  32fede0d9373ef10c92cbfd15cda3c85  gcc/testsuite/gcc.target/loongarch/vfcmp-d.c
  c08e307370de6dd5122f517ca9b88bd3  gcc/testsuite/gcc.target/loongarch/vfcmp-f.c
*************** bcf389e3992a960c831b1dafe53a539c  gcc/te
*** 95499,95504 ****
--- 95505,95512 ----
  511a4b96302498f658f208676182a550  gcc/testsuite/gdc.dg/debug/pr119826.d
  0121ae6408f107a6bf6f915c24102bd3  gcc/testsuite/gdc.dg/debug/trivial.d
  112f5496f49034443259464e76b965ec  gcc/testsuite/gdc.dg/dg.exp
+ 1f25f7140ea236c33498050fa3d25fc3  gcc/testsuite/gdc.dg/driver_debuglib.d
+ bfb9dc003b6110d37dc4b62c222afe7d  gcc/testsuite/gdc.dg/driver_defaultlib.d
  738cb13f46975c2c4e05fd4d2864afda  gcc/testsuite/gdc.dg/driver_fonly1.d
  3ab866f47c35938e530f75c1a359e7d2  gcc/testsuite/gdc.dg/driver_fonly2.d
  3e3e4464fc963f4f4a57434be63c992f  gcc/testsuite/gdc.dg/driver_fonly3.d
*************** a2d402e0596a4abb1dc6e25b11e9aa9c  gcc/te
*** 95631,95636 ****
--- 95639,95652 ----
  72d81c5bd5b1ad40ec304fe72a725695  gcc/testsuite/gdc.dg/pr117115.d
  a81f29fc44be5cd208351e9e8b4a742b  gcc/testsuite/gdc.dg/pr117621.d
  0b4ca5d336606fc94e656b8731b0a78e  gcc/testsuite/gdc.dg/pr119139.d
+ ad51c6065b49988f50a3f799a0e5f9a3  gcc/testsuite/gdc.dg/pr121477.d
+ d9ff6161866e2870e0df96f834797f71  gcc/testsuite/gdc.dg/pr122817.d
+ e4d8064a02951cfe69cf639a94128dd0  gcc/testsuite/gdc.dg/pr123046.d
+ 9ce0fee5b0fbb84c1de9a43ef50b9462  gcc/testsuite/gdc.dg/pr123264.d
+ e89ebd75d9b162289c929675222e8501  gcc/testsuite/gdc.dg/pr123407a.d
+ a45efe7a1d6f8b7f15f7befa3e7b1768  gcc/testsuite/gdc.dg/pr123407b.d
+ 4e7020df6ad139d4b43104ca5b97d142  gcc/testsuite/gdc.dg/pr123419.d
+ 56c2a0939424aafd465f15ffdd08847b  gcc/testsuite/gdc.dg/pr123798.d
  d32aa8ed5ea10931be4ddb5bb9e863d8  gcc/testsuite/gdc.dg/pr89017.d
  53fa8db94d4ca3fc9ba83769733dc0e7  gcc/testsuite/gdc.dg/pr89041.d
  6c316b13f71ea31fcada56b58a41ebd1  gcc/testsuite/gdc.dg/pr89042a.d
*************** de9193ce38f7ef3ee1cc3a94fc8a92dc  gcc/te
*** 95765,95770 ****
--- 95781,95788 ----
  ad67c2aef0ecf01677e58695b0cc5d36  gcc/testsuite/gdc.dg/torture/pr113758.d
  c3a3fcac804266bf984aad50e1f84157  gcc/testsuite/gdc.dg/torture/pr114171.d
  a1ef8a304026fe097c3f6356f2dd2b2a  gcc/testsuite/gdc.dg/torture/pr117002.d
+ 07b590affdb88374b53601052d66c8a8  gcc/testsuite/gdc.dg/torture/pr120096.d
+ 18190856d5dece191ecd40c185c2b684  gcc/testsuite/gdc.dg/torture/pr123422.d
  580aadb24b666799e25f1f02ef3b7bbb  gcc/testsuite/gdc.dg/torture/pr92309.d
  d5626e21f8cdc22799175cb6adfddfd6  gcc/testsuite/gdc.dg/torture/pr94424.d
  ae5b279461655f243d767b80a6d0bc1b  gcc/testsuite/gdc.dg/torture/pr94777b.d
*************** dc262de3547bdd707bae595ff3f7bad4  gcc/te
*** 112400,112405 ****
--- 112418,112424 ----
  004d0a4eab7269238d8df3bd245f540d  gcc/testsuite/gnat.dg/pure_subp_body.adb
  2cac0c26d493dcb2a6bc9eb14b048d12  gcc/testsuite/gnat.dg/pure_subp_body_pkg.ads
  90037ebb91d6c21f5fd1a7d637986ed6  gcc/testsuite/gnat.dg/put_image1.adb
+ e1775204b0488ec4f599a1dd54641058  gcc/testsuite/gnat.dg/put_image2.adb
  86264155418d37c3c433352efc4d7216  gcc/testsuite/gnat.dg/quote.adb
  14ca6ec6ac239ab1d151eea57c9f41a0  gcc/testsuite/gnat.dg/raise_ce.adb
  02b35cb51408b925b49e3ad8ff0a7ea4  gcc/testsuite/gnat.dg/raise_expr.adb
*************** c60566bc09d6f157c601d0691f67aa4e  gcc/te
*** 112553,112558 ****
--- 112572,112578 ----
  a3aeba60c0c92acaa70248375acbbdbb  gcc/testsuite/gnat.dg/specs/access_constant_decl.ads
  60ca8801e0e8eccd8fec16ac238b860c  gcc/testsuite/gnat.dg/specs/aggr1.ads
  32d247327e117ebc5575470ee0186869  gcc/testsuite/gnat.dg/specs/aggr10.ads
+ b7160b72842f69638428bd8734f6ed79  gcc/testsuite/gnat.dg/specs/aggr11.ads
  fe82e660f7a4e411f57c2b234839d4c8  gcc/testsuite/gnat.dg/specs/aggr2.ads
  5742258b0ea3fc3e05f71406d1b1322b  gcc/testsuite/gnat.dg/specs/aggr3.ads
  c8246a5026bc2feaf77f0681b54b41ea  gcc/testsuite/gnat.dg/specs/aggr3_pkg.ads
*************** e79713b5757a3f8a05926964d5c26b04  gcc/te
*** 112644,112649 ****
--- 112664,112673 ----
  bb0e77998b46620c791eef69edc120e4  gcc/testsuite/gnat.dg/specs/interface5.ads
  2964ca5392547150aa2109dc092cc2e2  gcc/testsuite/gnat.dg/specs/last_bit.ads
  843de13b4d5cc30db54743bb74dedbf4  gcc/testsuite/gnat.dg/specs/limited1.ads
+ fbedcb4ad7f2c4e1005641325af96acb  gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild-grandgrandchild.ads
+ 4825dd5c9d78470959a4f658e124ed25  gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild.ads
+ 17aae2f71cf406a1e253530584097a2d  gcc/testsuite/gnat.dg/specs/limited_with3-child.ads
+ 2c85f81ae35fa72b5f14adce251e570b  gcc/testsuite/gnat.dg/specs/limited_with3.ads
  f1e4623f01bee0dbc4135d608ad4e311  gcc/testsuite/gnat.dg/specs/limited_with4.ads
  f8ce8abd47440a8ef0caa15042246467  gcc/testsuite/gnat.dg/specs/limited_with4_pkg.ads
  5ca7e9884e00c38a3fcb9117d299b396  gcc/testsuite/gnat.dg/specs/linker_alias.ads
*************** f175b16d43d86bada669751e2223586b  gcc/te
*** 113094,113099 ****
--- 113118,113124 ----
  bb65c4fde027a30c686dc94b413d88df  gcc/testsuite/gnat.dg/unchecked_union1.adb
  1394b7d36fa61e7f3417caa6cf755de5  gcc/testsuite/gnat.dg/unchecked_union2.adb
  22691e0b30f29e2232672977844f75c1  gcc/testsuite/gnat.dg/unchecked_union3.adb
+ a5d89ecafbb5dd31c1a79cf5513d61ed  gcc/testsuite/gnat.dg/unchecked_union4.adb
  9bcc7fe177662a52afe92c8e863cb022  gcc/testsuite/gnat.dg/uninit_array.adb
  8e53621d67942b5d53e2c54dd1648dd7  gcc/testsuite/gnat.dg/uninit_array.ads
  be51b72e76043adb990a3e95f4c40554  gcc/testsuite/gnat.dg/uninit_array_pkg.ads
diff -Nrcpad gcc-15-20260124/gcc/ChangeLog gcc-15-20260131/gcc/ChangeLog
*** gcc-15-20260124/gcc/ChangeLog	Sat Jan 24 22:32:04 2026
--- gcc-15-20260131/gcc/ChangeLog	Sat Jan 31 22:32:05 2026
***************
*** 1,3 ****
--- 1,34 ----
+ 2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	* config/loongarch/loongarch-ftypes.def: Remove unused type.
+ 
+ 2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/123766
+ 	* config/loongarch/loongarch-builtins.cc
+ 	(loongarch_build_vpointer_type): New function.  Return a type
+ 	for 'volatile void *'.
+ 	(LARCH_ATYPE_VPOINTER): New macro.
+ 	* config/loongarch/loongarch-ftypes.def: Change the pointer
+ 	type of the store class function from CVPOINTER to VPOINTER.
+ 
+ 2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/123807
+ 	* config/loongarch/loongarch.cc
+ 	(loongarch_expand_vector_init_same): When same is MEM and
+ 	GET_MODE(same) != imode, first load the data from memory
+ 	and then process it further.
+ 
  2026-01-23  Jakub Jelinek  <jakub@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260124/gcc/DATESTAMP gcc-15-20260131/gcc/DATESTAMP
*** gcc-15-20260124/gcc/DATESTAMP	Sat Jan 24 22:32:05 2026
--- gcc-15-20260131/gcc/DATESTAMP	Sat Jan 31 22:32:06 2026
***************
*** 1 ****
! 20260124
--- 1 ----
! 20260131
diff -Nrcpad gcc-15-20260124/gcc/ada/ChangeLog gcc-15-20260131/gcc/ada/ChangeLog
*** gcc-15-20260124/gcc/ada/ChangeLog	Sat Jan 24 22:32:05 2026
--- gcc-15-20260131/gcc/ada/ChangeLog	Sat Jan 31 22:32:06 2026
***************
*** 1,3 ****
--- 1,42 ----
+ 2026-01-30  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/123867
+ 	* sem_ch10.adb (Analyze_Compilation_Unit): Output info message
+ 	when -gnatdi is specified.
+ 	(Install_Parents): Likewise.  Set the Is_Visible_Lib_Unit flag
+ 	on the unit.
+ 	(Install_Private_With_Clauses): Do not output info message here.
+ 	(Remove_Parents): Output info message when -gnatdi is specified
+ 	and clear the Is_Visible_Lib_Unit flag on the unit.
+ 
+ 2026-01-29  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/123861
+ 	* sem_type.adb (Covers): Fix couple of typos in comment.
+ 	(Specific_Type): Adjust to Covers' handling of types declared
+ 	with the Aggregate aspect in Ada 2022.
+ 
+ 2026-01-28  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/123857
+ 	* checks.adb (Apply_Parameter_Validity_Checks.Add_Validity_Check):
+ 	Set Is_Checked on the generated {Pre,Post}_Condition pragma and
+ 	bail out if the parameter is of an Unchecked_Union type.
+ 
+ 2026-01-28  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/123832
+ 	* exp_imgv.adb: Add with and use clauses for Exp_Ch7.
+ 	(Expand_Image_Attribute): Establish a transient scope before
+ 	rewriting the attribute as a call to Put_Image.
+ 	(Expand_Wide_Image_Attribute): Likewise.
+ 	(Expand_Wide_Wide_Image_Attribute): Likewise.
+ 	* exp_put_image.ads (Build_Image_Call): Add note about the
+ 	need for a transient scope when the function is invoked.
+ 	* exp_put_image.adb (Build_Image_Call): Call Insert_Actions
+ 	to immediately insert the actions instead of wrapping them
+ 	in an Expression_With_Actions node.
+ 
  2026-01-21  Eric Botcazou  <ebotcazou@adacore.com>
  
  	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Replace call to
diff -Nrcpad gcc-15-20260124/gcc/ada/checks.adb gcc-15-20260131/gcc/ada/checks.adb
*** gcc-15-20260124/gcc/ada/checks.adb	Sat Jan 24 22:32:05 2026
--- gcc-15-20260131/gcc/ada/checks.adb	Sat Jan 31 22:32:06 2026
*************** package body Checks is
*** 2531,2536 ****
--- 2531,2540 ----
                      Chars      => Name_Check,
                      Expression => Expr)));
  
+             --  The check is enabled unconditionally
+ 
+             Set_Is_Checked (Prag);
+ 
              --  Add a message unless exception messages are suppressed
  
              if not Exception_Locations_Suppressed then
*************** package body Checks is
*** 2588,2596 ****
           if Is_Scalar_Type (Typ) then
              Nam := Name_Valid;
  
!          --  For any non-scalar with scalar parts, generate 'Valid_Scalars test
  
!          elsif Scalar_Part_Present (Typ) then
              Nam := Name_Valid_Scalars;
  
           --  No test needed for other cases (no scalars to test)
--- 2592,2603 ----
           if Is_Scalar_Type (Typ) then
              Nam := Name_Valid;
  
!          --  For non-scalars with scalar parts, generate 'Valid_Scalars test,
!          --  except for unchecked unions since we cannot know where they are.
  
!          elsif Scalar_Part_Present (Typ)
!            and then not Is_Unchecked_Union (Typ)
!          then
              Nam := Name_Valid_Scalars;
  
           --  No test needed for other cases (no scalars to test)
*************** package body Checks is
*** 2682,2689 ****
           return;
        end if;
  
!       --  Inspect all the formals applying aliasing and scalar initialization
!       --  checks where applicable.
  
        Formal := First_Formal (Subp);
        while Present (Formal) loop
--- 2689,2695 ----
           return;
        end if;
  
!       --  Apply scalar initialization checks to formals where applicable
  
        Formal := First_Formal (Subp);
        while Present (Formal) loop
diff -Nrcpad gcc-15-20260124/gcc/ada/exp_imgv.adb gcc-15-20260131/gcc/ada/exp_imgv.adb
*** gcc-15-20260124/gcc/ada/exp_imgv.adb	Sat Jan 24 22:32:05 2026
--- gcc-15-20260131/gcc/ada/exp_imgv.adb	Sat Jan 31 22:32:06 2026
*************** with Einfo;          use Einfo;
*** 30,35 ****
--- 30,36 ----
  with Einfo.Entities; use Einfo.Entities;
  with Einfo.Utils;    use Einfo.Utils;
  with Debug;          use Debug;
+ with Exp_Ch7;        use Exp_Ch7;
  with Exp_Put_Image;
  with Exp_Util;       use Exp_Util;
  with Lib;            use Lib;
*************** package body Exp_Imgv is
*** 1047,1052 ****
--- 1048,1054 ----
        --  Exp_Put_Image for details.
  
        if Exp_Put_Image.Image_Should_Call_Put_Image (N) then
+          Establish_Transient_Scope (N, Manage_Sec_Stack => True);
           Rewrite (N, Exp_Put_Image.Build_Image_Call (N));
           Analyze_And_Resolve (N, Standard_String, Suppress => All_Checks);
           return;
*************** package body Exp_Imgv is
*** 1863,1868 ****
--- 1865,1871 ----
        --  Exp_Put_Image for details.
  
        if Exp_Put_Image.Image_Should_Call_Put_Image (N) then
+          Establish_Transient_Scope (N, Manage_Sec_Stack => True);
           Rewrite (N, Exp_Put_Image.Build_Image_Call (N));
           Analyze_And_Resolve (N, Standard_Wide_String, Suppress => All_Checks);
           return;
*************** package body Exp_Imgv is
*** 1972,1977 ****
--- 1975,1981 ----
        --  Exp_Put_Image for details.
  
        if Exp_Put_Image.Image_Should_Call_Put_Image (N) then
+          Establish_Transient_Scope (N, Manage_Sec_Stack => True);
           Rewrite (N, Exp_Put_Image.Build_Image_Call (N));
           Analyze_And_Resolve
             (N, Standard_Wide_Wide_String, Suppress => All_Checks);
diff -Nrcpad gcc-15-20260124/gcc/ada/exp_put_image.adb gcc-15-20260131/gcc/ada/exp_put_image.adb
*** gcc-15-20260124/gcc/ada/exp_put_image.adb	Sat Jan 24 22:32:05 2026
--- gcc-15-20260131/gcc/ada/exp_put_image.adb	Sat Jan 31 22:32:06 2026
*************** package body Exp_Put_Image is
*** 1236,1262 ****
     ----------------------
  
     function Build_Image_Call (N : Node_Id) return Node_Id is
!       --  For T'[[Wide_]Wide_]Image (X) Generate an Expression_With_Actions
!       --  node:
        --
!       --     do
!       --        S : Buffer;
!       --        U_Type'Put_Image (S, X);
!       --        Result : constant [[Wide_]Wide_]String :=
!       --          [[Wide_[Wide_]]Get (S);
!       --        Destroy (S);
!       --     in Result end
        --
!       --  where U_Type is the underlying type, as needed to bypass privacy.
  
-       Loc : constant Source_Ptr := Sloc (N);
-       U_Type : constant Entity_Id := Underlying_Type (Entity (Prefix (N)));
-       Sink_Entity : constant Entity_Id :=
-         Make_Temporary (Loc, 'S');
        Sink_Decl : constant Node_Id :=
          Make_Object_Declaration (Loc,
            Defining_Identifier => Sink_Entity,
!           Object_Definition =>
              New_Occurrence_Of (RTE (RE_Buffer_Type), Loc));
  
        Image_Prefix : constant Node_Id :=
--- 1236,1258 ----
     ----------------------
  
     function Build_Image_Call (N : Node_Id) return Node_Id is
!       --  For Typ'[[Wide_]Wide_]Image (X) generate:
        --
!       --    S : Buffer_Type;
!       --    U_Typ'Put_Image (S, X);
!       --    [[Wide_[Wide_]]Get (S)
        --
!       --  where U_Typ is the underlying type, as needed to bypass privacy.
! 
!       Loc   : constant Source_Ptr := Sloc (N);
!       U_Typ : constant Entity_Id  := Underlying_Type (Entity (Prefix (N)));
! 
!       Sink_Entity : constant Entity_Id := Make_Temporary (Loc, 'S');
  
        Sink_Decl : constant Node_Id :=
          Make_Object_Declaration (Loc,
            Defining_Identifier => Sink_Entity,
!           Object_Definition   =>
              New_Occurrence_Of (RTE (RE_Buffer_Type), Loc));
  
        Image_Prefix : constant Node_Id :=
*************** package body Exp_Put_Image is
*** 1264,1307 ****
  
        Put_Im : constant Node_Id :=
          Make_Attribute_Reference (Loc,
!           Prefix         => New_Occurrence_Of (U_Type, Loc),
            Attribute_Name => Name_Put_Image,
            Expressions    => New_List (
              New_Occurrence_Of (Sink_Entity, Loc),
              Image_Prefix));
-       Result_Entity : constant Entity_Id :=
-         Make_Temporary (Loc, 'R');
- 
-       subtype Image_Name_Id is Name_Id with Static_Predicate =>
-         Image_Name_Id in Name_Image | Name_Wide_Image | Name_Wide_Wide_Image;
-       --  Attribute names that will be mapped to the corresponding result types
-       --  and functions.
  
!       Attribute_Name_Id : constant Name_Id :=
!         (if Attribute_Name (N) = Name_Img then Name_Image
!          else Attribute_Name (N));
! 
!       Result_Typ    : constant Entity_Id :=
!         (case Image_Name_Id'(Attribute_Name_Id) is
!             when Name_Image           => Stand.Standard_String,
!             when Name_Wide_Image      => Stand.Standard_Wide_String,
!             when Name_Wide_Wide_Image => Stand.Standard_Wide_Wide_String);
!       Get_Func_Id   : constant RE_Id :=
!         (case Image_Name_Id'(Attribute_Name_Id) is
!             when Name_Image           => RE_Get,
!             when Name_Wide_Image      => RE_Wide_Get,
!             when Name_Wide_Wide_Image => RE_Wide_Wide_Get);
  
-       Result_Decl : constant Node_Id :=
-         Make_Object_Declaration (Loc,
-           Defining_Identifier => Result_Entity,
-           Object_Definition =>
-             New_Occurrence_Of (Result_Typ, Loc),
-           Expression =>
-             Make_Function_Call (Loc,
-               Name => New_Occurrence_Of (RTE (Get_Func_Id), Loc),
-               Parameter_Associations => New_List (
-                 New_Occurrence_Of (Sink_Entity, Loc))));
        Actions : List_Id;
  
        function Put_String_Exp (String_Exp : Node_Id;
--- 1260,1279 ----
  
        Put_Im : constant Node_Id :=
          Make_Attribute_Reference (Loc,
!           Prefix         => New_Occurrence_Of (U_Typ, Loc),
            Attribute_Name => Name_Put_Image,
            Expressions    => New_List (
              New_Occurrence_Of (Sink_Entity, Loc),
              Image_Prefix));
  
!       Get_Func_Id : constant RE_Id :=
!         (case Get_Attribute_Id (Attribute_Name (N)) is
!           when Attribute_Img             => RE_Get,
!           when Attribute_Image           => RE_Get,
!           when Attribute_Wide_Image      => RE_Wide_Get,
!           when Attribute_Wide_Wide_Image => RE_Wide_Wide_Get,
!           when others                    => raise Program_Error);
  
        Actions : List_Id;
  
        function Put_String_Exp (String_Exp : Node_Id;
*************** package body Exp_Put_Image is
*** 1348,1354 ****
     --  Start of processing for Build_Image_Call
  
     begin
!       if Is_Class_Wide_Type (U_Type) then
  
           --  For interface types we must generate code to displace the pointer
           --  to the object to reference the base of the underlying object.
--- 1320,1326 ----
     --  Start of processing for Build_Image_Call
  
     begin
!       if Is_Class_Wide_Type (U_Typ) then
  
           --  For interface types we must generate code to displace the pointer
           --  to the object to reference the base of the underlying object.
*************** package body Exp_Put_Image is
*** 1359,1365 ****
           --  Note that Image_Prefix'Address is recursively expanded into a
           --  call to Ada.Tags.Base_Address (Image_Prefix'Address).
  
!          if Is_Interface (U_Type) then
              Tag_Node :=
                Make_Explicit_Dereference (Loc,
                  Unchecked_Convert_To (RTE (RE_Tag_Ptr),
--- 1331,1337 ----
           --  Note that Image_Prefix'Address is recursively expanded into a
           --  call to Ada.Tags.Base_Address (Image_Prefix'Address).
  
!          if Is_Interface (U_Typ) then
              Tag_Node :=
                Make_Explicit_Dereference (Loc,
                  Unchecked_Convert_To (RTE (RE_Tag_Ptr),
*************** package body Exp_Put_Image is
*** 1400,1423 ****
                           (Sink_Decl,
                            Specific_Type_Name,
                            Qualification,
!                           Put_Im,
!                           Result_Decl);
           end;
        else
!          Actions := New_List (Sink_Decl, Put_Im, Result_Decl);
        end if;
  
!       --  To avoid leaks, we need to manage the secondary stack, because Get is
!       --  returning a String allocated thereon. It might be cleaner to let the
!       --  normal mechanisms for functions returning on the secondary stack call
!       --  Set_Uses_Sec_Stack, but this expansion of 'Image is happening too
!       --  late for that.
! 
!       Set_Uses_Sec_Stack (Current_Scope);
  
!       return Make_Expression_With_Actions (Loc,
!         Actions    => Actions,
!         Expression => New_Occurrence_Of (Result_Entity, Loc));
     end Build_Image_Call;
  
     ------------------------------
--- 1372,1391 ----
                           (Sink_Decl,
                            Specific_Type_Name,
                            Qualification,
!                           Put_Im);
           end;
+ 
        else
!          Actions := New_List (Sink_Decl, Put_Im);
        end if;
  
!       Insert_Actions (N, Actions);
  
!       return
!         Make_Function_Call (Loc,
!           Name => New_Occurrence_Of (RTE (Get_Func_Id), Loc),
!             Parameter_Associations => New_List (
!               New_Occurrence_Of (Sink_Entity, Loc)));
     end Build_Image_Call;
  
     ------------------------------
diff -Nrcpad gcc-15-20260124/gcc/ada/exp_put_image.ads gcc-15-20260131/gcc/ada/exp_put_image.ads
*** gcc-15-20260124/gcc/ada/exp_put_image.ads	Sat Jan 24 22:32:05 2026
--- gcc-15-20260131/gcc/ada/exp_put_image.ads	Sat Jan 31 22:32:06 2026
*************** package Exp_Put_Image is
*** 89,95 ****
     function Build_Image_Call (N : Node_Id) return Node_Id;
     --  N is a call to T'[[Wide_]Wide_]Image, and this translates it into the
     --  appropriate code to call T'Put_Image into a buffer and then extract the
!    --  [[wide] wide] string from the buffer.
  
     procedure Preload_Root_Buffer_Type (Compilation_Unit : Node_Id);
     --  Call RTE (RE_Root_Buffer_Type) if necessary, to load the packages
--- 89,97 ----
     function Build_Image_Call (N : Node_Id) return Node_Id;
     --  N is a call to T'[[Wide_]Wide_]Image, and this translates it into the
     --  appropriate code to call T'Put_Image into a buffer and then extract the
!    --  [[wide] wide] string from the buffer. N must be wrapped in a transient
!    --  scope before invoking the function because the buffer is controlled and
!    --  the extraction is done on the secondary stack.
  
     procedure Preload_Root_Buffer_Type (Compilation_Unit : Node_Id);
     --  Call RTE (RE_Root_Buffer_Type) if necessary, to load the packages
diff -Nrcpad gcc-15-20260124/gcc/ada/sem_ch10.adb gcc-15-20260131/gcc/ada/sem_ch10.adb
*** gcc-15-20260124/gcc/ada/sem_ch10.adb	Sat Jan 24 22:32:05 2026
--- gcc-15-20260131/gcc/ada/sem_ch10.adb	Sat Jan 31 22:32:06 2026
*************** package body Sem_Ch10 is
*** 1146,1151 ****
--- 1146,1165 ----
  
        --  Now analyze the unit (package, subprogram spec, body) itself
  
+       if Debug_Flag_I then
+          if Nkind (Unit_Node) in N_Package_Declaration
+                                | N_Package_Renaming_Declaration
+                                | N_Subprogram_Declaration
+                                | N_Generic_Declaration
+            or else (Nkind (Unit_Node) = N_Subprogram_Body
+                      and then Acts_As_Spec (Unit_Node))
+          then
+             Write_Str ("install unit ");
+             Write_Name (Chars (Defining_Entity (Unit_Node)));
+             Write_Eol;
+          end if;
+       end if;
+ 
        Analyze (Unit_Node);
  
        if Warn_On_Redundant_Constructs then
*************** package body Sem_Ch10 is
*** 4684,4689 ****
--- 4698,4715 ----
           end if;
        end if;
  
+       if Debug_Flag_I then
+          Write_Str ("install parent unit ");
+          Write_Name (Chars (P_Name));
+          Write_Eol;
+       end if;
+ 
+       --  Skip this for predefined units because of the rtsfind mechanism
+ 
+       if not In_Predefined_Unit (P_Name) then
+          Set_Is_Visible_Lib_Unit (P_Name);
+       end if;
+ 
        --  This is the recursive call that ensures all parents are loaded
  
        if Is_Child_Spec (P) then
*************** package body Sem_Ch10 is
*** 4756,4767 ****
        Item   : Node_Id;
  
     begin
-       if Debug_Flag_I then
-          Write_Str ("install private with clauses of ");
-          Write_Name (Chars (P));
-          Write_Eol;
-       end if;
- 
        if Nkind (Parent (Decl)) = N_Compilation_Unit then
           Item := First (Context_Items (Parent (Decl)));
           while Present (Item) loop
--- 4782,4787 ----
*************** package body Sem_Ch10 is
*** 7324,7329 ****
--- 7344,7361 ----
           --  in the reverse order of their installation.
  
           Remove_Parents (P);
+ 
+          if Debug_Flag_I then
+             Write_Str ("remove parent unit ");
+             Write_Name (Chars (P_Name));
+             Write_Eol;
+          end if;
+ 
+          --  Skip this for predefined units because of the rtsfind mechanism
+ 
+          if not In_Predefined_Unit (P_Name) then
+             Set_Is_Visible_Lib_Unit (P_Name, False);
+          end if;
        end if;
     end Remove_Parents;
  
diff -Nrcpad gcc-15-20260124/gcc/ada/sem_type.adb gcc-15-20260131/gcc/ada/sem_type.adb
*** gcc-15-20260124/gcc/ada/sem_type.adb	Sat Jan 24 22:32:05 2026
--- gcc-15-20260131/gcc/ada/sem_type.adb	Sat Jan 31 22:32:06 2026
*************** package body Sem_Type is
*** 1012,1019 ****
        elsif T2 = Any_Composite and then Is_Aggregate_Type (T1) then
           return True;
  
!       --  In Ada_2022, an aggregate is compatible with the type that
!       --  as the corresponding aspect.
  
        elsif Ada_Version >= Ada_2022
          and then T2 = Any_Composite
--- 1012,1019 ----
        elsif T2 = Any_Composite and then Is_Aggregate_Type (T1) then
           return True;
  
!       --  In Ada 2022, an aggregate is compatible with the type that
!       --  has the corresponding aspect.
  
        elsif Ada_Version >= Ada_2022
          and then T2 = Any_Composite
*************** package body Sem_Type is
*** 3371,3376 ****
--- 3371,3379 ----
          or else (T1 = Any_Character     and then Is_Character_Type (T2))
          or else (T1 = Any_String        and then Is_String_Type (T2))
          or else (T1 = Any_Composite     and then Is_Aggregate_Type (T2))
+         or else (Ada_Version >= Ada_2022
+                   and then T1 = Any_Composite
+                   and then Has_Aspect (T2, Aspect_Aggregate))
        then
           return B2;
  
*************** package body Sem_Type is
*** 3391,3396 ****
--- 3394,3402 ----
          or else (T2 = Any_Character     and then Is_Character_Type (T1))
          or else (T2 = Any_String        and then Is_String_Type (T1))
          or else (T2 = Any_Composite     and then Is_Aggregate_Type (T1))
+         or else (Ada_Version >= Ada_2022
+                   and then T2 = Any_Composite
+                   and then Has_Aspect (T1, Aspect_Aggregate))
        then
           return B1;
  
diff -Nrcpad gcc-15-20260124/gcc/config/loongarch/loongarch-builtins.cc gcc-15-20260131/gcc/config/loongarch/loongarch-builtins.cc
*** gcc-15-20260124/gcc/config/loongarch/loongarch-builtins.cc	Sat Jan 24 22:32:05 2026
--- gcc-15-20260131/gcc/config/loongarch/loongarch-builtins.cc	Sat Jan 31 22:32:06 2026
*************** static const struct loongarch_builtin_de
*** 1468,1477 ****
    LSX_BUILTIN (vfrintrp_d, LARCH_V2DF_FTYPE_V2DF),
    LSX_BUILTIN (vfrintrm_s, LARCH_V4SF_FTYPE_V4SF),
    LSX_BUILTIN (vfrintrm_d, LARCH_V2DF_FTYPE_V2DF),
!   LSX_NO_TARGET_BUILTIN (vstelm_b, LARCH_VOID_FTYPE_V16QI_CVPOINTER_SI_UQI),
!   LSX_NO_TARGET_BUILTIN (vstelm_h, LARCH_VOID_FTYPE_V8HI_CVPOINTER_SI_UQI),
!   LSX_NO_TARGET_BUILTIN (vstelm_w, LARCH_VOID_FTYPE_V4SI_CVPOINTER_SI_UQI),
!   LSX_NO_TARGET_BUILTIN (vstelm_d, LARCH_VOID_FTYPE_V2DI_CVPOINTER_SI_UQI),
    LSX_BUILTIN (vaddwev_d_w, LARCH_V2DI_FTYPE_V4SI_V4SI),
    LSX_BUILTIN (vaddwev_w_h, LARCH_V4SI_FTYPE_V8HI_V8HI),
    LSX_BUILTIN (vaddwev_h_b, LARCH_V8HI_FTYPE_V16QI_V16QI),
--- 1468,1477 ----
    LSX_BUILTIN (vfrintrp_d, LARCH_V2DF_FTYPE_V2DF),
    LSX_BUILTIN (vfrintrm_s, LARCH_V4SF_FTYPE_V4SF),
    LSX_BUILTIN (vfrintrm_d, LARCH_V2DF_FTYPE_V2DF),
!   LSX_NO_TARGET_BUILTIN (vstelm_b, LARCH_VOID_FTYPE_V16QI_VPOINTER_SI_UQI),
!   LSX_NO_TARGET_BUILTIN (vstelm_h, LARCH_VOID_FTYPE_V8HI_VPOINTER_SI_UQI),
!   LSX_NO_TARGET_BUILTIN (vstelm_w, LARCH_VOID_FTYPE_V4SI_VPOINTER_SI_UQI),
!   LSX_NO_TARGET_BUILTIN (vstelm_d, LARCH_VOID_FTYPE_V2DI_VPOINTER_SI_UQI),
    LSX_BUILTIN (vaddwev_d_w, LARCH_V2DI_FTYPE_V4SI_V4SI),
    LSX_BUILTIN (vaddwev_w_h, LARCH_V4SI_FTYPE_V8HI_V8HI),
    LSX_BUILTIN (vaddwev_h_b, LARCH_V8HI_FTYPE_V16QI_V16QI),
*************** static const struct loongarch_builtin_de
*** 1641,1647 ****
    LSX_BUILTIN (vssrarni_du_q, LARCH_UV2DI_FTYPE_UV2DI_V2DI_USI),
    LSX_BUILTIN (vpermi_w, LARCH_V4SI_FTYPE_V4SI_V4SI_USI),
    LSX_BUILTIN (vld, LARCH_V16QI_FTYPE_CVPOINTER_SI),
!   LSX_NO_TARGET_BUILTIN (vst, LARCH_VOID_FTYPE_V16QI_CVPOINTER_SI),
    LSX_BUILTIN (vssrlrn_b_h, LARCH_V16QI_FTYPE_V8HI_V8HI),
    LSX_BUILTIN (vssrlrn_h_w, LARCH_V8HI_FTYPE_V4SI_V4SI),
    LSX_BUILTIN (vssrlrn_w_d, LARCH_V4SI_FTYPE_V2DI_V2DI),
--- 1641,1647 ----
    LSX_BUILTIN (vssrarni_du_q, LARCH_UV2DI_FTYPE_UV2DI_V2DI_USI),
    LSX_BUILTIN (vpermi_w, LARCH_V4SI_FTYPE_V4SI_V4SI_USI),
    LSX_BUILTIN (vld, LARCH_V16QI_FTYPE_CVPOINTER_SI),
!   LSX_NO_TARGET_BUILTIN (vst, LARCH_VOID_FTYPE_V16QI_VPOINTER_SI),
    LSX_BUILTIN (vssrlrn_b_h, LARCH_V16QI_FTYPE_V8HI_V8HI),
    LSX_BUILTIN (vssrlrn_h_w, LARCH_V8HI_FTYPE_V4SI_V4SI),
    LSX_BUILTIN (vssrlrn_w_d, LARCH_V4SI_FTYPE_V2DI_V2DI),
*************** static const struct loongarch_builtin_de
*** 1652,1658 ****
    LSX_BUILTIN (vldi, LARCH_V2DI_FTYPE_HI),
    LSX_BUILTIN (vshuf_b, LARCH_V16QI_FTYPE_V16QI_V16QI_V16QI),
    LSX_BUILTIN (vldx, LARCH_V16QI_FTYPE_CVPOINTER_DI),
!   LSX_NO_TARGET_BUILTIN (vstx, LARCH_VOID_FTYPE_V16QI_CVPOINTER_DI),
    LSX_BUILTIN (vextl_qu_du, LARCH_UV2DI_FTYPE_UV2DI),
  
    /* Built-in functions for LASX */
--- 1652,1658 ----
    LSX_BUILTIN (vldi, LARCH_V2DI_FTYPE_HI),
    LSX_BUILTIN (vshuf_b, LARCH_V16QI_FTYPE_V16QI_V16QI_V16QI),
    LSX_BUILTIN (vldx, LARCH_V16QI_FTYPE_CVPOINTER_DI),
!   LSX_NO_TARGET_BUILTIN (vstx, LARCH_VOID_FTYPE_V16QI_VPOINTER_DI),
    LSX_BUILTIN (vextl_qu_du, LARCH_UV2DI_FTYPE_UV2DI),
  
    /* Built-in functions for LASX */
*************** static const struct loongarch_builtin_de
*** 2181,2191 ****
    LASX_BUILTIN (xvfrintrm_s, LARCH_V8SF_FTYPE_V8SF),
    LASX_BUILTIN (xvfrintrm_d, LARCH_V4DF_FTYPE_V4DF),
    LASX_BUILTIN (xvld, LARCH_V32QI_FTYPE_CVPOINTER_SI),
!   LASX_NO_TARGET_BUILTIN (xvst, LARCH_VOID_FTYPE_V32QI_CVPOINTER_SI),
!   LASX_NO_TARGET_BUILTIN (xvstelm_b, LARCH_VOID_FTYPE_V32QI_CVPOINTER_SI_UQI),
!   LASX_NO_TARGET_BUILTIN (xvstelm_h, LARCH_VOID_FTYPE_V16HI_CVPOINTER_SI_UQI),
!   LASX_NO_TARGET_BUILTIN (xvstelm_w, LARCH_VOID_FTYPE_V8SI_CVPOINTER_SI_UQI),
!   LASX_NO_TARGET_BUILTIN (xvstelm_d, LARCH_VOID_FTYPE_V4DI_CVPOINTER_SI_UQI),
    LASX_BUILTIN (xvinsve0_w, LARCH_V8SI_FTYPE_V8SI_V8SI_UQI),
    LASX_BUILTIN (xvinsve0_d, LARCH_V4DI_FTYPE_V4DI_V4DI_UQI),
    LASX_BUILTIN (xvpickve_w, LARCH_V8SI_FTYPE_V8SI_UQI),
--- 2181,2191 ----
    LASX_BUILTIN (xvfrintrm_s, LARCH_V8SF_FTYPE_V8SF),
    LASX_BUILTIN (xvfrintrm_d, LARCH_V4DF_FTYPE_V4DF),
    LASX_BUILTIN (xvld, LARCH_V32QI_FTYPE_CVPOINTER_SI),
!   LASX_NO_TARGET_BUILTIN (xvst, LARCH_VOID_FTYPE_V32QI_VPOINTER_SI),
!   LASX_NO_TARGET_BUILTIN (xvstelm_b, LARCH_VOID_FTYPE_V32QI_VPOINTER_SI_UQI),
!   LASX_NO_TARGET_BUILTIN (xvstelm_h, LARCH_VOID_FTYPE_V16HI_VPOINTER_SI_UQI),
!   LASX_NO_TARGET_BUILTIN (xvstelm_w, LARCH_VOID_FTYPE_V8SI_VPOINTER_SI_UQI),
!   LASX_NO_TARGET_BUILTIN (xvstelm_d, LARCH_VOID_FTYPE_V4DI_VPOINTER_SI_UQI),
    LASX_BUILTIN (xvinsve0_w, LARCH_V8SI_FTYPE_V8SI_V8SI_UQI),
    LASX_BUILTIN (xvinsve0_d, LARCH_V4DI_FTYPE_V4DI_V4DI_UQI),
    LASX_BUILTIN (xvpickve_w, LARCH_V8SI_FTYPE_V8SI_UQI),
*************** static const struct loongarch_builtin_de
*** 2201,2207 ****
    LASX_BUILTIN (xvorn_v, LARCH_UV32QI_FTYPE_UV32QI_UV32QI),
    LASX_BUILTIN (xvldi, LARCH_V4DI_FTYPE_HI),
    LASX_BUILTIN (xvldx, LARCH_V32QI_FTYPE_CVPOINTER_DI),
!   LASX_NO_TARGET_BUILTIN (xvstx, LARCH_VOID_FTYPE_V32QI_CVPOINTER_DI),
    LASX_BUILTIN (xvextl_qu_du, LARCH_UV4DI_FTYPE_UV4DI),
  
    /* LASX */
--- 2201,2207 ----
    LASX_BUILTIN (xvorn_v, LARCH_UV32QI_FTYPE_UV32QI_UV32QI),
    LASX_BUILTIN (xvldi, LARCH_V4DI_FTYPE_HI),
    LASX_BUILTIN (xvldx, LARCH_V32QI_FTYPE_CVPOINTER_DI),
!   LASX_NO_TARGET_BUILTIN (xvstx, LARCH_VOID_FTYPE_V32QI_VPOINTER_DI),
    LASX_BUILTIN (xvextl_qu_du, LARCH_UV4DI_FTYPE_UV4DI),
  
    /* LASX */
*************** loongarch_build_cvpointer_type (void)
*** 2451,2461 ****
--- 2451,2475 ----
    return cache;
  }
  
+ /* Return a type for 'volatile void *'.  */
+ 
+ static tree
+ loongarch_build_vpointer_type (void)
+ {
+   static tree cache;
+ 
+   if (cache == NULL_TREE)
+     cache = build_pointer_type (build_qualified_type (void_type_node,
+ 						      TYPE_QUAL_VOLATILE));
+   return cache;
+ }
+ 
  /* Source-level argument types.  */
  #define LARCH_ATYPE_VOID void_type_node
  #define LARCH_ATYPE_INT integer_type_node
  #define LARCH_ATYPE_POINTER ptr_type_node
  #define LARCH_ATYPE_CVPOINTER loongarch_build_cvpointer_type ()
+ #define LARCH_ATYPE_VPOINTER loongarch_build_vpointer_type ()
  #define LARCH_ATYPE_BOOLEAN boolean_type_node
  /* Standard mode-based argument types.  */
  #define LARCH_ATYPE_QI intQI_type_node
diff -Nrcpad gcc-15-20260124/gcc/config/loongarch/loongarch-ftypes.def gcc-15-20260131/gcc/config/loongarch/loongarch-ftypes.def
*** gcc-15-20260124/gcc/config/loongarch/loongarch-ftypes.def	Sat Jan 24 22:32:05 2026
--- gcc-15-20260131/gcc/config/loongarch/loongarch-ftypes.def	Sat Jan 31 22:32:06 2026
*************** DEF_LARCH_FTYPE (2, (V8QI, V4HI, V4HI))
*** 492,518 ****
  DEF_LARCH_FTYPE (1, (V8QI, V8QI))
  DEF_LARCH_FTYPE (2, (V8QI, V8QI, V8QI))
  
- DEF_LARCH_FTYPE (2, (VOID, SI, CVPOINTER))
  DEF_LARCH_FTYPE (2, (VOID, SI, SI))
  DEF_LARCH_FTYPE (2, (VOID, UQI, SI))
  DEF_LARCH_FTYPE (2, (VOID, USI, UQI))
  DEF_LARCH_FTYPE (1, (VOID, UHI))
! DEF_LARCH_FTYPE (3, (VOID, V16QI, CVPOINTER, SI))
! DEF_LARCH_FTYPE (3, (VOID, V16QI, CVPOINTER, DI))
! DEF_LARCH_FTYPE (3, (VOID, V32QI, CVPOINTER, SI))
! DEF_LARCH_FTYPE (3, (VOID, V32QI, CVPOINTER, DI))
  DEF_LARCH_FTYPE (3, (VOID, V4DF, POINTER, SI))
  DEF_LARCH_FTYPE (3, (VOID, V2DF, POINTER, SI))
- DEF_LARCH_FTYPE (3, (VOID, V2DI, CVPOINTER, SI))
- DEF_LARCH_FTYPE (3, (VOID, V4DI, CVPOINTER, SI))
  DEF_LARCH_FTYPE (2, (VOID, V2HI, V2HI))
  DEF_LARCH_FTYPE (2, (VOID, V4QI, V4QI))
  DEF_LARCH_FTYPE (3, (VOID, V4SF, POINTER, SI))
  DEF_LARCH_FTYPE (3, (VOID, V8SF, POINTER, SI))
- DEF_LARCH_FTYPE (3, (VOID, V4SI, CVPOINTER, SI))
- DEF_LARCH_FTYPE (3, (VOID, V8SI, CVPOINTER, SI))
- DEF_LARCH_FTYPE (3, (VOID, V8HI, CVPOINTER, SI))
- DEF_LARCH_FTYPE (3, (VOID, V16HI, CVPOINTER, SI))
  
  DEF_LARCH_FTYPE (1, (V16HI, V32QI))
  DEF_LARCH_FTYPE (1, (UV16HI, UV32QI))
--- 492,511 ----
  DEF_LARCH_FTYPE (1, (V8QI, V8QI))
  DEF_LARCH_FTYPE (2, (V8QI, V8QI, V8QI))
  
  DEF_LARCH_FTYPE (2, (VOID, SI, SI))
  DEF_LARCH_FTYPE (2, (VOID, UQI, SI))
  DEF_LARCH_FTYPE (2, (VOID, USI, UQI))
  DEF_LARCH_FTYPE (1, (VOID, UHI))
! DEF_LARCH_FTYPE (3, (VOID, V16QI, VPOINTER, SI))
! DEF_LARCH_FTYPE (3, (VOID, V16QI, VPOINTER, DI))
! DEF_LARCH_FTYPE (3, (VOID, V32QI, VPOINTER, SI))
! DEF_LARCH_FTYPE (3, (VOID, V32QI, VPOINTER, DI))
  DEF_LARCH_FTYPE (3, (VOID, V4DF, POINTER, SI))
  DEF_LARCH_FTYPE (3, (VOID, V2DF, POINTER, SI))
  DEF_LARCH_FTYPE (2, (VOID, V2HI, V2HI))
  DEF_LARCH_FTYPE (2, (VOID, V4QI, V4QI))
  DEF_LARCH_FTYPE (3, (VOID, V4SF, POINTER, SI))
  DEF_LARCH_FTYPE (3, (VOID, V8SF, POINTER, SI))
  
  DEF_LARCH_FTYPE (1, (V16HI, V32QI))
  DEF_LARCH_FTYPE (1, (UV16HI, UV32QI))
*************** DEF_LARCH_FTYPE (2, (V4DI, UQI, USI))
*** 607,625 ****
  DEF_LARCH_FTYPE (2, (V2DI, UQI, USI))
  DEF_LARCH_FTYPE (2, (V4DI, UQI, UQI))
  DEF_LARCH_FTYPE (2, (V2DI, UQI, UQI))
- DEF_LARCH_FTYPE (4, (VOID, SI, UQI, V16QI, CVPOINTER))
- DEF_LARCH_FTYPE (4, (VOID, SI, UQI, V8HI, CVPOINTER))
- DEF_LARCH_FTYPE (4, (VOID, SI, UQI, V4SI, CVPOINTER))
- DEF_LARCH_FTYPE (4, (VOID, SI, UQI, V2DI, CVPOINTER))
  DEF_LARCH_FTYPE (2, (V16QI, SI, CVPOINTER))
  DEF_LARCH_FTYPE (2, (V8HI, SI, CVPOINTER))
  DEF_LARCH_FTYPE (2, (V4SI, SI, CVPOINTER))
  DEF_LARCH_FTYPE (2, (V2DI, SI, CVPOINTER))
- DEF_LARCH_FTYPE (4, (VOID, V32QI, UQI, SI,  CVPOINTER))
- DEF_LARCH_FTYPE (4, (VOID, V16HI, UQI, SI, CVPOINTER))
- DEF_LARCH_FTYPE (4, (VOID, V8SI, UQI, SI, CVPOINTER))
- DEF_LARCH_FTYPE (4, (VOID, V4DI, UQI, SI, CVPOINTER))
- DEF_LARCH_FTYPE (3, (VOID, V32QI, SI,  CVPOINTER))
  DEF_LARCH_FTYPE (2, (V32QI, SI, CVPOINTER))
  DEF_LARCH_FTYPE (2, (V16HI, SI, CVPOINTER))
  DEF_LARCH_FTYPE (2, (V8SI, SI, CVPOINTER))
--- 600,609 ----
*************** DEF_LARCH_FTYPE(3,(V4DI,V4DI,UV16HI,V16H
*** 682,691 ****
  DEF_LARCH_FTYPE(2,(UV8SI,UV32QI,UV32QI))
  DEF_LARCH_FTYPE(2,(V8SI,UV32QI,V32QI))
  
! DEF_LARCH_FTYPE(4,(VOID,V16QI,CVPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V8HI,CVPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V4SI,CVPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V2DI,CVPOINTER,SI,UQI))
  
  DEF_LARCH_FTYPE (2, (DI, V16QI, UQI))
  DEF_LARCH_FTYPE (2, (DI, V8HI, UQI))
--- 666,675 ----
  DEF_LARCH_FTYPE(2,(UV8SI,UV32QI,UV32QI))
  DEF_LARCH_FTYPE(2,(V8SI,UV32QI,V32QI))
  
! DEF_LARCH_FTYPE(4,(VOID,V16QI,VPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V8HI,VPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V4SI,VPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V2DI,VPOINTER,SI,UQI))
  
  DEF_LARCH_FTYPE (2, (DI, V16QI, UQI))
  DEF_LARCH_FTYPE (2, (DI, V8HI, UQI))
*************** DEF_LARCH_FTYPE (3, (UV16HI, UV16HI, V16
*** 707,716 ****
  DEF_LARCH_FTYPE (3, (UV8SI, UV8SI, V8SI, USI))
  DEF_LARCH_FTYPE (3, (UV4DI, UV4DI, V4DI, USI))
  
! DEF_LARCH_FTYPE(4,(VOID,V32QI,CVPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V16HI,CVPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V8SI,CVPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V4DI,CVPOINTER,SI,UQI))
  
  DEF_LARCH_FTYPE (1, (BOOLEAN,V16QI))
  DEF_LARCH_FTYPE(2,(V16QI,CVPOINTER,CVPOINTER))
--- 691,700 ----
  DEF_LARCH_FTYPE (3, (UV8SI, UV8SI, V8SI, USI))
  DEF_LARCH_FTYPE (3, (UV4DI, UV4DI, V4DI, USI))
  
! DEF_LARCH_FTYPE(4,(VOID,V32QI,VPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V16HI,VPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V8SI,VPOINTER,SI,UQI))
! DEF_LARCH_FTYPE(4,(VOID,V4DI,VPOINTER,SI,UQI))
  
  DEF_LARCH_FTYPE (1, (BOOLEAN,V16QI))
  DEF_LARCH_FTYPE(2,(V16QI,CVPOINTER,CVPOINTER))
diff -Nrcpad gcc-15-20260124/gcc/config/loongarch/loongarch.cc gcc-15-20260131/gcc/config/loongarch/loongarch.cc
*** gcc-15-20260124/gcc/config/loongarch/loongarch.cc	Sat Jan 24 22:32:05 2026
--- gcc-15-20260131/gcc/config/loongarch/loongarch.cc	Sat Jan 31 22:32:06 2026
*************** loongarch_expand_vector_init_same (rtx t
*** 10207,10213 ****
  	}
      }
  
!   temp = force_reg (imode, same);
  
    switch (vmode)
      {
--- 10207,10222 ----
  	}
      }
  
!   if (GET_CODE (same) == MEM && GET_MODE (same) != imode)
!     {
!       rtx reg_tmp = gen_reg_rtx (GET_MODE (same));
!       loongarch_emit_move (reg_tmp, same);
!       temp = lowpart_subreg (imode, reg_tmp, GET_MODE (reg_tmp));
!     }
!   else
!     temp = same;
! 
!   temp = force_reg (imode, temp);
  
    switch (vmode)
      {
diff -Nrcpad gcc-15-20260124/gcc/cp/ChangeLog gcc-15-20260131/gcc/cp/ChangeLog
*** gcc-15-20260124/gcc/cp/ChangeLog	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/cp/ChangeLog	Sat Jan 31 22:32:07 2026
***************
*** 1,3 ****
--- 1,23 ----
+ 2026-01-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/123676
+ 	* pt.cc (tsubst_pack_expansion): Relax unsubsituted_packs
+ 	assert to allow !processing_template_decl when args is
+ 	NULL_TREE.
+ 
+ 2026-01-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/122494
+ 	PR c++/123814
+ 	* constexpr.cc (cxx_eval_outermost_constant_expr): Clear
+ 	uid_sensitive_constexpr_evaluation_value when mce_true.
+ 
  2026-01-23  Jakub Jelinek  <jakub@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260124/gcc/cp/constexpr.cc gcc-15-20260131/gcc/cp/constexpr.cc
*** gcc-15-20260124/gcc/cp/constexpr.cc	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/cp/constexpr.cc	Sat Jan 31 22:32:07 2026
*************** cxx_eval_outermost_constant_expr (tree t
*** 9239,9244 ****
--- 9239,9255 ----
  	r = TARGET_EXPR_INITIAL (r);
      }
  
+   /* uid_sensitive_constexpr_evaluation_value restricts warning-dependent
+      constexpr evaluation to avoid unnecessary template instantiation, and is
+      always done with mce_unknown.  But due to gaps in the restriction logic
+      we may still end up taking an evaluation path that in turn requires
+      manifestly constant evaluation, and such evaluation must not be
+      restricted since it likely has semantic consequences.
+      TODO: Remove/replace the mechanism in GCC 17.  */
+   auto uids = make_temp_override (uid_sensitive_constexpr_evaluation_value);
+   if (ctx.manifestly_const_eval == mce_true)
+     uid_sensitive_constexpr_evaluation_value = false;
+ 
    auto_vec<tree, 16> cleanups;
    global_ctx.cleanups = &cleanups;
  
diff -Nrcpad gcc-15-20260124/gcc/cp/pt.cc gcc-15-20260131/gcc/cp/pt.cc
*** gcc-15-20260124/gcc/cp/pt.cc	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/cp/pt.cc	Sat Jan 31 22:32:07 2026
*************** tsubst_pack_expansion (tree t, tree args
*** 13945,13951 ****
  	  /* We can't substitute for this parameter pack.  We use a flag as
  	     well as the missing_level counter because function parameter
  	     packs don't have a level.  */
! 	  gcc_assert (processing_template_decl || is_auto (parm_pack));
  	  unsubstituted_packs = true;
  	}
      }
--- 13945,13952 ----
  	  /* We can't substitute for this parameter pack.  We use a flag as
  	     well as the missing_level counter because function parameter
  	     packs don't have a level.  */
! 	  gcc_assert (processing_template_decl || is_auto (parm_pack)
! 		      || args == NULL_TREE);
  	  unsubstituted_packs = true;
  	}
      }
diff -Nrcpad gcc-15-20260124/gcc/d/ChangeLog gcc-15-20260131/gcc/d/ChangeLog
*** gcc-15-20260124/gcc/d/ChangeLog	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/d/ChangeLog	Sat Jan 31 22:32:07 2026
***************
*** 1,3 ****
--- 1,99 ----
+ 2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123264
+ 	* types.cc (finish_aggregate_type): Propagate struct TYPE_NAME to all
+ 	TYPE_NEXT_VARIANT types.
+ 
+ 2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123407
+ 	* decl.cc (get_symbol_decl): Handle declarations with matching
+ 	assembler names, but different TREE_CODE.
+ 
+ 2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123046
+ 	* d-codegen.cc (build_address): Return `null' when generating the
+ 	address of a `noreturn' declaration.
+ 	(d_build_call): Compare TYPE_MAIN_VARIANT of type with `noreturn'.
+ 	* decl.cc (get_fndecl_arguments): Likewise.
+ 	* types.cc (finish_aggregate_mode): Likewise.
+ 	(TypeVisitor::visit (TypeFunction *)): Likewise.
+ 
+ 2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123349
+ 	* d-spec.cc (lang_specific_driver): Use xstrdup to copy -defaultlib
+ 	and -debuglib argument, and unconditionally free the old value.
+ 
+ 2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123419
+ 	* expr.cc (ExprVisitor::visit (VarExp *)): Adjust assertion.
+ 
+ 2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123798
+ 	* types.cc (insert_aggregate_bitfield): Set DECL_NONADDRESSABLE_P and
+ 	DECL_PADDING_P on bit-field decls.
+ 	(finish_aggregate_type): Pass the aligned bit offset to layout_decl.
+ 
+ 2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/121477
+ 	* d-codegen.cc (d_mark_addressable): Give an error if taking the
+ 	address of a DECL_BIT_FIELD.
+ 
+ 2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123422
+ 	* expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Don't add
+ 	TARGET_EXPR around constructor.
+ 	* toir.cc (IRVisitor::visit (ReturnStatement *)): Recognize more
+ 	patterns for return value optimization.
+ 
+ 2026-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/120096
+ 	* expr.cc (ExprVisitor::visit (ArrayLiteralExp *)): Include saved side
+ 	effects in expression result.
+ 
+ 2026-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/122817
+ 	* d-lang.cc (d_parse_file): Set module filename location after
+ 	creation.
+ 
  2025-08-08  Release Manager
  
  	* GCC 15.2.0 released.
diff -Nrcpad gcc-15-20260124/gcc/d/d-codegen.cc gcc-15-20260131/gcc/d/d-codegen.cc
*** gcc-15-20260124/gcc/d/d-codegen.cc	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/d/d-codegen.cc	Sat Jan 31 22:32:07 2026
*************** build_address (tree exp)
*** 705,710 ****
--- 705,715 ----
    if (TREE_CODE (exp) == CONST_DECL)
      exp = DECL_INITIAL (exp);
  
+   /* Type `noreturn' has no storage, return `null' for the expression.  */
+   if (DECL_P (exp) && TREE_CODE (exp) != FIELD_DECL
+       && TYPE_MAIN_VARIANT (TREE_TYPE (exp)) == noreturn_type_node)
+     return compound_expr (init, null_pointer_node);
+ 
    /* Some expression lowering may request an address of a compile-time constant,
       or other non-lvalue expression.  Make sure it is assigned to a location we
       can reference.  */
*************** d_mark_addressable (tree exp, bool compl
*** 744,751 ****
  {
    switch (TREE_CODE (exp))
      {
-     case ADDR_EXPR:
      case COMPONENT_REF:
      case ARRAY_REF:
      case REALPART_EXPR:
      case IMAGPART_EXPR:
--- 749,760 ----
  {
    switch (TREE_CODE (exp))
      {
      case COMPONENT_REF:
+       if (complain && DECL_BIT_FIELD (TREE_OPERAND (exp, 1)))
+ 	error ("cannot take address of bit-field %qD", TREE_OPERAND (exp, 1));
+ 
+       /* Fall through.  */
+     case ADDR_EXPR:
      case ARRAY_REF:
      case REALPART_EXPR:
      case IMAGPART_EXPR:
*************** d_build_call (TypeFunction *tf, tree cal
*** 2354,2360 ****
  
  	  /* Type `noreturn` is a terminator, as no other arguments can possibly
  	     be evaluated after it.  */
! 	  if (TREE_TYPE (targ) == noreturn_type_node)
  	    noreturn_call = true;
  
  	  vec_safe_push (args, targ);
--- 2363,2369 ----
  
  	  /* Type `noreturn` is a terminator, as no other arguments can possibly
  	     be evaluated after it.  */
! 	  if (TYPE_MAIN_VARIANT (TREE_TYPE (targ)) == noreturn_type_node)
  	    noreturn_call = true;
  
  	  vec_safe_push (args, targ);
*************** d_build_call (TypeFunction *tf, tree cal
*** 2374,2380 ****
        unsigned int ix;
  
        FOR_EACH_VEC_SAFE_ELT (args, ix, arg)
! 	saved_args = compound_expr (saved_args, arg);
  
        /* Add a stub result type for the expression.  */
        tree result = build_zero_cst (TREE_TYPE (ctype));
--- 2383,2394 ----
        unsigned int ix;
  
        FOR_EACH_VEC_SAFE_ELT (args, ix, arg)
! 	{
! 	  saved_args = compound_expr (saved_args, arg);
! 
! 	  if (TYPE_MAIN_VARIANT (TREE_TYPE (arg)) == noreturn_type_node)
! 	    break;
! 	}
  
        /* Add a stub result type for the expression.  */
        tree result = build_zero_cst (TREE_TYPE (ctype));
diff -Nrcpad gcc-15-20260124/gcc/d/d-lang.cc gcc-15-20260131/gcc/d/d-lang.cc
*** gcc-15-20260124/gcc/d/d-lang.cc	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/d/d-lang.cc	Sat Jan 31 22:32:07 2026
*************** d_parse_file (void)
*** 1128,1133 ****
--- 1128,1134 ----
  				      Identifier::idPool ("__stdin"),
  				      global.params.ddoc.doOutput,
  				      global.params.dihdr.doOutput);
+ 	  m->loc = Loc::singleFilename (in_fnames[i]);
  	  modules.push (m);
  
  	  /* Zero the padding past the end of the buffer so the D lexer has a
*************** d_parse_file (void)
*** 1148,1153 ****
--- 1149,1155 ----
  	  Module *m = Module::create (in_fnames[i], Identifier::idPool (name),
  				      global.params.ddoc.doOutput,
  				      global.params.dihdr.doOutput);
+ 	  m->loc = Loc::singleFilename (in_fnames[i]);
  	  modules.push (m);
  	  FileName::free (name);
  	}
diff -Nrcpad gcc-15-20260124/gcc/d/d-spec.cc gcc-15-20260131/gcc/d/d-spec.cc
*** gcc-15-20260124/gcc/d/d-spec.cc	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/d/d-spec.cc	Sat Jan 31 22:32:07 2026
*************** lang_specific_driver (cl_decoded_option
*** 162,185 ****
  	  break;
  
  	case OPT_defaultlib_:
! 	  if (defaultlib != NULL)
! 	    free (CONST_CAST (char *, defaultlib));
  	  if (arg != NULL)
  	    {
  	      args[i] |= SKIPOPT;
! 	      defaultlib = XNEWVEC (char, strlen (arg));
! 	      strcpy (CONST_CAST (char *, defaultlib), arg);
  	    }
  	  break;
  
  	case OPT_debuglib_:
! 	  if (debuglib != NULL)
! 	    free (CONST_CAST (char *, debuglib));
  	  if (arg != NULL)
  	    {
  	      args[i] |= SKIPOPT;
! 	      debuglib = XNEWVEC (char, strlen (arg));
! 	      strcpy (CONST_CAST (char *, debuglib), arg);
  	    }
  	  break;
  
--- 162,181 ----
  	  break;
  
  	case OPT_defaultlib_:
! 	  free (CONST_CAST (char *, defaultlib));
  	  if (arg != NULL)
  	    {
  	      args[i] |= SKIPOPT;
! 	      defaultlib = xstrdup (arg);
  	    }
  	  break;
  
  	case OPT_debuglib_:
! 	  free (CONST_CAST (char *, debuglib));
  	  if (arg != NULL)
  	    {
  	      args[i] |= SKIPOPT;
! 	      debuglib = xstrdup (arg);
  	    }
  	  break;
  
diff -Nrcpad gcc-15-20260124/gcc/d/decl.cc gcc-15-20260131/gcc/d/decl.cc
*** gcc-15-20260124/gcc/d/decl.cc	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/d/decl.cc	Sat Jan 31 22:32:07 2026
*************** get_fndecl_arguments (FuncDeclaration *d
*** 184,190 ****
  
  	  /* Type `noreturn` is a terminator, as no other arguments can possibly
  	     be evaluated after it.  */
! 	  if (TREE_TYPE (parm_decl) == noreturn_type_node)
  	    break;
  
  	  /* Chain them in the correct order.  */
--- 184,190 ----
  
  	  /* Type `noreturn` is a terminator, as no other arguments can possibly
  	     be evaluated after it.  */
! 	  if (TYPE_MAIN_VARIANT (TREE_TYPE (parm_decl)) == noreturn_type_node)
  	    break;
  
  	  /* Chain them in the correct order.  */
*************** get_symbol_decl (Declaration *decl)
*** 1213,1220 ****
  
    /* Deal with placeholder symbols immediately:
       SymbolDeclaration is used as a shell around an initializer symbol.  */
!   SymbolDeclaration *sd = decl->isSymbolDeclaration ();
!   if (sd)
      {
        decl->csym = aggregate_initializer_decl (sd->dsym);
        return decl->csym;
--- 1213,1219 ----
  
    /* Deal with placeholder symbols immediately:
       SymbolDeclaration is used as a shell around an initializer symbol.  */
!   if (SymbolDeclaration *sd = decl->isSymbolDeclaration ())
      {
        decl->csym = aggregate_initializer_decl (sd->dsym);
        return decl->csym;
*************** get_symbol_decl (Declaration *decl)
*** 1225,1232 ****
      return get_typeinfo_decl ((TypeInfoDeclaration *) decl);
  
    /* FuncAliasDeclaration is used to import functions from another scope.  */
!   FuncAliasDeclaration *fad = decl->isFuncAliasDeclaration ();
!   if (fad)
      {
        decl->csym = get_symbol_decl (fad->funcalias);
        return decl->csym;
--- 1224,1230 ----
      return get_typeinfo_decl ((TypeInfoDeclaration *) decl);
  
    /* FuncAliasDeclaration is used to import functions from another scope.  */
!   if (FuncAliasDeclaration *fad = decl->isFuncAliasDeclaration ())
      {
        decl->csym = get_symbol_decl (fad->funcalias);
        return decl->csym;
*************** get_symbol_decl (Declaration *decl)
*** 1261,1268 ****
      }
  
    /* Build the tree for the symbol.  */
!   FuncDeclaration *fd = decl->isFuncDeclaration ();
!   if (fd)
      {
        /* Run full semantic on functions we need to know about.  */
        if (!dmd::functionSemantic (fd))
--- 1259,1265 ----
      }
  
    /* Build the tree for the symbol.  */
!   if (FuncDeclaration *fd = decl->isFuncDeclaration ())
      {
        /* Run full semantic on functions we need to know about.  */
        if (!dmd::functionSemantic (fd))
*************** get_symbol_decl (Declaration *decl)
*** 1354,1382 ****
        if (IDENTIFIER_DSYMBOL (mangled_name))
  	{
  	  Declaration *other = IDENTIFIER_DSYMBOL (mangled_name);
! 	  tree olddecl = decl->csym;
! 	  decl->csym = get_symbol_decl (other);
! 
! 	  /* Update the symbol location to the current definition.  */
! 	  if (DECL_EXTERNAL (decl->csym) && !DECL_INITIAL (decl->csym))
! 	    DECL_SOURCE_LOCATION (decl->csym) = DECL_SOURCE_LOCATION (olddecl);
  
! 	  /* The current declaration is a prototype or marked extern, merge
! 	     applied user attributes and return.  */
! 	  if (DECL_EXTERNAL (olddecl) && !DECL_INITIAL (olddecl))
! 	    {
! 	      apply_user_attributes (decl, decl->csym);
! 	      return decl->csym;
! 	    }
! 	  /* The previous declaration is a prototype or marked extern, set the
! 	     current declaration as the main reference of the symbol.  */
! 	  else if (DECL_EXTERNAL (decl->csym) && !DECL_INITIAL (decl->csym))
  	    {
! 	      IDENTIFIER_DSYMBOL (mangled_name) = decl;
! 	      DECL_EXTERNAL (decl->csym) = 0;
  	    }
! 	  /* Non-extern, non-templated decls shouldn't be defined twice.  */
! 	  else if (!decl->isInstantiated ())
  	    ScopeDsymbol::multiplyDefined (decl->loc, decl, other);
  	}
        else
--- 1351,1388 ----
        if (IDENTIFIER_DSYMBOL (mangled_name))
  	{
  	  Declaration *other = IDENTIFIER_DSYMBOL (mangled_name);
! 	  tree newdecl = decl->csym;
! 	  tree olddecl = get_symbol_decl (other);
  
! 	  if (TREE_CODE (olddecl) == TREE_CODE (newdecl))
  	    {
! 	      /* Update the symbol location to the current definition.  */
! 	      if (DECL_EXTERNAL (olddecl) && !DECL_INITIAL (olddecl))
! 		DECL_SOURCE_LOCATION (olddecl) = DECL_SOURCE_LOCATION (newdecl);
! 
! 	      /* The current declaration is a prototype or marked extern, merge
! 		 applied user attributes and return.  */
! 	      if (DECL_EXTERNAL (newdecl) && !DECL_INITIAL (newdecl))
! 		{
! 		  apply_user_attributes (decl, olddecl);
! 		  decl->csym = olddecl;
! 		  return decl->csym;
! 		}
! 	      /* The previous declaration is a prototype or marked extern, set
! 		 the current declaration as the main reference of the symbol.
! 	       */
! 	      else if (DECL_EXTERNAL (olddecl) && !DECL_INITIAL (olddecl))
! 		{
! 		  IDENTIFIER_DSYMBOL (mangled_name) = decl;
! 		  decl->csym = olddecl;
! 		  DECL_EXTERNAL (decl->csym) = 0;
! 		}
! 	      /* Non-extern, non-templated decls shouldn't be defined twice.  */
! 	      else if (!decl->isInstantiated ())
! 		ScopeDsymbol::multiplyDefined (decl->loc, decl, other);
  	    }
! 	  /* Declarations are for conflicting kinds of symbol.  */
! 	  else
  	    ScopeDsymbol::multiplyDefined (decl->loc, decl, other);
  	}
        else
*************** get_symbol_decl (Declaration *decl)
*** 1418,1423 ****
--- 1424,1432 ----
      }
    else if (TREE_CODE (decl->csym) == FUNCTION_DECL)
      {
+       FuncDeclaration *fd = decl->isFuncDeclaration ();
+       gcc_assert (fd != NULL);
+ 
        /* Dual-context functions require the code generation to build an array
  	 for the context pointer of the function, making the delicate task of
  	 tracking which context to follow when encountering a non-local symbol,
*************** get_symbol_decl (Declaration *decl)
*** 1571,1576 ****
--- 1580,1586 ----
    if (decl->isDataseg () || decl->isCodeseg () || decl->isThreadlocal ())
      {
        /* Set TREE_PUBLIC by default, but allow private template to override.  */
+       FuncDeclaration *fd = decl->isFuncDeclaration ();
        if (!fd || !fd->isNested ())
  	TREE_PUBLIC (decl->csym) = 1;
  
diff -Nrcpad gcc-15-20260124/gcc/d/expr.cc gcc-15-20260131/gcc/d/expr.cc
*** gcc-15-20260124/gcc/d/expr.cc	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/d/expr.cc	Sat Jan 31 22:32:07 2026
*************** public:
*** 2174,2180 ****
  	      {
  		/* Generate a slice for non-zero initialized aggregates,
  		   otherwise create an empty array.  */
! 		gcc_assert (e->type->isConst ()
  			    && e->type->nextOf ()->ty == TY::Tvoid);
  
  		tree type = build_ctype (e->type);
--- 2174,2180 ----
  	      {
  		/* Generate a slice for non-zero initialized aggregates,
  		   otherwise create an empty array.  */
! 		gcc_assert (e->type->nextOf ()->isConst ()
  			    && e->type->nextOf ()->ty == TY::Tvoid);
  
  		tree type = build_ctype (e->type);
*************** public:
*** 2708,2715 ****
  	/* Array literal for a `scope' dynamic array.  */
  	gcc_assert (tb->ty == TY::Tarray);
  	ctor = force_target_expr (ctor);
! 	this->result_ = d_array_value (type, size_int (e->elements->length),
! 				       build_address (ctor));
        }
      else
        {
--- 2708,2716 ----
  	/* Array literal for a `scope' dynamic array.  */
  	gcc_assert (tb->ty == TY::Tarray);
  	ctor = force_target_expr (ctor);
! 	ctor = d_array_value (type, size_int (e->elements->length),
! 			      build_address (ctor));
! 	this->result_ = compound_expr (saved_elems, ctor);
        }
      else
        {
diff -Nrcpad gcc-15-20260124/gcc/d/toir.cc gcc-15-20260131/gcc/d/toir.cc
*** gcc-15-20260124/gcc/d/toir.cc	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/d/toir.cc	Sat Jan 31 22:32:07 2026
*************** public:
*** 1022,1062 ****
  	/* Detect a call to a constructor function, or if returning a struct
  	   literal, write result directly into the return value.  */
  	StructLiteralExp *sle = NULL;
  	bool using_rvo_p = false;
  
  	if (DotVarExp *dve = (s->exp->isCallExp ()
  			      ? s->exp->isCallExp ()->e1->isDotVarExp ()
  			      : NULL))
  	  {
  	    if (dve->var->isCtorDeclaration ())
  	      {
  		if (CommaExp *ce = dve->e1->isCommaExp ())
  		  {
! 		    /* Temporary initialized inside a return expression, and
! 		       used as the return value.  Replace it with the hidden
! 			reference to allow RVO return.  */
! 		    DeclarationExp *de = ce->e1->isDeclarationExp ();
! 		    VarExp *ve = ce->e2->isVarExp ();
! 		    if (de != NULL && ve != NULL
! 			&& ve->var == de->declaration
! 			&& ve->var->storage_class & STCtemp)
! 		      {
! 			tree var = get_symbol_decl (ve->var);
! 			TREE_ADDRESSABLE (var) = 1;
! 			SET_DECL_VALUE_EXPR (var, decl);
! 			DECL_HAS_VALUE_EXPR_P (var) = 1;
! 			SET_DECL_LANG_NRVO (var, this->func_->shidden);
! 			using_rvo_p = true;
! 		      }
  		  }
  		else
  		  sle = dve->e1->isStructLiteralExp ();
  	      }
  	  }
  	else
  	  sle = s->exp->isStructLiteralExp ();
  
! 	if (sle != NULL)
  	  {
  	    StructDeclaration *sd = type->baseElemOf ()->isTypeStruct ()->sym;
  	    sle->sym = build_address (this->func_->shidden);
--- 1022,1085 ----
  	/* Detect a call to a constructor function, or if returning a struct
  	   literal, write result directly into the return value.  */
  	StructLiteralExp *sle = NULL;
+ 	DeclarationExp *de = NULL;
+ 	VarExp *ve = NULL;
  	bool using_rvo_p = false;
  
  	if (DotVarExp *dve = (s->exp->isCallExp ()
  			      ? s->exp->isCallExp ()->e1->isDotVarExp ()
  			      : NULL))
  	  {
+ 	    /* Look for `var.__ctor(copytmp = {}, &copytmp)'  */
  	    if (dve->var->isCtorDeclaration ())
  	      {
  		if (CommaExp *ce = dve->e1->isCommaExp ())
  		  {
! 		    de = ce->e1->isDeclarationExp ();
! 		    ve = ce->e2->isVarExp ();
  		  }
  		else
  		  sle = dve->e1->isStructLiteralExp ();
  	      }
  	  }
+ 	else if (CommaExp *ce1 = s->exp->isCommaExp ())
+ 	  {
+ 	    /* Look for `copytmp = {}, copytmp.__ctor(), copytmp'  */
+ 	    if (CommaExp *ce2 = ce1->e2->isCommaExp ())
+ 	      {
+ 		DotVarExp *dve = ce2->e1->isCallExp ()
+ 		  ? ce2->e1->isCallExp ()->e1->isDotVarExp () : NULL;
+ 
+ 		if (dve && dve->var->isCtorDeclaration ())
+ 		  {
+ 		    de = ce1->e1->isDeclarationExp ();
+ 		    ve = ce2->e2->isVarExp ();
+ 		  }
+ 	      }
+ 	    else
+ 	      {
+ 		de = ce1->e1->isDeclarationExp ();
+ 		ve = ce1->e2->isVarExp ();
+ 	      }
+ 	  }
  	else
  	  sle = s->exp->isStructLiteralExp ();
  
! 	if (de != NULL && ve != NULL
! 	    && ve->var == de->declaration
! 	    && ve->var->storage_class & STCtemp)
! 	  {
! 	    /* Temporary initialized inside a return expression, and
! 	       used as the return value.  Replace it with the hidden
! 	       reference to allow RVO return.  */
! 	    tree var = get_symbol_decl (ve->var);
! 	    TREE_ADDRESSABLE (var) = 1;
! 	    SET_DECL_VALUE_EXPR (var, decl);
! 	    DECL_HAS_VALUE_EXPR_P (var) = 1;
! 	    SET_DECL_LANG_NRVO (var, this->func_->shidden);
! 	    using_rvo_p = true;
! 	  }
! 	else if (sle != NULL)
  	  {
  	    StructDeclaration *sd = type->baseElemOf ()->isTypeStruct ()->sym;
  	    sle->sym = build_address (this->func_->shidden);
diff -Nrcpad gcc-15-20260124/gcc/d/types.cc gcc-15-20260131/gcc/d/types.cc
*** gcc-15-20260124/gcc/d/types.cc	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/d/types.cc	Sat Jan 31 22:32:07 2026
*************** insert_aggregate_bitfield (tree type, tr
*** 324,329 ****
--- 324,333 ----
    DECL_BIT_FIELD (bitfield) = 1;
    DECL_BIT_FIELD_TYPE (bitfield) = TREE_TYPE (bitfield);
  
+   DECL_NONADDRESSABLE_P (bitfield) = 1;
+   if (DECL_NAME (bitfield) == NULL_TREE)
+     DECL_PADDING_P (bitfield) = 1;
+ 
    TYPE_FIELDS (type) = chainon (TYPE_FIELDS (type), bitfield);
  }
  
*************** finish_aggregate_type (unsigned structsi
*** 671,677 ****
  	  continue;
  	}
  
!       layout_decl (field, 0);
  
        /* Give bit-field its proper type after layout_decl.  */
        if (DECL_BIT_FIELD (field))
--- 675,685 ----
  	  continue;
  	}
  
!       /* Layout the field decl using its known alignment.  */
!       unsigned int known_align =
! 	least_bit_hwi (tree_to_uhwi (DECL_FIELD_BIT_OFFSET (field)));
! 
!       layout_decl (field, known_align);
  
        /* Give bit-field its proper type after layout_decl.  */
        if (DECL_BIT_FIELD (field))
*************** finish_aggregate_type (unsigned structsi
*** 699,704 ****
--- 707,713 ----
        if (t == type)
  	continue;
  
+       TYPE_NAME (t) = TYPE_NAME (type);
        TYPE_FIELDS (t) = TYPE_FIELDS (type);
        TYPE_LANG_SPECIFIC (t) = TYPE_LANG_SPECIFIC (type);
        TYPE_SIZE (t) = TYPE_SIZE (type);
*************** public:
*** 955,961 ****
  
  	/* Type `noreturn` is a terminator, as no other arguments can possibly
  	   be evaluated after it.  */
! 	if (type == noreturn_type_node)
  	  break;
  
  	fnparams = chainon (fnparams, build_tree_list (0, type));
--- 964,970 ----
  
  	/* Type `noreturn` is a terminator, as no other arguments can possibly
  	   be evaluated after it.  */
! 	if (TYPE_MAIN_VARIANT (type) == noreturn_type_node)
  	  break;
  
  	fnparams = chainon (fnparams, build_tree_list (0, type));
*************** public:
*** 981,987 ****
      d_keep (t->ctype);
  
      /* Qualify function types that have the type `noreturn` as volatile.  */
!     if (fntype == noreturn_type_node)
        t->ctype = build_qualified_type (t->ctype, TYPE_QUAL_VOLATILE);
  
      /* Handle any special support for calling conventions.  */
--- 990,996 ----
      d_keep (t->ctype);
  
      /* Qualify function types that have the type `noreturn` as volatile.  */
!     if (TYPE_MAIN_VARIANT (fntype) == noreturn_type_node)
        t->ctype = build_qualified_type (t->ctype, TYPE_QUAL_VOLATILE);
  
      /* Handle any special support for calling conventions.  */
diff -Nrcpad gcc-15-20260124/gcc/po/ChangeLog gcc-15-20260131/gcc/po/ChangeLog
*** gcc-15-20260124/gcc/po/ChangeLog	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/po/ChangeLog	Sat Jan 31 22:32:07 2026
***************
*** 1,3 ****
--- 1,7 ----
+ 2026-01-27  Joseph Myers  <josmyers@redhat.com>
+ 
+ 	* sv.po: Update.
+ 
  2026-01-19  Joseph Myers  <josmyers@redhat.com>
  
  	* es.po: Update.
diff -Nrcpad gcc-15-20260124/gcc/po/sv.po gcc-15-20260131/gcc/po/sv.po
*** gcc-15-20260124/gcc/po/sv.po	Sat Jan 24 22:32:06 2026
--- gcc-15-20260131/gcc/po/sv.po	Sat Jan 31 22:32:07 2026
***************
*** 1,8 ****
  # Swedish messages for gcc.
! # Copyright © 2000, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Free Software Foundation, Inc.
  # This file is distributed under the same license as the gcc package.
  # Dennis Björklund <db@zigo.dhs.org>, 2000, 2001, 2002.
! # Göran Uddeborg <goeran@uddeborg.se>, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025.
  #
  # Reminder to translator: GCC team does not want RCS keywords in the header!
  #
--- 1,8 ----
  # Swedish messages for gcc.
! # Copyright © 2000, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026 Free Software Foundation, Inc.
  # This file is distributed under the same license as the gcc package.
  # Dennis Björklund <db@zigo.dhs.org>, 2000, 2001, 2002.
! # Göran Uddeborg <goeran@uddeborg.se>, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026.
  #
  # Reminder to translator: GCC team does not want RCS keywords in the header!
  #
*************** msgstr ""
*** 32,38 ****
  "Project-Id-Version: gcc 15.2.0\n"
  "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
  "POT-Creation-Date: 2025-08-01 17:58+0000\n"
! "PO-Revision-Date: 2025-08-09 22:08+0200\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 15.2.0\n"
  "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
  "POT-Creation-Date: 2025-08-01 17:58+0000\n"
! "PO-Revision-Date: 2026-01-27 21:14+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 "-mfuse-move=<0,23>\tOptimization.
*** 8916,8925 ****
  msgstr "-mfuse-move=<0,23>\tOptimering. Kör ett efterladdningspass som justerar flyttinstruktioner."
  
  #: config/avr/avr.opt:169
! #, fuzzy, no-c-format
! #| msgid "Optimization. Allow to use nonzero_bits() in some insn conditions."
  msgid "Optimization. Fuse some move insns after insn combine."
! msgstr "Optimering. Tillåt användning av nonzero_bits() i några instruktionsvillkor."
  
  #: config/avr/avr.opt:173
  #, no-c-format
--- 8916,8924 ----
  msgstr "-mfuse-move=<0,23>\tOptimering. Kör ett efterladdningspass som justerar flyttinstruktioner."
  
  #: config/avr/avr.opt:169
! #, no-c-format
  msgid "Optimization. Fuse some move insns after insn combine."
! msgstr "Optimering. Slå samman några flyttinstruktioner efter instruktionskombination."
  
  #: config/avr/avr.opt:173
  #, no-c-format
*************** msgstr "Maximalt antal predikat med ”o
*** 17444,17450 ****
  #: params.opt:1194
  #, no-c-format
  msgid "Maximum amount of work done to prune paths where the variable is always initialized."
! msgstr ""
  
  #: params.opt:1198
  #, no-c-format
--- 17443,17449 ----
  #: params.opt:1194
  #, no-c-format
  msgid "Maximum amount of work done to prune paths where the variable is always initialized."
! msgstr "Maximal mäng arbete som görs för att ansa vägar där variabeln alltid är initierad."
  
  #: params.opt:1198
  #, no-c-format
*************** msgid "expected label"
*** 21429,21438 ****
  msgstr "etikett förväntades"
  
  #: cobol/gcobolspec.cc:554
! #, fuzzy, c-format
! #| msgid "Driving:"
  msgid "Driving: ("
! msgstr "Driver:"
  
  #: cp/call.cc:4225
  #, c-format
--- 21428,21436 ----
  msgstr "etikett förväntades"
  
  #: cobol/gcobolspec.cc:554
! #, c-format
  msgid "Driving: ("
! msgstr "Driver: ("
  
  #: cp/call.cc:4225
  #, c-format
*************** msgid "%<-mrelax%> is only supported for
*** 23065,23074 ****
  msgstr "%<-mrelax%> stödjs endast för RTP PIC"
  
  #: cobol/exceptg.h:80
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "exception '%s'"
  msgid "CDF: exception '%s'"
! msgstr "undantaget ”%s”"
  
  #: cobol/parse_ante.h:1592
  #, gcc-internal-format, gfc-internal-format
--- 23063,23071 ----
  msgstr "%<-mrelax%> stödjs endast för RTP PIC"
  
  #: cobol/exceptg.h:80
! #, gcc-internal-format, gfc-internal-format
  msgid "CDF: exception '%s'"
! msgstr "CDF: undantaget ”%s”"
  
  #: cobol/parse_ante.h:1592
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Global deklarativ %s för %s"
*** 23077,23092 ****
  
  #: cobol/parse_ante.h:2385 cobol/symbols.h:134 cobol/genapi.cc:6470
  #: cobol/util.cc:288 cobol/util.cc:337 cobol/util.cc:637
! #, fuzzy, gcc-internal-format
! #| msgid "%s:%d: invalid symbol_type_t %d"
  msgid "%s:%d: invalid %<symbol_type_t%> %d"
! msgstr "%s:%d: felaktig symbol_type_t %d"
  
  #: cobol/parse_util.h:360
! #, fuzzy, gcc-internal-format
! #| msgid "%s: intrinsic function  %s not found"
  msgid "%s: intrinsic function %qs not found"
! msgstr "%s: den inbyggda funktionen %s finns inte"
  
  #: cobol/parse_util.h:392
  #, gcc-internal-format, gfc-internal-format
--- 23074,23087 ----
  
  #: cobol/parse_ante.h:2385 cobol/symbols.h:134 cobol/genapi.cc:6470
  #: cobol/util.cc:288 cobol/util.cc:337 cobol/util.cc:637
! #, gcc-internal-format
  msgid "%s:%d: invalid %<symbol_type_t%> %d"
! msgstr "%s:%d: felaktig %<symbol_type_t%> %d"
  
  #: cobol/parse_util.h:360
! #, gcc-internal-format
  msgid "%s: intrinsic function %qs not found"
! msgstr "%s: den inbyggda funktionen %qs finns inte"
  
  #: cobol/parse_util.h:392
  #, gcc-internal-format, gfc-internal-format
*************** msgid "illegal argument 0 to %qs"
*** 23906,23915 ****
  msgstr "otillåtet argument 0 till %qs"
  
  #: builtins.cc:7806 internal-fn.cc:4030
! #, fuzzy, gcc-internal-format
! #| msgid "third argument to %<__builtin_prefetch%> must be a constant"
  msgid "third argument to %<crc%> builtins must be a constant"
! msgstr "tredje argumentet till %<__builtin_prefetch%> måste vara en konstant"
  
  #. All valid uses of __builtin_va_arg_pack () are removed during
  #. inlining.
--- 23901,23909 ----
  msgstr "otillåtet argument 0 till %qs"
  
  #: builtins.cc:7806 internal-fn.cc:4030
! #, gcc-internal-format
  msgid "third argument to %<crc%> builtins must be a constant"
! msgstr "tredje argumentet till inbyggd %<crc%> måste vara en konstant"
  
  #. All valid uses of __builtin_va_arg_pack () are removed during
  #. inlining.
*************** msgid "%<-fabi-compat-version=1%> is not
*** 36380,36389 ****
  msgstr "%<-fabi-compat-version=1%> stödjs inte, använder =2"
  
  #: c-family/c-opts.cc:1094
! #, fuzzy, gcc-internal-format
! #| msgid "%<-fabi-compat-version=1%> is not supported, using =2"
  msgid "%<-fabi-version=%d%> is not supported, using =%d"
! msgstr "%<-fabi-compat-version=1%> stödjs inte, använder =2"
  
  #: c-family/c-opts.cc:1200
  #, gcc-internal-format
--- 36374,36382 ----
  msgstr "%<-fabi-compat-version=1%> stödjs inte, använder =2"
  
  #: c-family/c-opts.cc:1094
! #, gcc-internal-format
  msgid "%<-fabi-version=%d%> is not supported, using =%d"
! msgstr "%<-fabi-version=%d%> stödjs inte, använder =%d"
  
  #: c-family/c-opts.cc:1200
  #, gcc-internal-format
*************** msgid "We should never see a non-equal d
*** 52331,52340 ****
  msgstr "Vi borde aldrig se en olik dash-main i cobol1.c"
  
  #: cobol/except.cc:54
! #, fuzzy, gcc-internal-format
! #| msgid "no such exception: 0x%04x"
  msgid "no such exception: 0x%x"
! msgstr "inget sådant undantag: 0x%04x"
  
  #: cobol/genapi.cc:354
  #, gcc-internal-format
--- 52324,52332 ----
  msgstr "Vi borde aldrig se en olik dash-main i cobol1.c"
  
  #: cobol/except.cc:54
! #, gcc-internal-format
  msgid "no such exception: 0x%x"
! msgstr "inget sådant undantag: 0x%x"
  
  #: cobol/genapi.cc:354
  #, gcc-internal-format
*************** msgid "Probable cause: it was referenced
*** 52342,52440 ****
  msgstr "Trolig orsak: den refererades utan att vara definerad."
  
  #: cobol/genapi.cc:600
! #, fuzzy, gcc-internal-format
! #| msgid "Nice try, but you can't fire me. I quit!"
  msgid "Nice try, but you cannot fire me."
! msgstr "Bra försök, men du kan inte avskeda mig. Jag slutar!"
  
  #: cobol/genapi.cc:1214
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%qD shall not be const"
  msgid "%s should not be null"
! msgstr "%qD skall inte vara const"
  
  #: cobol/genapi.cc:1792
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s(): Knows not the variable type %s for %s"
  msgid "%s: Knows not the variable type %s for %s"
! msgstr "%s(): Känner inte till variabeltypen %s för %s"
  
  #: cobol/genapi.cc:2481
! #, fuzzy, gcc-internal-format
! #| msgid "I don't know how to MOVE an alphabetical string to %s(%s) \n"
  msgid "I don%'t know how to MOVE an alphabetical string to %s(%s)"
! msgstr "Jag vet inte hur man kan göra MOVE av en alfabetisk sträng till %s(%s) \n"
  
  #: cobol/genapi.cc:2549
! #, fuzzy, gcc-internal-format
! #| msgid "%s(): field->type %s must be literal or alphanumeric"
  msgid "%s: %<field->type%> %s must be literal or alphanumeric"
! msgstr "%s(): fält->typ %s måste vara literal eller alfanumerisk"
  
  #: cobol/genapi.cc:4460
! #, fuzzy, gcc-internal-format
! #| msgid "Invalid form of PROGRAM statement at %C"
  msgid "Not valid for ACCEPT statement."
! msgstr "Ogiltig form på PROGRAM-sats vid %C"
  
  #: cobol/genapi.cc:5488
  #, gcc-internal-format
  msgid "Attempting to send to an input device."
! msgstr ""
  
  #: cobol/genapi.cc:5511
! #, fuzzy, gcc-internal-format
! #| msgid "Invalid form of PROGRAM statement at %C"
  msgid "Not valid for DISPLAY statement."
! msgstr "Ogiltig form på PROGRAM-sats vid %C"
  
  #: cobol/genapi.cc:6412
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s(): Invalid field type %s:"
  msgid "%s: Invalid field type %s:"
! msgstr "%s(): Ogiltig fälttyp %s:"
  
  #: cobol/genapi.cc:7622 cobol/genapi.cc:7628 cobol/genapi.cc:7634
! #, fuzzy, gcc-internal-format
! #| msgid "parser_logop() was called with variable %s on line %d, which is not a FldConditional\n"
  msgid "%<parser_logop()%> was called with variable %s on line %d, which is not a FldConditional"
! msgstr "parser_logop() anropades med variabeln %s på rad %d, vilket inte är en FldConditional\n"
  
  #: cobol/genapi.cc:7741
! #, fuzzy, gcc-internal-format
! #| msgid "parser_relop() was called with variable %s, which is not a FldConditional\n"
  msgid "%<parser_relop%> was called with variable %qs, which is not a FldConditional"
! msgstr "parser_relop() anropades med variabeln %s, vilket inte är en FldConditional\n"
  
  #: cobol/genapi.cc:7805
! #, fuzzy, gcc-internal-format
! #| msgid "parser_relop() was called with variable %s, which is not a FldConditional\n"
  msgid "%<parser_relop()%> was called with variable %s, which is not a FldConditional"
! msgstr "parser_relop() anropades med variabeln %s, vilket inte är en FldConditional\n"
  
  #: cobol/genapi.cc:7851
! #, fuzzy, gcc-internal-format
! #| msgid "parser_if() was called with variable %s, which is not a FldConditional\n"
  msgid "%<parser_if()%> was called with variable %s, which is not a FldConditional"
! msgstr "parser_if() anropades med variabeln %s, vilket inte är en FldConditional\n"
  
  #: cobol/genapi.cc:8116
! #, fuzzy, gcc-internal-format
! #| msgid "###### candidate %s has unimplemented CVT_type %d(%s)\n"
  msgid "candidate %s has unimplemented %<CVT_type%> %d(%s)"
! msgstr "###### kandidaten %s har oimplementerad CVT_type %d(%s)\n"
  
  #: cobol/genapi.cc:8127
! #, fuzzy, gcc-internal-format
! #| msgid "###### unknown setop_t code %d\n"
  msgid "unknown %<setop_t%> code %d"
! msgstr "###### okänd setop_t-kod %d\n"
  
  #: cobol/genapi.cc:8315
! #, fuzzy, gcc-internal-format
! #| msgid "%s:%d: %zu exceeds MAXIMUM_UNTILS of %d, line %d"
  msgid "%s:%d: %u exceeds %<MAXIMUM_UNTILS%> of %d, line %d"
! msgstr "%s:%d: %zu överskrider MAXIMUM_UNTILS på %d, rad %d"
  
  #: cobol/genapi.cc:9324
  #, gcc-internal-format, gfc-internal-format
--- 52334,52417 ----
  msgstr "Trolig orsak: den refererades utan att vara definerad."
  
  #: cobol/genapi.cc:600
! #, gcc-internal-format
  msgid "Nice try, but you cannot fire me."
! msgstr "Bra försök, men du kan inte avskeda mig."
  
  #: cobol/genapi.cc:1214
! #, gcc-internal-format, gfc-internal-format
  msgid "%s should not be null"
! msgstr "%s skall inte vara null"
  
  #: cobol/genapi.cc:1792
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: Knows not the variable type %s for %s"
! msgstr "%s: Känner inte till variabeltypen %s för %s"
  
  #: cobol/genapi.cc:2481
! #, gcc-internal-format
  msgid "I don%'t know how to MOVE an alphabetical string to %s(%s)"
! msgstr "Jag vet inte hur man kan göra MOVE av en alfabetisk sträng till %s(%s)"
  
  #: cobol/genapi.cc:2549
! #, gcc-internal-format
  msgid "%s: %<field->type%> %s must be literal or alphanumeric"
! msgstr "%s: %<field->type%> %s måste vara literal eller alfanumerisk"
  
  #: cobol/genapi.cc:4460
! #, gcc-internal-format
  msgid "Not valid for ACCEPT statement."
! msgstr "Inte giltigt för en ACCEPT-sats."
  
  #: cobol/genapi.cc:5488
  #, gcc-internal-format
  msgid "Attempting to send to an input device."
! msgstr "Försöker skicka till en inmatningsenhet."
  
  #: cobol/genapi.cc:5511
! #, gcc-internal-format
  msgid "Not valid for DISPLAY statement."
! msgstr "Inte giltigt för en DISPLAY-sats."
  
  #: cobol/genapi.cc:6412
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: Invalid field type %s:"
! msgstr "%s: Ogiltig fälttyp %s:"
  
  #: cobol/genapi.cc:7622 cobol/genapi.cc:7628 cobol/genapi.cc:7634
! #, gcc-internal-format
  msgid "%<parser_logop()%> was called with variable %s on line %d, which is not a FldConditional"
! msgstr "%<parser_logop()%> anropades med variabeln %s på rad %d, vilket inte är en FldConditional"
  
  #: cobol/genapi.cc:7741
! #, gcc-internal-format
  msgid "%<parser_relop%> was called with variable %qs, which is not a FldConditional"
! msgstr "%<parser_relop()%> anropades med variabeln %qs, vilket inte är en FldConditional"
  
  #: cobol/genapi.cc:7805
! #, gcc-internal-format
  msgid "%<parser_relop()%> was called with variable %s, which is not a FldConditional"
! msgstr "%<parser_relop()%> anropades med variabeln %s, vilket inte är en FldConditional"
  
  #: cobol/genapi.cc:7851
! #, gcc-internal-format
  msgid "%<parser_if()%> was called with variable %s, which is not a FldConditional"
! msgstr "%<parser_if()%> anropades med variabeln %s, vilket inte är en FldConditional"
  
  #: cobol/genapi.cc:8116
! #, gcc-internal-format
  msgid "candidate %s has unimplemented %<CVT_type%> %d(%s)"
! msgstr "kandidaten %s har oimplementerad %<CVT_type%> %d(%s)"
  
  #: cobol/genapi.cc:8127
! #, gcc-internal-format
  msgid "unknown %<setop_t%> code %d"
! msgstr "okänd %<setop_t%>-kod %d"
  
  #: cobol/genapi.cc:8315
! #, gcc-internal-format
  msgid "%s:%d: %u exceeds %<MAXIMUM_UNTILS%> of %d, line %d"
! msgstr "%s:%d: %u överskrider %<MAXIMUM_UNTILS%> på %d, rad %d"
  
  #: cobol/genapi.cc:9324
  #, gcc-internal-format, gfc-internal-format
*************** msgid "%s:%d: ignoring subscripts"
*** 52442,52469 ****
  msgstr "%s:%d: ignorerar indexvärden"
  
  #: cobol/genapi.cc:9538 cobol/genapi.cc:10006
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s(): called with NULL *file"
  msgid "%s: called with NULL *file"
! msgstr "%s(): anropad med NULL *fil"
  
  #: cobol/genapi.cc:9663
! #, fuzzy, gcc-internal-format
! #| msgid "%s:%d file %s access mode is 'file_inaccessible_e' in %s"
  msgid "%s:%d file %s access mode is %<file_inaccessible_e%> in %s"
! msgstr "%s:%d filen %s åtkomstläge är ”file_inaccessible_e” i %s"
  
  #: cobol/genapi.cc:9737
! #, fuzzy, gcc-internal-format
! #| msgid "parser_file_open called with NULL *file"
  msgid "%<parser_file_open%> called with NULL *file"
! msgstr "parser_file_open anropad med NULL *fil"
  
  #: cobol/genapi.cc:9742
! #, fuzzy, gcc-internal-format
! #| msgid "parser_file_open for %s called with NULL var_decl_node"
  msgid "%<parser_file_open%> for %s called with NULL %<var_decl_node%>"
! msgstr "parser_file_open för %s anropad med NULL var_decl_node"
  
  #: cobol/genapi.cc:9748
  #, gcc-internal-format, gfc-internal-format
--- 52419,52442 ----
  msgstr "%s:%d: ignorerar indexvärden"
  
  #: cobol/genapi.cc:9538 cobol/genapi.cc:10006
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: called with NULL *file"
! msgstr "%s: anropad med NULL *fil"
  
  #: cobol/genapi.cc:9663
! #, gcc-internal-format
  msgid "%s:%d file %s access mode is %<file_inaccessible_e%> in %s"
! msgstr "%s:%d filen %s åtkomstläge är %<file_inaccessible_e%> i %s"
  
  #: cobol/genapi.cc:9737
! #, gcc-internal-format
  msgid "%<parser_file_open%> called with NULL *file"
! msgstr "%<parser_file_open%> anropad med NULL *fil"
  
  #: cobol/genapi.cc:9742
! #, gcc-internal-format
  msgid "%<parser_file_open%> for %s called with NULL %<var_decl_node%>"
! msgstr "%<parser_file_open%> för %s anropad med NULL %<var_decl_node%>"
  
  #: cobol/genapi.cc:9748
  #, gcc-internal-format, gfc-internal-format
*************** msgid "EXTEND can only be used where %s
*** 52471,52486 ****
  msgstr "EXTEND kan endast användas där %s är ACCESS MODE SEQUENTIAL"
  
  #: cobol/genapi.cc:9817
! #, fuzzy, gcc-internal-format
! #| msgid "parser_file_close called with NULL *file"
  msgid "%<parser_file_close%> called with NULL *file"
! msgstr "parser_file_close anropad med NULL *fil"
  
  #: cobol/genapi.cc:9822
! #, fuzzy, gcc-internal-format
! #| msgid "parser_file_close for %s called with NULL file->var_decl_node"
  msgid "%<parser_file_close%> for %s called with NULL %<file->var_decl_node%>"
! msgstr "parser_file_close för %s anropad med NULL file->var_decl_node"
  
  #: cobol/genapi.cc:9877
  #, gcc-internal-format, gfc-internal-format
--- 52444,52457 ----
  msgstr "EXTEND kan endast användas där %s är ACCESS MODE SEQUENTIAL"
  
  #: cobol/genapi.cc:9817
! #, gcc-internal-format
  msgid "%<parser_file_close%> called with NULL *file"
! msgstr "%<parser_file_close%> anropad med NULL *fil"
  
  #: cobol/genapi.cc:9822
! #, gcc-internal-format
  msgid "%<parser_file_close%> for %s called with NULL %<file->var_decl_node%>"
! msgstr "%<parser_file_close%> för %s anropad med NULL %<file->var_decl_node%>"
  
  #: cobol/genapi.cc:9877
  #, gcc-internal-format, gfc-internal-format
*************** msgid "%s:%d file %s 'where' is zero in
*** 52488,52527 ****
  msgstr "%s:%d fil %s ”where” är noll i %s"
  
  #: cobol/genapi.cc:9887
! #, fuzzy, gcc-internal-format
! #| msgid "parser_file_read called with NULL *file"
  msgid "%<parser_file_read%> called with NULL *file"
! msgstr "parser_file_read anropad med NULL *fil"
  
  #: cobol/genapi.cc:9892
! #, fuzzy, gcc-internal-format
! #| msgid "parser_file_read for %s called with NULL file->var_decl_node"
  msgid "%<parser_file_read%> for %s called with NULL %<file->var_decl_node%>"
! msgstr "parser_file_read för %s anropad med NULL file->var_decl_node"
  
  #: cobol/genapi.cc:9898
! #, fuzzy, gcc-internal-format
! #| msgid "parser_file_read called with NULL *field"
  msgid "%<parser_file_read%> called with NULL *field"
! msgstr "parser_file_read anropad med NULL *fält"
  
  #: cobol/genapi.cc:9903
! #, fuzzy, gcc-internal-format
! #| msgid "parser_file_read for %s called with NULL field->var_decl_node"
  msgid "%<parser_file_read%> for %s called with NULL %<field->var_decl_node%>"
! msgstr "parser_file_read för %s anropad med NULL field->var_decl_node"
  
  #: cobol/genapi.cc:9909
! #, fuzzy, gcc-internal-format
! #| msgid "%s:%d file %s is RELATIVE/SEQUENTIAL, but 'where' >= 0"
  msgid "%s:%d file %s is RELATIVE/SEQUENTIAL, but %<where >= 0%>"
! msgstr "%s:%d filen %s är RELATIVE/SEQUENTIAL, men ”where” ≥ 0"
  
  #: cobol/genapi.cc:9918
! #, fuzzy, gcc-internal-format
! #| msgid "%s:%d file %s is RELATIVE/RANDOM, but 'where' < 0"
  msgid "%s:%d file %s is RELATIVE/RANDOM, but %<where < 0%>"
! msgstr "%s:%d filen %s är RELATIVE/RANDOM, men ”where” < 0"
  
  #: cobol/genapi.cc:9962
  #, gcc-internal-format, gfc-internal-format
--- 52459,52492 ----
  msgstr "%s:%d fil %s ”where” är noll i %s"
  
  #: cobol/genapi.cc:9887
! #, gcc-internal-format
  msgid "%<parser_file_read%> called with NULL *file"
! msgstr "%<parser_file_read%> anropad med NULL *fil"
  
  #: cobol/genapi.cc:9892
! #, gcc-internal-format
  msgid "%<parser_file_read%> for %s called with NULL %<file->var_decl_node%>"
! msgstr "%<parser_file_read%> för %s anropad med NULL %<file->var_decl_node%>"
  
  #: cobol/genapi.cc:9898
! #, gcc-internal-format
  msgid "%<parser_file_read%> called with NULL *field"
! msgstr "%<parser_file_read%> anropad med NULL *fält"
  
  #: cobol/genapi.cc:9903
! #, gcc-internal-format
  msgid "%<parser_file_read%> for %s called with NULL %<field->var_decl_node%>"
! msgstr "%<parser_file_read%> för %s anropad med NULL %<field->var_decl_node%>"
  
  #: cobol/genapi.cc:9909
! #, gcc-internal-format
  msgid "%s:%d file %s is RELATIVE/SEQUENTIAL, but %<where >= 0%>"
! msgstr "%s:%d filen %s är RELATIVE/SEQUENTIAL, men %<where ≥ 0%>"
  
  #: cobol/genapi.cc:9918
! #, gcc-internal-format
  msgid "%s:%d file %s is RELATIVE/RANDOM, but %<where < 0%>"
! msgstr "%s:%d filen %s är RELATIVE/RANDOM, men %<where < 0%>"
  
  #: cobol/genapi.cc:9962
  #, gcc-internal-format, gfc-internal-format
*************** msgid "%s:%d file %s 'sequentially' is %
*** 52529,52555 ****
  msgstr "%s:%d filen %s ”sequentially” är %d i %s"
  
  #: cobol/genapi.cc:10011
! #, fuzzy, gcc-internal-format
! #| msgid "%s(): for %s called with NULL file->var_decl_node"
  msgid "%s: for %s called with NULL %<file->var_decl_node%>"
! msgstr "%s(): för %s anropad med NULL file->var_decl_node"
  
  #: cobol/genapi.cc:10017
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s(): called with NULL *field"
  msgid "%s: called with NULL *field"
! msgstr "%s(): anropad med NULL *field"
  
  #: cobol/genapi.cc:10022
! #, fuzzy, gcc-internal-format
! #| msgid "%s(): for %s called with NULL field->var_decl_node"
  msgid "%s: for %s called with NULL %<field->var_decl_node%>"
! msgstr "%s(): för %s anropad med NULL field->var_decl_node"
  
  #: cobol/genapi.cc:10107
  #, gcc-internal-format
  msgid "The file pointer should not be null"
! msgstr ""
  
  #: cobol/genapi.cc:10161
  #, gcc-internal-format, gfc-internal-format
--- 52494,52517 ----
  msgstr "%s:%d filen %s ”sequentially” är %d i %s"
  
  #: cobol/genapi.cc:10011
! #, gcc-internal-format
  msgid "%s: for %s called with NULL %<file->var_decl_node%>"
! msgstr "%s: för %s anropad med NULL %<file->var_decl_node%>"
  
  #: cobol/genapi.cc:10017
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: called with NULL *field"
! msgstr "%s: anropad med NULL *field"
  
  #: cobol/genapi.cc:10022
! #, gcc-internal-format
  msgid "%s: for %s called with NULL %<field->var_decl_node%>"
! msgstr "%s: för %s anropad med NULL %<field->var_decl_node%>"
  
  #: cobol/genapi.cc:10107
  #, gcc-internal-format
  msgid "The file pointer should not be null"
! msgstr "Filpekaren skall inte vara null"
  
  #: cobol/genapi.cc:10161
  #, gcc-internal-format, gfc-internal-format
*************** msgid "%s:%d file %s is INDEXED/SEQUENTI
*** 52557,52585 ****
  msgstr "%s:%d filen %s är INDEXED/SEQUENTIAL, men ”sequentially” är falskt"
  
  #: cobol/genapi.cc:11881
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s(): asked to sort %s, but it's not a table"
  msgid "%s: asked to sort %s, which is not a table"
! msgstr "%s(): anropad för att sortera %s, med det är inte en tabell"
  
  #. Having both or neither violates SORT syntax
  #: cobol/genapi.cc:12013
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s(): syntax error -- both (or neither) USING and input-proc are specified"
  msgid "%s: syntax error: both (or neither) USING and input-proc are specified"
! msgstr "%s(): syntaxfel — både (eller ingendera av) USING och input-proc är specificerade"
  
  #: cobol/genapi.cc:12147
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s(): syntax error -- both (or neither) GIVING and output-proc are specified"
  msgid "%s: syntax error: both (or neither) GIVING and output-proc are specified"
! msgstr "%s(): syntaxfel — både (eller ingendera av) GIVING och output-proc är specificerade"
  
  #: cobol/genapi.cc:12569
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s(): syntax error -- both (or neither) files and output-proc are specified"
  msgid "%s: syntax error: both (or neither) files and output-proc are specified"
! msgstr "%s(): syntaxfel — både (eller ingendera av) filer och output-proc är specificerade"
  
  #: cobol/genapi.cc:12973
  #, gcc-internal-format
--- 52519,52543 ----
  msgstr "%s:%d filen %s är INDEXED/SEQUENTIAL, men ”sequentially” är falskt"
  
  #: cobol/genapi.cc:11881
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: asked to sort %s, which is not a table"
! msgstr "%s: anropad för att sortera %s, som inte är en tabell"
  
  #. Having both or neither violates SORT syntax
  #: cobol/genapi.cc:12013
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: syntax error: both (or neither) USING and input-proc are specified"
! msgstr "%s: syntaxfel: både (eller ingendera av) USING och input-proc är specificerade"
  
  #: cobol/genapi.cc:12147
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: syntax error: both (or neither) GIVING and output-proc are specified"
! msgstr "%s: syntaxfel: både (eller ingendera av) GIVING och output-proc är specificerade"
  
  #: cobol/genapi.cc:12569
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: syntax error: both (or neither) files and output-proc are specified"
! msgstr "%s: syntaxfel: både (eller ingendera av) filer och output-proc är specificerade"
  
  #: cobol/genapi.cc:12973
  #, gcc-internal-format
*************** msgid "CALL USING BY CONTENT <temporary>
*** 52587,52608 ****
  msgstr "CALL USING BY CONTENT <temporär> skulle kräva REPOSITORY PROTOTYPES."
  
  #: cobol/genapi.cc:13264
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s(): What in the name of Nero's fiddle are we doing here?"
  msgid "%s: What in the name of Nero are we doing here?"
! msgstr "%s(): Vad i Neros fiols namn gör vi här?"
  
  #: cobol/genapi.cc:14560
! #, fuzzy, gcc-internal-format
! #| msgid "In parser_move(%s to %s), the move of FldLiteralN to %s hasn't been implemented"
  msgid "In %<parser_move(%s to %s)%>, the move of FldLiteralN to %s is unimplemented"
! msgstr "I parser_move(%s till %s), har inte förflyttningen av FldLiteralN till %s implementerats"
  
  #: cobol/genapi.cc:14796
! #, fuzzy, gcc-internal-format
! #| msgid "In mh_dest_is_float(%s to %s), the move of %s to %s hasn't been implemented"
  msgid "In %<mh_dest_is_float%>(%s to %s), the move of %s to %s is unimplemented"
! msgstr "I mh_dest_is_float(%s till %s), har inte förflyttningen av %s till %s implementerats"
  
  #: cobol/genapi.cc:16918
  #, gcc-internal-format, gfc-internal-format
--- 52545,52563 ----
  msgstr "CALL USING BY CONTENT <temporär> skulle kräva REPOSITORY PROTOTYPES."
  
  #: cobol/genapi.cc:13264
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: What in the name of Nero are we doing here?"
! msgstr "%s: Vad i Neros namn gör vi här?"
  
  #: cobol/genapi.cc:14560
! #, gcc-internal-format
  msgid "In %<parser_move(%s to %s)%>, the move of FldLiteralN to %s is unimplemented"
! msgstr "I %<parser_move(%s till %s)%>, förflyttningen av FldLiteralN till %s är inte implementerat"
  
  #: cobol/genapi.cc:14796
! #, gcc-internal-format
  msgid "In %<mh_dest_is_float%>(%s to %s), the move of %s to %s is unimplemented"
! msgstr "I %<mh_dest_is_float(%s till %s)%>, förflyttningen av %s till %s är inte implementerat"
  
  #: cobol/genapi.cc:16918
  #, gcc-internal-format, gfc-internal-format
*************** msgid "LEVEL 01 (%s) OCCURS has insuffic
*** 52610,52665 ****
  msgstr "LEVEL 01 (%s) OCCURS har otilräcklig data.memsize"
  
  #: cobol/genapi.cc:16990
! #, fuzzy, gcc-internal-format
! #| msgid "parser_symbol_add() was called with a NULL new_var\n"
  msgid "%<parser_symbol_add()%> was called with a NULL %<new_var%>"
! msgstr "parser_symbol_add() anropades med en NULL new_var\n"
  
  #: cobol/genapi.cc:17020
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s(): %2.2d %s is a table, but it improperly has a capacity of zero"
  msgid "%s: %d %s is a table, but it improperly has a capacity of zero"
! msgstr "%s(): %2.2d %s är en tabell, med den har oriktigt en kapacetet på noll"
  
  #: cobol/genapi.cc:17060
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "parser_symbol_add(): %s is its own ancestor"
  msgid "%s: %s is its own ancestor"
! msgstr "parser_symbol_add(): %s är sin egen anfader"
  
  #: cobol/genapi.cc:17065
  #, gcc-internal-format
  msgid "%s: %d %qs has NULL ancestor"
! msgstr ""
  
  #: cobol/genapi.cc:17072
! #, fuzzy, gcc-internal-format
! #| msgid "parser_symbol_add( %s ) improperly has a non-null var_decl_node\n"
  msgid "%s(%s) improperly has a non-null %<var_decl_node%>"
! msgstr "parser_symbol_add( %s ) har oriktigt en null-skild var_decl_node\n"
  
  #: cobol/genapi.cc:17267
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s(): %2.2d %s<%s> improperly has a data.capacity of zero"
  msgid "%s: %d %s<%s> improperly has a data.capacity of zero"
! msgstr "%s(): %2.2d %s<%s> har oriktigt en data.capacity på noll"
  
  #: cobol/genapi.cc:17334
  #, gcc-internal-format
  msgid "%<bytes_to_allocate%> is zero for %s (symbol number "
! msgstr ""
  
  #: cobol/gengen.cc:360
! #, fuzzy, gcc-internal-format
! #| msgid "The given type is not NULL, and that's just not fair"
  msgid "The given type is NULL, and that is just not fair"
! msgstr "Den givna typen är inte NULL, och det är bara inte rättvist"
  
  #: cobol/gengen.cc:369
! #, fuzzy, gcc-internal-format
! #| msgid "The given type is not a DECL or a TYPE"
  msgid "The given type is not a declaration or a TYPE"
! msgstr "Den givna typen är inte en DECL eller en TYPE"
  
  #: cobol/gengen.cc:413
  #, gcc-internal-format, gfc-internal-format
--- 52565,52613 ----
  msgstr "LEVEL 01 (%s) OCCURS har otilräcklig data.memsize"
  
  #: cobol/genapi.cc:16990
! #, gcc-internal-format
  msgid "%<parser_symbol_add()%> was called with a NULL %<new_var%>"
! msgstr "%<parser_symbol_add()%> anropades med en NULL %<new_var%>"
  
  #: cobol/genapi.cc:17020
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: %d %s is a table, but it improperly has a capacity of zero"
! msgstr "%s: %d %s är en tabell, med den har oriktigt en kapacetet på noll"
  
  #: cobol/genapi.cc:17060
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: %s is its own ancestor"
! msgstr "%s: %s är sin egen anfader"
  
  #: cobol/genapi.cc:17065
  #, gcc-internal-format
  msgid "%s: %d %qs has NULL ancestor"
! msgstr "%s: %d %qs har en NULL-anfader"
  
  #: cobol/genapi.cc:17072
! #, gcc-internal-format
  msgid "%s(%s) improperly has a non-null %<var_decl_node%>"
! msgstr "%s(%s) har oriktigt en null-skild %<var_decl_node%>"
  
  #: cobol/genapi.cc:17267
! #, gcc-internal-format, gfc-internal-format
  msgid "%s: %d %s<%s> improperly has a data.capacity of zero"
! msgstr "%s: %d %s<%s> har oriktigt en data.capacity på noll"
  
  #: cobol/genapi.cc:17334
  #, gcc-internal-format
  msgid "%<bytes_to_allocate%> is zero for %s (symbol number "
! msgstr "%<bytes_to_allocate%> är noll för %s (symbolnummer "
  
  #: cobol/gengen.cc:360
! #, gcc-internal-format
  msgid "The given type is NULL, and that is just not fair"
! msgstr "Den givna typen är NULL, och det är bara inte rättvist"
  
  #: cobol/gengen.cc:369
! #, gcc-internal-format
  msgid "The given type is not a declaration or a TYPE"
! msgstr "Den givna typen är inte en deklaration eller en TYPE"
  
  #: cobol/gengen.cc:413
  #, gcc-internal-format, gfc-internal-format
*************** msgstr "Okänd typ %d"
*** 52669,52687 ****
  #: cobol/gengen.cc:482
  #, gcc-internal-format
  msgid "Attempting an assignment of differing types."
! msgstr ""
  
  #: cobol/gengen.cc:2893
! #, fuzzy, gcc-internal-format
! #| msgid "Residual context count!"
  msgid "Residual context count"
! msgstr "Återstående kontextantal!"
  
  #: cobol/genmath.cc:1385
! #, fuzzy, gcc-internal-format
! #| msgid "parser_op() doesn't know how to evaluate \"%s = %s %c %s\"\n"
  msgid "%<parser_op()%> doesn%'t know how to evaluate %<%s = %s %c %s%>"
! msgstr "parser_op() vet inte hur den skall evaluera ”%s = %s %c %s”\n"
  
  #: cobol/genutil.cc:596
  #, gcc-internal-format
--- 52617,52633 ----
  #: cobol/gengen.cc:482
  #, gcc-internal-format
  msgid "Attempting an assignment of differing types."
! msgstr "Försök med tilldelning av olika typer."
  
  #: cobol/gengen.cc:2893
! #, gcc-internal-format
  msgid "Residual context count"
! msgstr "Återstående kontextantal"
  
  #: cobol/genmath.cc:1385
! #, gcc-internal-format
  msgid "%<parser_op()%> doesn%'t know how to evaluate %<%s = %s %c %s%>"
! msgstr "%<parser_op()%> vet inte hur den skall evaluera %<%s = %s %c %s%>"
  
  #: cobol/genutil.cc:596
  #, gcc-internal-format
*************** msgid "Too many subscripts"
*** 52689,52704 ****
  msgstr "För många index"
  
  #: cobol/genutil.cc:761
! #, fuzzy, gcc-internal-format
! #| msgid "cannot read string table from %s"
  msgid "cannot get %<float%> value from %s"
! msgstr "det går inte att läsa strängtabellen från %s"
  
  #: cobol/lexio.cc:1581
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "%s pid %d terminated by %s"
  msgid "%s pid %ld terminated by %s"
! msgstr "%s pid %d avslutade med %s"
  
  #: cobol/lexio.cc:1586
  #, gcc-internal-format, gfc-internal-format
--- 52635,52648 ----
  msgstr "För många index"
  
  #: cobol/genutil.cc:761
! #, gcc-internal-format
  msgid "cannot get %<float%> value from %s"
! msgstr "det går inte att hämta ett %<float%>-värde från %s"
  
  #: cobol/lexio.cc:1581
! #, gcc-internal-format, gfc-internal-format
  msgid "%s pid %ld terminated by %s"
! msgstr "%s pid %ld avslutade med %s"
  
  #: cobol/lexio.cc:1586
  #, gcc-internal-format, gfc-internal-format
*************** msgid "offset of %qT base class for %<-s
*** 54034,54043 ****
  msgstr "avståndet till %qT basklass för %<-std=c++14%> och uppåt ändras i %<-fabi-version=17%> (GCC 12)"
  
  #: cp/class.cc:6858
! #, fuzzy, gcc-internal-format
! #| msgid "offset of %qT base class for %<-std=c++14%> and up changes in %<-fabi-version=17%> (GCC 12)"
  msgid "offset of %qT base class for %<-std=c++20%> and up changes in %<-fabi-version=21%> (GCC 16)"
! msgstr "avståndet till %qT basklass för %<-std=c++14%> och uppåt ändras i %<-fabi-version=17%> (GCC 12)"
  
  #: cp/class.cc:6866
  #, gcc-internal-format
--- 53978,53986 ----
  msgstr "avståndet till %qT basklass för %<-std=c++14%> och uppåt ändras i %<-fabi-version=17%> (GCC 12)"
  
  #: cp/class.cc:6858
! #, gcc-internal-format
  msgid "offset of %qT base class for %<-std=c++20%> and up changes in %<-fabi-version=21%> (GCC 16)"
! msgstr "avståndet till %qT basklass för %<-std=c++20%> och uppåt ändras i %<-fabi-version=21%> (GCC 16)"
  
  #: cp/class.cc:6866
  #, gcc-internal-format
*************** msgid "offset of %qD for %<-std=c++14%>
*** 54045,54054 ****
  msgstr "avståndet till %qD för %<-std=c++14%> och uppåt ändras i %<-fabi-version=17%> (GCC 12)"
  
  #: cp/class.cc:6871
! #, fuzzy, gcc-internal-format
! #| msgid "offset of %qD for %<-std=c++14%> and up changes in %<-fabi-version=17%> (GCC 12)"
  msgid "offset of %qD for %<-std=c++20%> and up changes in %<-fabi-version=21%> (GCC 16)"
! msgstr "avståndet till %qD för %<-std=c++14%> och uppåt ändras i %<-fabi-version=17%> (GCC 12)"
  
  #: cp/class.cc:6912
  #, gcc-internal-format
--- 53988,53996 ----
  msgstr "avståndet till %qD för %<-std=c++14%> och uppåt ändras i %<-fabi-version=17%> (GCC 12)"
  
  #: cp/class.cc:6871
! #, gcc-internal-format
  msgid "offset of %qD for %<-std=c++20%> and up changes in %<-fabi-version=21%> (GCC 16)"
! msgstr "avståndet till %qD för %<-std=c++20%> och uppåt ändras i %<-fabi-version=21%> (GCC 16)"
  
  #: cp/class.cc:6912
  #, gcc-internal-format
*************** msgid "must be declared with %<noexcept(
*** 55694,55703 ****
  msgstr "måste deklareras med %<noexcept(true)%>"
  
  #: cp/coroutines.cc:1361 cp/coroutines.cc:1364
! #, fuzzy, gcc-internal-format
! #| msgid "awaitable type %qT is not a structure"
  msgid "%qs awaitable type %qT is not a structure"
! msgstr "den väntbara typen %qT är inte en post"
  
  #: cp/coroutines.cc:1367
  #, gcc-internal-format
--- 55636,55644 ----
  msgstr "måste deklareras med %<noexcept(true)%>"
  
  #: cp/coroutines.cc:1361 cp/coroutines.cc:1364
! #, gcc-internal-format
  msgid "%qs awaitable type %qT is not a structure"
! msgstr "%qs den väntbara typen %qT är inte en post"
  
  #: cp/coroutines.cc:1367
  #, gcc-internal-format
*************** msgid "%<await_suspend%> must return %<v
*** 55710,55719 ****
  msgstr "%<await_suspend%> måste returnera %<void%>, %<bool%> eller ett korutinhandtag"
  
  #: cp/coroutines.cc:1552 cp/coroutines.cc:1638
! #, fuzzy, gcc-internal-format
! #| msgid "%qs cannot be used in a varargs function"
  msgid "%qs cannot be used in an unevaluated context"
! msgstr "%qs kan inte användas i en varargs-funktion"
  
  #: cp/coroutines.cc:1821
  #, gcc-internal-format
--- 55651,55659 ----
  msgstr "%<await_suspend%> måste returnera %<void%>, %<bool%> eller ett korutinhandtag"
  
  #: cp/coroutines.cc:1552 cp/coroutines.cc:1638
! #, gcc-internal-format
  msgid "%qs cannot be used in an unevaluated context"
! msgstr "%qs kan inte användas i en oevaluerad kontext"
  
  #: cp/coroutines.cc:1821
  #, gcc-internal-format
*************** msgstr "dubblerad information för %qE"
*** 55743,55749 ****
  #: cp/coroutines.cc:3618
  #, gcc-internal-format
  msgid "assumption ignored because it contains an await-expression"
! msgstr ""
  
  #: cp/coroutines.cc:4125
  #, gcc-internal-format
--- 55683,55689 ----
  #: cp/coroutines.cc:3618
  #, gcc-internal-format
  msgid "assumption ignored because it contains an await-expression"
! msgstr "antagandet ignorerat för att det innehåller ett await-uttryck"
  
  #: cp/coroutines.cc:4125
  #, gcc-internal-format
*************** msgid "unable to represent further impor
*** 60990,61005 ****
  msgstr "kan inte representera ytterligare importerade källplatser"
  
  #: cp/module.cc:6549
! #, fuzzy, gcc-internal-format
! #| msgid "%<target%> attribute is not supported on this machine"
  msgid "%<target%> attribute currently unsupported in modules"
! msgstr "attributet %<target%> stödjs inte på denna maskin"
  
  #: cp/module.cc:6552
! #, fuzzy, gcc-internal-format
! #| msgid "%qE attribute only supported in C"
  msgid "%<optimize%> attribute currently unsupported in modules"
! msgstr "attributet %qE stödjs endast i C"
  
  #: cp/module.cc:12100
  #, gcc-internal-format
--- 60930,60943 ----
  msgstr "kan inte representera ytterligare importerade källplatser"
  
  #: cp/module.cc:6549
! #, gcc-internal-format
  msgid "%<target%> attribute currently unsupported in modules"
! msgstr "attributet %<target%> stödjs för närvarande inte i moduler"
  
  #: cp/module.cc:6552
! #, gcc-internal-format
  msgid "%<optimize%> attribute currently unsupported in modules"
! msgstr "attributet %<optimize%> stödjs för närvarande inte i moduler"
  
  #: cp/module.cc:12100
  #, gcc-internal-format
*************** msgid "%qD is declared %<constexpr%> and
*** 61182,61191 ****
  msgstr "%qD är deklarerad %<constexpr%> och är initierad till ett TU-lokal värde"
  
  #: cp/module.cc:15111
! #, fuzzy, gcc-internal-format
! #| msgid "%qD is declared %<constexpr%> and is initialized to a TU-local value"
  msgid "%qD is a reference declared %<inline%> and is constant-initialized to a TU-local value"
! msgstr "%qD är deklarerad %<constexpr%> och är initierad till ett TU-lokal värde"
  
  #: cp/module.cc:15150
  #, gcc-internal-format
--- 61120,61128 ----
  msgstr "%qD är deklarerad %<constexpr%> och är initierad till ett TU-lokal värde"
  
  #: cp/module.cc:15111
! #, gcc-internal-format
  msgid "%qD is a reference declared %<inline%> and is constant-initialized to a TU-local value"
! msgstr "%qD är en referens deklarerad %<inline%> och är konstantinitierad till ett TU-lokalt värde"
  
  #: cp/module.cc:15150
  #, gcc-internal-format
*************** msgid "Argument C_PTR_1 at %L to C_ASSOC
*** 70660,70669 ****
  msgstr "Argumentet C_PTR_1 vid %L till C_ASSOCIATED skall ha typen TYPE(C_PTR) eller TYPE(C_FUNPTR)"
  
  #: fortran/check.cc:6003
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Argument C_PTR_2 at %L to C_ASSOCIATED shall have the same type as C_PTR_1: %s instead of %s"
  msgid "Argument C_PTR_2 at %L to C_ASSOCIATED shall have the same type as C_PTR_1, found %s instead of %s"
! msgstr "Argumentet C_PTR_2 vid %L till C_ASSOCIATED skall ha samma typ som C_PTR_1: %s istället för %s"
  
  #: fortran/check.cc:6036
  #, gcc-internal-format, gfc-internal-format
--- 70597,70605 ----
  msgstr "Argumentet C_PTR_1 vid %L till C_ASSOCIATED skall ha typen TYPE(C_PTR) eller TYPE(C_FUNPTR)"
  
  #: fortran/check.cc:6003
! #, gcc-internal-format, gfc-internal-format
  msgid "Argument C_PTR_2 at %L to C_ASSOCIATED shall have the same type as C_PTR_1, found %s instead of %s"
! msgstr "Argumentet C_PTR_2 vid %L till C_ASSOCIATED skall ha samma typ som C_PTR_1, hittade %s istället för %s"
  
  #: fortran/check.cc:6036
  #, gcc-internal-format, gfc-internal-format
*************** msgid "The H format specifier at %L is a
*** 75115,75124 ****
  msgstr "Formatspecificeraren H vid %L är en funktion borttagen i Fortran 95"
  
  #: fortran/io.cc:1232 fortran/io.cc:1295
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Missing item in format string at %L"
  msgid "Missing comma in FORMAT string at %L"
! msgstr "Saknad post i formatsträngen vid %L"
  
  #: fortran/io.cc:1351
  #, gcc-internal-format, gfc-internal-format
--- 75051,75059 ----
  msgstr "Formatspecificeraren H vid %L är en funktion borttagen i Fortran 95"
  
  #: fortran/io.cc:1232 fortran/io.cc:1295
! #, gcc-internal-format, gfc-internal-format
  msgid "Missing comma in FORMAT string at %L"
! msgstr "Saknat komma i FORMAT-strängen vid %L"
  
  #: fortran/io.cc:1351
  #, gcc-internal-format, gfc-internal-format
*************** msgid "Coindexed allocatable object at %
*** 81761,81770 ****
  msgstr "Co-indexerat allokerbart objekt vid %L"
  
  #: fortran/resolve.cc:8727
! #, fuzzy, gcc-internal-format, gfc-internal-format
! #| msgid "Allocate-object at %L also appears at %L"
  msgid "Allocate-object at %L has rank %d but MOLD= expression at %L has rank %d"
! msgstr "Allokeringsobjekt vid %L förekommer också vid %L"
  
  #: fortran/resolve.cc:8738
  #, gcc-internal-format, gfc-internal-format
--- 81696,81704 ----
  msgstr "Co-indexerat allokerbart objekt vid %L"
  
  #: fortran/resolve.cc:8727
! #, gcc-internal-format, gfc-internal-format
  msgid "Allocate-object at %L has rank %d but MOLD= expression at %L has rank %d"
! msgstr "Allokeringsobjekt vid %L har ordningen %d men uttrycket MOLD= vid %L har ordningen %d"
  
  #: fortran/resolve.cc:8738
  #, gcc-internal-format, gfc-internal-format
*************** msgid "The base procedure at %L must hav
*** 84713,84722 ****
  msgstr "Basproceduren vid %L måste ha ett explicit gränssnitt"
  
  #: fortran/trans-openmp.cc:9710
! #, fuzzy, gcc-internal-format
! #| msgid "Cannot find symbol %qs"
  msgid "Cannot find symbol %qs at %L"
! msgstr "Kan inte hitta symbolen %qs"
  
  #: fortran/trans-openmp.cc:9723
  #, gcc-internal-format
--- 84647,84655 ----
  msgstr "Basproceduren vid %L måste ha ett explicit gränssnitt"
  
  #: fortran/trans-openmp.cc:9710
! #, gcc-internal-format
  msgid "Cannot find symbol %qs at %L"
! msgstr "Kan inte hitta symbolen %qs vid %L"
  
  #: fortran/trans-openmp.cc:9723
  #, gcc-internal-format
*************** msgstr "oanvänt namn %qE"
*** 86527,86568 ****
  #, gcc-internal-format, gfc-internal-format
  msgid "are you trying to break %s? how dare you?"
  msgstr "försöker du göra sönder %s? hur vågar du?"
- 
- #, c-format
- #~ msgid "Driving: (%ld)\n"
- #~ msgstr "Driver: (%ld)\n"
- 
- #, gcc-internal-format, gfc-internal-format
- #~ msgid "%s:%d: no symbol '%s' found"
- #~ msgstr "%s:%d: finns ingen symbol ”%s”"
- 
- #, gcc-internal-format
- #~ msgid "%<-Wabi%> won%'t warn about anything"
- #~ msgstr "%<-Wabi%> kommer inte att varna om något"
- 
- #, gcc-internal-format
- #~ msgid "%<-Wabi%> warns about differences from the most up-to-date ABI, which is also used by default"
- #~ msgstr "%<-Wabi%> varnar om skillnader mot den mest aktuella ABI:et, vilket även används som standard"
- 
- #, gcc-internal-format
- #~ msgid "use e.g. %<-Wabi=11%> to warn about changes from GCC 7"
- #~ msgstr "använd t.ex. %<-Wabi=11%> för att varna om ändringar sedan GCC 7"
- 
- #~ msgid "parser_symbol_add(): %2.2d %s has null ancestor"
- #~ msgstr "parser_symbol_add(): %2.2d %s har tom anfader"
- 
- #, gcc-internal-format
- #~ msgid "cannot specify %<override%> for a class"
- #~ msgstr "det går inte att ange %<override%> för en klass"
- 
- #, gcc-internal-format, gfc-internal-format
- #~ msgid "Missing comma at %L"
- #~ msgstr "Saknat komma vid %L"
- 
- #, gcc-internal-format
- #~ msgid "extend_ref(): Bad tail"
- #~ msgstr "extend_ref(): Felaktig svans"
- 
- #, gcc-internal-format, gfc-internal-format
- #~ msgid "Inconsistent coranks for operator at %L and %L"
- #~ msgstr "Inkonsistenta co-ordningar för operator vid %L och %L"
--- 86460,86462 ----
diff -Nrcpad gcc-15-20260124/gcc/testsuite/ChangeLog gcc-15-20260131/gcc/testsuite/ChangeLog
*** gcc-15-20260124/gcc/testsuite/ChangeLog	Sat Jan 24 22:32:07 2026
--- gcc-15-20260131/gcc/testsuite/ChangeLog	Sat Jan 31 22:32:08 2026
***************
*** 1,3 ****
--- 1,140 ----
+ 2026-01-30  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/specs/limited_with3.ads: New test.
+ 	* gnat.dg/specs/limited_with3-child.ads: New helper.
+ 	* gnat.dg/specs/limited_with3-child-grandchild.ads: Likewise.
+ 	* gnat.dg/specs/limited_with3-child-grandchild-grandgrandchild.ads:
+ 	Likewise.
+ 
+ 2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-30  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123264
+ 	* gdc.dg/pr123264.d: New test.
+ 
+ 2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/123766
+ 	* gcc.target/loongarch/vector/lasx/pr123766.c: New test.
+ 	* gcc.target/loongarch/vector/lsx/pr123766.c: New test.
+ 
+ 2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/123807
+ 	* gcc.target/loongarch/vector/lsx/pr123807.c: New test.
+ 
+ 2026-01-29  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/specs/aggr11.ads: New test.
+ 
+ 2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123407
+ 	* gdc.dg/pr123407a.d: New test.
+ 	* gdc.dg/pr123407b.d: New test.
+ 
+ 2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123046
+ 	* gdc.dg/pr123046.d: New test.
+ 
+ 2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-29  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123349
+ 	* gdc.dg/driver_debuglib.d: New test.
+ 	* gdc.dg/driver_defaultlib.d: New test.
+ 
+ 2026-01-28  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/unchecked_union4.adb: New test.
+ 
+ 2026-01-28  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/put_image2.adb: New test.
+ 
+ 2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123419
+ 	* gdc.dg/pr123419.d: New test.
+ 
+ 2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123798
+ 	* gdc.dg/pr123798.d: New test.
+ 
+ 2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/121477
+ 	* gdc.dg/pr121477.d: New test.
+ 
+ 2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123422
+ 	* gdc.dg/torture/pr123422.d: New test.
+ 
+ 2026-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/120096
+ 	* gdc.dg/torture/pr120096.d: New test.
+ 
+ 2026-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2026-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/122817
+ 	* gdc.dg/pr122817.d: New test.
+ 
+ 2026-01-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/123676
+ 	* g++.dg/cpp2a/concepts-decltype5.C: New test.
+ 
+ 2026-01-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-27  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/122494
+ 	PR c++/123814
+ 	* g++.dg/cpp2a/concepts-pr122494.C: New test.
+ 	* g++.dg/cpp2a/concepts-pr123814.C: New test.
+ 
  2026-01-23  Jakub Jelinek  <jakub@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260124/gcc/testsuite/g++.dg/cpp2a/concepts-decltype5.C gcc-15-20260131/gcc/testsuite/g++.dg/cpp2a/concepts-decltype5.C
*** gcc-15-20260124/gcc/testsuite/g++.dg/cpp2a/concepts-decltype5.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/g++.dg/cpp2a/concepts-decltype5.C	Sat Jan 31 22:32:08 2026
***************
*** 0 ****
--- 1,10 ----
+ // PR c++/123676
+ // { dg-do compile { target c++20 } }
+ 
+ template<class...>
+ concept C = true;
+ 
+ template<class... Ts>
+ auto f() -> decltype(C<Ts...>) {
+   return true;
+ }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C gcc-15-20260131/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C
*** gcc-15-20260124/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C	Sat Jan 31 22:32:08 2026
***************
*** 0 ****
--- 1,24 ----
+ // PR c++/122494
+ // { dg-do compile { target c++20 } }
+ 
+ template<class T>
+ concept C = false;
+ 
+ template<class T> requires (!C<T>)
+ struct A {
+   static constexpr unsigned v = 0;
+ };
+ 
+ template<class T>
+ struct B {
+   static constexpr unsigned v = A<T>::v;
+ 
+   constexpr static bool f() {
+     return [](auto) {
+       if (v == 0) { }
+       return true;
+     }(0);
+   }
+ };
+ 
+ static_assert(B<int>::f());
diff -Nrcpad gcc-15-20260124/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C gcc-15-20260131/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C
*** gcc-15-20260124/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C	Sat Jan 31 22:32:08 2026
***************
*** 0 ****
--- 1,34 ----
+ // PR c++/123814
+ // { dg-do compile { target c++20 } }
+ // { dg-additional-options "-Wall --param ggc-min-expand=0 --param ggc-min-heapsize=0" }
+ 
+ namespace std {
+   struct source_location {
+     struct __impl {
+       const char *_M_file_name;
+       const char *_M_function_name;
+       unsigned _M_line;
+       unsigned _M_column;
+     };
+     static void current(const __impl* = __builtin_source_location());
+   };
+ } // namespace std
+ 
+ template <typename> concept same_as = true;
+ 
+ template <typename... Us>
+ concept one_of = (same_as<Us> || ...);
+ 
+ template <one_of<> T> constexpr int buffer_size_for_int = 0;
+ template <> constexpr int buffer_size_for_int<int> = 1;
+ 
+ template <int> using Basic_Characters = int;
+ 
+ template <typename T>
+ Basic_Characters<buffer_size_for_int<T>> to_characters() {
+   std::source_location::current();
+ } // { dg-warning "return statement" }
+ 
+ void go() {
+   to_characters<int>();
+ }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123766.c gcc-15-20260131/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123766.c
*** gcc-15-20260124/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123766.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123766.c	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,28 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -mlasx  -Werror -Wextra" } */
+ 
+ #include <lasxintrin.h>
+ 
+ __m256i v = {0, 0, 0, 0};
+ 
+ #define TEST(NAME)			  \
+   void test_##NAME (void)		  \
+   {					  \
+     long long r[4];			  \
+     __lasx_##NAME (v, r, 0);		  \
+   }
+ 
+ TEST (xvst);
+ TEST (xvstx);
+ 
+ #define TEST1(NAME, TYPE, NUM)		  \
+   void test_##NAME (void)		  \
+   {					  \
+     TYPE r[NUM];			  \
+     __lasx_##NAME (v, r, 0, 0);		  \
+   }
+ 
+ TEST1 (xvstelm_b, char, 32);
+ TEST1 (xvstelm_h, short, 16);
+ TEST1 (xvstelm_w, int, 8);
+ TEST1 (xvstelm_d, long long, 4);
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123766.c gcc-15-20260131/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123766.c
*** gcc-15-20260124/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123766.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123766.c	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,28 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -mlsx  -Werror -Wextra" } */
+ 
+ #include <lsxintrin.h>
+ 
+ __m128i v = {0, 0};
+ 
+ #define TEST(NAME)			  \
+   void test_##NAME (void)		  \
+   {					  \
+     long long r[2];			  \
+     __lsx_##NAME (v, r, 0);		  \
+   }
+ 
+ TEST (vst);
+ TEST (vstx);
+ 
+ #define TEST1(NAME, TYPE, NUM)		  \
+   void test_##NAME (void)		  \
+   {					  \
+     TYPE r[NUM];			  \
+     __lsx_##NAME (v, r, 0, 0);		  \
+   }
+ 
+ TEST1 (vstelm_b, char, 16);
+ TEST1 (vstelm_h, short, 8);
+ TEST1 (vstelm_w, int, 4);
+ TEST1 (vstelm_d, long long, 2);
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123807.c gcc-15-20260131/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123807.c
*** gcc-15-20260124/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123807.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123807.c	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,10 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O0 -msimd=lsx" } */
+ 
+ typedef long long v2i64 __attribute__ ((__vector_size__ (16)));
+ v2i64 a, b;
+ void
+ test (int imm8)
+ {
+   b = a << imm8;
+ }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/driver_debuglib.d gcc-15-20260131/gcc/testsuite/gdc.dg/driver_debuglib.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/driver_debuglib.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/driver_debuglib.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,2 ----
+ // { dg-do compile }
+ // { dg-additional-options "-debuglib=a -debuglib=b" }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/driver_defaultlib.d gcc-15-20260131/gcc/testsuite/gdc.dg/driver_defaultlib.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/driver_defaultlib.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/driver_defaultlib.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,2 ----
+ // { dg-do compile }
+ // { dg-additional-options "-defaultlib=a -defaultlib=b" }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/pr121477.d gcc-15-20260131/gcc/testsuite/gdc.dg/pr121477.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/pr121477.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/pr121477.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,12 ----
+ // { dg-do compile }
+ // { dg-additional-options "-fpreview=bitfields" }
+ struct S121477
+ {
+     int x : 4;
+ }
+ 
+ void f121477(S121477 s)
+ {
+     asm {"%0" :: "m" (s.x); } // { dg-error "cannot take address of bit-field" }
+     asm {"%0" : "=m" (s.x); } // { dg-error "cannot take address of bit-field" }
+ }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/pr122817.d gcc-15-20260131/gcc/testsuite/gdc.dg/pr122817.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/pr122817.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/pr122817.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,4 ----
+ // { dg-do compile }
+ module pr122817;
+ 
+ struct object {} // { dg-error "conflicts with import 'pr122817.object' at .*pr122817.d" }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/pr123046.d gcc-15-20260131/gcc/testsuite/gdc.dg/pr123046.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/pr123046.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/pr123046.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,10 ----
+ // { dg-do compile }
+ ulong pure_hashOf(const ref typeof(*null) key)
+ {
+     return hashOf(key);
+ }
+ 
+ ulong hashOf(const typeof(*null) val)
+ {
+     return 0;
+ }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/pr123264.d gcc-15-20260131/gcc/testsuite/gdc.dg/pr123264.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/pr123264.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/pr123264.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,8 ----
+ // { dg-do compile }
+ // { dg-options "-fdump-tree-original" }
+ struct S123264
+ {
+     void infinite(const S123264) { }
+     auto fn = &infinite;
+ }
+ // { dg-final { scan-tree-dump "const struct S123264" "original" } }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/pr123407a.d gcc-15-20260131/gcc/testsuite/gdc.dg/pr123407a.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/pr123407a.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/pr123407a.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,4 ----
+ // { dg-do compile }
+ module pr123407;
+ pragma(mangle, "ice") int fun();
+ pragma(mangle, "ice") int var; // { dg-error "matches conflicting symbols" }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/pr123407b.d gcc-15-20260131/gcc/testsuite/gdc.dg/pr123407b.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/pr123407b.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/pr123407b.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,4 ----
+ // { dg-do compile }
+ module pr123407;
+ int fun();
+ extern(C) int _D8pr1234073funFZi; // { dg-error "matches conflicting symbols" }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/pr123419.d gcc-15-20260131/gcc/testsuite/gdc.dg/pr123419.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/pr123419.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/pr123419.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,9 ----
+ // { dg-do compile }
+ struct S123419 {}
+ 
+ void t123419(T)(T _) {}
+ 
+ void f123419()
+ {
+     t123419(__traits(initSymbol, S123419));
+ }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/pr123798.d gcc-15-20260131/gcc/testsuite/gdc.dg/pr123798.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/pr123798.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/pr123798.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,14 ----
+ // { dg-do compile }
+ // { dg-additional-options "-fpreview=bitfields" }
+ class C123798
+ {
+     int a : 4;
+     long b : 8;
+ }
+ 
+ struct S123798
+ {
+     int a = 1;
+     int b : 4;
+     long c : 8;
+ }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/torture/pr120096.d gcc-15-20260131/gcc/testsuite/gdc.dg/torture/pr120096.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/torture/pr120096.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/torture/pr120096.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,18 ----
+ // { dg-do run }
+ // { dg-additional-options "-fpreview=dip1000" }
+ // { dg-skip-if "needs gcc/config.d" { ! d_runtime } }
+ struct S
+ {
+     this(int p) nothrow @nogc @safe
+     { f = p; }
+     int f;
+ }
+ 
+ int main() nothrow @nogc @safe
+ {
+     scope S[] sa = [S(1), S(2)];
+ 
+     assert(sa[0].f == 1);
+     assert(sa[1].f == 2);
+     return 0;
+ }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gdc.dg/torture/pr123422.d gcc-15-20260131/gcc/testsuite/gdc.dg/torture/pr123422.d
*** gcc-15-20260124/gcc/testsuite/gdc.dg/torture/pr123422.d	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gdc.dg/torture/pr123422.d	Sat Jan 31 22:32:12 2026
***************
*** 0 ****
--- 1,25 ----
+ // { dg-do run }
+ // { dg-skip-if "needs gcc/config.d" { ! d_runtime } }
+ struct S123422
+ {
+     S123422* ptr;
+     this(int) { ptr = &this; }
+     this(ref inout S123422) { ptr = &this; }
+ }
+ 
+ struct V123422
+ {
+     S123422 s;
+     this(int) { s = S123422(1); }
+ }
+ 
+ S123422 foo()
+ {
+     return V123422(1).s;
+ }
+ 
+ void main()
+ {
+     S123422 s = foo();
+     assert(&s == s.ptr);
+ }
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gnat.dg/put_image2.adb gcc-15-20260131/gcc/testsuite/gnat.dg/put_image2.adb
*** gcc-15-20260124/gcc/testsuite/gnat.dg/put_image2.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gnat.dg/put_image2.adb	Sat Jan 31 22:32:13 2026
***************
*** 0 ****
--- 1,18 ----
+ -- { dg-do run }
+ -- { dg-options "-gnat2022" }
+ 
+ procedure Put_Image2 is
+ 
+   type T is array (1 .. 13) of Integer;
+ 
+   function "&" (Left : T; Right : T) return T is (others => 2);
+ 
+   function To_Virtual_String (Item : String) return T is (others => 0);
+ 
+   procedure F (S : T) is null;
+ 
+   X : array (1 .. 1) of Integer := [others => 0];
+ 
+ begin
+   F ((others => 0) & To_Virtual_String (X'Image));
+ end;
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gnat.dg/specs/aggr11.ads gcc-15-20260131/gcc/testsuite/gnat.dg/specs/aggr11.ads
*** gcc-15-20260124/gcc/testsuite/gnat.dg/specs/aggr11.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gnat.dg/specs/aggr11.ads	Sat Jan 31 22:32:13 2026
***************
*** 0 ****
--- 1,17 ----
+ -- PR ada/123861
+ -- { dg-do compile }
+ -- { dg-options "-gnat2022" }
+ 
+ with Ada.Containers.Vectors;
+ 
+ package Aggr11 is
+ 
+   package Vectors is new Ada.Containers.Vectors (Positive, Integer);
+   use Vectors;
+ 
+   A : constant Vector  := [];
+   B : constant Boolean := [] = A;        -- ICE
+   C : constant Boolean := Vector'[] = A; -- Works
+   D : constant Boolean := A = [];        -- Works
+ 
+ end Aggr11;
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild-grandgrandchild.ads gcc-15-20260131/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild-grandgrandchild.ads
*** gcc-15-20260124/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild-grandgrandchild.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild-grandgrandchild.ads	Sat Jan 31 22:32:13 2026
***************
*** 0 ****
--- 1,5 ----
+ package Limited_With3.Child.Grandchild.Grandgrandchild is
+ 
+   function F return T is (Three);
+ 
+ end Limited_With3.Child.Grandchild.Grandgrandchild;
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild.ads gcc-15-20260131/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild.ads
*** gcc-15-20260124/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild.ads	Sat Jan 31 22:32:13 2026
***************
*** 0 ****
--- 1,5 ----
+ package Limited_With3.Child.Grandchild is
+ 
+   function F return T is (Two);
+ 
+ end Limited_With3.Child.Grandchild;
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gnat.dg/specs/limited_with3-child.ads gcc-15-20260131/gcc/testsuite/gnat.dg/specs/limited_with3-child.ads
*** gcc-15-20260124/gcc/testsuite/gnat.dg/specs/limited_with3-child.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gnat.dg/specs/limited_with3-child.ads	Sat Jan 31 22:32:13 2026
***************
*** 0 ****
--- 1,7 ----
+ package Limited_With3.Child is
+ 
+   type T is (One, Two, Three);
+ 
+   function F return T is (One);
+ 
+ end Limited_With3.Child;
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gnat.dg/specs/limited_with3.ads gcc-15-20260131/gcc/testsuite/gnat.dg/specs/limited_with3.ads
*** gcc-15-20260124/gcc/testsuite/gnat.dg/specs/limited_with3.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gnat.dg/specs/limited_with3.ads	Sat Jan 31 22:32:13 2026
***************
*** 0 ****
--- 1,4 ----
+ limited with Limited_With3.Child;
+ 
+ package Limited_With3 is
+ end Limited_With3;
diff -Nrcpad gcc-15-20260124/gcc/testsuite/gnat.dg/unchecked_union4.adb gcc-15-20260131/gcc/testsuite/gnat.dg/unchecked_union4.adb
*** gcc-15-20260124/gcc/testsuite/gnat.dg/unchecked_union4.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20260131/gcc/testsuite/gnat.dg/unchecked_union4.adb	Sat Jan 31 22:32:13 2026
***************
*** 0 ****
--- 1,19 ----
+ --  { dg-do compile }
+ --  { dg-options "-gnateV" }
+ 
+ procedure Unchecked_Union4 is
+ 
+    type R (Bytes_Mode : Boolean := False) is record
+       case Bytes_Mode is
+          when True =>
+             A : Boolean;
+          when False =>
+             B : Boolean;
+       end case;
+    end record with Unchecked_Union;
+ 
+    function F (Message : R) return Integer is (0);
+ 
+ begin
+    null;
+ end;
