diff -Nrcpad gcc-14-20260123/LAST_UPDATED gcc-14-20260130/LAST_UPDATED
*** gcc-14-20260123/LAST_UPDATED	Fri Jan 23 22:32:18 2026
--- gcc-14-20260130/LAST_UPDATED	Fri Jan 30 22:32:20 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-14 revision c35b93fe95ce06e8718dace523be16876c2dfccc
--- 1 ----
! Obtained from git: releases/gcc-14 revision 28e8b195c51c0ea0806ea6dc79534f29b06fa0e4
diff -Nrcpad gcc-14-20260123/MD5SUMS gcc-14-20260130/MD5SUMS
*** gcc-14-20260123/MD5SUMS	Fri Jan 23 22:32:23 2026
--- gcc-14-20260130/MD5SUMS	Fri Jan 30 22:32:25 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20260123.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-14-20260130.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
*************** fc9280b02bc68e4fb1ef8d51ccc25061  Change
*** 23,29 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 85d3ab1b0fc42b0cfa277973c875b070  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
--- 23,29 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 21b43ecc285a1833dc4f9c0546770f7f  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
*************** bc7394806417778d77541ba1ec0e4a70  gcc/BA
*** 505,511 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! f6b2c1ec348467915a86500240b8161e  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 505,511 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 99ca27c6682085e3c49e53b53aeec654  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 541,547 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 136e1caa1b528fd886cb3dd705c74583  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 541,547 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! ca4bdf552f9a521ce938dc419b14a5c0  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ea95f379311ce24cb1270c0f9fd6928e  gcc/ad
*** 2870,2876 ****
  4720d3b624b67eb8b0bd3ecf72e5036e  gcc/ada/sem_case.ads
  20e1377be7c164bfe42091d5a2818b12  gcc/ada/sem_cat.adb
  b0afafbff8da051dd403a4a6f0a248ea  gcc/ada/sem_cat.ads
! 71641fe62a5d2820fe4a164acbbd3ab9  gcc/ada/sem_ch10.adb
  bf74f6e2c62b4e2464758bb57dc318f1  gcc/ada/sem_ch10.ads
  674123905ccf9e89912ba95a9b85b587  gcc/ada/sem_ch11.adb
  a42d1434a6e8051360f7eac7ca8b8621  gcc/ada/sem_ch11.ads
--- 2870,2876 ----
  4720d3b624b67eb8b0bd3ecf72e5036e  gcc/ada/sem_case.ads
  20e1377be7c164bfe42091d5a2818b12  gcc/ada/sem_cat.adb
  b0afafbff8da051dd403a4a6f0a248ea  gcc/ada/sem_cat.ads
! 08bfe0abce7627958378b99bb364b08c  gcc/ada/sem_ch10.adb
  bf74f6e2c62b4e2464758bb57dc318f1  gcc/ada/sem_ch10.ads
  674123905ccf9e89912ba95a9b85b587  gcc/ada/sem_ch11.adb
  a42d1434a6e8051360f7eac7ca8b8621  gcc/ada/sem_ch11.ads
*************** ba884745a15d4b194d0ad2e286b0c617  gcc/co
*** 4287,4293 ****
  5e25f301fc4d565fbb2760ee8d011d5f  gcc/config/loongarch/lasx.md
  4bf4ab82622674f6e0397a7f88fe5723  gcc/config/loongarch/lasxintrin.h
  82679ddaca16efc485abf4e3b347a3c9  gcc/config/loongarch/linux.h
! fe166d2fd30d3bf70487dde04e5ba257  gcc/config/loongarch/loongarch-builtins.cc
  d7f60057bcb08d31f27708510cf69071  gcc/config/loongarch/loongarch-c.cc
  fda2bfdc2de3eafec6a40c91767e52d7  gcc/config/loongarch/loongarch-cpu.cc
  28b82a3dc53ed6429b995a5f0d0c7c4a  gcc/config/loongarch/loongarch-cpu.h
--- 4287,4293 ----
  5e25f301fc4d565fbb2760ee8d011d5f  gcc/config/loongarch/lasx.md
  4bf4ab82622674f6e0397a7f88fe5723  gcc/config/loongarch/lasxintrin.h
  82679ddaca16efc485abf4e3b347a3c9  gcc/config/loongarch/linux.h
! 485815af3d4b3e671155ed4a40a43ad8  gcc/config/loongarch/loongarch-builtins.cc
  d7f60057bcb08d31f27708510cf69071  gcc/config/loongarch/loongarch-c.cc
  fda2bfdc2de3eafec6a40c91767e52d7  gcc/config/loongarch/loongarch-cpu.cc
  28b82a3dc53ed6429b995a5f0d0c7c4a  gcc/config/loongarch/loongarch-cpu.h
*************** fc08ad18c12daeb6c459e9a5da085d02  gcc/co
*** 4300,4313 ****
  812e559b949ba7a34e3a56087a6eaa21  gcc/config/loongarch/loongarch-driver.h
  98c48e68e1e9c13958b3b218c3d3a47f  gcc/config/loongarch/loongarch-evolution.cc
  8bd09542013a17e1ffcdc2ccc1fc3a5c  gcc/config/loongarch/loongarch-evolution.h
! 70eb5ed91f67ab6f78dc1e60a869583b  gcc/config/loongarch/loongarch-ftypes.def
  e79a168e4a8c0322a884b11ed18cf218  gcc/config/loongarch/loongarch-modes.def
  ea6cc43b3fa3313db4228947eed2152e  gcc/config/loongarch/loongarch-opts.cc
  8869aeb1ace55d4ee67306c723b6069c  gcc/config/loongarch/loongarch-opts.h
  3ce5af4b5c069929ba519548d5342e90  gcc/config/loongarch/loongarch-protos.h
  3b7b410fd2ede1c56c692fa390a8d415  gcc/config/loongarch/loongarch-str.h
  2088d1b3164d3464806a7627d2fd6e52  gcc/config/loongarch/loongarch-tune.h
! 2081f0bf79ae3d3f6dda7ac0e25de821  gcc/config/loongarch/loongarch.cc
  39c8662694bff1c4d52f90cba43e5048  gcc/config/loongarch/loongarch.h
  2bf401adae6dfb1d853a71961fec58c9  gcc/config/loongarch/loongarch.md
  b62396c60e7bd1b4de8956c5869d45f2  gcc/config/loongarch/loongarch.opt
--- 4300,4313 ----
  812e559b949ba7a34e3a56087a6eaa21  gcc/config/loongarch/loongarch-driver.h
  98c48e68e1e9c13958b3b218c3d3a47f  gcc/config/loongarch/loongarch-evolution.cc
  8bd09542013a17e1ffcdc2ccc1fc3a5c  gcc/config/loongarch/loongarch-evolution.h
! 828f6ad59d580685c7790eacefa9d8fb  gcc/config/loongarch/loongarch-ftypes.def
  e79a168e4a8c0322a884b11ed18cf218  gcc/config/loongarch/loongarch-modes.def
  ea6cc43b3fa3313db4228947eed2152e  gcc/config/loongarch/loongarch-opts.cc
  8869aeb1ace55d4ee67306c723b6069c  gcc/config/loongarch/loongarch-opts.h
  3ce5af4b5c069929ba519548d5342e90  gcc/config/loongarch/loongarch-protos.h
  3b7b410fd2ede1c56c692fa390a8d415  gcc/config/loongarch/loongarch-str.h
  2088d1b3164d3464806a7627d2fd6e52  gcc/config/loongarch/loongarch-tune.h
! 702551832f1d906fcbbff05309d040c1  gcc/config/loongarch/loongarch.cc
  39c8662694bff1c4d52f90cba43e5048  gcc/config/loongarch/loongarch.h
  2bf401adae6dfb1d853a71961fec58c9  gcc/config/loongarch/loongarch.md
  b62396c60e7bd1b4de8956c5869d45f2  gcc/config/loongarch/loongarch.opt
*************** d36a2aabdf8da39363d9be0efef739b0  gcc/co
*** 5362,5368 ****
  11daa3f7f65177eb32e2dad6fd437637  gcc/coroutine-passes.cc
  f1ae4baa11bd5b6dd111907d100e7c0c  gcc/coverage.cc
  bf1a3b3570d1b69e07f60f5150f38a93  gcc/coverage.h
! 54041b100b2b27dbecac38cfca368f92  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
--- 5362,5368 ----
  11daa3f7f65177eb32e2dad6fd437637  gcc/coroutine-passes.cc
  f1ae4baa11bd5b6dd111907d100e7c0c  gcc/coverage.cc
  bf1a3b3570d1b69e07f60f5150f38a93  gcc/coverage.h
! 797bcb6e4ee9aefd8cbf510fa5f12f50  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
*************** eb0e2e62caf98260cc2641216d140ae9  gcc/cp
*** 5402,5408 ****
  dee1bc8866869d1becc1c1459cf3853d  gcc/cp/cfns.h
  cece9d48fd49b2e27c93c08c799d3a43  gcc/cp/class.cc
  c2cee7941d7a9d85eb87f70b7f8495ac  gcc/cp/config-lang.in
! 1abc3862d52867ac649b0fd6504aaa9e  gcc/cp/constexpr.cc
  e2342416928d82aea826d50f04c9f56c  gcc/cp/constraint.cc
  7f4cf1f0f93d7aa0443c94e023845d1c  gcc/cp/contracts.cc
  5b547c5fd539f8a214ed271c5a475a85  gcc/cp/contracts.h
--- 5402,5408 ----
  dee1bc8866869d1becc1c1459cf3853d  gcc/cp/cfns.h
  cece9d48fd49b2e27c93c08c799d3a43  gcc/cp/class.cc
  c2cee7941d7a9d85eb87f70b7f8495ac  gcc/cp/config-lang.in
! 0c9c32f6b821a5ea5659f419ba69c980  gcc/cp/constexpr.cc
  e2342416928d82aea826d50f04c9f56c  gcc/cp/constraint.cc
  7f4cf1f0f93d7aa0443c94e023845d1c  gcc/cp/contracts.cc
  5b547c5fd539f8a214ed271c5a475a85  gcc/cp/contracts.h
*************** e5de0a6c0e25db99122b38cfbd158f92  gcc/cp
*** 5447,5453 ****
  b4ea7976f776ee37fce22b16756ad0e0  gcc/cp/optimize.cc
  3005c54da5bb91ee03256ad352be3db5  gcc/cp/parser.cc
  64953966b085a9e770be93c5d1bdca4e  gcc/cp/parser.h
! 9c8aea72b36742bac1f25d1909d4c0cb  gcc/cp/pt.cc
  c59b967f38f4705696e11724814e2a06  gcc/cp/ptree.cc
  5e3e9c87ee323734a11e7081aaa64fa5  gcc/cp/rtti.cc
  7764edeba26dbb6b15962e6395cba9d2  gcc/cp/search.cc
--- 5447,5453 ----
  b4ea7976f776ee37fce22b16756ad0e0  gcc/cp/optimize.cc
  3005c54da5bb91ee03256ad352be3db5  gcc/cp/parser.cc
  64953966b085a9e770be93c5d1bdca4e  gcc/cp/parser.h
! 4a425897fe2ffee5915b2d50eb7468f0  gcc/cp/pt.cc
  c59b967f38f4705696e11724814e2a06  gcc/cp/ptree.cc
  5e3e9c87ee323734a11e7081aaa64fa5  gcc/cp/rtti.cc
  7764edeba26dbb6b15962e6395cba9d2  gcc/cp/search.cc
*************** bf32c438eaeb9f5ef0b840bddc108fc7  gcc/cs
*** 5471,5477 ****
  aba39deaa8ad2ad555dc0798497a6c58  gcc/ctfc.cc
  94a425b811af1e25020f3a86ae78ee7c  gcc/ctfc.h
  7f33e05a76e2406be70d93293850b281  gcc/ctfout.cc
! 7e3a65d98f59aa2d096116cc3eada88a  gcc/d/ChangeLog
  86f687c485111eedca2eb048294f957e  gcc/d/ChangeLog-2006
  70ed1c47fd9b3f5dd95055642ed79265  gcc/d/ChangeLog-2007
  a7090ab2dd83aa4f44823c17566b83ef  gcc/d/ChangeLog-2008
--- 5471,5477 ----
  aba39deaa8ad2ad555dc0798497a6c58  gcc/ctfc.cc
  94a425b811af1e25020f3a86ae78ee7c  gcc/ctfc.h
  7f33e05a76e2406be70d93293850b281  gcc/ctfout.cc
! 7d7523e3335b4cfd0720280f0602afe8  gcc/d/ChangeLog
  86f687c485111eedca2eb048294f957e  gcc/d/ChangeLog-2006
  70ed1c47fd9b3f5dd95055642ed79265  gcc/d/ChangeLog-2007
  a7090ab2dd83aa4f44823c17566b83ef  gcc/d/ChangeLog-2008
*************** fac7c65f8a08ca939eb5628173812214  gcc/d/
*** 5495,5501 ****
  f73e07ffa2fced196f38346c405549cb  gcc/d/config-lang.in
  3ae19f975d50889b5f03df6c38bc0c61  gcc/d/d-attribs.cc
  15411c6b54ea91d24785d34b3d1671eb  gcc/d/d-builtins.cc
! 298a66dc3a7ec1d31d62f07cbd876335  gcc/d/d-codegen.cc
  5a1fb9f5b78bb830327c58023e0a8115  gcc/d/d-compiler.cc
  b61a881ef449869906f48f9dd6b9c591  gcc/d/d-convert.cc
  d21bbe7f95de57db6f9fbad0fe1f62ab  gcc/d/d-ctfloat.cc
--- 5495,5501 ----
  f73e07ffa2fced196f38346c405549cb  gcc/d/config-lang.in
  3ae19f975d50889b5f03df6c38bc0c61  gcc/d/d-attribs.cc
  15411c6b54ea91d24785d34b3d1671eb  gcc/d/d-builtins.cc
! 2bda3794c5d8a36064c4ff8806f0acd4  gcc/d/d-codegen.cc
  5a1fb9f5b78bb830327c58023e0a8115  gcc/d/d-compiler.cc
  b61a881ef449869906f48f9dd6b9c591  gcc/d/d-convert.cc
  d21bbe7f95de57db6f9fbad0fe1f62ab  gcc/d/d-ctfloat.cc
*************** d21bbe7f95de57db6f9fbad0fe1f62ab  gcc/d/
*** 5507,5513 ****
  933fad50b502c1073de1af4c28d29235  gcc/d/d-lang.cc
  38c4969cf0690ec87d68618a59f68a42  gcc/d/d-longdouble.cc
  59fbcae5676422cf5141f5356cec90d5  gcc/d/d-port.cc
! f74323ae44ea5fdd0a663d81deb67553  gcc/d/d-spec.cc
  b9c48c809f8cf9c3ab7ae114509d3d1a  gcc/d/d-system.h
  9aa179202bbb20ad5fdab16cefd7103a  gcc/d/d-target-def.h
  0f91af6df397b8a405e1868d0435e209  gcc/d/d-target.cc
--- 5507,5513 ----
  933fad50b502c1073de1af4c28d29235  gcc/d/d-lang.cc
  38c4969cf0690ec87d68618a59f68a42  gcc/d/d-longdouble.cc
  59fbcae5676422cf5141f5356cec90d5  gcc/d/d-port.cc
! ebcaa46f15a76bdcff0332b3b69a9343  gcc/d/d-spec.cc
  b9c48c809f8cf9c3ab7ae114509d3d1a  gcc/d/d-system.h
  9aa179202bbb20ad5fdab16cefd7103a  gcc/d/d-target-def.h
  0f91af6df397b8a405e1868d0435e209  gcc/d/d-target.cc
*************** b9c48c809f8cf9c3ab7ae114509d3d1a  gcc/d/
*** 5515,5521 ****
  b19c1c032d04a6e603d0ec0be5eaf210  gcc/d/d-target.h
  b1ac7d5abaf19efc889f97c469081fed  gcc/d/d-tree.def
  b4ed30104da1ee3c62f919545e369805  gcc/d/d-tree.h
! aea031f02549b034803352d6bc5498c7  gcc/d/decl.cc
  fba21123f05d88982639a8a0ccea59a5  gcc/d/dmd/MERGE
  123db03ec877052aff84a8926416b377  gcc/d/dmd/README.md
  2a63c683aced1bcdc3b0dc1c174f9694  gcc/d/dmd/VERSION
--- 5515,5521 ----
  b19c1c032d04a6e603d0ec0be5eaf210  gcc/d/d-target.h
  b1ac7d5abaf19efc889f97c469081fed  gcc/d/d-tree.def
  b4ed30104da1ee3c62f919545e369805  gcc/d/d-tree.h
! ac87b1ef692c914356d10c28a49ef8f3  gcc/d/decl.cc
  fba21123f05d88982639a8a0ccea59a5  gcc/d/dmd/MERGE
  123db03ec877052aff84a8926416b377  gcc/d/dmd/README.md
  2a63c683aced1bcdc3b0dc1c174f9694  gcc/d/dmd/VERSION
*************** ad0f78ba8b0701a44bdecc5faa124807  gcc/d/
*** 5697,5703 ****
  44c7f391ce2df261118780dad2e204ef  gcc/d/dmd/version.h
  39f4362c93869c60a676f338ba6aafa1  gcc/d/dmd/visitor.d
  28ad876b926e1a11eef92fa93a0c76d8  gcc/d/dmd/visitor.h
! febf22f2cc8904f8d5832c13aa56ac89  gcc/d/expr.cc
  31c6c893c7016bba33894d4ecb870186  gcc/d/gdc.texi
  b2292b1eddab0999ca356e893894aef3  gcc/d/implement-d.texi
  a09fb081bd2127bf8eb758662b188c8a  gcc/d/imports.cc
--- 5697,5703 ----
  44c7f391ce2df261118780dad2e204ef  gcc/d/dmd/version.h
  39f4362c93869c60a676f338ba6aafa1  gcc/d/dmd/visitor.d
  28ad876b926e1a11eef92fa93a0c76d8  gcc/d/dmd/visitor.h
! 19dcc3bb758bc5105b461cf3cf0a22b6  gcc/d/expr.cc
  31c6c893c7016bba33894d4ecb870186  gcc/d/gdc.texi
  b2292b1eddab0999ca356e893894aef3  gcc/d/implement-d.texi
  a09fb081bd2127bf8eb758662b188c8a  gcc/d/imports.cc
*************** e92dc5999fefa8bcaa6c0bb0c9e9a040  gcc/d/
*** 5710,5718 ****
  9c92a93829f9256fe7edb9079338ad16  gcc/d/modules.cc
  918b9b087e54573309c3a81fe5289d2a  gcc/d/runtime.cc
  fdd878f60fc02f2c1628ec0b9fc264f0  gcc/d/runtime.def
! d0f4c3717ad53298ccc90fc2ad69bd2d  gcc/d/toir.cc
  13456edfabde185692a338bee646d1c4  gcc/d/typeinfo.cc
! 26da26ce44edce5d7acad17e4be1dcbb  gcc/d/types.cc
  9b691c3fc5f14ea13cd63d6d15b9ea63  gcc/data-streamer-in.cc
  22fb7e3959d063cf127ad7941fa4f134  gcc/data-streamer-out.cc
  331b9caf0050578236302ddc6adbad7b  gcc/data-streamer.cc
--- 5710,5718 ----
  9c92a93829f9256fe7edb9079338ad16  gcc/d/modules.cc
  918b9b087e54573309c3a81fe5289d2a  gcc/d/runtime.cc
  fdd878f60fc02f2c1628ec0b9fc264f0  gcc/d/runtime.def
! a9cfa054c92d1b9d190b6cd69f3754ce  gcc/d/toir.cc
  13456edfabde185692a338bee646d1c4  gcc/d/typeinfo.cc
! 2d6cd8c8c1a4505f0e5d59c10cff26af  gcc/d/types.cc
  9b691c3fc5f14ea13cd63d6d15b9ea63  gcc/data-streamer-in.cc
  22fb7e3959d063cf127ad7941fa4f134  gcc/data-streamer-out.cc
  331b9caf0050578236302ddc6adbad7b  gcc/data-streamer.cc
*************** e8a9eb01b9451a357155e7152df1c669  gcc/ta
*** 8061,8067 ****
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 24a6ddf71ee1d6fa7ad0b0ecafe831f1  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 8061,8067 ----
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! ffa85afc65ee172cbef6f993283c2b61  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** edb46bdf72eaeb378f5f0d557153ad9d  gcc/te
*** 19726,19731 ****
--- 19726,19732 ----
  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
*************** ca94fb35340cd618ed01f462ef62f3d9  gcc/te
*** 19880,19885 ****
--- 19881,19888 ----
  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
*** 78816,78821 ****
--- 78819,78825 ----
  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
  26a64124f8d3c5fe928c05f610a5de04  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
*** 79025,79030 ****
--- 79029,79036 ----
  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
*** 88862,88867 ****
--- 88868,88875 ----
  511a4b96302498f658f208676182a550  gcc/testsuite/gdc.dg/debug/pr119826.d
  0121ae6408f107a6bf6f915c24102bd3  gcc/testsuite/gdc.dg/debug/trivial.d
  1de9230a55fd28a909c2928d5b9e227d  gcc/testsuite/gdc.dg/dg.exp
+ 1f25f7140ea236c33498050fa3d25fc3  gcc/testsuite/gdc.dg/driver_debuglib.d
+ bfb9dc003b6110d37dc4b62c222afe7d  gcc/testsuite/gdc.dg/driver_defaultlib.d
  d3b168d9c2ed0fe5ba9b297bd8b4a1a3  gcc/testsuite/gdc.dg/extern-c++/extern-c++.exp
  61180002f0f17ca7ed75def599d123f0  gcc/testsuite/gdc.dg/extern-c++/pr101664.d
  68936fbe708c1d13dcaca6e4a4a06f77  gcc/testsuite/gdc.dg/extern-c++/pr101664_1.cc
*************** a2d402e0596a4abb1dc6e25b11e9aa9c  gcc/te
*** 88985,88990 ****
--- 88993,89005 ----
  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
+ 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
*************** eebe0b1a8ecf5f5162d0d07addd22be4  gcc/te
*** 89100,89105 ****
--- 89115,89121 ----
  11af6bc37407477e6b53012a5574c0a9  gcc/testsuite/gdc.dg/torture/imports/pr108055spec.d
  e253515f214e7f5bb8a972ce8348282f  gcc/testsuite/gdc.dg/torture/imports/pr108055write.d
  50c9072e0ffdfc079790d637e1a5c72a  gcc/testsuite/gdc.dg/torture/imports/pr109108.d
+ 1759a92fda4dd14f25ea525b1ce3d479  gcc/testsuite/gdc.dg/torture/imports/pr119799c.c
  646170aa418a99d37c59a7bb02130400  gcc/testsuite/gdc.dg/torture/init1.d
  1ae8edb9b2cd9747efb9868621aec4e8  gcc/testsuite/gdc.dg/torture/pr100882.d
  cede80748e43884ad3613a2a7e4b6ff3  gcc/testsuite/gdc.dg/torture/pr101273.d
*************** de9193ce38f7ef3ee1cc3a94fc8a92dc  gcc/te
*** 89115,89120 ****
--- 89131,89139 ----
  ad67c2aef0ecf01677e58695b0cc5d36  gcc/testsuite/gdc.dg/torture/pr113758.d
  c3a3fcac804266bf984aad50e1f84157  gcc/testsuite/gdc.dg/torture/pr114171.d
  a1ef8a304026fe097c3f6356f2dd2b2a  gcc/testsuite/gdc.dg/torture/pr117002.d
+ afca27995d2dc34f26a56b5ac812a53a  gcc/testsuite/gdc.dg/torture/pr119799.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
*************** e79713b5757a3f8a05926964d5c26b04  gcc/te
*** 105430,105435 ****
--- 105449,105458 ----
  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
*************** d828e38384c506bf5e7d5a3c02725a37  libssp
*** 123781,123787 ****
  7bb3c32ba0a48d1cf785305e1b783eb6  libssp/strncpy-chk.c
  a19c79c1d86436e86b0fee41e6cf6b15  libssp/vsnprintf-chk.c
  145156e880b03115b393070d0ed37be3  libssp/vsprintf-chk.c
! 1bc1e4ea7999d892bc963ed29cd597a2  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 123804,123810 ----
  7bb3c32ba0a48d1cf785305e1b783eb6  libssp/strncpy-chk.c
  a19c79c1d86436e86b0fee41e6cf6b15  libssp/vsnprintf-chk.c
  145156e880b03115b393070d0ed37be3  libssp/vsprintf-chk.c
! bdaf24855e1634ad3ecc1c2418d90436  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** c582707e4e9d2bf26bb0e80fb1d53b37  libstd
*** 123881,123887 ****
  13ad2dfe48847bf3980a6d745cbc75e1  libstdc++-v3/config/locale/darwin/ctype_members.cc
  e53b206e392537d760a00767558c1ff9  libstdc++-v3/config/locale/dragonfly/c_locale.cc
  0adb1057e008fd5f013ab616ee1061a9  libstdc++-v3/config/locale/dragonfly/c_locale.h
! 1d186bb17bb5ce5a622fb15fbc79ae3d  libstdc++-v3/config/locale/dragonfly/codecvt_members.cc
  b0881a7372e03c96c3ea213f690ebd14  libstdc++-v3/config/locale/dragonfly/collate_members.cc
  6113408f73996f73c99241e946917f56  libstdc++-v3/config/locale/dragonfly/ctype_members.cc
  92f6508a276d0a9d159c0678d1c654bb  libstdc++-v3/config/locale/dragonfly/monetary_members.cc
--- 123904,123910 ----
  13ad2dfe48847bf3980a6d745cbc75e1  libstdc++-v3/config/locale/darwin/ctype_members.cc
  e53b206e392537d760a00767558c1ff9  libstdc++-v3/config/locale/dragonfly/c_locale.cc
  0adb1057e008fd5f013ab616ee1061a9  libstdc++-v3/config/locale/dragonfly/c_locale.h
! 39bd883a4ae047fb937e1d35fbc1a119  libstdc++-v3/config/locale/dragonfly/codecvt_members.cc
  b0881a7372e03c96c3ea213f690ebd14  libstdc++-v3/config/locale/dragonfly/collate_members.cc
  6113408f73996f73c99241e946917f56  libstdc++-v3/config/locale/dragonfly/ctype_members.cc
  92f6508a276d0a9d159c0678d1c654bb  libstdc++-v3/config/locale/dragonfly/monetary_members.cc
*************** d588967133def576ecbdc4d9ed421478  libstd
*** 123903,123909 ****
  df061879108e80be88e96057b7b26d6b  libstdc++-v3/config/locale/gnu/c++locale_internal.h
  f827200593ca85a41d3feae35dbd3928  libstdc++-v3/config/locale/gnu/c_locale.cc
  4108fd77e3e97184dc6e52e28017410a  libstdc++-v3/config/locale/gnu/c_locale.h
! 2e059647092ed1cc2ab4f637e330a0cc  libstdc++-v3/config/locale/gnu/codecvt_members.cc
  eeb967fe13307d9b093daebb51717a49  libstdc++-v3/config/locale/gnu/collate_members.cc
  010485948df26bb145ef467f2ebe5a90  libstdc++-v3/config/locale/gnu/ctype_members.cc
  8dc72a159ed04c00cc58e7240a5f1005  libstdc++-v3/config/locale/gnu/messages_members.cc
--- 123926,123932 ----
  df061879108e80be88e96057b7b26d6b  libstdc++-v3/config/locale/gnu/c++locale_internal.h
  f827200593ca85a41d3feae35dbd3928  libstdc++-v3/config/locale/gnu/c_locale.cc
  4108fd77e3e97184dc6e52e28017410a  libstdc++-v3/config/locale/gnu/c_locale.h
! 0f05d2f61b1680617b6a711eb0c0ab8f  libstdc++-v3/config/locale/gnu/codecvt_members.cc
  eeb967fe13307d9b093daebb51717a49  libstdc++-v3/config/locale/gnu/collate_members.cc
  010485948df26bb145ef467f2ebe5a90  libstdc++-v3/config/locale/gnu/ctype_members.cc
  8dc72a159ed04c00cc58e7240a5f1005  libstdc++-v3/config/locale/gnu/messages_members.cc
*************** b820e3490221bb85cbf6bcdde0aa8150  libstd
*** 124446,124453 ****
  e6f2e1ff035b9b144ac628a016da524a  libstdc++-v3/doc/xml/spine.xml
  bd966b4a0df6f2a84f9770525581d45c  libstdc++-v3/doc/xsl/customization.xsl.in
  42d14268f2b16c54a6bc2f71538a838c  libstdc++-v3/fragment.am
! 0f80efcc13cbac62693edf0941b78978  libstdc++-v3/include/Makefile.am
! 74347629583baab2a09d4bc755121b78  libstdc++-v3/include/Makefile.in
  e80aa1cdcf7213d9b1735c8779502146  libstdc++-v3/include/backward/auto_ptr.h
  0a5df32cdd2ccea6d7b2bccc32264c11  libstdc++-v3/include/backward/backward_warning.h
  1685c415463ebd7e7ece8bc9fcd32ea2  libstdc++-v3/include/backward/binders.h
--- 124469,124476 ----
  e6f2e1ff035b9b144ac628a016da524a  libstdc++-v3/doc/xml/spine.xml
  bd966b4a0df6f2a84f9770525581d45c  libstdc++-v3/doc/xsl/customization.xsl.in
  42d14268f2b16c54a6bc2f71538a838c  libstdc++-v3/fragment.am
! 1ec4df228ad1388aed7aae271b20f9a7  libstdc++-v3/include/Makefile.am
! 4d6a169b0cd2f0589a12e9bc82338c26  libstdc++-v3/include/Makefile.in
  e80aa1cdcf7213d9b1735c8779502146  libstdc++-v3/include/backward/auto_ptr.h
  0a5df32cdd2ccea6d7b2bccc32264c11  libstdc++-v3/include/backward/backward_warning.h
  1685c415463ebd7e7ece8bc9fcd32ea2  libstdc++-v3/include/backward/binders.h
*************** abd11dd3947209f696f94d932cc332bd  libstd
*** 124647,124653 ****
--- 124670,124678 ----
  072501af1fb92f6c61d905a889e23d55  libstdc++-v3/include/c_compatibility/signal.h
  3ae16230a91e5f8f915c4572dd2de92d  libstdc++-v3/include/c_compatibility/stdarg.h
  a4ef565ae0e9463b4f7a9188f263b140  libstdc++-v3/include/c_compatibility/stdatomic.h
+ c59b5e0eca126fcdb5d60553d7306e06  libstdc++-v3/include/c_compatibility/stdbit.h
  b7d1a1feade359b17536b80612f1a5ad  libstdc++-v3/include/c_compatibility/stdbool.h
+ fca90211dcbb917c2de0be1f5c2aafb9  libstdc++-v3/include/c_compatibility/stdckdint.h
  4779b1da6436870feccffd045fb554ce  libstdc++-v3/include/c_compatibility/stddef.h
  7242a83084ab38257ea91cd3ff50b5af  libstdc++-v3/include/c_compatibility/stdint.h
  427dd11a3c37411d439ac8c467768e3c  libstdc++-v3/include/c_compatibility/stdio.h
*************** af272d624589bd0cea4be7993057018e  libstd
*** 127075,127080 ****
--- 127100,127107 ----
  1db0d2b929cddb30cbf502122f80ede6  libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc
  74d5a6acdfccbcb7ae9ef6668edf9505  libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc
  f6bd7c6a0c64d34b4e17ebe0a952a3fb  libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc
+ 539b8e72f094c1dd4b2ed0f4e2c9911f  libstdc++-v3/testsuite/20_util/stdbit/1.cc
+ 6bc85c1a8428fb1dca9eb3dd36c44157  libstdc++-v3/testsuite/20_util/stdbit/2_neg.cc
  c76dd58eb12d4adce24d74cfb072fc19  libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc
  309b7ad3662d6e3be2a1afeaaef39c0e  libstdc++-v3/testsuite/20_util/synchronized_pool_resource/118681.cc
  e24c511998a94418031de4297b1760d0  libstdc++-v3/testsuite/20_util/synchronized_pool_resource/allocate.cc
*************** f18281840a451d19d122f7b3e687a5b1  libstd
*** 127891,127896 ****
--- 127918,127924 ----
  66365d2cfdf6fc420153ab1706d3f4ed  libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc
  f18281840a451d19d122f7b3e687a5b1  libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc
  fdd042665b212ba396b5b348a054e403  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/1.cc
+ d1962df70f021ebd3de8499b1b388c4e  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/105857.cc
  bf06c594254abfd04cc001e62c0328a2  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc
  313bfc6e230795e49ca28d046fb29d2b  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc
  681c6a1806913e4a8e8276b7f3cc60e8  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc
*************** ac2c2e993d2f52b33ebc1bca88500eeb  libstd
*** 131416,131421 ****
--- 131444,131451 ----
  06d08fc72dca5267716b538e28d586c0  libstdc++-v3/testsuite/26_numerics/slice_array/array_assignment.cc
  74ae82fe433da6ef83fb71cae20c5cf0  libstdc++-v3/testsuite/26_numerics/slice_array/requirements/explicit_instantiation.cc
  61f053ddfa648c8008f186f556bbfccd  libstdc++-v3/testsuite/26_numerics/slice_array/requirements/typedefs.cc
+ 3c2e739337d1d66a837ee9dff70bfa34  libstdc++-v3/testsuite/26_numerics/stdckdint/1.cc
+ b751aceaf1e04e945c13e67131969e4d  libstdc++-v3/testsuite/26_numerics/stdckdint/2_neg.cc
  3f792c54287a955c10b0ce10e9b13a40  libstdc++-v3/testsuite/26_numerics/transform_exclusive_scan/1.cc
  02dc1b1b9ab240870cc09a96dae03422  libstdc++-v3/testsuite/26_numerics/transform_exclusive_scan/constexpr.cc
  e2ef1b16c022e7d6a5c3f0c482cbbcc5  libstdc++-v3/testsuite/26_numerics/transform_inclusive_scan/1.cc
diff -Nrcpad gcc-14-20260123/gcc/ChangeLog gcc-14-20260130/gcc/ChangeLog
*** gcc-14-20260123/gcc/ChangeLog	Fri Jan 23 22:32:05 2026
--- gcc-14-20260130/gcc/ChangeLog	Fri Jan 30 22:32:06 2026
***************
*** 1,3 ****
--- 1,17 ----
+ 2026-01-23  Avinash Jayakar  <avinashd@linux.ibm.com>
+ 
+ 	PR target/119130
+ 	* config/rs6000/altivec.md (convert_4f32_8f16): Use same operand
+ 	order for both endian format.
+ 
+ 2026-01-23  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	Backported from master:
+ 	2026-01-23  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	* config/i386/sse.md (avx2_vbroadcasti128_<mode>): Constraint
+ 	alternative 0 with jm and add gpr16 attr to avoid egpr usage.
+ 
  2026-01-22  Richard Earnshaw  <rearnsha@arm.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260123/gcc/DATESTAMP gcc-14-20260130/gcc/DATESTAMP
*** gcc-14-20260123/gcc/DATESTAMP	Fri Jan 23 22:32:05 2026
--- gcc-14-20260130/gcc/DATESTAMP	Fri Jan 30 22:32:06 2026
***************
*** 1 ****
! 20260123
--- 1 ----
! 20260130
diff -Nrcpad gcc-14-20260123/gcc/ada/sem_ch10.adb gcc-14-20260130/gcc/ada/sem_ch10.adb
*** gcc-14-20260123/gcc/ada/sem_ch10.adb	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/ada/sem_ch10.adb	Fri Jan 30 22:32:06 2026
*************** package body Sem_Ch10 is
*** 936,941 ****
--- 936,955 ----
  
        --  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
*** 4443,4448 ****
--- 4457,4474 ----
           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
*** 4515,4526 ****
        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
--- 4541,4546 ----
*************** package body Sem_Ch10 is
*** 7076,7081 ****
--- 7096,7113 ----
           --  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-14-20260123/gcc/config/loongarch/loongarch-builtins.cc gcc-14-20260130/gcc/config/loongarch/loongarch-builtins.cc
*** gcc-14-20260123/gcc/config/loongarch/loongarch-builtins.cc	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/config/loongarch/loongarch-builtins.cc	Fri Jan 30 22:32:07 2026
*************** static const struct loongarch_builtin_de
*** 1388,1397 ****
    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),
--- 1388,1397 ----
    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
*** 1561,1567 ****
    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),
--- 1561,1567 ----
    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
*** 1572,1578 ****
    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 */
--- 1572,1578 ----
    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
*** 2101,2111 ****
    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),
--- 2101,2111 ----
    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
*** 2121,2127 ****
    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 */
--- 2121,2127 ----
    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)
*** 2371,2381 ****
--- 2371,2395 ----
    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-14-20260123/gcc/config/loongarch/loongarch-ftypes.def gcc-14-20260130/gcc/config/loongarch/loongarch-ftypes.def
*** gcc-14-20260123/gcc/config/loongarch/loongarch-ftypes.def	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/config/loongarch/loongarch-ftypes.def	Fri Jan 30 22:32:07 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-14-20260123/gcc/config/loongarch/loongarch.cc gcc-14-20260130/gcc/config/loongarch/loongarch.cc
*** gcc-14-20260123/gcc/config/loongarch/loongarch.cc	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/config/loongarch/loongarch.cc	Fri Jan 30 22:32:07 2026
*************** loongarch_expand_vector_init_same (rtx t
*** 10021,10027 ****
  	}
      }
  
!   temp = force_reg (imode, same);
  
    switch (vmode)
      {
--- 10021,10036 ----
  	}
      }
  
!   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-14-20260123/gcc/cp/ChangeLog gcc-14-20260130/gcc/cp/ChangeLog
*** gcc-14-20260123/gcc/cp/ChangeLog	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/cp/ChangeLog	Fri Jan 30 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.
+ 
  2025-10-14  Jason Merrill  <jason@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260123/gcc/cp/constexpr.cc gcc-14-20260130/gcc/cp/constexpr.cc
*** gcc-14-20260123/gcc/cp/constexpr.cc	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/cp/constexpr.cc	Fri Jan 30 22:32:07 2026
*************** cxx_eval_outermost_constant_expr (tree t
*** 9079,9084 ****
--- 9079,9095 ----
  	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-14-20260123/gcc/cp/pt.cc gcc-14-20260130/gcc/cp/pt.cc
*** gcc-14-20260123/gcc/cp/pt.cc	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/cp/pt.cc	Fri Jan 30 22:32:07 2026
*************** tsubst_pack_expansion (tree t, tree args
*** 13704,13710 ****
  	  /* 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;
  	}
      }
--- 13704,13711 ----
  	  /* 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-14-20260123/gcc/d/ChangeLog gcc-14-20260130/gcc/d/ChangeLog
*** gcc-14-20260123/gcc/d/ChangeLog	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/d/ChangeLog	Fri Jan 30 22:32:07 2026
***************
*** 1,3 ****
--- 1,91 ----
+ 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:
+ 	2025-04-15  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/119799
+ 	* decl.cc (DeclVisitor::visit (VarDeclaration *)): Check front-end
+ 	type size before building the VAR_DECL.  Allow C symbols to have a
+ 	size of `0'.
+ 
+ 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.
+ 
  2025-05-23  Release Manager
  
  	* GCC 14.3.0 released.
diff -Nrcpad gcc-14-20260123/gcc/d/d-codegen.cc gcc-14-20260130/gcc/d/d-codegen.cc
*** gcc-14-20260123/gcc/d/d-codegen.cc	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/d/d-codegen.cc	Fri Jan 30 22:32:07 2026
*************** build_address (tree exp)
*** 665,670 ****
--- 665,675 ----
    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
*** 704,711 ****
  {
    switch (TREE_CODE (exp))
      {
-     case ADDR_EXPR:
      case COMPONENT_REF:
      case ARRAY_REF:
      case REALPART_EXPR:
      case IMAGPART_EXPR:
--- 709,720 ----
  {
    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
*** 2298,2304 ****
  
  	  /* 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);
--- 2307,2313 ----
  
  	  /* 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
*** 2318,2324 ****
        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));
--- 2327,2338 ----
        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-14-20260123/gcc/d/d-spec.cc gcc-14-20260130/gcc/d/d-spec.cc
*** gcc-14-20260123/gcc/d/d-spec.cc	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/d/d-spec.cc	Fri Jan 30 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-14-20260123/gcc/d/decl.cc gcc-14-20260130/gcc/d/decl.cc
*** gcc-14-20260123/gcc/d/decl.cc	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/d/decl.cc	Fri Jan 30 22:32:07 2026
*************** get_fndecl_arguments (FuncDeclaration *d
*** 183,189 ****
  
  	  /* 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.  */
--- 183,189 ----
  
  	  /* 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.  */
*************** public:
*** 792,797 ****
--- 792,803 ----
        }
      else if (d->isDataseg ())
        {
+ 	/* When the front-end type size is invalid, an error has already been
+ 	   given for the declaration or type.  */
+ 	dinteger_t size = d->type->size (d->loc);
+ 	if (size == SIZE_INVALID)
+ 	  return;
+ 
  	tree decl = get_symbol_decl (d);
  
  	/* Only need to build the VAR_DECL for extern declarations.  */
*************** public:
*** 805,813 ****
  	  return;
  
  	/* How big a symbol can be should depend on back-end.  */
! 	tree size = build_integer_cst (d->type->size (d->loc),
! 				       build_ctype (Type::tsize_t));
! 	if (!valid_constant_size_p (size))
  	  {
  	    error_at (make_location_t (d->loc), "size is too large");
  	    return;
--- 811,817 ----
  	  return;
  
  	/* How big a symbol can be should depend on back-end.  */
! 	if (!valid_constant_size_p (build_integer_cst (size, size_type_node)))
  	  {
  	    error_at (make_location_t (d->loc), "size is too large");
  	    return;
*************** public:
*** 836,843 ****
  	  }
  
  	/* Frontend should have already caught this.  */
! 	gcc_assert (!integer_zerop (size)
! 		    || d->type->toBasetype ()->isTypeSArray ());
  
  	d_finish_decl (decl);
  
--- 840,848 ----
  	  }
  
  	/* Frontend should have already caught this.  */
! 	gcc_assert ((size != 0 && size != SIZE_INVALID)
! 		    || d->type->toBasetype ()->isTypeSArray ()
! 		    || d->isCsymbol ());
  
  	d_finish_decl (decl);
  
*************** get_symbol_decl (Declaration *decl)
*** 1209,1216 ****
  
    /* 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;
--- 1214,1220 ----
  
    /* 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)
*** 1221,1228 ****
      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;
--- 1225,1231 ----
      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)
*** 1257,1264 ****
      }
  
    /* 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))
--- 1260,1266 ----
      }
  
    /* 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)
*** 1350,1378 ****
        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
--- 1352,1389 ----
        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)
*** 1414,1419 ****
--- 1425,1433 ----
      }
    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)
*** 1567,1572 ****
--- 1581,1587 ----
    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-14-20260123/gcc/d/expr.cc gcc-14-20260130/gcc/d/expr.cc
*** gcc-14-20260123/gcc/d/expr.cc	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/d/expr.cc	Fri Jan 30 22:32:07 2026
*************** public:
*** 2172,2178 ****
  	      {
  		/* 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);
--- 2172,2178 ----
  	      {
  		/* 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:
*** 2680,2687 ****
  	/* 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
        {
--- 2680,2688 ----
  	/* 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-14-20260123/gcc/d/toir.cc gcc-14-20260130/gcc/d/toir.cc
*** gcc-14-20260123/gcc/d/toir.cc	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/d/toir.cc	Fri Jan 30 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-14-20260123/gcc/d/types.cc gcc-14-20260130/gcc/d/types.cc
*** gcc-14-20260123/gcc/d/types.cc	Fri Jan 23 22:32:06 2026
--- gcc-14-20260130/gcc/d/types.cc	Fri Jan 30 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-14-20260123/gcc/testsuite/ChangeLog gcc-14-20260130/gcc/testsuite/ChangeLog
*** gcc-14-20260123/gcc/testsuite/ChangeLog	Fri Jan 23 22:32:07 2026
--- gcc-14-20260130/gcc/testsuite/ChangeLog	Fri Jan 30 22:32:08 2026
***************
*** 1,3 ****
--- 1,109 ----
+ 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  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	Backported from master:
+ 	2025-04-15  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/119799
+ 	* gdc.dg/torture/pr119799.d: New test.
+ 	* gdc.dg/torture/imports/pr119799c.c: 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  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  Avinash Jayakar  <avinashd@linux.ibm.com>
+ 
+ 	PR target/119130
+ 	* gcc.target/powerpc/builtins-1-p9-runnable.c: Use same expected
+ 	results for both endian format.
+ 
+ 2026-01-23  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	Backported from master:
+ 	2026-01-23  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	* gcc.target/i386/apx-broadcast.c: New test.
+ 
  2026-01-22  Richard Earnshaw  <rearnsha@arm.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260123/gcc/testsuite/g++.dg/cpp2a/concepts-decltype5.C gcc-14-20260130/gcc/testsuite/g++.dg/cpp2a/concepts-decltype5.C
*** gcc-14-20260123/gcc/testsuite/g++.dg/cpp2a/concepts-decltype5.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/g++.dg/cpp2a/concepts-decltype5.C	Fri Jan 30 22:32:09 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-14-20260123/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C gcc-14-20260130/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C
*** gcc-14-20260123/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C	Fri Jan 30 22:32:09 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-14-20260123/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C gcc-14-20260130/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C
*** gcc-14-20260123/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C	Fri Jan 30 22:32:09 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-14-20260123/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123766.c gcc-14-20260130/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123766.c
*** gcc-14-20260123/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123766.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123766.c	Fri Jan 30 22:32:13 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-14-20260123/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123766.c gcc-14-20260130/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123766.c
*** gcc-14-20260123/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123766.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123766.c	Fri Jan 30 22:32:13 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-14-20260123/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123807.c gcc-14-20260130/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123807.c
*** gcc-14-20260123/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123807.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gcc.target/loongarch/vector/lsx/pr123807.c	Fri Jan 30 22:32:13 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-14-20260123/gcc/testsuite/gdc.dg/driver_debuglib.d gcc-14-20260130/gcc/testsuite/gdc.dg/driver_debuglib.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/driver_debuglib.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/driver_debuglib.d	Fri Jan 30 22:32:13 2026
***************
*** 0 ****
--- 1,2 ----
+ // { dg-do compile }
+ // { dg-additional-options "-debuglib=a -debuglib=b" }
diff -Nrcpad gcc-14-20260123/gcc/testsuite/gdc.dg/driver_defaultlib.d gcc-14-20260130/gcc/testsuite/gdc.dg/driver_defaultlib.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/driver_defaultlib.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/driver_defaultlib.d	Fri Jan 30 22:32:13 2026
***************
*** 0 ****
--- 1,2 ----
+ // { dg-do compile }
+ // { dg-additional-options "-defaultlib=a -defaultlib=b" }
diff -Nrcpad gcc-14-20260123/gcc/testsuite/gdc.dg/pr121477.d gcc-14-20260130/gcc/testsuite/gdc.dg/pr121477.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/pr121477.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/pr121477.d	Fri Jan 30 22:32:13 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-14-20260123/gcc/testsuite/gdc.dg/pr123046.d gcc-14-20260130/gcc/testsuite/gdc.dg/pr123046.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/pr123046.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/pr123046.d	Fri Jan 30 22:32:13 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-14-20260123/gcc/testsuite/gdc.dg/pr123264.d gcc-14-20260130/gcc/testsuite/gdc.dg/pr123264.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/pr123264.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/pr123264.d	Fri Jan 30 22:32:13 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-14-20260123/gcc/testsuite/gdc.dg/pr123407a.d gcc-14-20260130/gcc/testsuite/gdc.dg/pr123407a.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/pr123407a.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/pr123407a.d	Fri Jan 30 22:32:13 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-14-20260123/gcc/testsuite/gdc.dg/pr123407b.d gcc-14-20260130/gcc/testsuite/gdc.dg/pr123407b.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/pr123407b.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/pr123407b.d	Fri Jan 30 22:32:13 2026
***************
*** 0 ****
--- 1,4 ----
+ // { dg-do compile }
+ module pr123407;
+ int fun();
+ extern(C) int _D8pr1234073funFZi; // { dg-error "matches conflicting symbols" }
diff -Nrcpad gcc-14-20260123/gcc/testsuite/gdc.dg/pr123419.d gcc-14-20260130/gcc/testsuite/gdc.dg/pr123419.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/pr123419.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/pr123419.d	Fri Jan 30 22:32:13 2026
***************
*** 0 ****
--- 1,9 ----
+ // { dg-do compile }
+ struct S123419 {}
+ 
+ void t123419(T)(T _) {}
+ 
+ void f123419()
+ {
+     t123419(__traits(initSymbol, S123419));
+ }
diff -Nrcpad gcc-14-20260123/gcc/testsuite/gdc.dg/pr123798.d gcc-14-20260130/gcc/testsuite/gdc.dg/pr123798.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/pr123798.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/pr123798.d	Fri Jan 30 22:32:13 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-14-20260123/gcc/testsuite/gdc.dg/torture/imports/pr119799c.c gcc-14-20260130/gcc/testsuite/gdc.dg/torture/imports/pr119799c.c
*** gcc-14-20260123/gcc/testsuite/gdc.dg/torture/imports/pr119799c.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/torture/imports/pr119799c.c	Fri Jan 30 22:32:13 2026
***************
*** 0 ****
--- 1,4 ----
+ inline void fn119799()
+ {
+     static struct {} s119799;
+ }
diff -Nrcpad gcc-14-20260123/gcc/testsuite/gdc.dg/torture/pr119799.d gcc-14-20260130/gcc/testsuite/gdc.dg/torture/pr119799.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/torture/pr119799.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/torture/pr119799.d	Fri Jan 30 22:32:13 2026
***************
*** 0 ****
--- 1,9 ----
+ // { dg-do compile }
+ // { dg-additional-files "imports/pr119799c.c" }
+ // { dg-additional-options "-I[srcdir]" }
+ import imports.pr119799c;
+ 
+ void test()
+ {
+     fn119799;
+ }
diff -Nrcpad gcc-14-20260123/gcc/testsuite/gdc.dg/torture/pr120096.d gcc-14-20260130/gcc/testsuite/gdc.dg/torture/pr120096.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/torture/pr120096.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/torture/pr120096.d	Fri Jan 30 22:32:13 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-14-20260123/gcc/testsuite/gdc.dg/torture/pr123422.d gcc-14-20260130/gcc/testsuite/gdc.dg/torture/pr123422.d
*** gcc-14-20260123/gcc/testsuite/gdc.dg/torture/pr123422.d	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gdc.dg/torture/pr123422.d	Fri Jan 30 22:32:13 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-14-20260123/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild-grandgrandchild.ads gcc-14-20260130/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild-grandgrandchild.ads
*** gcc-14-20260123/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild-grandgrandchild.ads	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild-grandgrandchild.ads	Fri Jan 30 22:32:14 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-14-20260123/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild.ads gcc-14-20260130/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild.ads
*** gcc-14-20260123/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild.ads	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gnat.dg/specs/limited_with3-child-grandchild.ads	Fri Jan 30 22:32:14 2026
***************
*** 0 ****
--- 1,5 ----
+ package Limited_With3.Child.Grandchild is
+ 
+   function F return T is (Two);
+ 
+ end Limited_With3.Child.Grandchild;
diff -Nrcpad gcc-14-20260123/gcc/testsuite/gnat.dg/specs/limited_with3-child.ads gcc-14-20260130/gcc/testsuite/gnat.dg/specs/limited_with3-child.ads
*** gcc-14-20260123/gcc/testsuite/gnat.dg/specs/limited_with3-child.ads	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gnat.dg/specs/limited_with3-child.ads	Fri Jan 30 22:32:14 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-14-20260123/gcc/testsuite/gnat.dg/specs/limited_with3.ads gcc-14-20260130/gcc/testsuite/gnat.dg/specs/limited_with3.ads
*** gcc-14-20260123/gcc/testsuite/gnat.dg/specs/limited_with3.ads	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/gcc/testsuite/gnat.dg/specs/limited_with3.ads	Fri Jan 30 22:32:14 2026
***************
*** 0 ****
--- 1,4 ----
+ limited with Limited_With3.Child;
+ 
+ package Limited_With3 is
+ end Limited_With3;
diff -Nrcpad gcc-14-20260123/libstdc++-v3/ChangeLog gcc-14-20260130/libstdc++-v3/ChangeLog
*** gcc-14-20260123/libstdc++-v3/ChangeLog	Fri Jan 23 22:32:14 2026
--- gcc-14-20260130/libstdc++-v3/ChangeLog	Fri Jan 30 22:32:16 2026
***************
*** 1,3 ****
--- 1,48 ----
+ 2026-01-26  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-03-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/Makefile.am: Add stdckdint.h.
+ 	* include/Makefile.in: Regenerate.
+ 	* include/c_compatibility/stdckdint.h: New file.
+ 	* testsuite/26_numerics/stdckdint/1.cc: New test.
+ 	* testsuite/26_numerics/stdckdint/2_neg.cc: New test.
+ 
+ 2026-01-26  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-03-13  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	* include/Makefile.am: Add stdbit.h.
+ 	* include/Makefile.in: Regenerate.
+ 	* include/c_compatibility/stdbit.h: New file.
+ 	* testsuite/20_util/stdbit/1.cc: New test.
+ 	* testsuite/20_util/stdbit/2_neg.cc: New test.
+ 
+ 2026-01-26  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backported from master:
+ 	2024-11-27  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	PR libstdc++/105857
+ 	* config/locale/dragonfly/codecvt_members.cc (do_length): Limit
+ 	size of alloca buffer to 4k.
+ 	* config/locale/gnu/codecvt_members.cc (do_length): Likewise.
+ 	* testsuite/22_locale/codecvt/length/wchar_t/105857.cc: New
+ 	test.
+ 
+ 2026-01-23  Wang Jinghao  <zheng.xianyuwang@gmail.com>
+ 
+ 	Backported from master:
+ 	2026-01-10  Wang Jinghao  <zheng.xianyuwang@gmail.com>
+ 
+ 	* src/c++11/system_error.cc (system_error_category) [_WIN32]:
+ 	Use FormatMessageA function instead of FormatMessage macro.
+ 	* testsuite/19_diagnostics/error_category/system_category.cc:
+ 	Fix typo in __MINGW32__ macro name.  Adjust behavior on the
+ 	mingw32 target.
+ 
  2026-01-22  Jonathan Wakely  <jwakely@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260123/libstdc++-v3/config/locale/dragonfly/codecvt_members.cc gcc-14-20260130/libstdc++-v3/config/locale/dragonfly/codecvt_members.cc
*** gcc-14-20260123/libstdc++-v3/config/locale/dragonfly/codecvt_members.cc	Fri Jan 23 22:32:14 2026
--- gcc-14-20260130/libstdc++-v3/config/locale/dragonfly/codecvt_members.cc	Fri Jan 30 22:32:16 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 226,237 ****
  
      // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
      // in case we advance past it and then continue, in a loop.
!     // NB: mbsnrtowcs is a GNU extension
  
      // A dummy internal buffer is needed in order for mbsnrtocws to consider
      // its fourth parameter (it wouldn't with NULL as first parameter).
      wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
! 							   * __max));
      while (__from < __end && __max)
        {
  	const extern_type* __from_chunk_end;
--- 226,239 ----
  
      // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
      // in case we advance past it and then continue, in a loop.
!     // NB: mbsnrtowcs is in POSIX.1-2008
! 
!     const size_t __to_len = 1024; // Size of alloca'd output buffer
  
      // A dummy internal buffer is needed in order for mbsnrtocws to consider
      // its fourth parameter (it wouldn't with NULL as first parameter).
      wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
! 							   * __to_len));
      while (__from < __end && __max)
        {
  	const extern_type* __from_chunk_end;
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 244,250 ****
  	const extern_type* __tmp_from = __from;
  	size_t __conv = mbsnrtowcs(__to, &__from,
  				   __from_chunk_end - __from,
! 				   __max, &__state);
  	if (__conv == static_cast<size_t>(-1))
  	  {
  	    // In case of error, in order to stop at the exact place we
--- 246,253 ----
  	const extern_type* __tmp_from = __from;
  	size_t __conv = mbsnrtowcs(__to, &__from,
  				   __from_chunk_end - __from,
! 				   __max > __to_len ? __to_len : __max,
! 				   &__state);
  	if (__conv == static_cast<size_t>(-1))
  	  {
  	    // In case of error, in order to stop at the exact place we
diff -Nrcpad gcc-14-20260123/libstdc++-v3/config/locale/gnu/codecvt_members.cc gcc-14-20260130/libstdc++-v3/config/locale/gnu/codecvt_members.cc
*** gcc-14-20260123/libstdc++-v3/config/locale/gnu/codecvt_members.cc	Fri Jan 23 22:32:14 2026
--- gcc-14-20260130/libstdc++-v3/config/locale/gnu/codecvt_members.cc	Fri Jan 30 22:32:16 2026
*************** namespace
*** 230,241 ****
  
      // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
      // in case we advance past it and then continue, in a loop.
!     // NB: mbsnrtowcs is a GNU extension
  
      // A dummy internal buffer is needed in order for mbsnrtocws to consider
      // its fourth parameter (it wouldn't with NULL as first parameter).
      wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
! 							   * __max));
      while (__from < __end && __max)
        {
  	const extern_type* __from_chunk_end;
--- 230,243 ----
  
      // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
      // in case we advance past it and then continue, in a loop.
!     // NB: mbsnrtowcs is in POSIX.1-2008
! 
!     const size_t __to_len = 1024; // Size of alloca'd output buffer
  
      // A dummy internal buffer is needed in order for mbsnrtocws to consider
      // its fourth parameter (it wouldn't with NULL as first parameter).
      wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
! 							   * __to_len));
      while (__from < __end && __max)
        {
  	const extern_type* __from_chunk_end;
*************** namespace
*** 248,254 ****
  	const extern_type* __tmp_from = __from;
  	size_t __conv = mbsnrtowcs(__to, &__from,
  				   __from_chunk_end - __from,
! 				   __max, &__state);
  	if (__conv == static_cast<size_t>(-1))
  	  {
  	    // In case of error, in order to stop at the exact place we
--- 250,257 ----
  	const extern_type* __tmp_from = __from;
  	size_t __conv = mbsnrtowcs(__to, &__from,
  				   __from_chunk_end - __from,
! 				   __max > __to_len ? __to_len : __max,
! 				   &__state);
  	if (__conv == static_cast<size_t>(-1))
  	  {
  	    // In case of error, in order to stop at the exact place we
diff -Nrcpad gcc-14-20260123/libstdc++-v3/include/Makefile.am gcc-14-20260130/libstdc++-v3/include/Makefile.am
*** gcc-14-20260123/libstdc++-v3/include/Makefile.am	Fri Jan 23 22:32:14 2026
--- gcc-14-20260130/libstdc++-v3/include/Makefile.am	Fri Jan 30 22:32:16 2026
*************** c_compatibility_headers = \
*** 907,912 ****
--- 907,914 ----
  	${c_compatibility_srcdir}/tgmath.h \
  	${c_compatibility_srcdir}/math.h \
  	${c_compatibility_srcdir}/stdatomic.h \
+ 	${c_compatibility_srcdir}/stdbit.h \
+ 	${c_compatibility_srcdir}/stdckdint.h \
  	${c_compatibility_srcdir}/stdlib.h
  endif
  
diff -Nrcpad gcc-14-20260123/libstdc++-v3/include/Makefile.in gcc-14-20260130/libstdc++-v3/include/Makefile.in
*** gcc-14-20260123/libstdc++-v3/include/Makefile.in	Fri Jan 23 22:32:14 2026
--- gcc-14-20260130/libstdc++-v3/include/Makefile.in	Fri Jan 30 22:32:16 2026
*************** c_compatibility_builddir = .
*** 1244,1249 ****
--- 1244,1251 ----
  @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/tgmath.h \
  @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/math.h \
  @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/stdatomic.h \
+ @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/stdbit.h \
+ @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/stdckdint.h \
  @GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/stdlib.h
  
  @GLIBCXX_C_HEADERS_C_STD_TRUE@c_compatibility_headers = 
diff -Nrcpad gcc-14-20260123/libstdc++-v3/include/c_compatibility/stdbit.h gcc-14-20260130/libstdc++-v3/include/c_compatibility/stdbit.h
*** gcc-14-20260123/libstdc++-v3/include/c_compatibility/stdbit.h	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/libstdc++-v3/include/c_compatibility/stdbit.h	Fri Jan 30 22:32:16 2026
***************
*** 0 ****
--- 1,582 ----
+ // C compatibility header <stdbit.h> -*- C++ -*-
+ 
+ // Copyright The GNU Toolchain Authors.
+ //
+ // This file is part of the GNU ISO C++ Library.  This library is free
+ // software; you can redistribute it and/or modify it under the
+ // terms of the GNU General Public License as published by the
+ // Free Software Foundation; either version 3, or (at your option)
+ // any later version.
+ 
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ // GNU General Public License for more details.
+ 
+ // Under Section 7 of GPL version 3, you are granted additional
+ // permissions described in the GCC Runtime Library Exception, version
+ // 3.1, as published by the Free Software Foundation.
+ 
+ // You should have received a copy of the GNU General Public License and
+ // a copy of the GCC Runtime Library Exception along with this program;
+ // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ // <http://www.gnu.org/licenses/>.
+ 
+ /** @file include/stdbit.h
+  *  This is a Standard C++ Library header.
+  */
+ 
+ #ifndef _GLIBCXX_STDBIT_H
+ #define _GLIBCXX_STDBIT_H
+ 
+ #if __cplusplus > 202302L
+ #include <bit>
+ 
+ #define __STDC_VERSION_STDBIT_H__ 202311L
+ 
+ #define __STDC_ENDIAN_BIG__     __ORDER_BIG_ENDIAN__
+ #define __STDC_ENDIAN_LITTLE__  __ORDER_LITTLE_ENDIAN__
+ #define __STDC_ENDIAN_NATIVE__  __BYTE_ORDER__
+ 
+ #ifndef _GLIBCXX_DOXYGEN
+ // We define these in our own namespace, but let Doxygen think otherwise.
+ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+ {
+ #endif
+ 
+ /** Count the number of leading zero bits
+  *
+  * @param  __value An unsigned integer.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline unsigned int
+ stdc_leading_zeros(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return std::countl_zero(__value);
+ }
+ 
+ inline unsigned int
+ stdc_leading_zeros_uc(unsigned char __value)
+ { return stdc_leading_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_leading_zeros_us(unsigned short __value)
+ { return stdc_leading_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_leading_zeros_ui(unsigned int __value)
+ { return stdc_leading_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_leading_zeros_ul(unsigned long int __value)
+ { return stdc_leading_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_leading_zeros_ull(unsigned long long int __value)
+ { return stdc_leading_zeros(__value); }
+ /// @}
+ 
+ /** Count the number of leading one bits
+  *
+  * @param  __value An unsigned integer.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline unsigned int
+ stdc_leading_ones(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return std::countl_one(__value);
+ }
+ 
+ inline unsigned int
+ stdc_leading_ones_uc(unsigned char __value)
+ { return stdc_leading_ones(__value); }
+ 
+ inline unsigned int
+ stdc_leading_ones_us(unsigned short __value)
+ { return stdc_leading_ones(__value); }
+ 
+ inline unsigned int
+ stdc_leading_ones_ui(unsigned int __value)
+ { return stdc_leading_ones(__value); }
+ 
+ inline unsigned int
+ stdc_leading_ones_ul(unsigned long int __value)
+ { return stdc_leading_ones(__value); }
+ 
+ inline unsigned int
+ stdc_leading_ones_ull(unsigned long long int __value)
+ { return stdc_leading_ones(__value); }
+ /// @}
+ 
+ /** Count the number of trailing zero bits
+  *
+  * @param  __value An unsigned integer.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline unsigned int
+ stdc_trailing_zeros(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return std::countr_zero(__value);
+ }
+ 
+ inline unsigned int
+ stdc_trailing_zeros_uc(unsigned char __value)
+ { return stdc_trailing_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_trailing_zeros_us(unsigned short __value)
+ { return stdc_trailing_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_trailing_zeros_ui(unsigned int __value)
+ { return stdc_trailing_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_trailing_zeros_ul(unsigned long int __value)
+ { return stdc_trailing_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_trailing_zeros_ull(unsigned long long int __value)
+ { return stdc_trailing_zeros(__value); }
+ /// @}
+ 
+ /** Count the number of trailing one bits
+  *
+  * @param  __value An unsigned integer.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline unsigned int
+ stdc_trailing_ones(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return std::countr_one(__value);
+ }
+ 
+ inline unsigned int
+ stdc_trailing_ones_uc(unsigned char __value)
+ { return stdc_trailing_ones(__value); }
+ 
+ inline unsigned int
+ stdc_trailing_ones_us(unsigned short __value)
+ { return stdc_trailing_ones(__value); }
+ 
+ inline unsigned int
+ stdc_trailing_ones_ui(unsigned int __value)
+ { return stdc_trailing_ones(__value); }
+ 
+ inline unsigned int
+ stdc_trailing_ones_ul(unsigned long int __value)
+ { return stdc_trailing_ones(__value); }
+ 
+ inline unsigned int
+ stdc_trailing_ones_ull(unsigned long long int __value)
+ { return stdc_trailing_ones(__value); }
+ /// @}
+ 
+ /** Find the leftmost (i.e. most significant) zero bit
+  *
+  * @param  __value An unsigned integer.
+  * @return The one-based index of the first zero bit counting from the left,
+  *         or zero if there are no zero bits.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline unsigned int
+ stdc_first_leading_zero(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return __value == _Tp(-1) ? 0 : 1 + std::countl_one(__value);
+ }
+ 
+ inline unsigned int
+ stdc_first_leading_zero_uc(unsigned char __value)
+ { return stdc_first_leading_zero(__value); }
+ 
+ inline unsigned int
+ stdc_first_leading_zero_us(unsigned short __value)
+ { return stdc_first_leading_zero(__value); }
+ 
+ inline unsigned int
+ stdc_first_leading_zero_ui(unsigned int __value)
+ { return stdc_first_leading_zero(__value); }
+ 
+ inline unsigned int
+ stdc_first_leading_zero_ul(unsigned long int __value)
+ { return stdc_first_leading_zero(__value); }
+ 
+ inline unsigned int
+ stdc_first_leading_zero_ull(unsigned long long int __value)
+ { return stdc_first_leading_zero(__value); }
+ /// @}
+ 
+ /** Find the leftmost (i.e. most significant) one bit
+  *
+  * @param  __value An unsigned integer.
+  * @return The one-based index of the first one bit counting from the left,
+  *         or zero if there are no one bits.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline unsigned int
+ stdc_first_leading_one(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return __value == 0 ? 0 : 1 + std::countl_zero(__value);
+ }
+ 
+ inline unsigned int
+ stdc_first_leading_one_uc(unsigned char __value)
+ { return stdc_first_leading_one(__value); }
+ 
+ inline unsigned int
+ stdc_first_leading_one_us(unsigned short __value)
+ { return stdc_first_leading_one(__value); }
+ 
+ inline unsigned int
+ stdc_first_leading_one_ui(unsigned int __value)
+ { return stdc_first_leading_one(__value); }
+ 
+ inline unsigned int
+ stdc_first_leading_one_ul(unsigned long int __value)
+ { return stdc_first_leading_one(__value); }
+ 
+ inline unsigned int
+ stdc_first_leading_one_ull(unsigned long long int __value)
+ { return stdc_first_leading_one(__value); }
+ /// @}
+ 
+ /** Find the rightmost (i.e. least significant) zero bit
+  *
+  * @param  __value An unsigned integer.
+  * @return The one-based index of the first zero bit counting from the right,
+  *         or zero if there are no zero bits.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline unsigned int
+ stdc_first_trailing_zero(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return __value == _Tp(-1) ? 0 : 1 + std::countr_one(__value);
+ }
+ 
+ inline unsigned int
+ stdc_first_trailing_zero_uc(unsigned char __value)
+ { return stdc_first_trailing_zero(__value); }
+ 
+ inline unsigned int
+ stdc_first_trailing_zero_us(unsigned short __value)
+ { return stdc_first_trailing_zero(__value); }
+ 
+ inline unsigned int
+ stdc_first_trailing_zero_ui(unsigned int __value)
+ { return stdc_first_trailing_zero(__value); }
+ 
+ inline unsigned int
+ stdc_first_trailing_zero_ul(unsigned long int __value)
+ { return stdc_first_trailing_zero(__value); }
+ 
+ inline unsigned int
+ stdc_first_trailing_zero_ull(unsigned long long int __value)
+ { return stdc_first_trailing_zero(__value); }
+ /// @}
+ 
+ /** Find the rightmost (i.e. least significant) one bit
+  *
+  * @param  __value An unsigned integer.
+  * @return The one-based index of the first one bit counting from the right,
+  *         or zero if there are no one bits.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline unsigned int
+ stdc_first_trailing_one(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return __value == 0 ? 0 : 1 + std::countr_zero(__value);
+ }
+ 
+ inline unsigned int
+ stdc_first_trailing_one_uc(unsigned char __value)
+ { return stdc_first_trailing_one(__value); }
+ 
+ inline unsigned int
+ stdc_first_trailing_one_us(unsigned short __value)
+ { return stdc_first_trailing_one(__value); }
+ 
+ inline unsigned int
+ stdc_first_trailing_one_ui(unsigned int __value)
+ { return stdc_first_trailing_one(__value); }
+ 
+ inline unsigned int
+ stdc_first_trailing_one_ul(unsigned long int __value)
+ { return stdc_first_trailing_one(__value); }
+ 
+ inline unsigned int
+ stdc_first_trailing_one_ull(unsigned long long int __value)
+ { return stdc_first_trailing_one(__value); }
+ /// @}
+ 
+ /** Count zeros
+  *
+  * @param  __value An unsigned integer.
+  * @return The total number of zero bits in `__value`.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline unsigned int
+ stdc_count_zeros(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return std::popcount(_Tp(~__value));
+ }
+ 
+ inline unsigned int
+ stdc_count_zeros_uc(unsigned char __value)
+ { return stdc_count_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_count_zeros_us(unsigned short __value)
+ { return stdc_count_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_count_zeros_ui(unsigned int __value)
+ { return stdc_count_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_count_zeros_ul(unsigned long int __value)
+ { return stdc_count_zeros(__value); }
+ 
+ inline unsigned int
+ stdc_count_zeros_ull(unsigned long long int __value)
+ { return stdc_count_zeros(__value); }
+ /// @}
+ 
+ /** Count ones
+  *
+  * @param  __value An unsigned integer.
+  * @return The total number of one bits in `__value`.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline unsigned int
+ stdc_count_ones(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return std::popcount(__value);
+ }
+ 
+ inline unsigned int
+ stdc_count_ones_uc(unsigned char __value)
+ { return stdc_count_ones(__value); }
+ 
+ inline unsigned int
+ stdc_count_ones_us(unsigned short __value)
+ { return stdc_count_ones(__value); }
+ 
+ inline unsigned int
+ stdc_count_ones_ui(unsigned int __value)
+ { return stdc_count_ones(__value); }
+ 
+ inline unsigned int
+ stdc_count_ones_ul(unsigned long int __value)
+ { return stdc_count_ones(__value); }
+ 
+ inline unsigned int
+ stdc_count_ones_ull(unsigned long long int __value)
+ { return stdc_count_ones(__value); }
+ /// @}
+ 
+ /** Power of two check
+  *
+  * @param  __value An unsigned integer.
+  * @return True if the value has a single bit set, false otherwise.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline bool
+ stdc_has_single_bit(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return std::has_single_bit(__value);
+ }
+ 
+ inline bool
+ stdc_has_single_bit_uc(unsigned char __value)
+ { return stdc_has_single_bit(__value); }
+ 
+ inline bool
+ stdc_has_single_bit_us(unsigned short __value)
+ { return stdc_has_single_bit(__value); }
+ 
+ inline bool
+ stdc_has_single_bit_ui(unsigned int __value)
+ { return stdc_has_single_bit(__value); }
+ 
+ inline bool
+ stdc_has_single_bit_ul(unsigned long int __value)
+ { return stdc_has_single_bit(__value); }
+ 
+ inline bool
+ stdc_has_single_bit_ull(unsigned long long int __value)
+ { return stdc_has_single_bit(__value); }
+ /// @}
+ 
+ /** Bit width
+  *
+  * @param  __value An unsigned integer.
+  * @return The minimum number of bits needed to represent `__value`.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline unsigned int
+ stdc_bit_width(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return std::bit_width(__value);
+ }
+ 
+ inline unsigned int
+ stdc_bit_width_uc(unsigned char __value)
+ { return stdc_bit_width(__value); }
+ 
+ inline unsigned int
+ stdc_bit_width_us(unsigned short __value)
+ { return stdc_bit_width(__value); }
+ 
+ inline unsigned int
+ stdc_bit_width_ui(unsigned int __value)
+ { return stdc_bit_width(__value); }
+ 
+ inline unsigned int
+ stdc_bit_width_ul(unsigned long int __value)
+ { return stdc_bit_width(__value); }
+ 
+ inline unsigned int
+ stdc_bit_width_ull(unsigned long long int __value)
+ { return stdc_bit_width(__value); }
+ /// @}
+ 
+ /** Bit floor
+  *
+  * @param  __value An unsigned integer.
+  * @return The largest power of two that is not greater than `__value`.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline _Tp
+ stdc_bit_floor(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   return std::bit_floor(__value);
+ }
+ 
+ inline unsigned char
+ stdc_bit_floor_uc(unsigned char __value)
+ { return stdc_bit_floor(__value); }
+ 
+ inline unsigned short
+ stdc_bit_floor_us(unsigned short __value)
+ { return stdc_bit_floor(__value); }
+ 
+ inline unsigned int
+ stdc_bit_floor_ui(unsigned int __value)
+ { return stdc_bit_floor(__value); }
+ 
+ inline unsigned long int
+ stdc_bit_floor_ul(unsigned long int __value)
+ { return stdc_bit_floor(__value); }
+ 
+ inline unsigned long long int
+ stdc_bit_floor_ull(unsigned long long int __value)
+ { return stdc_bit_floor(__value); }
+ /// @}
+ 
+ /** Bit ceiling
+  *
+  * Unlike `std::bit_ceil`, this is defined to return zero for values which
+  * are not representable in the return type.
+  *
+  * @param  __value An unsigned integer.
+  * @return The smallest power of two that is not less than `__value`.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp>
+ inline _Tp
+ stdc_bit_ceil(_Tp __value)
+ {
+   static_assert(std::__unsigned_integer<_Tp>);
+   constexpr _Tp __msb = _Tp(1) << (__gnu_cxx::__int_traits<_Tp>::__digits - 1);
+   return (__value & __msb) ? 0 : std::bit_ceil(__value);
+ }
+ 
+ inline unsigned char
+ stdc_bit_ceil_uc(unsigned char __value)
+ { return stdc_bit_ceil(__value); }
+ 
+ inline unsigned short
+ stdc_bit_ceil_us(unsigned short __value)
+ { return stdc_bit_ceil(__value); }
+ 
+ inline unsigned int
+ stdc_bit_ceil_ui(unsigned int __value)
+ { return stdc_bit_ceil(__value); }
+ 
+ inline unsigned long int
+ stdc_bit_ceil_ul(unsigned long int __value)
+ { return stdc_bit_ceil(__value); }
+ 
+ inline unsigned long long int
+ stdc_bit_ceil_ull(unsigned long long int __value)
+ { return stdc_bit_ceil(__value); }
+ /// @}
+ 
+ #ifndef _GLIBCXX_DOXYGEN
+ } // namespace __gnu_cxx
+ #define _GLIBCXX_STDBIT_FUNC(F) \
+   using __gnu_cxx::F ## _uc; \
+   using __gnu_cxx::F ## _us; \
+   using __gnu_cxx::F ## _ui; \
+   using __gnu_cxx::F ## _ul; \
+   using __gnu_cxx::F ## _ull; \
+   using __gnu_cxx::F
+ _GLIBCXX_STDBIT_FUNC(stdc_leading_zeros);
+ _GLIBCXX_STDBIT_FUNC(stdc_leading_ones);
+ _GLIBCXX_STDBIT_FUNC(stdc_trailing_zeros);
+ _GLIBCXX_STDBIT_FUNC(stdc_trailing_ones);
+ _GLIBCXX_STDBIT_FUNC(stdc_first_leading_zero);
+ _GLIBCXX_STDBIT_FUNC(stdc_first_leading_one);
+ _GLIBCXX_STDBIT_FUNC(stdc_first_trailing_zero);
+ _GLIBCXX_STDBIT_FUNC(stdc_first_trailing_one);
+ _GLIBCXX_STDBIT_FUNC(stdc_count_zeros);
+ _GLIBCXX_STDBIT_FUNC(stdc_count_ones);
+ _GLIBCXX_STDBIT_FUNC(stdc_has_single_bit);
+ _GLIBCXX_STDBIT_FUNC(stdc_bit_width);
+ _GLIBCXX_STDBIT_FUNC(stdc_bit_floor);
+ _GLIBCXX_STDBIT_FUNC(stdc_bit_ceil);
+ #undef _GLIBCXX_STDBIT_FUNC
+ #endif // !DOXYGEN
+ #endif // C++26
+ 
+ #endif // _GLIBCXX_STDBIT_H
diff -Nrcpad gcc-14-20260123/libstdc++-v3/include/c_compatibility/stdckdint.h gcc-14-20260130/libstdc++-v3/include/c_compatibility/stdckdint.h
*** gcc-14-20260123/libstdc++-v3/include/c_compatibility/stdckdint.h	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/libstdc++-v3/include/c_compatibility/stdckdint.h	Fri Jan 30 22:32:16 2026
***************
*** 0 ****
--- 1,113 ----
+ // C compatibility header <stdckdint.h> -*- C++ -*-
+ 
+ // Copyright The GNU Toolchain Authors.
+ //
+ // This file is part of the GNU ISO C++ Library.  This library is free
+ // software; you can redistribute it and/or modify it under the
+ // terms of the GNU General Public License as published by the
+ // Free Software Foundation; either version 3, or (at your option)
+ // any later version.
+ 
+ // This library is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ // GNU General Public License for more details.
+ 
+ // Under Section 7 of GPL version 3, you are granted additional
+ // permissions described in the GCC Runtime Library Exception, version
+ // 3.1, as published by the Free Software Foundation.
+ 
+ // You should have received a copy of the GNU General Public License and
+ // a copy of the GCC Runtime Library Exception along with this program;
+ // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ // <http://www.gnu.org/licenses/>.
+ 
+ /** @file include/stdckdint.h
+  *  This is a Standard C++ Library header.
+  */
+ 
+ #ifndef _GLIBCXX_STDCKDINT_H
+ #define _GLIBCXX_STDCKDINT_H
+ 
+ #if __cplusplus > 202302L
+ #include <type_traits>
+ #include <concepts>
+ 
+ #define __STDC_VERSION_STDCKDINT_H__ 202311L
+ 
+ #ifndef _GLIBCXX_DOXYGEN
+ // We define these in our own namespace, but let Doxygen think otherwise.
+ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+ {
+ #endif
+ /// @cond undocumented
+ namespace __detail
+ {
+   template<typename _Tp>
+     concept __cv_unqual_signed_or_unsigned_integer_type
+       = std::same_as<_Tp, std::remove_cv_t<_Tp>>
+ 	  && std::__is_standard_integer<_Tp>::value;
+ }
+ /// @endcond
+ 
+ /** Checked integer arithmetic
+  *
+  * Performs arithmetic on `__a` and `__b` and stores the result in `*__result`,
+  * with overflow detection.
+  * The arithmetic is performed in infinite signed precision, without overflow,
+  * then converted to the result type, `_Tp1`. If the converted result is not
+  * equal to the infinite precision result, the stored result is wrapped to the
+  * width of `_Tp1` and `true` is returned. Otherwise, the stored result is
+  * correct and `false` is returned.
+  *
+  * @param __result A pointer to a signed or unsigned integer type.
+  * @param __a      A signed or unsigned integer type.
+  * @param __b      A signed or unsigned integer type.
+  * @return True if overflow occurred, false otherwise.
+  * @since C++26
+  * @{
+  */
+ template<typename _Tp1, typename _Tp2, typename _Tp3>
+   inline bool
+   ckd_add(_Tp1* __result, _Tp2 __a, _Tp3 __b)
+   {
+     using __gnu_cxx::__detail::__cv_unqual_signed_or_unsigned_integer_type;
+     static_assert(__cv_unqual_signed_or_unsigned_integer_type<_Tp1>);
+     static_assert(__cv_unqual_signed_or_unsigned_integer_type<_Tp2>);
+     static_assert(__cv_unqual_signed_or_unsigned_integer_type<_Tp3>);
+     return __builtin_add_overflow(__a, __b, __result);
+   }
+ 
+ template<typename _Tp1, typename _Tp2, typename _Tp3>
+   inline bool
+   ckd_sub(_Tp1* __result, _Tp2 __a, _Tp3 __b)
+   {
+     using __gnu_cxx::__detail::__cv_unqual_signed_or_unsigned_integer_type;
+     static_assert(__cv_unqual_signed_or_unsigned_integer_type<_Tp1>);
+     static_assert(__cv_unqual_signed_or_unsigned_integer_type<_Tp2>);
+     static_assert(__cv_unqual_signed_or_unsigned_integer_type<_Tp3>);
+     return __builtin_sub_overflow(__a, __b, __result);
+   }
+ 
+ template<typename _Tp1, typename _Tp2, typename _Tp3>
+   inline bool
+   ckd_mul(_Tp1* __result, _Tp2 __a, _Tp3 __b)
+   {
+     using __gnu_cxx::__detail::__cv_unqual_signed_or_unsigned_integer_type;
+     static_assert(__cv_unqual_signed_or_unsigned_integer_type<_Tp1>);
+     static_assert(__cv_unqual_signed_or_unsigned_integer_type<_Tp2>);
+     static_assert(__cv_unqual_signed_or_unsigned_integer_type<_Tp3>);
+     return __builtin_mul_overflow(__a, __b, __result);
+   }
+ /// @}
+ #ifndef _GLIBCXX_DOXYGEN
+ }
+ 
+ using __gnu_cxx::ckd_add;
+ using __gnu_cxx::ckd_sub;
+ using __gnu_cxx::ckd_mul;
+ #endif
+ 
+ #endif // C++26
+ 
+ #endif // _GLIBCXX_STDCKDINT_H
diff -Nrcpad gcc-14-20260123/libstdc++-v3/testsuite/20_util/stdbit/1.cc gcc-14-20260130/libstdc++-v3/testsuite/20_util/stdbit/1.cc
*** gcc-14-20260123/libstdc++-v3/testsuite/20_util/stdbit/1.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/libstdc++-v3/testsuite/20_util/stdbit/1.cc	Fri Jan 30 22:32:17 2026
***************
*** 0 ****
--- 1,320 ----
+ // { dg-do run { target c++26 } }
+ 
+ #include <stdbit.h>
+ 
+ #if __STDC_VERSION_STDBIT_H__ != 202311L
+ # error "__STDC_VERSION_STDBIT_H__ not defined correctly in <stdbit.h>"
+ #endif
+ #ifndef __STDC_ENDIAN_BIG__
+ # error "__STDC_ENDIAN_BIG__ is not defined in <stdbit.h>"
+ #endif
+ #ifndef __STDC_ENDIAN_LITTLE__
+ # error "__STDC_ENDIAN_LITTLE__ is not defined in <stdbit.h>"
+ #endif
+ #ifndef __STDC_ENDIAN_NATIVE__
+ # error "__STDC_ENDIAN_NATIVE__ is not defined in <stdbit.h>"
+ #endif
+ 
+ #include <testsuite_hooks.h>
+ #include <limits.h>
+ 
+ void
+ test_leading_zeros()
+ {
+   VERIFY( stdc_leading_zeros_uc(0) == CHAR_BIT );
+   VERIFY( stdc_leading_zeros_uc(UCHAR_MAX) == 0 );
+   VERIFY( stdc_leading_zeros_uc(CHAR_MAX) == (CHAR_MIN ? 1 : 0) );
+   VERIFY( stdc_leading_zeros_uc(UCHAR_MAX >> 3) == 3 );
+   VERIFY( stdc_leading_zeros_uc((unsigned char)(UCHAR_MAX << 3)) == 0 );
+ 
+   // TODO: replace __X_WIDTH__ with the standard macros once they're in C++26
+   VERIFY( stdc_leading_zeros_us(0) == __SHRT_WIDTH__ );
+   VERIFY( stdc_leading_zeros_us(USHRT_MAX) == 0 );
+   VERIFY( stdc_leading_zeros_us(USHRT_MAX >> 11) == 11 );
+ 
+   VERIFY( stdc_leading_zeros_ui(0) == __INT_WIDTH__ );
+   VERIFY( stdc_leading_zeros_ui(UINT_MAX) == 0 );
+   VERIFY( stdc_leading_zeros_ui(UINT_MAX >> 11) == 11 );
+ 
+   VERIFY( stdc_leading_zeros_ul(0) == __LONG_WIDTH__ );
+   VERIFY( stdc_leading_zeros_ul(ULONG_MAX) == 0 );
+   VERIFY( stdc_leading_zeros_ul(ULONG_MAX >> 19) == 19 );
+ 
+   VERIFY( stdc_leading_zeros_ull(0) == __LONG_LONG_WIDTH__ );
+   VERIFY( stdc_leading_zeros_ull(ULLONG_MAX) == 0 );
+   VERIFY( stdc_leading_zeros_ull(ULLONG_MAX >> 33) == 33 );
+   VERIFY( stdc_leading_zeros_ull(7) == (__LONG_LONG_WIDTH__ - 3) );
+ 
+   VERIFY( stdc_leading_zeros(7U) == (__INT_WIDTH__ - 3) );
+   VERIFY( stdc_leading_zeros(7UL) == (__LONG_WIDTH__ - 3) );
+   VERIFY( stdc_leading_zeros(7ULL) == (__LONG_LONG_WIDTH__ - 3) );
+ 
+   static_assert( std::is_same_v<decltype(stdc_leading_zeros(0UL)), unsigned> );
+ }
+ 
+ void
+ test_leading_ones()
+ {
+   VERIFY( stdc_leading_ones_uc(0) == 0 );
+   VERIFY( stdc_leading_ones_uc(UCHAR_MAX) == CHAR_BIT );
+   VERIFY( stdc_leading_ones_uc(CHAR_MAX) == (CHAR_MIN ? 0 : CHAR_BIT) );
+   VERIFY( stdc_leading_ones_uc(UCHAR_MAX >> 3) == 0 );
+   VERIFY( stdc_leading_ones_uc((unsigned char)(UCHAR_MAX << 3)) == (CHAR_BIT - 3) );
+ 
+   VERIFY( stdc_leading_ones_us(0) == 0 );
+   VERIFY( stdc_leading_ones_us(USHRT_MAX) == __SHRT_WIDTH__ );
+   VERIFY( stdc_leading_ones_us((unsigned short)(USHRT_MAX << 11)) == (__SHRT_WIDTH__ - 11) );
+   VERIFY( stdc_leading_ones_us(USHRT_MAX >> 11) == 0 );
+ 
+   VERIFY( stdc_leading_ones_ui(0) == 0 );
+   VERIFY( stdc_leading_ones_ui(UINT_MAX) == __INT_WIDTH__ );
+   VERIFY( stdc_leading_ones_ui(UINT_MAX << 11) == (__INT_WIDTH__ - 11) );
+ 
+   VERIFY( stdc_leading_ones_ul(0) == 0 );
+   VERIFY( stdc_leading_ones_ul(ULONG_MAX) == __LONG_WIDTH__ );
+   VERIFY( stdc_leading_ones_ul(ULONG_MAX << 19) == (__LONG_WIDTH__ - 19) );
+ 
+   VERIFY( stdc_leading_ones_ull(0) == 0 );
+   VERIFY( stdc_leading_ones_ull(ULLONG_MAX) == __LONG_LONG_WIDTH__ );
+   VERIFY( stdc_leading_ones_ull(ULLONG_MAX << 33) == (__LONG_LONG_WIDTH__ - 33) );
+ 
+   VERIFY( stdc_leading_ones(-1U << 2) == (__INT_WIDTH__ - 2) );
+   VERIFY( stdc_leading_ones(-1UL << 3) == (__LONG_WIDTH__ - 3) );
+   VERIFY( stdc_leading_ones(-1ULL << 4) == (__LONG_LONG_WIDTH__ - 4) );
+ 
+   static_assert( std::is_same_v<decltype(stdc_leading_ones(0UL)), unsigned> );
+ }
+ 
+ void
+ test_trailing_zeros()
+ {
+   VERIFY( stdc_trailing_zeros_uc((unsigned char)(UCHAR_MAX << 5)) == 5 );
+   VERIFY( stdc_trailing_zeros_us((unsigned short)(USHRT_MAX << 5)) == 5 );
+   VERIFY( stdc_trailing_zeros_ui(UINT_MAX << 9) == 9 );
+   VERIFY( stdc_trailing_zeros_ul(ULONG_MAX << 19) == 19 );
+   VERIFY( stdc_trailing_zeros_ull(ULLONG_MAX << 39) == 39 );
+   VERIFY( stdc_trailing_zeros(8U) == 3 );
+ 
+   static_assert( std::is_same_v<decltype(stdc_trailing_zeros(0UL)), unsigned> );
+ }
+ 
+ void
+ test_trailing_ones()
+ {
+   VERIFY( stdc_trailing_ones_uc((unsigned char)3) == 2 );
+   VERIFY( stdc_trailing_ones_uc((unsigned char)135) == 3 );
+   VERIFY( stdc_trailing_ones_us((unsigned short)7) == 3 );
+   VERIFY( stdc_trailing_ones_us((unsigned short)23) == 3 );
+   VERIFY( stdc_trailing_ones_us((unsigned short)235) == 2 );
+   VERIFY( stdc_trailing_ones_ui(11U) == 2 );
+   VERIFY( stdc_trailing_ones_ui(15U) == 4 );
+   VERIFY( stdc_trailing_ones_ul(ULONG_MAX) == __LONG_WIDTH__ );
+   VERIFY( stdc_trailing_ones_ull(ULLONG_MAX) == __LONG_LONG_WIDTH__ );
+   VERIFY( stdc_trailing_ones(7U) == 3 );
+ 
+   static_assert( std::is_same_v<decltype(stdc_trailing_ones(0UL)), unsigned> );
+ }
+ 
+ void
+ test_first_leading_zero()
+ {
+   VERIFY( stdc_first_leading_zero_uc(0) == 1 );
+   VERIFY( stdc_first_leading_zero_uc(UCHAR_MAX) == 0 );
+   VERIFY( stdc_first_leading_zero_uc(UCHAR_MAX ^ 0b111) == (CHAR_BIT - 2) );
+   VERIFY( stdc_first_leading_zero_us(USHRT_MAX) == 0 );
+   VERIFY( stdc_first_leading_zero_us(USHRT_MAX ^ 0b111) == (__SHRT_WIDTH__ - 2) );
+   VERIFY( stdc_first_leading_zero_ui(UINT_MAX ^ 0b10111) == (__INT_WIDTH__ - 4) );
+   VERIFY( stdc_first_leading_zero_ul(ULONG_MAX ^ 0b10111) == (__LONG_WIDTH__ - 4) );
+   VERIFY( stdc_first_leading_zero_ull(ULLONG_MAX ^ 0b10111) == (__LONG_LONG_WIDTH__ - 4) );
+ 
+   VERIFY( stdc_first_leading_zero(0U) == 1 );
+   VERIFY( stdc_first_leading_zero(-1U ^ 0b1111) == (__INT_WIDTH__ - 3) );
+ 
+   static_assert( std::is_same_v<decltype(stdc_first_leading_zero(0UL)), unsigned> );
+ }
+ 
+ void
+ test_first_leading_one()
+ {
+   VERIFY( stdc_first_leading_one_uc(0) == 0 );
+   VERIFY( stdc_first_leading_one_uc(0b00100) == (CHAR_BIT - 2) );
+   VERIFY( stdc_first_leading_one_ui(0b001100) == (__INT_WIDTH__ - 3) );
+   VERIFY( stdc_first_leading_one_ul(0b101100) == (__LONG_WIDTH__ - 5) );
+   VERIFY( stdc_first_leading_one_ull(0b1110000) == (__LONG_LONG_WIDTH__ - 6) );
+ 
+   VERIFY( stdc_first_leading_one(0U) == 0 );
+   VERIFY( stdc_first_leading_one(-1U >> 4) == 5 );
+   VERIFY( stdc_first_leading_one(-1ULL >> 43) == 44 );
+ 
+   static_assert( std::is_same_v<decltype(stdc_first_leading_one(0UL)), unsigned> );
+ }
+ 
+ void
+ test_first_trailing_zero()
+ {
+   VERIFY( stdc_first_trailing_zero_uc(0) == 1 );
+   VERIFY( stdc_first_trailing_zero_uc(1) == 2 );
+   VERIFY( stdc_first_trailing_zero_uc(7) == 4 );
+   VERIFY( stdc_first_trailing_zero_us(15) == 5 );
+   VERIFY( stdc_first_trailing_zero_ui(15) == 5 );
+   VERIFY( stdc_first_trailing_zero_ul(15) == 5 );
+   VERIFY( stdc_first_trailing_zero_ull(15) == 5 );
+ 
+   VERIFY( stdc_first_trailing_zero(15U) == 5 );
+ 
+   static_assert( std::is_same_v<decltype(stdc_first_trailing_zero(0UL)), unsigned> );
+ }
+ 
+ void
+ test_first_trailing_one()
+ {
+   VERIFY( stdc_first_trailing_one_uc(0) == 0 );
+   VERIFY( stdc_first_trailing_one_uc(1) == 1 );
+   VERIFY( stdc_first_trailing_one_uc(7) == 1 );
+   VERIFY( stdc_first_trailing_one_us(16) == 5 );
+   VERIFY( stdc_first_trailing_one_ui(16) == 5 );
+   VERIFY( stdc_first_trailing_one_ul(16) == 5 );
+   VERIFY( stdc_first_trailing_one_ull(16) == 5 );
+ 
+   VERIFY( stdc_first_trailing_one(16U) == 5 );
+   VERIFY( stdc_first_trailing_one(-1ULL << 17) == 18 );
+ 
+   static_assert( std::is_same_v<decltype(stdc_first_trailing_one(0UL)), unsigned> );
+ }
+ 
+ void
+ test_count_zeros()
+ {
+   VERIFY( stdc_count_zeros_uc(0b101010) == (CHAR_BIT - 3) );
+   VERIFY( stdc_count_zeros_us(0b1010101) == (__SHRT_WIDTH__ - 4) );
+   VERIFY( stdc_count_zeros_ui(0b1010101111) == (__INT_WIDTH__ - 7) );
+   VERIFY( stdc_count_zeros_ul(0b10101011110101) == (__LONG_WIDTH__ - 9) );
+   VERIFY( stdc_count_zeros_ull(0b10101011110101) == (__LONG_LONG_WIDTH__ - 9) );
+ 
+   VERIFY( stdc_count_zeros(0b111UL) == (__LONG_WIDTH__ - 3) );
+   VERIFY( stdc_count_zeros(0U) == __INT_WIDTH__ );
+ 
+   // std::popcount returns signed int, stdc_count_zeros_uc returns unsigned int.
+   static_assert( std::is_same_v<decltype(stdc_count_zeros_uc(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_count_zeros_uc(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_count_zeros_uc(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_count_zeros_uc(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_count_zeros_uc(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_count_zeros_uc(0u)), unsigned> );
+ }
+ 
+ void
+ test_count_ones()
+ {
+   VERIFY( stdc_count_ones_uc(0b101010) == 3 );
+   VERIFY( stdc_count_ones_us(0b1010101) == 4 );
+   VERIFY( stdc_count_ones_ui(0b1010101111) == 7 );
+   VERIFY( stdc_count_ones_ul(0b10101011110101) == 9 );
+   VERIFY( stdc_count_ones_ull(0b10101011110101) == 9 );
+ 
+   VERIFY( stdc_count_ones(0b10101011110101U) == 9 );
+   VERIFY( stdc_count_ones(0U) == 0 );
+ 
+   // std::popcount returns signed int, stdc_count_ones_uc returns unsigned int.
+   static_assert( std::is_same_v<decltype(stdc_count_ones_uc(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_count_ones_uc(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_count_ones_uc(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_count_ones_uc(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_count_ones_uc(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_count_ones_uc(0u)), unsigned> );
+ }
+ 
+ void
+ test_has_single_bit()
+ {
+   VERIFY ( ! stdc_has_single_bit_uc(0) );
+   VERIFY ( ! stdc_has_single_bit_uc(41) );
+   VERIFY ( stdc_has_single_bit_uc(1) );
+   VERIFY ( stdc_has_single_bit_uc(64) );
+   VERIFY ( stdc_has_single_bit_us(1 << 7) );
+   VERIFY ( stdc_has_single_bit_ui(1 << 11) );
+   VERIFY ( stdc_has_single_bit_ul(1 << 14) );
+   VERIFY ( stdc_has_single_bit_ull(1 << 24) );
+ 
+   VERIFY ( stdc_has_single_bit(64U) );
+   VERIFY ( stdc_has_single_bit(128UL) );
+   VERIFY ( ! stdc_has_single_bit(129UL) );
+ }
+ 
+ void
+ test_bit_width()
+ {
+   VERIFY( stdc_bit_width_uc(0) == 0 );
+   VERIFY( stdc_bit_width_uc(7) == 3 );
+   VERIFY( stdc_bit_width_uc(0b10101) == 5 );
+   VERIFY( stdc_bit_width_us(0b101010) == 6 );
+   VERIFY( stdc_bit_width_ui(0b1010101) == 7 );
+   VERIFY( stdc_bit_width_ul(ULONG_MAX) == __LONG_WIDTH__ );
+   VERIFY( stdc_bit_width_ull(ULLONG_MAX >> 2) == (__LONG_LONG_WIDTH__ - 2) );
+ 
+   VERIFY( stdc_bit_width(0b1010101U) == 7U );
+ 
+   // std::bit_width returns signed int, stdc_bit_width returns unsigned int.
+   static_assert( std::is_same_v<decltype(stdc_bit_width_uc(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_bit_width_us(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_bit_width_ui(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_bit_width_ul(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_bit_width_ul(0)), unsigned> );
+   static_assert( std::is_same_v<decltype(stdc_bit_width(0u)), unsigned> );
+ }
+ 
+ void
+ test_bit_floor()
+ {
+   VERIFY( stdc_bit_floor_uc(0) == 0 );
+   VERIFY( stdc_bit_floor_uc(7) == 4 );
+   VERIFY( stdc_bit_floor_uc(0b10101) == 0b10000 );
+   VERIFY( stdc_bit_floor_us(0b101010) == 0b100000 );
+   VERIFY( stdc_bit_floor_ui(0b1010101) == 0b1000000 );
+   VERIFY( stdc_bit_floor_ul(ULONG_MAX) == (1ul << (__LONG_WIDTH__ - 1)) );
+   VERIFY( stdc_bit_floor_ull(1000000) == (1ULL << 19) );
+ 
+   VERIFY( stdc_bit_floor(0b1010101U) == 0b1000000 );
+ }
+ 
+ void
+ test_bit_ceil()
+ {
+   VERIFY( stdc_bit_ceil_uc(0) == 1 );
+   VERIFY( stdc_bit_ceil_uc(1) == 1 );
+   VERIFY( stdc_bit_ceil_uc(2) == 2 );
+   VERIFY( stdc_bit_ceil_uc(3) == 4 );
+   VERIFY( stdc_bit_ceil_us(11) == 16 );
+   VERIFY( stdc_bit_ceil_ui(257) == 512 );
+   VERIFY( stdc_bit_ceil_ul(1048) == 2048 );
+   VERIFY( stdc_bit_ceil_ull(1000000) == (1ULL << 20) );
+ 
+   VERIFY( stdc_bit_ceil(0b1010101U) == 0b10000000 );
+ }
+ 
+ int main()
+ {
+   test_leading_zeros();
+   test_leading_ones();
+   test_trailing_zeros();
+   test_trailing_ones();
+   test_first_leading_zero();
+   test_first_leading_one();
+   test_first_trailing_zero();
+   test_first_trailing_one();
+   test_count_zeros();
+   test_count_ones();
+   test_has_single_bit();
+   test_bit_width();
+   test_bit_floor();
+   test_bit_ceil();
+ }
+ 
+ #include <bit>
+ // The standard doesn't require these values to match,
+ // so this is specific to libstdc++.
+ #ifdef _GLIBCXX_RELEASE
+ static_assert(__STDC_ENDIAN_BIG__    == (int)std::endian::big);
+ static_assert(__STDC_ENDIAN_LITTLE__ == (int)std::endian::little);
+ static_assert(__STDC_ENDIAN_NATIVE__ == (int)std::endian::native);
+ #endif
diff -Nrcpad gcc-14-20260123/libstdc++-v3/testsuite/20_util/stdbit/2_neg.cc gcc-14-20260130/libstdc++-v3/testsuite/20_util/stdbit/2_neg.cc
*** gcc-14-20260123/libstdc++-v3/testsuite/20_util/stdbit/2_neg.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/libstdc++-v3/testsuite/20_util/stdbit/2_neg.cc	Fri Jan 30 22:32:17 2026
***************
*** 0 ****
--- 1,45 ----
+ // { dg-do compile { target c++26 } }
+ 
+ #include <stdbit.h>
+ 
+ void
+ test_mandates()
+ {
+   // Mandates: T is an unsigned integer type.
+ 
+   ::stdc_leading_zeros(1); // { dg-error "here" }
+   ::stdc_leading_ones(1); // { dg-error "here" }
+   ::stdc_trailing_zeros(1); // { dg-error "here" }
+   ::stdc_trailing_ones(1); // { dg-error "here" }
+   ::stdc_first_leading_zero(1); // { dg-error "here" }
+   ::stdc_first_leading_one(1); // { dg-error "here" }
+   ::stdc_first_trailing_zero(1); // { dg-error "here" }
+   ::stdc_first_trailing_one(1); // { dg-error "here" }
+   ::stdc_count_zeros(1); // { dg-error "here" }
+   ::stdc_count_ones(1); // { dg-error "here" }
+   ::stdc_has_single_bit(1); // { dg-error "here" }
+   ::stdc_bit_width(1); // { dg-error "here" }
+   ::stdc_bit_floor(1); // { dg-error "here" }
+   ::stdc_bit_ceil(1); // { dg-error "here" }
+ 
+   ::stdc_leading_zeros(1.0); // { dg-error "here" }
+   ::stdc_leading_ones(1.0); // { dg-error "here" }
+   ::stdc_trailing_zeros(1.0); // { dg-error "here" }
+   ::stdc_trailing_ones(1.0); // { dg-error "here" }
+   ::stdc_first_leading_zero(1.0); // { dg-error "here" }
+   ::stdc_first_leading_one(1.0); // { dg-error "here" }
+   ::stdc_first_trailing_zero(1.0); // { dg-error "here" }
+   ::stdc_first_trailing_one(1.0); // { dg-error "here" }
+   ::stdc_count_zeros(1.0); // { dg-error "here" }
+   ::stdc_count_ones(1.0); // { dg-error "here" }
+   ::stdc_has_single_bit(1.0); // { dg-error "here" }
+   ::stdc_bit_width(1.0); // { dg-error "here" }
+   ::stdc_bit_floor(1.0); // { dg-error "here" }
+   ::stdc_bit_ceil(1.0); // { dg-error "here" }
+ }
+ 
+ // { dg-prune-output "static assertion failed" }
+ // { dg-prune-output "no matching function" }
+ // { dg-prune-output "wrong type" }
+ // { dg-prune-output "invalid operands" }
+ // { dg-prune-output "non-integral type" }
diff -Nrcpad gcc-14-20260123/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/105857.cc gcc-14-20260130/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/105857.cc
*** gcc-14-20260123/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/105857.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/105857.cc	Fri Jan 30 22:32:17 2026
***************
*** 0 ****
--- 1,21 ----
+ // { dg-do run }
+ 
+ // Bug libstdc++/105857 codecvt::do_length causes unexpected buffer overflow
+ 
+ #include <locale>
+ #include <testsuite_hooks.h>
+ 
+ int main()
+ {
+   std::string s(1050, 'a');
+   typedef std::codecvt<wchar_t, char, std::mbstate_t> Cvt;
+   const Cvt& cvt = std::use_facet<Cvt>(std::locale());
+   const char* from = s.c_str();
+   const char* from_end = s.c_str() + s.size();
+   std::size_t max = std::size_t(-1) / 4 + 2;
+   std::mbstate_t state = std::mbstate_t();
+   int n = cvt.length(state, from, from_end, max);
+   VERIFY( n == s.size() );
+   n = cvt.length(state, from, from_end, 2);
+   VERIFY( n == 2 );
+ }
diff -Nrcpad gcc-14-20260123/libstdc++-v3/testsuite/26_numerics/stdckdint/1.cc gcc-14-20260130/libstdc++-v3/testsuite/26_numerics/stdckdint/1.cc
*** gcc-14-20260123/libstdc++-v3/testsuite/26_numerics/stdckdint/1.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/libstdc++-v3/testsuite/26_numerics/stdckdint/1.cc	Fri Jan 30 22:32:17 2026
***************
*** 0 ****
--- 1,63 ----
+ // { dg-do run { target c++26 } }
+ 
+ #include <stdckdint.h>
+ 
+ #if __STDC_VERSION_STDCKDINT_H__ != 202311L
+ # error "__STDC_VERSION_STDCKDINT_H__ not defined correctly in <stdckdint.h>"
+ #endif
+ 
+ #include <limits.h>
+ #include <testsuite_hooks.h>
+ 
+ void
+ test_add()
+ {
+   int result;
+   bool overflow;
+ 
+   overflow = ::ckd_add(&result, (unsigned)INT_MAX, 1LL);
+   VERIFY( overflow );
+   VERIFY( result == INT_MIN );
+ 
+   overflow = ::ckd_add(&result, (long long)INT_MIN, -1);
+   VERIFY( overflow );
+   VERIFY( result == INT_MAX );
+ 
+   overflow = ::ckd_add(&result, 99u, 100ll);
+   VERIFY( ! overflow );
+   VERIFY( result == 199 );
+ }
+ 
+ void
+ test_sub()
+ {
+   int result;
+   bool overflow;
+ 
+   overflow = ::ckd_sub(&result, -1, -5);
+   VERIFY( ! overflow );
+   VERIFY( result == 4 );
+ }
+ 
+ void
+ test_mul()
+ {
+   long long result;
+   bool overflow;
+ 
+   overflow = ::ckd_mul(&result, INT_MIN, -1);
+   VERIFY( ! overflow );
+   VERIFY( result == -(long long)INT_MIN );
+ 
+   unsigned uresult;
+   overflow = ::ckd_mul(&uresult, INT_MIN, -1);
+   VERIFY( ! overflow );
+   VERIFY( result == (unsigned)INT_MAX + 1u );
+ }
+ 
+ int main()
+ {
+   test_add();
+   test_sub();
+   test_mul();
+ }
diff -Nrcpad gcc-14-20260123/libstdc++-v3/testsuite/26_numerics/stdckdint/2_neg.cc gcc-14-20260130/libstdc++-v3/testsuite/26_numerics/stdckdint/2_neg.cc
*** gcc-14-20260123/libstdc++-v3/testsuite/26_numerics/stdckdint/2_neg.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20260130/libstdc++-v3/testsuite/26_numerics/stdckdint/2_neg.cc	Fri Jan 30 22:32:17 2026
***************
*** 0 ****
--- 1,39 ----
+ // { dg-do compile { target c++26 } }
+ 
+ #include <stdckdint.h>
+ 
+ void
+ test_add(int i, char c, bool b)
+ {
+   ::ckd_add(&i, c, 1); // { dg-error "here" }
+   ::ckd_add(&i, 1, c); // { dg-error "here" }
+   ::ckd_add(&i, b, 2); // { dg-error "here" }
+   ::ckd_add(&i, 2, b); // { dg-error "here" }
+   ::ckd_add(&c, 3, 3); // { dg-error "here" }
+   ::ckd_add((const int*)&i, 4, 4); // { dg-error "here" }
+ }
+ 
+ void
+ test_sub(int i, char c, bool b)
+ {
+   ::ckd_sub(&i, c, 1); // { dg-error "here" }
+   ::ckd_sub(&i, 1, c); // { dg-error "here" }
+   ::ckd_sub(&i, b, 2); // { dg-error "here" }
+   ::ckd_sub(&i, 2, b); // { dg-error "here" }
+   ::ckd_sub(&c, 3, 3); // { dg-error "here" }
+   ::ckd_sub((const int*)&i, 4, 4); // { dg-error "here" }
+ }
+ 
+ void
+ test_mul(int i, char c, bool b)
+ {
+   ::ckd_mul(&i, c, 1); // { dg-error "here" }
+   ::ckd_mul(&i, 1, c); // { dg-error "here" }
+   ::ckd_mul(&i, b, 2); // { dg-error "here" }
+   ::ckd_mul(&i, 2, b); // { dg-error "here" }
+   ::ckd_mul(&c, 3, 3); // { dg-error "here" }
+   ::ckd_mul((const int*)&i, 4, 4); // { dg-error "here" }
+ }
+ 
+ // { dg-prune-output "static assertion failed" }
+ // { dg-prune-output "pointer to 'const'" }
