diff -Nrcpad gcc-15-20251206/LAST_UPDATED gcc-15-20251213/LAST_UPDATED
*** gcc-15-20251206/LAST_UPDATED	Sat Dec  6 22:32:19 2025
--- gcc-15-20251213/LAST_UPDATED	Sat Dec 13 22:32:20 2025
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision 082f98391d92b013e21333fa1b512015fcb0e84f
--- 1 ----
! Obtained from git: releases/gcc-15 revision d3dd4de59f1e76fb4387d2d06149a4e60cf3b01c
diff -Nrcpad gcc-15-20251206/MD5SUMS gcc-15-20251213/MD5SUMS
*** gcc-15-20251206/MD5SUMS	Sat Dec  6 22:32:24 2025
--- gcc-15-20251213/MD5SUMS	Sat Dec 13 22:32:25 2025
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20251206.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20251213.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** d32239bcb673463ab874e80d47fae504  COPYIN
*** 25,31 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 9f177787da679e65c7c05ef31a0e469b  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 3fe407d7f35ff97eef17074789a88406  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
*************** a22e70b3f29292d0e628450f4bb11e62  fixinc
*** 514,520 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 7dc5b356efdd379052ffc2458d160a85  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
--- 514,520 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! d05911c16eea68242410d6b7e1aa0bb9  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 551,557 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! a0a82562af1ac5caddeeedbf3776dc91  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 551,557 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! d7ab401e4ecaff188e0ec97b4f1f9a50  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ec6799501b2eb2923d5de6a66169dbd2  gcc/ON
*** 563,569 ****
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! 5bacc9d82f250a6618c981195c3d0daa  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
--- 563,569 ----
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! cbc48bca86ccaac32827566c0b8a1a80  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
*************** c5ca94cffafc304193b3e436bceb3fb3  gcc/ad
*** 804,810 ****
  0e4de6363c3876604fc8fa97e180ddcf  gcc/ada/exp_pakd.ads
  d5272b91cd7a6980710ec6f6981d62c1  gcc/ada/exp_prag.adb
  044c8a4d86db8fbb4eaa241c597290a7  gcc/ada/exp_prag.ads
! 5c439124d2bab6aebfa6ddc31b112752  gcc/ada/exp_put_image.adb
  c0f39ee1d515a13193e5726a49291c99  gcc/ada/exp_put_image.ads
  e224b65ac653dc73160c1665f825b557  gcc/ada/exp_sel.adb
  adda0da8d4f449351c0486c3277f39bd  gcc/ada/exp_sel.ads
--- 804,810 ----
  0e4de6363c3876604fc8fa97e180ddcf  gcc/ada/exp_pakd.ads
  d5272b91cd7a6980710ec6f6981d62c1  gcc/ada/exp_prag.adb
  044c8a4d86db8fbb4eaa241c597290a7  gcc/ada/exp_prag.ads
! b61432cee386ac03cd10d81b49d92bc4  gcc/ada/exp_put_image.adb
  c0f39ee1d515a13193e5726a49291c99  gcc/ada/exp_put_image.ads
  e224b65ac653dc73160c1665f825b557  gcc/ada/exp_sel.adb
  adda0da8d4f449351c0486c3277f39bd  gcc/ada/exp_sel.ads
*************** bb35d323ecf448aa8fb7025a4bc206ac  gcc/ad
*** 2887,2894 ****
  3d4a1dc93d967d84654b6489aaf51b1b  gcc/ada/restrict.adb
  058035f6a217fb7bed8ac566527a2c23  gcc/ada/restrict.ads
  9d12840e7f4b919f1f71a18a65b3463c  gcc/ada/rident.ads
! 32312ab752a2a0382c9276e387b389e1  gcc/ada/rtfinal.c
! 01263778e97af0ecb135164f1bbfd6ad  gcc/ada/rtinit.c
  b97bb61639a4fbef04ce0a15c662ecbd  gcc/ada/rtsfind.adb
  b33c5657f5f656c345cebf31636501bf  gcc/ada/rtsfind.ads
  66e987f268458746a6afb190c151af7a  gcc/ada/runtime.h
--- 2887,2894 ----
  3d4a1dc93d967d84654b6489aaf51b1b  gcc/ada/restrict.adb
  058035f6a217fb7bed8ac566527a2c23  gcc/ada/restrict.ads
  9d12840e7f4b919f1f71a18a65b3463c  gcc/ada/rident.ads
! ea22245a2f9a79e09dc4fcb1574dcbfc  gcc/ada/rtfinal.c
! 1f05036b0eb43e0acd97ed27cf4f6f10  gcc/ada/rtinit.c
  b97bb61639a4fbef04ce0a15c662ecbd  gcc/ada/rtsfind.adb
  b33c5657f5f656c345cebf31636501bf  gcc/ada/rtsfind.ads
  66e987f268458746a6afb190c151af7a  gcc/ada/runtime.h
*************** abd831e54ebd759115e62d420bdb5c2f  gcc/ad
*** 2910,2916 ****
  3bf01e026b494a442389a5d3541785b8  gcc/ada/seh_init.c
  b0607745e568ea27d4cb1091a13ee2ce  gcc/ada/sem.adb
  afaa0a52de285d1aad9c58b79b424a1f  gcc/ada/sem.ads
! 4ab25deb814c762e9dcbea9e3fbe4ac8  gcc/ada/sem_aggr.adb
  d9e9e67a1e6554ab3bc7e11269dd3763  gcc/ada/sem_aggr.ads
  5117d2afaf1213276b078ba84a5ead3c  gcc/ada/sem_attr.adb
  bfe4748123d415f6eb13d89a585468f1  gcc/ada/sem_attr.ads
--- 2910,2916 ----
  3bf01e026b494a442389a5d3541785b8  gcc/ada/seh_init.c
  b0607745e568ea27d4cb1091a13ee2ce  gcc/ada/sem.adb
  afaa0a52de285d1aad9c58b79b424a1f  gcc/ada/sem.ads
! 5b0fac9160329bb5a85d074678625b9f  gcc/ada/sem_aggr.adb
  d9e9e67a1e6554ab3bc7e11269dd3763  gcc/ada/sem_aggr.ads
  5117d2afaf1213276b078ba84a5ead3c  gcc/ada/sem_attr.adb
  bfe4748123d415f6eb13d89a585468f1  gcc/ada/sem_attr.ads
*************** f808dbcc1ad6add5a0867c4b3e03fc4d  gcc/bu
*** 3205,3216 ****
  2e944dea52dbc383e763e0585daa1b01  gcc/builtins.cc
  d86baafdac933140bc11c4cbfb28779e  gcc/builtins.def
  bd61b50b47560dc1324bf507bea5d87e  gcc/builtins.h
! c127f9edfc714de32e609763f05299f4  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  823fe168bb0f63a39de62d9f0251a1b5  gcc/c-family/c-ada-spec.cc
  4e83011bee68d9607834ed5335191d65  gcc/c-family/c-ada-spec.h
  5a2e850515c6ecb57ffe6c19cadc6656  gcc/c-family/c-attribs.cc
! e7361349ea2b0381693e922cf0fe2cbd  gcc/c-family/c-common.cc
  7d631d63d02c9fdb7b800977cd8dc894  gcc/c-family/c-common.def
  c6ac8fb15a8d6272184d999f651d660d  gcc/c-family/c-common.h
  1c57db57b8673a678e1501b694ea87e0  gcc/c-family/c-cppbuiltin.cc
--- 3205,3216 ----
  2e944dea52dbc383e763e0585daa1b01  gcc/builtins.cc
  d86baafdac933140bc11c4cbfb28779e  gcc/builtins.def
  bd61b50b47560dc1324bf507bea5d87e  gcc/builtins.h
! 1f14db97f652289852721f8d63e41473  gcc/c-family/ChangeLog
  ea3fa1f4d7390a105fa3caab4f79aaf7  gcc/c-family/ChangeLog.gimple-classes
  823fe168bb0f63a39de62d9f0251a1b5  gcc/c-family/c-ada-spec.cc
  4e83011bee68d9607834ed5335191d65  gcc/c-family/c-ada-spec.h
  5a2e850515c6ecb57ffe6c19cadc6656  gcc/c-family/c-attribs.cc
! 89c7fb190d767e0eb8ac91eab26d0570  gcc/c-family/c-common.cc
  7d631d63d02c9fdb7b800977cd8dc894  gcc/c-family/c-common.def
  c6ac8fb15a8d6272184d999f651d660d  gcc/c-family/c-common.h
  1c57db57b8673a678e1501b694ea87e0  gcc/c-family/c-cppbuiltin.cc
*************** fc808567009babd00ebcf49b5b985691  gcc/c-
*** 3238,3244 ****
  5f7fed5b8b1f0adfab1f4d8395a8516e  gcc/c-family/c-target.h
  3cc58e7c02b9a71a4264944913a66e09  gcc/c-family/c-type-mismatch.cc
  2716f2dd9d461ac6da32e9185698bbb2  gcc/c-family/c-type-mismatch.h
! 4286e0086805aa55b325f25d060c6003  gcc/c-family/c-ubsan.cc
  a28f2477c85a17e42026521322b3649a  gcc/c-family/c-ubsan.h
  ed4e4a12acd44dcb58dd646d038bc97a  gcc/c-family/c-warn.cc
  f6b6e110510ea514fc4bef91fb4e0a9d  gcc/c-family/c.opt
--- 3238,3244 ----
  5f7fed5b8b1f0adfab1f4d8395a8516e  gcc/c-family/c-target.h
  3cc58e7c02b9a71a4264944913a66e09  gcc/c-family/c-type-mismatch.cc
  2716f2dd9d461ac6da32e9185698bbb2  gcc/c-family/c-type-mismatch.h
! 3fef1c01f60e4d865b31a9d989b9bcd4  gcc/c-family/c-ubsan.cc
  a28f2477c85a17e42026521322b3649a  gcc/c-family/c-ubsan.h
  ed4e4a12acd44dcb58dd646d038bc97a  gcc/c-family/c-warn.cc
  f6b6e110510ea514fc4bef91fb4e0a9d  gcc/c-family/c.opt
*************** aaf683e3b02704cfbfab0627d82edf85  gcc/c-
*** 3248,3258 ****
  ce9d2259a1edb5d4b1f728988bd9ef6a  gcc/c-family/known-headers.h
  d1e9802a9c9cc0486941b538aaa07ff3  gcc/c-family/name-hint.h
  d71f74b5b48d9ec5e4e6463e7330121d  gcc/c-family/stub-objc.cc
! 74f99d269b00bec80bf8cb8fedf92b1f  gcc/c/ChangeLog
  b1fc09d2244c8e8a72b4df9bc9af30d7  gcc/c/Make-lang.in
  f1e5593aebd5cffb4b3cbffe6bd0860a  gcc/c/c-aux-info.cc
  178d24653bb20936d73bad078e70763c  gcc/c/c-convert.cc
! 8bf70b59fb3dc426c9608cd1fad229d9  gcc/c/c-decl.cc
  3601ac6299bb2579fedc2dcf2aba7773  gcc/c/c-errors.cc
  d9b5dea1631cefab5fe5ca3602db30f0  gcc/c/c-fold.cc
  d9c0725d061adffdf400457d91be3aed  gcc/c/c-lang.cc
--- 3248,3258 ----
  ce9d2259a1edb5d4b1f728988bd9ef6a  gcc/c-family/known-headers.h
  d1e9802a9c9cc0486941b538aaa07ff3  gcc/c-family/name-hint.h
  d71f74b5b48d9ec5e4e6463e7330121d  gcc/c-family/stub-objc.cc
! 70efe0f5447a4f2a38140ce70930ba5b  gcc/c/ChangeLog
  b1fc09d2244c8e8a72b4df9bc9af30d7  gcc/c/Make-lang.in
  f1e5593aebd5cffb4b3cbffe6bd0860a  gcc/c/c-aux-info.cc
  178d24653bb20936d73bad078e70763c  gcc/c/c-convert.cc
! 457b8601a11c88f347ff246b03058fd9  gcc/c/c-decl.cc
  3601ac6299bb2579fedc2dcf2aba7773  gcc/c/c-errors.cc
  d9b5dea1631cefab5fe5ca3602db30f0  gcc/c/c-fold.cc
  d9c0725d061adffdf400457d91be3aed  gcc/c/c-lang.cc
*************** f9dc3d10fbfaa2d38905bc4e2579ba2b  gcc/c/
*** 3263,3269 ****
  9c122bd6feb8ae4a94420c890e654801  gcc/c/c-parser.h
  9179f46b6a06c7d734278f5ce2c55883  gcc/c/c-tree.def
  f7331ce09e3bb7374f8cebf0a2195d47  gcc/c/c-tree.h
! a4abfef3c16be194f41e6d476f37b3a1  gcc/c/c-typeck.cc
  cd371895d730dd64e947066b2e4378f8  gcc/c/config-lang.in
  1bd76a24d1322659f048abe2272a6f34  gcc/c/gccspec.cc
  b908dbb3dee5ec448aacc3c5e1e430e7  gcc/c/gimple-parser.cc
--- 3263,3269 ----
  9c122bd6feb8ae4a94420c890e654801  gcc/c/c-parser.h
  9179f46b6a06c7d734278f5ce2c55883  gcc/c/c-tree.def
  f7331ce09e3bb7374f8cebf0a2195d47  gcc/c/c-tree.h
! 09d9a1d681d1f653bc7b34558be2d855  gcc/c/c-typeck.cc
  cd371895d730dd64e947066b2e4378f8  gcc/c/config-lang.in
  1bd76a24d1322659f048abe2272a6f34  gcc/c/gccspec.cc
  b908dbb3dee5ec448aacc3c5e1e430e7  gcc/c/gimple-parser.cc
*************** b301dc231a69a28202d2b7d79ea75f5d  gcc/co
*** 3483,3489 ****
  a2493e870eb12f5d646c24f2949e4cd3  gcc/config/aarch64/aarch64-vxworks.h
  6c87d0c7da64b139ae59eb4d50097f7b  gcc/config/aarch64/aarch64.cc
  4c2226a017b612867a61db1f7929ad43  gcc/config/aarch64/aarch64.h
! 43772b8cc339310ebc83d596d0269727  gcc/config/aarch64/aarch64.md
  84c23cd68c90a9be4b986aa7009ba1c9  gcc/config/aarch64/aarch64.opt
  21fd50b19307096b8be37549ae0f6f77  gcc/config/aarch64/aarch64.opt.urls
  99f46f1d591aa221b0c93a221ad9dc43  gcc/config/aarch64/arm_acle.h
--- 3483,3489 ----
  a2493e870eb12f5d646c24f2949e4cd3  gcc/config/aarch64/aarch64-vxworks.h
  6c87d0c7da64b139ae59eb4d50097f7b  gcc/config/aarch64/aarch64.cc
  4c2226a017b612867a61db1f7929ad43  gcc/config/aarch64/aarch64.h
! cdb85e9d0d18b13e602e26e81cae1d1b  gcc/config/aarch64/aarch64.md
  84c23cd68c90a9be4b986aa7009ba1c9  gcc/config/aarch64/aarch64.opt
  21fd50b19307096b8be37549ae0f6f77  gcc/config/aarch64/aarch64.opt.urls
  99f46f1d591aa221b0c93a221ad9dc43  gcc/config/aarch64/arm_acle.h
*************** cc4d538f7d66895b427db54b9660a953  gcc/co
*** 4940,4958 ****
  a583d4ec085af9e2f577c155bf259caf  gcc/config/riscv/riscv-target-attr.cc
  3760eea6542f3cc04501d8aabace33a4  gcc/config/riscv/riscv-v.cc
  0d419e9df116fed7ce6e0ae15131417e  gcc/config/riscv/riscv-v.h
! bb60b2a326e38ce243521257d7b0c078  gcc/config/riscv/riscv-vector-builtins-bases.cc
  689f453a4cdf7fa3e64a7f4bfba8f7dd  gcc/config/riscv/riscv-vector-builtins-bases.h
  bdc5f6caf56fd0411faf705e9c32ccd4  gcc/config/riscv/riscv-vector-builtins-functions.def
  7439c310d1c94dcd962b3e1c3cd5d462  gcc/config/riscv/riscv-vector-builtins-shapes.cc
  92a4d3a592ebef60b5ed8a2c0963b75a  gcc/config/riscv/riscv-vector-builtins-shapes.h
  8bb44ae09faa0c992fb3f5abd38f63db  gcc/config/riscv/riscv-vector-builtins-types.def
! 696bf7bd909b42a22bc99647accbc24a  gcc/config/riscv/riscv-vector-builtins.cc
  d5729696e4e1e43d59d9a0a80bc8e837  gcc/config/riscv/riscv-vector-builtins.def
  911e1dc985640a7237450a89e73894ca  gcc/config/riscv/riscv-vector-builtins.h
  3ab2c03f8df3835afe50fe4842b35c33  gcc/config/riscv/riscv-vector-costs.cc
  bd7a0d0d03ad4788f6cf7579df11a66e  gcc/config/riscv/riscv-vector-costs.h
  f51037a9e437f8e9ce7215b2da5ad4e2  gcc/config/riscv/riscv-vector-switch.def
! 9a0be0e3c4d4b0eec09eef7dee2a028a  gcc/config/riscv/riscv-vsetvl.cc
  16b7359c0b12895c0d7452fc89879a1a  gcc/config/riscv/riscv-vsetvl.def
  7082a18dbfc574d47bf71f4d50dd30f9  gcc/config/riscv/riscv-zicfilp.cc
  39d04b229b55c4f71e819907766d71ea  gcc/config/riscv/riscv.cc
--- 4940,4958 ----
  a583d4ec085af9e2f577c155bf259caf  gcc/config/riscv/riscv-target-attr.cc
  3760eea6542f3cc04501d8aabace33a4  gcc/config/riscv/riscv-v.cc
  0d419e9df116fed7ce6e0ae15131417e  gcc/config/riscv/riscv-v.h
! 9e077941c2b4dd414804bd45fbdd0e96  gcc/config/riscv/riscv-vector-builtins-bases.cc
  689f453a4cdf7fa3e64a7f4bfba8f7dd  gcc/config/riscv/riscv-vector-builtins-bases.h
  bdc5f6caf56fd0411faf705e9c32ccd4  gcc/config/riscv/riscv-vector-builtins-functions.def
  7439c310d1c94dcd962b3e1c3cd5d462  gcc/config/riscv/riscv-vector-builtins-shapes.cc
  92a4d3a592ebef60b5ed8a2c0963b75a  gcc/config/riscv/riscv-vector-builtins-shapes.h
  8bb44ae09faa0c992fb3f5abd38f63db  gcc/config/riscv/riscv-vector-builtins-types.def
! 3f73834530ecc3a9503ebd2d371c56b5  gcc/config/riscv/riscv-vector-builtins.cc
  d5729696e4e1e43d59d9a0a80bc8e837  gcc/config/riscv/riscv-vector-builtins.def
  911e1dc985640a7237450a89e73894ca  gcc/config/riscv/riscv-vector-builtins.h
  3ab2c03f8df3835afe50fe4842b35c33  gcc/config/riscv/riscv-vector-costs.cc
  bd7a0d0d03ad4788f6cf7579df11a66e  gcc/config/riscv/riscv-vector-costs.h
  f51037a9e437f8e9ce7215b2da5ad4e2  gcc/config/riscv/riscv-vector-switch.def
! 9805d9c4cb572af0478889c98b3cf0e8  gcc/config/riscv/riscv-vsetvl.cc
  16b7359c0b12895c0d7452fc89879a1a  gcc/config/riscv/riscv-vsetvl.def
  7082a18dbfc574d47bf71f4d50dd30f9  gcc/config/riscv/riscv-zicfilp.cc
  39d04b229b55c4f71e819907766d71ea  gcc/config/riscv/riscv.cc
*************** fd8e9517de64ab23821ea1284ea6d7f6  gcc/co
*** 4992,4998 ****
  b5e46305db1116cc1758b504ea37fe74  gcc/config/riscv/vector-bfloat16.md
  88f7597398d0c8b8b87baba5fd207996  gcc/config/riscv/vector-crypto.md
  243d8ebb633382b17c68b2758bbbae23  gcc/config/riscv/vector-iterators.md
! d7ed9ce1e5d4d83e9ac29f99b80ec4da  gcc/config/riscv/vector.md
  4ffde0be9b9a0efe78c98b4407d00397  gcc/config/riscv/xiangshan.md
  0f64aaa114ab62a1a46f7ac422d6a129  gcc/config/riscv/zc.md
  2a87e05e2432e50d410a6b774704755f  gcc/config/riscv/zicond.md
--- 4992,4998 ----
  b5e46305db1116cc1758b504ea37fe74  gcc/config/riscv/vector-bfloat16.md
  88f7597398d0c8b8b87baba5fd207996  gcc/config/riscv/vector-crypto.md
  243d8ebb633382b17c68b2758bbbae23  gcc/config/riscv/vector-iterators.md
! 0e5ade434c860bf54c1a26c07e2302f7  gcc/config/riscv/vector.md
  4ffde0be9b9a0efe78c98b4407d00397  gcc/config/riscv/xiangshan.md
  0f64aaa114ab62a1a46f7ac422d6a129  gcc/config/riscv/zc.md
  2a87e05e2432e50d410a6b774704755f  gcc/config/riscv/zicond.md
*************** a9c3cddee4e237141062720b72fe38cd  gcc/co
*** 5500,5506 ****
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! 93dbe1a3966a69813a1c21bde411028a  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
--- 5500,5506 ----
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! cd77106395898f3d0a9895500359d8d2  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
*************** fce8de27014c109814b3f69be6a5d4f6  gcc/cp
*** 5541,5547 ****
  68fc21d4889b1c70ccf89747b98b1fb4  gcc/cp/cfns.h
  65891fa261ce5aa3474ed32683a124d3  gcc/cp/class.cc
  ee3fb2cc9b9557d3895f527353160bd4  gcc/cp/config-lang.in
! 72fc656c53568afa693dd531c8b3b16d  gcc/cp/constexpr.cc
  d132f7f4c080ce3048977e23e33b9b1c  gcc/cp/constraint.cc
  a4c4f7387ee41213f5d0113f9e78d30c  gcc/cp/contracts.cc
  1f1cd3a021a2cd25741e252145ee8282  gcc/cp/contracts.h
--- 5541,5547 ----
  68fc21d4889b1c70ccf89747b98b1fb4  gcc/cp/cfns.h
  65891fa261ce5aa3474ed32683a124d3  gcc/cp/class.cc
  ee3fb2cc9b9557d3895f527353160bd4  gcc/cp/config-lang.in
! e912e1bdb3285dc9a79517751a152b21  gcc/cp/constexpr.cc
  d132f7f4c080ce3048977e23e33b9b1c  gcc/cp/constraint.cc
  a4c4f7387ee41213f5d0113f9e78d30c  gcc/cp/contracts.cc
  1f1cd3a021a2cd25741e252145ee8282  gcc/cp/contracts.h
*************** e7fe06956aada61bcaae5168ad47a9c1  gcc/cp
*** 5587,5593 ****
  813c253a000ee20d8d6598f56edc400e  gcc/cp/optimize.cc
  a2d86d3655a737a6a9f1e60561394d14  gcc/cp/parser.cc
  e8a3a03873c6294ff25a783941b8d8af  gcc/cp/parser.h
! 0af0e109f9cc25530963d19e859b29a0  gcc/cp/pt.cc
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
--- 5587,5593 ----
  813c253a000ee20d8d6598f56edc400e  gcc/cp/optimize.cc
  a2d86d3655a737a6a9f1e60561394d14  gcc/cp/parser.cc
  e8a3a03873c6294ff25a783941b8d8af  gcc/cp/parser.h
! 311cb09ad0b8e59b1550377ee734398f  gcc/cp/pt.cc
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
*************** a798cdca802a57ffa3473ab610b37c86  gcc/fo
*** 6060,6066 ****
  4b1bef753dda2d19671f35332c69a0f7  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! fa1086f04f2ff3b4307c7a550d245319  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
--- 6060,6066 ----
  4b1bef753dda2d19671f35332c69a0f7  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! 0654a3784b921512ee7bb090afdc3f34  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
*************** deb1774fa43b021f7fa8fde0fe6642d4  gcc/fo
*** 6106,6112 ****
  70111b1c7592e650c281b513c3cf2f47  gcc/fortran/dependency.h
  9982bdf75ac5c9630f66edd2aea1fe8b  gcc/fortran/dump-parse-tree.cc
  860343539ea7488e7bb44b94ea2b0f77  gcc/fortran/error.cc
! 5b4fa713f1f7da55d9cef4d9a5f58e45  gcc/fortran/expr.cc
  88fde92a0336c0454c5baa0f3c24888a  gcc/fortran/f95-lang.cc
  76bb26929c446b45cc1efbf25d27ea82  gcc/fortran/frontend-passes.cc
  a39f360f255f1ef6dfd91ccefef63e05  gcc/fortran/gfc-diagnostic.def
--- 6106,6112 ----
  70111b1c7592e650c281b513c3cf2f47  gcc/fortran/dependency.h
  9982bdf75ac5c9630f66edd2aea1fe8b  gcc/fortran/dump-parse-tree.cc
  860343539ea7488e7bb44b94ea2b0f77  gcc/fortran/error.cc
! c51719103621c7d22803dcc683314e14  gcc/fortran/expr.cc
  88fde92a0336c0454c5baa0f3c24888a  gcc/fortran/f95-lang.cc
  76bb26929c446b45cc1efbf25d27ea82  gcc/fortran/frontend-passes.cc
  a39f360f255f1ef6dfd91ccefef63e05  gcc/fortran/gfc-diagnostic.def
*************** e350765243fa7b881ed82507561870ff  gcc/fo
*** 6139,6145 ****
  066b089d8a8df7ff652dcc802d982276  gcc/fortran/parse.cc
  09678ef13dc709d251be943d808544b8  gcc/fortran/parse.h
  8c815c31f49f2be21bde29058fe60166  gcc/fortran/primary.cc
! 2cc1d2ad7b1db6eecb49a91f104594e1  gcc/fortran/resolve.cc
  8dc2391850ee95634781b6e296a096f6  gcc/fortran/scanner.cc
  3c39e0eef946c7f557ac375f23b9f3db  gcc/fortran/scanner.h
  c78c72f9e780bf1c0eea63295c5ba590  gcc/fortran/simplify.cc
--- 6139,6145 ----
  066b089d8a8df7ff652dcc802d982276  gcc/fortran/parse.cc
  09678ef13dc709d251be943d808544b8  gcc/fortran/parse.h
  8c815c31f49f2be21bde29058fe60166  gcc/fortran/primary.cc
! b99c66f0d8d9d173b5e559dd7cff0f1c  gcc/fortran/resolve.cc
  8dc2391850ee95634781b6e296a096f6  gcc/fortran/scanner.cc
  3c39e0eef946c7f557ac375f23b9f3db  gcc/fortran/scanner.h
  c78c72f9e780bf1c0eea63295c5ba590  gcc/fortran/simplify.cc
*************** fc5706ae421aa8f2f9bba7fe2c637237  gcc/gi
*** 6319,6325 ****
  de3c6e76ea556b82fe244a285b883d51  gcc/gimple.h
  3a9aada7fb0c64db811ae3c7818bda68  gcc/gimplify-me.cc
  84814cb09300f3db388dd0d22133ccb4  gcc/gimplify-me.h
! 8c53ac4f655bf4ed40f3c2f5775f0ba6  gcc/gimplify.cc
  06f2b5470f6bc6f77e9b7966e34e5785  gcc/gimplify.h
  7df17d7c2bcdff0a474d633a02195544  gcc/ginclude/float.h
  d22f0a286107015428c4b28c0d17abda  gcc/ginclude/iso646.h
--- 6319,6325 ----
  de3c6e76ea556b82fe244a285b883d51  gcc/gimple.h
  3a9aada7fb0c64db811ae3c7818bda68  gcc/gimplify-me.cc
  84814cb09300f3db388dd0d22133ccb4  gcc/gimplify-me.h
! ede245e91d746af0bdf2172f436e31f1  gcc/gimplify.cc
  06f2b5470f6bc6f77e9b7966e34e5785  gcc/gimplify.h
  7df17d7c2bcdff0a474d633a02195544  gcc/ginclude/float.h
  d22f0a286107015428c4b28c0d17abda  gcc/ginclude/iso646.h
*************** db3094a0c46c1db21262added5d20318  gcc/ip
*** 6501,6507 ****
  ee440e6aefa2af85a2a7e53c77974413  gcc/ipa-visibility.cc
  1c6b1bd1032d2a1be3c22a87e0fb2501  gcc/ipa.cc
  c293da53973fb7a7f436f875b73a9753  gcc/ira-build.cc
! b31fd788662b22cb8047b65a9502b4fa  gcc/ira-color.cc
  a6162cabbfeb130d9e619b6dc2676776  gcc/ira-conflicts.cc
  3191757bb3b47c4b71e2e3b2be1b60e4  gcc/ira-costs.cc
  8f521d3747eb310bfdf4ffac2035cae9  gcc/ira-emit.cc
--- 6501,6507 ----
  ee440e6aefa2af85a2a7e53c77974413  gcc/ipa-visibility.cc
  1c6b1bd1032d2a1be3c22a87e0fb2501  gcc/ipa.cc
  c293da53973fb7a7f436f875b73a9753  gcc/ira-build.cc
! 298942209318d0295ec6c61c662afe9a  gcc/ira-color.cc
  a6162cabbfeb130d9e619b6dc2676776  gcc/ira-conflicts.cc
  3191757bb3b47c4b71e2e3b2be1b60e4  gcc/ira-costs.cc
  8f521d3747eb310bfdf4ffac2035cae9  gcc/ira-emit.cc
*************** f70c3872b668ba9c99b8d73ab2f9cf79  gcc/ob
*** 7681,7687 ****
  8d1f0d9303077458b28a80a9546ff2ba  gcc/obstack-utils.h
  c2186582925518f8871bcb0f066553f0  gcc/omp-api.h
  889315061b61c6bc0cb2f27a4eea3939  gcc/omp-builtins.def
! 084ac62e183b76a6936f7fbb0fd9482e  gcc/omp-expand.cc
  286190bcce78c62804516df6cd0d1684  gcc/omp-expand.h
  5968df0d183b039d8069e93d0f9acea9  gcc/omp-general.cc
  8da93c6a9f42421b5af39e03da74c94c  gcc/omp-general.h
--- 7681,7687 ----
  8d1f0d9303077458b28a80a9546ff2ba  gcc/obstack-utils.h
  c2186582925518f8871bcb0f066553f0  gcc/omp-api.h
  889315061b61c6bc0cb2f27a4eea3939  gcc/omp-builtins.def
! 8f458018d16899fe9ad95027dd5c7038  gcc/omp-expand.cc
  286190bcce78c62804516df6cd0d1684  gcc/omp-expand.h
  5968df0d183b039d8069e93d0f9acea9  gcc/omp-general.cc
  8da93c6a9f42421b5af39e03da74c94c  gcc/omp-general.h
*************** b1497a03867668af210c32280876fdd7  gcc/sy
*** 8447,8453 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 1c34f2b55d692fed0777bf05e95912a8  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8447,8453 ----
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 7491335982cf6677139eb7a3329bc8e9  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** e8f7b694ebd3603789b6992bc816222d  gcc/te
*** 13120,13126 ****
--- 13120,13128 ----
  d29126c43ce63e6c41ed6130742b15e2  gcc/testsuite/c-c++-common/gomp/pr118965-1.c
  424bcc14d1a0bf87f576aafc485996e9  gcc/testsuite/c-c++-common/gomp/pr118965-2.c
  c83ce004951a9a0719e190f7457302c7  gcc/testsuite/c-c++-common/gomp/pr119000.c
+ 250f54e2a193f434f875e2caf2868bc6  gcc/testsuite/c-c++-common/gomp/pr120052.c
  dfca692e0ac01a45a3200798a153ebf1  gcc/testsuite/c-c++-common/gomp/pr120180.c
+ c315375dde6dfd35915ac372415190a8  gcc/testsuite/c-c++-common/gomp/pr120564.c
  e16ef156ad193ef1f3cba60ad16e57ab  gcc/testsuite/c-c++-common/gomp/pr51360.c
  84c977571aeb43c0224137efe7f5b213  gcc/testsuite/c-c++-common/gomp/pr53580.c
  28bfd873981083756a16f70fdb0b86db  gcc/testsuite/c-c++-common/gomp/pr54017.c
*************** afbdcf440b8da95f919e745c0f3a85d1  gcc/te
*** 19613,19618 ****
--- 19615,19621 ----
  bff4672a992bc57b0432abbc32b3c2c9  gcc/testsuite/g++.dg/cpp1y/constexpr-108158.C
  1d40cabd787f31f0fad7fcf842281e0d  gcc/testsuite/g++.dg/cpp1y/constexpr-110382.C
  c0c4053e9d0ac3fdafa8e18c09182922  gcc/testsuite/g++.dg/cpp1y/constexpr-110619.C
+ 99784bf84926c6a7d522ec738bd5f9aa  gcc/testsuite/g++.dg/cpp1y/constexpr-121445.C
  2d72668eefa5659edd32ef8dabc1c48e  gcc/testsuite/g++.dg/cpp1y/constexpr-50060.C
  fd3ea60479a528944a91cfd16e42839f  gcc/testsuite/g++.dg/cpp1y/constexpr-66093.C
  9ecc58eab147adafbf3780c51ed706fc  gcc/testsuite/g++.dg/cpp1y/constexpr-70265-1.C
*************** c3945b36146c7d629c7336eb3f9329fe  gcc/te
*** 29026,29031 ****
--- 29029,29035 ----
  758a5593fac9b92bf48e5bc6573d64dd  gcc/testsuite/g++.dg/parse/crash78a.C
  37c0cb89d800249b63e524b045e2782b  gcc/testsuite/g++.dg/parse/crash79.C
  8192e78f11aebd3019eab4fc03de8002  gcc/testsuite/g++.dg/parse/crash80.C
+ 23b7108a88804e5cf4c0a9d029afae56  gcc/testsuite/g++.dg/parse/crash81.C
  5818f331167c496db06ad694932a1beb  gcc/testsuite/g++.dg/parse/crash9.C
  5940e29a523673e2c47048c21c11d678  gcc/testsuite/g++.dg/parse/ctor1.C
  6a4d22d64949d622a19d9e79684aad65  gcc/testsuite/g++.dg/parse/ctor10.C
*************** fd7185346c3b94c0a7f7afba7b6bc241  gcc/te
*** 41035,41040 ****
--- 41039,41045 ----
  b7150a91a8e64c0a2f8d47a9f857fd6e  gcc/testsuite/gcc.c-torture/execute/pr119291.c
  e88a36f4cba0e85d5491d4b566b19508  gcc/testsuite/gcc.c-torture/execute/pr119428.c
  eda2af339f8dd266a02b2d61a5444a03  gcc/testsuite/gcc.c-torture/execute/pr120677.c
+ 529fc2a1e92dc790d3766cd8554fc89c  gcc/testsuite/gcc.c-torture/execute/pr122943.c
  80c02c70a0b6b91b06942e395c34960f  gcc/testsuite/gcc.c-torture/execute/pr15262-1.c
  987c511633ad57d9f08d352eb9512819  gcc/testsuite/gcc.c-torture/execute/pr15262-2.c
  f7f514cfbd791b0c828e0710493b0910  gcc/testsuite/gcc.c-torture/execute/pr15262.c
*************** cb7b5505103ef079e746dd619a21ee86  gcc/te
*** 49846,49853 ****
--- 49851,49861 ----
  c57884e34f257e33d206372fc675b716  gcc/testsuite/gcc.dg/pr121035.c
  d602fec0c129037ce49acd7cccfd6266  gcc/testsuite/gcc.dg/pr121202.c
  7032b52dc2dd1e6cab514293c2d0b276  gcc/testsuite/gcc.dg/pr121322.c
+ a0985c9ac5a161a568f68afc0223c2c1  gcc/testsuite/gcc.dg/pr121506.c
  3675df2622072bf0e5cccbf94e93a50f  gcc/testsuite/gcc.dg/pr122126_vextr.c
  b975ebfa27ac446e553bacbb75421590  gcc/testsuite/gcc.dg/pr122126_vset.c
+ 9f4094b7196b5eab8c79608995a96efc  gcc/testsuite/gcc.dg/pr122991.c
+ 9fcb8913b9a18055b2a811284d59780e  gcc/testsuite/gcc.dg/pr123018.c
  bc5ddfbbc46f4e0cce1629d1b58d3090  gcc/testsuite/gcc.dg/pr12603.c
  72a2fca76cb69617ae36bab93c7ec0d7  gcc/testsuite/gcc.dg/pr12625-1.c
  6f0ef61e5a12db5f11da839b2988c5e1  gcc/testsuite/gcc.dg/pr13519-1.c
*************** bf00cac22e30fab76ac74c7b2e5af207  gcc/te
*** 88843,88848 ****
--- 88851,88857 ----
  b62a32eafb5e661786b5ef2b03b30be9  gcc/testsuite/gcc.target/riscv/pr119971.c
  5209003e1af2c30db39a214e7aa84709  gcc/testsuite/gcc.target/riscv/pr120674.c
  0cdcf97373ed486ded9f3c10ef04348d  gcc/testsuite/gcc.target/riscv/pr120714.c
+ 517cee01d883f2604f8317ec8307ae44  gcc/testsuite/gcc.target/riscv/pr122215.c
  37a08389ba95284cc27832767dfc1430  gcc/testsuite/gcc.target/riscv/pr43644.c
  10400130cc47973d43925669f3c795ed  gcc/testsuite/gcc.target/riscv/pr84660.c
  c2ac0b53d6af56f5ec5bded3d252dddc  gcc/testsuite/gcc.target/riscv/pr93202.c
*************** eaed30eccbeb952165411cfd2c789b72  gcc/te
*** 91815,91820 ****
--- 91824,91832 ----
  96272d16f134fa97f27114f27089793a  gcc/testsuite/gcc.target/riscv/rvv/base/pr118931-run-1.c
  b8ddadeddd15bd6f079e943b9036825d  gcc/testsuite/gcc.target/riscv/rvv/base/pr119115.c
  250f19182eb5aac9b6a01d7c594e8f5f  gcc/testsuite/gcc.target/riscv/rvv/base/pr122270-1.c
+ b0032fffb6e1860da7ca94cd7252c411  gcc/testsuite/gcc.target/riscv/rvv/base/pr122652.c
+ 5c5e286165c8597d712cb612bb370968  gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-1.c
+ 64bada55e64f1bf5909df579653ca6f5  gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-2.c
  c05efbdfaafc64ad34b3d1c4b60a38eb  gcc/testsuite/gcc.target/riscv/rvv/base/pr90263.c
  be75fd39ea9b3d01e3e22294359fb482  gcc/testsuite/gcc.target/riscv/rvv/base/pragma-2.c
  20a3b581af8087da2c1170d56ff52971  gcc/testsuite/gcc.target/riscv/rvv/base/pragma-3.c
*************** cb50185eaf87f5357dad5873642eec33  gcc/te
*** 101662,101667 ****
--- 101674,101680 ----
  5a8601e6c51ea544ca9179e464325eb0  gcc/testsuite/gfortran.dg/contiguous_13.f90
  52a454e4516aaff2011d2696c96ca5ab  gcc/testsuite/gfortran.dg/contiguous_14.f90
  8621637c284842966acb59cdbfe4e51a  gcc/testsuite/gfortran.dg/contiguous_15.f90
+ ffb54aced92284f6168ef0953f0396ea  gcc/testsuite/gfortran.dg/contiguous_16.f90
  9975df3f787a3eaea63dd5664ff235eb  gcc/testsuite/gfortran.dg/contiguous_2.f90
  a59d0430a52a3cf47c280856725dee23  gcc/testsuite/gfortran.dg/contiguous_3.f90
  b81d56e35fe81ed4c9f6f67cca8a0ab2  gcc/testsuite/gfortran.dg/contiguous_4.f90
*************** b3a316ada43c24ff36cbe71860fae91c  gcc/te
*** 110680,110685 ****
--- 110693,110699 ----
  26bbb4b239255e447bbe6c32ccb6f5f3  gcc/testsuite/gnat.dg/aggr30.adb
  3c5d0783cbdc3181db59d9f27a9e1a2d  gcc/testsuite/gnat.dg/aggr30.ads
  4c012319986c2dce532428fea4934ee2  gcc/testsuite/gnat.dg/aggr31.adb
+ 2e81bb438686c4b5e8022356634d0f32  gcc/testsuite/gnat.dg/aggr33.adb
  35168b6dce753ec723ff0dcf21d977d0  gcc/testsuite/gnat.dg/aggr4.adb
  a12ec40d7ebc1ab08b05b0d1f6a57bc4  gcc/testsuite/gnat.dg/aggr7.adb
  39fba9f7f4870b15e9c37bcf9a358858  gcc/testsuite/gnat.dg/aggr8.adb
*************** e5ba939d3c279c5b6a8f745c0873635b  gcc/te
*** 112603,112608 ****
--- 112617,112623 ----
  8789c55b908f87861cc84839fcf5c8e8  gcc/testsuite/gnat.dg/specs/private2.ads
  1a54485794dbb614c393e5e7884acc69  gcc/testsuite/gnat.dg/specs/private2_pkg.ads
  fc55b1bcb0c272bc29027f58c8607f74  gcc/testsuite/gnat.dg/specs/private_with.ads
+ 3cbbbcdd33c1cd2f5801d65eb79d3cb4  gcc/testsuite/gnat.dg/specs/put_image2.ads
  38c51300d90d115072862fad182112ba  gcc/testsuite/gnat.dg/specs/renaming1.ads
  3b6772c48920aaa7f63a032ce18244a2  gcc/testsuite/gnat.dg/specs/renaming2.ads
  f16ac17ba73b5454cac752f8f68ab33b  gcc/testsuite/gnat.dg/specs/renaming2_pkg1.ads
*************** eb1595e729e2eaac81c7ffe330d8f24e  gcc/te
*** 115421,115427 ****
  f7940f4f8c24d9f0bf4d062473f55777  gcc/testsuite/lib/scanwpaipa.exp
  23e89ca46b182663a4139064b179545f  gcc/testsuite/lib/target-libpath.exp
  d9a6726c38c578e1cd46631ee7f92d0a  gcc/testsuite/lib/target-supports-dg.exp
! 68678634c0e0641cb86d1865c5794c02  gcc/testsuite/lib/target-supports.exp
  cfe4a2f0a83382048de060dc6669cbb9  gcc/testsuite/lib/target-utils.exp
  e45ee1a35539730bd823a310ad306ded  gcc/testsuite/lib/timeout-dg.exp
  b755c82fb5ee43ef6c852f23fbdc8704  gcc/testsuite/lib/timeout.exp
--- 115436,115442 ----
  f7940f4f8c24d9f0bf4d062473f55777  gcc/testsuite/lib/scanwpaipa.exp
  23e89ca46b182663a4139064b179545f  gcc/testsuite/lib/target-libpath.exp
  d9a6726c38c578e1cd46631ee7f92d0a  gcc/testsuite/lib/target-supports-dg.exp
! 756d7fadd7902214e7c00fb8409b174c  gcc/testsuite/lib/target-supports.exp
  cfe4a2f0a83382048de060dc6669cbb9  gcc/testsuite/lib/target-utils.exp
  e45ee1a35539730bd823a310ad306ded  gcc/testsuite/lib/timeout-dg.exp
  b755c82fb5ee43ef6c852f23fbdc8704  gcc/testsuite/lib/timeout.exp
*************** af4c63760c432f66b1c6c8e7e7666699  gcc/tr
*** 117989,117995 ****
  629c2d175128efb2809d4ed7e08f1a18  gcc/tree-streamer-out.cc
  22cddc57dea71a3e5c57e033b6f86476  gcc/tree-streamer.cc
  6714826bb9cd5f171a08cbabcb1da8e6  gcc/tree-streamer.h
! 899a002f8aec509c2457b02d6c7634d9  gcc/tree-switch-conversion.cc
  834999e1b44b915632e773927cdaa397  gcc/tree-switch-conversion.h
  cac3afe79bbadb8c304cebff78dbb3df  gcc/tree-tailcall.cc
  61a9b445a765d6b6d497bc7273d05f64  gcc/tree-vect-data-refs.cc
--- 118004,118010 ----
  629c2d175128efb2809d4ed7e08f1a18  gcc/tree-streamer-out.cc
  22cddc57dea71a3e5c57e033b6f86476  gcc/tree-streamer.cc
  6714826bb9cd5f171a08cbabcb1da8e6  gcc/tree-streamer.h
! 5148cc6629c09aeb3927463d7cded67c  gcc/tree-switch-conversion.cc
  834999e1b44b915632e773927cdaa397  gcc/tree-switch-conversion.h
  cac3afe79bbadb8c304cebff78dbb3df  gcc/tree-tailcall.cc
  61a9b445a765d6b6d497bc7273d05f64  gcc/tree-vect-data-refs.cc
*************** a3bae9c01d333f7db29d4511561a7d00  libcc1
*** 118317,118330 ****
  8e32b4f309146e8842db7a077d77be28  libcody/CMakeLists.txt
  c96a56ec7f0400e30e99a9aa445e0425  libcody/CODING.md
  b5243c8c76fc965a409394a30679e613  libcody/CONTRIB.md
! 5f49e0df6f35e08d415c29a22477a588  libcody/ChangeLog
  86d3f3a95c324c9479bd8986968f4327  libcody/LICENSE
  55625eec19bfdb5cee37f8c7ae4b796b  libcody/Makefile.in
  ca1c6fe3df5427016005ce753c73d454  libcody/README.md
  99ad81d536fef63b80b7f776f0dec53c  libcody/buffer.cc
! 69dd1db758b0ea369d20d7331d889ef5  libcody/client.cc
  40072537e3589ff033129e9d5aa10660  libcody/cmake/libcody-config-ix.cmake
! 521e6cc4ebd40d0fbc4ad2fbd8c8063b  libcody/cody.hh
  b7630b2f7e3997152972e0d3f86af193  libcody/config.h.in
  a003d1057213ab79099f7bdbea631d9e  libcody/config.m4
  b1c5b142e9fe28fd473595d745695db1  libcody/configure
--- 118332,118345 ----
  8e32b4f309146e8842db7a077d77be28  libcody/CMakeLists.txt
  c96a56ec7f0400e30e99a9aa445e0425  libcody/CODING.md
  b5243c8c76fc965a409394a30679e613  libcody/CONTRIB.md
! f51059eb18a8c7e81e28553b30391d54  libcody/ChangeLog
  86d3f3a95c324c9479bd8986968f4327  libcody/LICENSE
  55625eec19bfdb5cee37f8c7ae4b796b  libcody/Makefile.in
  ca1c6fe3df5427016005ce753c73d454  libcody/README.md
  99ad81d536fef63b80b7f776f0dec53c  libcody/buffer.cc
! 6085d20f25e5c2f4809b76fc28261fb5  libcody/client.cc
  40072537e3589ff033129e9d5aa10660  libcody/cmake/libcody-config-ix.cmake
! fbd197f7a8c4380bf81aa2ca35950438  libcody/cody.hh
  b7630b2f7e3997152972e0d3f86af193  libcody/config.h.in
  a003d1057213ab79099f7bdbea631d9e  libcody/config.m4
  b1c5b142e9fe28fd473595d745695db1  libcody/configure
*************** b7f8907c165e46ed56efaa23a2c2a570  libcod
*** 118335,118341 ****
  cffdeae41b78da05839b193e90188f55  libcody/netserver.cc
  6419dfc879387358e95288142e569914  libcody/packet.cc
  688ece05c8b9d378b3df186808162e76  libcody/resolver.cc
! b1f3850fc5ac62999d1e124aa6f76531  libcody/server.cc
  9cbc48b9bb76aeb3d26782ac2984304f  libcpp/ChangeLog
  2bd831b17997584e38305782cebe6948  libcpp/ChangeLog.jit
  e80a909ca87015a009bee9588bb84a64  libcpp/Makefile.in
--- 118350,118356 ----
  cffdeae41b78da05839b193e90188f55  libcody/netserver.cc
  6419dfc879387358e95288142e569914  libcody/packet.cc
  688ece05c8b9d378b3df186808162e76  libcody/resolver.cc
! c94add0032978604acf65591bb86d2d6  libcody/server.cc
  9cbc48b9bb76aeb3d26782ac2984304f  libcpp/ChangeLog
  2bd831b17997584e38305782cebe6948  libcpp/ChangeLog.jit
  e80a909ca87015a009bee9588bb84a64  libcpp/Makefile.in
*************** a3a7e9ca6057da9ca42e03e41e1c73f7  libgo/
*** 127011,127024 ****
  dcdf1b680b15b372bdb64cc5107d51b6  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! a94d9f4d111e1bac7d91b164dc59bb5b  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  883cfea6de23904b83d6bd58a729c866  libgomp/Makefile.am
  54c7bc8277669e3bf5f1a3db179ae206  libgomp/Makefile.in
  f931a90a01b7668928d9f7fcd5c7f3fb  libgomp/acc_prof.h
  d45f3b20f1be5d95a6c06fb81bedafe9  libgomp/acinclude.m4
  30a64ccfecfa60e8b5098e9fe26ea707  libgomp/aclocal.m4
! d8aa8371c40b734ac5451e05f1ec3ffd  libgomp/affinity-fmt.c
  01378bd902513e181046d9e2c91aaaf0  libgomp/affinity.c
  8fe4775ad9d79a2f006b290db4abdfa5  libgomp/alloc.c
  94bb34cb9fc447759270a29394905c04  libgomp/allocator.c
--- 127026,127039 ----
  dcdf1b680b15b372bdb64cc5107d51b6  libgo/testsuite/libgo-test-support.exp.in
  bf162aa572f7b96b25dbd2b027845d32  libgo/testsuite/libgo.testmain/testmain.exp
  cc9d2a0e34e31ba866a8caf9f46f48f3  libgomp/.gitattributes
! f2947254f6103e1090451cab159c2e2a  libgomp/ChangeLog
  0d55aa862aee66efdc5f8d62c94ff8fb  libgomp/ChangeLog.graphite
  883cfea6de23904b83d6bd58a729c866  libgomp/Makefile.am
  54c7bc8277669e3bf5f1a3db179ae206  libgomp/Makefile.in
  f931a90a01b7668928d9f7fcd5c7f3fb  libgomp/acc_prof.h
  d45f3b20f1be5d95a6c06fb81bedafe9  libgomp/acinclude.m4
  30a64ccfecfa60e8b5098e9fe26ea707  libgomp/aclocal.m4
! fda30f07f171a5ca7d9965961adcb7d6  libgomp/affinity-fmt.c
  01378bd902513e181046d9e2c91aaaf0  libgomp/affinity.c
  8fe4775ad9d79a2f006b290db4abdfa5  libgomp/alloc.c
  94bb34cb9fc447759270a29394905c04  libgomp/allocator.c
diff -Nrcpad gcc-15-20251206/gcc/ChangeLog gcc-15-20251213/gcc/ChangeLog
*** gcc-15-20251206/gcc/ChangeLog	Sat Dec  6 22:32:05 2025
--- gcc-15-20251213/gcc/ChangeLog	Sat Dec 13 22:32:05 2025
***************
*** 1,3 ****
--- 1,74 ----
+ 2025-12-11  Vladimir N. Makarov  <vmakarov@redhat.com>
+ 
+ 	PR rtl-optimization/122215
+ 	* ira-color.cc (improve_allocation): Use register filter for all
+ 	loop on hard regs.
+ 
+ 2025-12-10  Robin Dapp  <rdapp@ventanamicro.com>
+ 
+ 	Backported from master:
+ 	2025-12-01  Robin Dapp  <rdapp@ventanamicro.com>
+ 
+ 	PR target/122652
+ 	* config/riscv/riscv-vsetvl.cc: Add nullptr check.
+ 
+ 2025-12-09  Robin Dapp  <rdapp.gcc@gmail.com>
+ 
+ 	Backported from master:
+ 	2025-12-02  Robin Dapp  <rdapp.gcc@gmail.com>
+ 
+ 	PR target/122656
+ 	* config/riscv/riscv-vector-builtins-bases.cc: Use
+ 	use_contiguous_load for vlsegff.
+ 	* config/riscv/riscv-vector-builtins.cc (function_expander::use_exact_insn):
+ 	Only add rounding mode operand if insn requires it and number of
+ 	arguments is < required.
+ 	(function_expander::use_ternop_insn): Ditto.
+ 	(function_expander::use_widen_ternop_insn): Ditto.
+ 	* config/riscv/vector.md: Use vector-mode source operand.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/122991
+ 	* config/aarch64/aarch64.md (crc_rev<ALLI:mode><ALLX:mode>4,
+ 	crc<ALLI:mode><ALLX:mode>4): Use const_int_operand predicate for
+ 	the last operand.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/122943
+ 	* tree-switch-conversion.cc (switch_conversion::build_arrays):
+ 	Always gimplify subtraction in utype without cast to tidxtype
+ 	and set m_arr_ref_first to the last stmt of that.  Remove unneeded
+ 	update_stmt call.  If tidxtype is not utype, append after that stmt
+ 	cast to tidxtype and set tidx to the lhs of that cast.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/120052
+ 	* gimplify.cc (gimplify_call_expr): For IFN_UBSAN_BOUNDS
+ 	call with integer_onep first argument, change that argument
+ 	to 0 and add TYPE_MAX_VALUE (TYPE_DOMAIN (arr_type)) to
+ 	3rd argument before gimplification.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/120564
+ 	* omp-expand.cc (extract_omp_for_update_vars): Use build2 instead of
+ 	fold_build2 to build argument for gimple_build_cond_empty.
+ 
  2025-12-01  Christophe Lyon  <christophe.lyon@linaro.org>
  
  	Backported from master:
diff -Nrcpad gcc-15-20251206/gcc/DATESTAMP gcc-15-20251213/gcc/DATESTAMP
*** gcc-15-20251206/gcc/DATESTAMP	Sat Dec  6 22:32:05 2025
--- gcc-15-20251213/gcc/DATESTAMP	Sat Dec 13 22:32:05 2025
***************
*** 1 ****
! 20251206
--- 1 ----
! 20251213
diff -Nrcpad gcc-15-20251206/gcc/ada/ChangeLog gcc-15-20251213/gcc/ada/ChangeLog
*** gcc-15-20251206/gcc/ada/ChangeLog	Sat Dec  6 22:32:05 2025
--- gcc-15-20251213/gcc/ada/ChangeLog	Sat Dec 13 22:32:05 2025
***************
*** 1,3 ****
--- 1,26 ----
+ 2025-12-11  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/123096
+ 	* exp_put_image.adb (Build_Record_Put_Image_Procedure): Call
+ 	Incomplete_Or_Partial_View with Partial_Only set to True.
+ 
+ 2025-12-11  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/123088
+ 	* sem_aggr.adb (Resolve_Record_Aggregate): Add missing guard.
+ 
+ 2025-12-08  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/123037
+ 	* rtinit.c [__MINGW32__]: Include <stdlib.h> and not <windows.h>.
+ 	* rtfinal.c [__MINGW32__]: Do not include <windows.h>.
+ 
+ 2025-12-06  Iain Sandoe  <iain@sandoe.co.uk>
+ 
+ 	PR ada/115305
+ 	* Makefile.rtl: Use s-oslock__darwin instead of the Posix version.
+ 	* libgnat/s-oslock__darwin.ads: New file.
+ 
  2025-11-21  Eric Botcazou  <ebotcazou@adacore.com>
  
  	* repinfo.adb (List_Location): Do not output the final comma.
diff -Nrcpad gcc-15-20251206/gcc/ada/exp_put_image.adb gcc-15-20251213/gcc/ada/exp_put_image.adb
*** gcc-15-20251206/gcc/ada/exp_put_image.adb	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/ada/exp_put_image.adb	Sat Dec 13 22:32:05 2025
*************** package body Exp_Put_Image is
*** 956,962 ****
                 --  use the first copy instead.
  
                 Partial_View := Incomplete_Or_Partial_View
!                                  (Defining_Identifier (Type_Decl));
  
                 pragma Assert (Ekind (Partial_View) in
                                E_Private_Type
--- 956,963 ----
                 --  use the first copy instead.
  
                 Partial_View := Incomplete_Or_Partial_View
!                                  (Defining_Identifier (Type_Decl),
!                                   Partial_Only => True);
  
                 pragma Assert (Ekind (Partial_View) in
                                E_Private_Type
diff -Nrcpad gcc-15-20251206/gcc/ada/rtfinal.c gcc-15-20251213/gcc/ada/rtfinal.c
*** gcc-15-20251206/gcc/ada/rtfinal.c	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/ada/rtfinal.c	Sat Dec 13 22:32:05 2025
*************** extern int __gnat_rt_init_count;
*** 46,54 ****
  /*  see initialize.c  */
  
  #if defined (__MINGW32__)
- #define WIN32_LEAN_AND_MEAN
  #include "mingw32.h"
- #include <windows.h>
  
  extern CRITICAL_SECTION ProcListCS;
  extern HANDLE ProcListEvt;
--- 46,52 ----
diff -Nrcpad gcc-15-20251206/gcc/ada/rtinit.c gcc-15-20251213/gcc/ada/rtinit.c
*** gcc-15-20251206/gcc/ada/rtinit.c	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/ada/rtinit.c	Sat Dec 13 22:32:05 2025
*************** int __gnat_rt_init_count = 0;
*** 70,78 ****
     and finalize properly the run-time. */
  
  #if defined (__MINGW32__)
! #define WIN32_LEAN_AND_MEAN
  #include "mingw32.h"
- #include <windows.h>
  
  extern void __gnat_init_float (void);
  
--- 70,77 ----
     and finalize properly the run-time. */
  
  #if defined (__MINGW32__)
! #include <stdlib.h>
  #include "mingw32.h"
  
  extern void __gnat_init_float (void);
  
diff -Nrcpad gcc-15-20251206/gcc/ada/sem_aggr.adb gcc-15-20251213/gcc/ada/sem_aggr.adb
*** gcc-15-20251206/gcc/ada/sem_aggr.adb	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/ada/sem_aggr.adb	Sat Dec 13 22:32:05 2025
*************** package body Sem_Aggr is
*** 6593,6599 ****
           else
              Record_Def := Type_Definition (Parent (Base_Type (Typ)));
  
!             if Null_Present (Record_Def) then
                 null;
  
              elsif not Has_Unknown_Discriminants (Typ) then
--- 6593,6599 ----
           else
              Record_Def := Type_Definition (Parent (Base_Type (Typ)));
  
!             if No (Record_Def) or else Null_Present (Record_Def) then
                 null;
  
              elsif not Has_Unknown_Discriminants (Typ) then
diff -Nrcpad gcc-15-20251206/gcc/c/ChangeLog gcc-15-20251213/gcc/c/ChangeLog
*** gcc-15-20251206/gcc/c/ChangeLog	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/c/ChangeLog	Sat Dec 13 22:32:05 2025
***************
*** 1,3 ****
--- 1,20 ----
+ 2025-12-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/123018
+ 	* c-decl.cc (finish_struct): Diagnose bit-fields with vector type.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/121506
+ 	* c-typeck.cc (c_type_tag): If TYPE_NAME is TYPE_DECL
+ 	with non-NULL DECL_NAME, return that.
+ 
  2025-08-08  Release Manager
  
  	* GCC 15.2.0 released.
diff -Nrcpad gcc-15-20251206/gcc/c/c-decl.cc gcc-15-20251213/gcc/c/c-decl.cc
*** gcc-15-20251206/gcc/c/c-decl.cc	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/c/c-decl.cc	Sat Dec 13 22:32:05 2025
*************** finish_struct (location_t loc, tree t, t
*** 9724,9729 ****
--- 9724,9736 ----
  	  unsigned HOST_WIDE_INT width
  	    = tree_to_uhwi (DECL_INITIAL (field));
  	  tree type = TREE_TYPE (field);
+ 	  if (VECTOR_TYPE_P (type))
+ 	    {
+ 	      error_at (DECL_SOURCE_LOCATION (field),
+ 			"bit-field %qD has invalid type", field);
+ 	      type = TREE_TYPE (type);
+ 	      TREE_TYPE (field) = type;
+ 	    }
  	  if (width != TYPE_PRECISION (type))
  	    {
  	      if (TREE_CODE (type) == BITINT_TYPE
diff -Nrcpad gcc-15-20251206/gcc/c/c-typeck.cc gcc-15-20251213/gcc/c/c-typeck.cc
*** gcc-15-20251206/gcc/c/c-typeck.cc	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/c/c-typeck.cc	Sat Dec 13 22:32:05 2025
*************** c_type_tag (const_tree t)
*** 602,610 ****
      return NULL_TREE;
    if (TREE_CODE (name) == TYPE_DECL)
      {
!       /* A TYPE_DECL added by add_decl_expr.  */
!       gcc_checking_assert (!DECL_NAME (name));
!       return NULL_TREE;
      }
    gcc_checking_assert (TREE_CODE (name) == IDENTIFIER_NODE);
    return name;
--- 602,610 ----
      return NULL_TREE;
    if (TREE_CODE (name) == TYPE_DECL)
      {
!       if (!DECL_NAME (name))
! 	return NULL_TREE;
!       name = DECL_NAME (name);
      }
    gcc_checking_assert (TREE_CODE (name) == IDENTIFIER_NODE);
    return name;
diff -Nrcpad gcc-15-20251206/gcc/c-family/ChangeLog gcc-15-20251213/gcc/c-family/ChangeLog
*** gcc-15-20251206/gcc/c-family/ChangeLog	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/c-family/ChangeLog	Sat Dec 13 22:32:05 2025
***************
*** 1,3 ****
--- 1,27 ----
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/120052
+ 	* c-ubsan.cc (ubsan_instrument_bounds): For VLAs use
+ 	1 instead of 0 as first IFN_UBSAN_BOUNDS argument and only
+ 	use the addend without TYPE_MAX_VALUE (TYPE_DOMAIN (type))
+ 	in the 3rd argument.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/122624
+ 	* c-common.cc (c_common_get_alias_set): Fix up handling of
+ 	BITINT_TYPEs.  For unsigned _BitInt(1) always return -1.  For other
+ 	unsigned types set TYPE_ALIAS_SET to get_alias_set of corresponding
+ 	signed type and return that.  For signed types check if corresponding
+ 	unsigned type has TYPE_ALIAS_SET_KNOWN_P and if so copy its
+ 	TYPE_ALIAS_SET and return that.
+ 
  2025-10-22  Jakub Jelinek  <jakub@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20251206/gcc/c-family/c-common.cc gcc-15-20251213/gcc/c-family/c-common.cc
*** gcc-15-20251206/gcc/c-family/c-common.cc	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/c-family/c-common.cc	Sat Dec 13 22:32:05 2025
*************** c_common_get_alias_set (tree t)
*** 3938,3945 ****
    /* The C standard specifically allows aliasing between signed and
       unsigned variants of the same type.  We treat the signed
       variant as canonical.  */
!   if ((TREE_CODE (t) == INTEGER_TYPE || TREE_CODE (t) == BITINT_TYPE)
!       && TYPE_UNSIGNED (t))
      {
        tree t1 = c_common_signed_type (t);
  
--- 3938,3944 ----
    /* The C standard specifically allows aliasing between signed and
       unsigned variants of the same type.  We treat the signed
       variant as canonical.  */
!   if (TREE_CODE (t) == INTEGER_TYPE && TYPE_UNSIGNED (t))
      {
        tree t1 = c_common_signed_type (t);
  
*************** c_common_get_alias_set (tree t)
*** 3947,3952 ****
--- 3946,3986 ----
        if (t1 != t)
  	return get_alias_set (t1);
      }
+   if (TREE_CODE (t) == BITINT_TYPE)
+     {
+       /* For normal INTEGER_TYPEs (except ones built by
+ 	 build_nonstandard_integer_type), both signed and unsigned variants
+ 	 of the type are always reachable from GTY roots, so just calling
+ 	 get_alias_set on the signed type is ok.  For BITINT_TYPE and
+ 	 non-standard INTEGER_TYPEs, only unsigned could be used and the
+ 	 corresponding signed type could be created on demand and garbage
+ 	 collected as unused, so the alias set of unsigned type could keep
+ 	 changing.
+ 	 Avoid that by remembering the signed type alias set in
+ 	 TYPE_ALIAS_SET and also when being asked about !TYPE_UNSIGNED
+ 	 check if there isn't a corresponding unsigned type with
+ 	 TYPE_ALIAS_SET_KNOWN_P.  */
+       if (TYPE_UNSIGNED (t))
+ 	{
+ 	  /* There is no signed _BitInt(1).  */
+ 	  if (TYPE_PRECISION (t) == 1)
+ 	    return -1;
+ 	  tree t1 = c_common_signed_type (t);
+ 	  gcc_checking_assert (t != t1);
+ 	  TYPE_ALIAS_SET (t) = get_alias_set (t1);
+ 	  return TYPE_ALIAS_SET (t);
+ 	}
+       else
+ 	{
+ 	  tree t1 = c_common_unsigned_type (t);
+ 	  gcc_checking_assert (t != t1);
+ 	  if (TYPE_ALIAS_SET_KNOWN_P (t1))
+ 	    {
+ 	      TYPE_ALIAS_SET (t) = TYPE_ALIAS_SET (t1);
+ 	      return TYPE_ALIAS_SET (t);
+ 	    }
+ 	}
+     }
  
    return -1;
  }
diff -Nrcpad gcc-15-20251206/gcc/c-family/c-ubsan.cc gcc-15-20251213/gcc/c-family/c-ubsan.cc
*** gcc-15-20251206/gcc/c-family/c-ubsan.cc	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/c-family/c-ubsan.cc	Sat Dec 13 22:32:05 2025
*************** ubsan_instrument_bounds (location_t loc,
*** 460,466 ****
  
    bound = fold_build2 (PLUS_EXPR, TREE_TYPE (bound), bound,
  		       build_int_cst (TREE_TYPE (bound),
! 		       1 + ignore_off_by_one));
  
    /* Detect flexible array members and suchlike, unless
       -fsanitize=bounds-strict.  */
--- 460,466 ----
  
    bound = fold_build2 (PLUS_EXPR, TREE_TYPE (bound), bound,
  		       build_int_cst (TREE_TYPE (bound),
! 				      1 + ignore_off_by_one));
  
    /* Detect flexible array members and suchlike, unless
       -fsanitize=bounds-strict.  */
*************** ubsan_instrument_bounds (location_t loc,
*** 547,554 ****
      return NULL_TREE;
  
    *index = save_expr (*index);
!   /* Create a "(T *) 0" tree node to describe the array type.  */
!   tree zero_with_type = build_int_cst (build_pointer_type (type), 0);
    return build_call_expr_internal_loc (loc, IFN_UBSAN_BOUNDS,
  				       void_type_node, 3, zero_with_type,
  				       *index, bound);
--- 547,562 ----
      return NULL_TREE;
  
    *index = save_expr (*index);
!   /* If TYPE is a VLA, use 1 instead of 0 as the first argument and
!      use just the addend to TYPE_MAX_VALUE (domain) as the third argument
!      temporarily, so that gimplification can use TYPE_MAX_VALUE (domain)
!      after gimplify_type_sizes.  See PR120052.  */
!   bool is_vla = (TYPE_MAX_VALUE (domain)
! 		 && TREE_CODE (TYPE_MAX_VALUE (domain)) != INTEGER_CST);
!   if (is_vla)
!     bound = build_int_cst (TREE_TYPE (bound), 1 + ignore_off_by_one);
!   /* Create a "(T *) 0" (or 1) tree node to describe the array type.  */
!   tree zero_with_type = build_int_cst (build_pointer_type (type), is_vla);
    return build_call_expr_internal_loc (loc, IFN_UBSAN_BOUNDS,
  				       void_type_node, 3, zero_with_type,
  				       *index, bound);
diff -Nrcpad gcc-15-20251206/gcc/config/aarch64/aarch64.md gcc-15-20251213/gcc/config/aarch64/aarch64.md
*** gcc-15-20251206/gcc/config/aarch64/aarch64.md	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/config/aarch64/aarch64.md	Sat Dec 13 22:32:06 2025
***************
*** 4740,4746 ****
     ;; data
     (match_operand:ALLI 2 "register_operand" "r")
     ;; polynomial without leading 1
!    (match_operand:ALLX 3)]
    ""
    {
      /* If the polynomial is the same as the polynomial of crc32c* instruction,
--- 4740,4746 ----
     ;; data
     (match_operand:ALLI 2 "register_operand" "r")
     ;; polynomial without leading 1
!    (match_operand:ALLX 3 "const_int_operand")]
    ""
    {
      /* If the polynomial is the same as the polynomial of crc32c* instruction,
***************
*** 4779,4785 ****
     ;; data
     (match_operand:ALLI 2 "register_operand" "r")
     ;; polynomial without leading 1
!    (match_operand:ALLX 3)]
    "TARGET_AES && <ALLI:sizen> <= <ALLX:sizen>"
    {
      aarch64_expand_crc_using_pmull (<ALLX:MODE>mode, <ALLI:MODE>mode,
--- 4779,4785 ----
     ;; data
     (match_operand:ALLI 2 "register_operand" "r")
     ;; polynomial without leading 1
!    (match_operand:ALLX 3 "const_int_operand")]
    "TARGET_AES && <ALLI:sizen> <= <ALLX:sizen>"
    {
      aarch64_expand_crc_using_pmull (<ALLX:MODE>mode, <ALLI:MODE>mode,
diff -Nrcpad gcc-15-20251206/gcc/config/riscv/riscv-vector-builtins-bases.cc gcc-15-20251213/gcc/config/riscv/riscv-vector-builtins-bases.cc
*** gcc-15-20251206/gcc/config/riscv/riscv-vector-builtins-bases.cc	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/config/riscv/riscv-vector-builtins-bases.cc	Sat Dec 13 22:32:06 2025
*************** public:
*** 2129,2135 ****
  
    rtx expand (function_expander &e) const override
    {
!     return e.use_exact_insn (code_for_pred_fault_load (e.vector_mode ()));
    }
  };
  
--- 2129,2136 ----
  
    rtx expand (function_expander &e) const override
    {
!     return e.use_contiguous_load_insn
!       (code_for_pred_fault_load (e.vector_mode ()));
    }
  };
  
diff -Nrcpad gcc-15-20251206/gcc/config/riscv/riscv-vector-builtins.cc gcc-15-20251213/gcc/config/riscv/riscv-vector-builtins.cc
*** gcc-15-20251206/gcc/config/riscv/riscv-vector-builtins.cc	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/config/riscv/riscv-vector-builtins.cc	Sat Dec 13 22:32:06 2025
*************** function_expander::use_exact_insn (insn_
*** 4237,4243 ****
  
    /* The RVV floating-point only support dynamic rounding mode in the
       FRM register.  */
!   if (opno != insn_data[icode].n_generator_args)
      add_input_operand (Pmode, gen_int_mode (riscv_vector::FRM_DYN, Pmode));
  
    return generate_insn (icode);
--- 4237,4244 ----
  
    /* The RVV floating-point only support dynamic rounding mode in the
       FRM register.  */
!   if (base->may_require_frm_p ()
!       && opno < insn_data[icode].n_generator_args)
      add_input_operand (Pmode, gen_int_mode (riscv_vector::FRM_DYN, Pmode));
  
    return generate_insn (icode);
*************** function_expander::use_ternop_insn (bool
*** 4422,4428 ****
  
    /* The RVV floating-point only support dynamic rounding mode in the
       FRM register.  */
!   if (opno != insn_data[icode].n_generator_args)
      add_input_operand (Pmode, gen_int_mode (riscv_vector::FRM_DYN, Pmode));
  
    return generate_insn (icode);
--- 4423,4430 ----
  
    /* The RVV floating-point only support dynamic rounding mode in the
       FRM register.  */
!   if (base->may_require_frm_p ()
!       && opno < insn_data[icode].n_generator_args)
      add_input_operand (Pmode, gen_int_mode (riscv_vector::FRM_DYN, Pmode));
  
    return generate_insn (icode);
*************** function_expander::use_widen_ternop_insn
*** 4463,4469 ****
  
    /* The RVV floating-point only support dynamic rounding mode in the
       FRM register.  */
!   if (opno != insn_data[icode].n_generator_args)
      add_input_operand (Pmode, gen_int_mode (riscv_vector::FRM_DYN, Pmode));
  
    return generate_insn (icode);
--- 4465,4472 ----
  
    /* The RVV floating-point only support dynamic rounding mode in the
       FRM register.  */
!   if (base->may_require_frm_p ()
!       && opno < insn_data[icode].n_generator_args)
      add_input_operand (Pmode, gen_int_mode (riscv_vector::FRM_DYN, Pmode));
  
    return generate_insn (icode);
diff -Nrcpad gcc-15-20251206/gcc/config/riscv/riscv-vsetvl.cc gcc-15-20251213/gcc/config/riscv/riscv-vsetvl.cc
*** gcc-15-20251206/gcc/config/riscv/riscv-vsetvl.cc	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/config/riscv/riscv-vsetvl.cc	Sat Dec 13 22:32:06 2025
*************** public:
*** 1178,1184 ****
      if (fault_first_load_p (insn->rtl ()))
        {
  	for (insn_info *i = insn->next_nondebug_insn ();
! 	     i->bb () == insn->bb (); i = i->next_nondebug_insn ())
  	  {
  	    if (find_access (i->defs (), VL_REGNUM))
  	      break;
--- 1178,1184 ----
      if (fault_first_load_p (insn->rtl ()))
        {
  	for (insn_info *i = insn->next_nondebug_insn ();
! 	     i && i->bb () == insn->bb (); i = i->next_nondebug_insn ())
  	  {
  	    if (find_access (i->defs (), VL_REGNUM))
  	      break;
diff -Nrcpad gcc-15-20251206/gcc/config/riscv/vector.md gcc-15-20251213/gcc/config/riscv/vector.md
*** gcc-15-20251206/gcc/config/riscv/vector.md	Sat Dec  6 22:32:06 2025
--- gcc-15-20251213/gcc/config/riscv/vector.md	Sat Dec 13 22:32:06 2025
***************
*** 8452,8458 ****
  	     (reg:SI VL_REGNUM)
  	     (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
  	  (unspec:VT
! 	    [(match_operand 3 "pmode_reg_or_0_operand"   "   rJ,    rJ,    rJ")
  	     (mem:BLK (scratch))] UNSPEC_VLEFF)
  	  (match_operand:VT 2 "vector_merge_operand"     "    0,    vu,    vu")))
     (set (reg:SI VL_REGNUM)
--- 8452,8458 ----
  	     (reg:SI VL_REGNUM)
  	     (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
  	  (unspec:VT
! 	    [(match_operand:VT 3 "memory_operand"	 "    m,     m,     m")
  	     (mem:BLK (scratch))] UNSPEC_VLEFF)
  	  (match_operand:VT 2 "vector_merge_operand"     "    0,    vu,    vu")))
     (set (reg:SI VL_REGNUM)
***************
*** 8467,8473 ****
  	        [(match_dup 3) (mem:BLK (scratch))] UNSPEC_VLEFF)
  	     (match_dup 2))] UNSPEC_MODIFY_VL))]
    "TARGET_VECTOR"
!   "vlseg<nf>e<sew>ff.v\t%0,(%z3)%p1"
    [(set_attr "type" "vlsegdff")
     (set_attr "mode" "<MODE>")])
  
--- 8467,8473 ----
  	        [(match_dup 3) (mem:BLK (scratch))] UNSPEC_VLEFF)
  	     (match_dup 2))] UNSPEC_MODIFY_VL))]
    "TARGET_VECTOR"
!   "vlseg<nf>e<sew>ff.v\t%0,%3%p1"
    [(set_attr "type" "vlsegdff")
     (set_attr "mode" "<MODE>")])
  
diff -Nrcpad gcc-15-20251206/gcc/cp/ChangeLog gcc-15-20251213/gcc/cp/ChangeLog
*** gcc-15-20251206/gcc/cp/ChangeLog	Sat Dec  6 22:32:07 2025
--- gcc-15-20251213/gcc/cp/ChangeLog	Sat Dec 13 22:32:06 2025
***************
*** 1,3 ****
--- 1,22 ----
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/121445
+ 	* constexpr.cc (build_data_member_initialization): Just return
+ 	false if member is COMPONENT_REF of COMPONENT_REF with
+ 	VAR_P get_base_address.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/120876
+ 	* pt.cc (tsubst_baselink): Move maybe_incomplete handling after
+ 	!baselink handling.
+ 
  2025-11-28  Daniele Sahebi  <daniele@mkryss.me>
  
  	Backported from master:
diff -Nrcpad gcc-15-20251206/gcc/cp/constexpr.cc gcc-15-20251213/gcc/cp/constexpr.cc
*** gcc-15-20251206/gcc/cp/constexpr.cc	Sat Dec  6 22:32:07 2025
--- gcc-15-20251213/gcc/cp/constexpr.cc	Sat Dec 13 22:32:06 2025
*************** build_data_member_initialization (tree t
*** 464,469 ****
--- 464,472 ----
        if (TREE_CODE (aggr) != COMPONENT_REF)
  	/* Normal member initialization.  */
  	member = TREE_OPERAND (member, 1);
+       else if (VAR_P (get_base_address (aggr)))
+ 	/* Initializing a local variable, don't add anything.  */
+ 	return true;
        else if (ANON_AGGR_TYPE_P (TREE_TYPE (aggr)))
  	/* Initializing a member of an anonymous union.  */
  	return build_anon_member_initialization (member, init, vec);
diff -Nrcpad gcc-15-20251206/gcc/cp/pt.cc gcc-15-20251213/gcc/cp/pt.cc
*** gcc-15-20251206/gcc/cp/pt.cc	Sat Dec  6 22:32:07 2025
--- gcc-15-20251213/gcc/cp/pt.cc	Sat Dec 13 22:32:06 2025
*************** tsubst_baselink (tree baselink, tree obj
*** 17500,17505 ****
--- 17500,17514 ----
        bool maybe_incomplete = BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P (baselink);
        baselink = lookup_fnfields (qualifying_scope, name, /*protect=*/1,
  				  complain);
+       if (!baselink)
+ 	{
+ 	  if ((complain & tf_error)
+ 	      && constructor_name_p (name, qualifying_scope))
+ 	    error ("cannot call constructor %<%T::%D%> directly",
+ 		   qualifying_scope, name);
+ 	  return error_mark_node;
+ 	}
+ 
        if (maybe_incomplete)
  	{
  	  /* Filter out from the new lookup set those functions which didn't
*************** tsubst_baselink (tree baselink, tree obj
*** 17513,17527 ****
  	  BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P (baselink) = true;
  	}
  
-       if (!baselink)
- 	{
- 	  if ((complain & tf_error)
- 	      && constructor_name_p (name, qualifying_scope))
- 	    error ("cannot call constructor %<%T::%D%> directly",
- 		   qualifying_scope, name);
- 	  return error_mark_node;
- 	}
- 
        fns = BASELINK_FUNCTIONS (baselink);
      }
    else
--- 17522,17527 ----
diff -Nrcpad gcc-15-20251206/gcc/fortran/ChangeLog gcc-15-20251213/gcc/fortran/ChangeLog
*** gcc-15-20251206/gcc/fortran/ChangeLog	Sat Dec  6 22:32:07 2025
--- gcc-15-20251213/gcc/fortran/ChangeLog	Sat Dec 13 22:32:06 2025
***************
*** 1,3 ****
--- 1,14 ----
+ 2025-12-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-12-05  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/122977
+ 	* expr.cc (gfc_is_simply_contiguous): For an associate variable
+ 	check whether the associate target is contiguous.
+ 	* resolve.cc (resolve_symbol): Skip array type check for an
+ 	associate variable when	the target has the contiguous attribute.
+ 
  2025-11-18  Harald Anlauf  <anlauf@gmx.de>
  
  	Backported from master:
diff -Nrcpad gcc-15-20251206/gcc/fortran/expr.cc gcc-15-20251213/gcc/fortran/expr.cc
*** gcc-15-20251206/gcc/fortran/expr.cc	Sat Dec  6 22:32:07 2025
--- gcc-15-20251213/gcc/fortran/expr.cc	Sat Dec 13 22:32:06 2025
*************** gfc_is_simply_contiguous (gfc_expr *expr
*** 6232,6237 ****
--- 6232,6245 ----
  	      || (sym->as && sym->as->type == AS_ASSUMED_SHAPE))))
      return false;
  
+   /* An associate variable may point to a non-contiguous target.  */
+   if (ar && ar->type == AR_FULL
+       && sym->attr.associate_var && !sym->attr.contiguous
+       && sym->assoc
+       && sym->assoc->target)
+     return gfc_is_simply_contiguous (sym->assoc->target, strict,
+ 				     permit_element);
+ 
    if (!ar || ar->type == AR_FULL)
      return true;
  
diff -Nrcpad gcc-15-20251206/gcc/fortran/resolve.cc gcc-15-20251213/gcc/fortran/resolve.cc
*** gcc-15-20251206/gcc/fortran/resolve.cc	Sat Dec  6 22:32:07 2025
--- gcc-15-20251213/gcc/fortran/resolve.cc	Sat Dec 13 22:32:06 2025
*************** skip_interfaces:
*** 17349,17354 ****
--- 17349,17355 ----
  
    /* F2008, C530.  */
    if (sym->attr.contiguous
+       && !sym->attr.associate_var
        && (!class_attr.dimension
  	  || (as->type != AS_ASSUMED_SHAPE && as->type != AS_ASSUMED_RANK
  	      && !class_attr.pointer)))
diff -Nrcpad gcc-15-20251206/gcc/gimplify.cc gcc-15-20251213/gcc/gimplify.cc
*** gcc-15-20251206/gcc/gimplify.cc	Sat Dec  6 22:32:07 2025
--- gcc-15-20251213/gcc/gimplify.cc	Sat Dec 13 22:32:06 2025
*************** gimplify_call_expr (tree *expr_p, gimple
*** 4618,4623 ****
--- 4618,4643 ----
  	      *expr_p = NULL_TREE;
  	      return GS_ALL_DONE;
  	    }
+ 	  else if (ifn == IFN_UBSAN_BOUNDS
+ 		   && nargs == 3
+ 		   && integer_onep (CALL_EXPR_ARG (*expr_p, 0)))
+ 	    {
+ 	      /* If first argument is one, add TYPE_MAX_VALUE (TYPE_DOMAIN (t))
+ 		 to 3rd argument and change first argument to 0.  This is
+ 		 done by ubsan_instrument_bounds so that we can use the
+ 		 max value from gimplify_type_sizes here instead of original
+ 		 expression for VLAs.  */
+ 	      tree type = TREE_TYPE (CALL_EXPR_ARG (*expr_p, 0));
+ 	      CALL_EXPR_ARG (*expr_p, 0) = build_int_cst (type, 0);
+ 	      gcc_assert (TREE_CODE (type) == POINTER_TYPE);
+ 	      type = TREE_TYPE (type);
+ 	      gcc_assert (TREE_CODE (type) == ARRAY_TYPE);
+ 	      tree maxv = TYPE_MAX_VALUE (TYPE_DOMAIN (type));
+ 	      gcc_assert (maxv);
+ 	      tree arg3 = CALL_EXPR_ARG (*expr_p, 2);
+ 	      CALL_EXPR_ARG (*expr_p, 2)
+ 		= fold_build2 (PLUS_EXPR, TREE_TYPE (arg3), maxv, arg3);
+ 	    }
  
  	  for (i = 0; i < nargs; i++)
  	    {
diff -Nrcpad gcc-15-20251206/gcc/ira-color.cc gcc-15-20251213/gcc/ira-color.cc
*** gcc-15-20251206/gcc/ira-color.cc	Sat Dec  6 22:32:07 2025
--- gcc-15-20251213/gcc/ira-color.cc	Sat Dec 13 22:32:06 2025
*************** improve_allocation (void)
*** 3383,3388 ****
--- 3383,3391 ----
        for (j = 0; j < class_size; j++)
  	{
  	  hregno = ira_class_hard_regs[aclass][j];
+ 	  if (NUM_REGISTER_FILTERS
+ 	      && !test_register_filters (ALLOCNO_REGISTER_FILTERS (a), hregno))
+ 	    continue;
  	  if (check_hard_reg_p (a, hregno,
  				conflicting_regs, profitable_hard_regs)
  	      && min_cost > costs[hregno])
diff -Nrcpad gcc-15-20251206/gcc/omp-expand.cc gcc-15-20251213/gcc/omp-expand.cc
*** gcc-15-20251206/gcc/omp-expand.cc	Sat Dec  6 22:32:07 2025
--- gcc-15-20251213/gcc/omp-expand.cc	Sat Dec 13 22:32:07 2025
*************** extract_omp_for_update_vars (struct omp_
*** 3299,3305 ****
  	  if (DECL_P (v) && TREE_ADDRESSABLE (v))
  	    v = force_gimple_operand_gsi (&gsi, v, true, NULL_TREE,
  					  false, GSI_CONTINUE_LINKING);
! 	  t = fold_build2 (fd->loops[i].cond_code, boolean_type_node, v, t);
  	  stmt = gimple_build_cond_empty (t);
  	  gsi_insert_after (&gsi, stmt, GSI_CONTINUE_LINKING);
  	  if (walk_tree (gimple_cond_lhs_ptr (as_a <gcond *> (stmt)),
--- 3299,3305 ----
  	  if (DECL_P (v) && TREE_ADDRESSABLE (v))
  	    v = force_gimple_operand_gsi (&gsi, v, true, NULL_TREE,
  					  false, GSI_CONTINUE_LINKING);
! 	  t = build2 (fd->loops[i].cond_code, boolean_type_node, v, t);
  	  stmt = gimple_build_cond_empty (t);
  	  gsi_insert_after (&gsi, stmt, GSI_CONTINUE_LINKING);
  	  if (walk_tree (gimple_cond_lhs_ptr (as_a <gcond *> (stmt)),
diff -Nrcpad gcc-15-20251206/gcc/testsuite/ChangeLog gcc-15-20251213/gcc/testsuite/ChangeLog
*** gcc-15-20251206/gcc/testsuite/ChangeLog	Sat Dec  6 22:32:08 2025
--- gcc-15-20251213/gcc/testsuite/ChangeLog	Sat Dec 13 22:32:07 2025
***************
*** 1,3 ****
--- 1,106 ----
+ 2025-12-11  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/specs/put_image2.ads: New test.
+ 
+ 2025-12-11  Vladimir N. Makarov  <vmakarov@redhat.com>
+ 
+ 	PR rtl-optimization/122215
+ 	* gcc.target/riscv/pr122215.c: New.
+ 	* lib/target-supports.exp (check_effective_target_valgrind): New.
+ 
+ 2025-12-11  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* gnat.dg/aggr33.adb: New test.
+ 
+ 2025-12-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/123018
+ 	* gcc.dg/pr123018.c: New test.
+ 
+ 2025-12-10  Robin Dapp  <rdapp@ventanamicro.com>
+ 
+ 	Backported from master:
+ 	2025-12-01  Robin Dapp  <rdapp@ventanamicro.com>
+ 
+ 	PR target/122652
+ 	* gcc.target/riscv/rvv/base/pr122652.c: New test.
+ 
+ 2025-12-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-12-05  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/122977
+ 	* gfortran.dg/contiguous_16.f90: New test.
+ 
+ 2025-12-09  Robin Dapp  <rdapp.gcc@gmail.com>
+ 
+ 	Backported from master:
+ 	2025-12-02  Robin Dapp  <rdapp.gcc@gmail.com>
+ 
+ 	PR target/122656
+ 	* gcc.target/riscv/rvv/base/pr122656-1.c: New test.
+ 	* gcc.target/riscv/rvv/base/pr122656-2.c: New test.`
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/122991
+ 	* gcc.dg/pr122991.c: New test.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/122943
+ 	* gcc.c-torture/execute/pr122943.c: New test.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/121506
+ 	* gcc.dg/pr121506.c: New test.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/120052
+ 	* c-c++-common/gomp/pr120052.c: New test.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/120564
+ 	* c-c++-common/gomp/pr120564.c: New test.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/121445
+ 	* g++.dg/cpp1y/constexpr-121445.C: New test.
+ 
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/120876
+ 	* g++.dg/parse/crash81.C: New test.
+ 
  2025-12-01  Christophe Lyon  <christophe.lyon@linaro.org>
  
  	Backported from master:
diff -Nrcpad gcc-15-20251206/gcc/testsuite/c-c++-common/gomp/pr120052.c gcc-15-20251213/gcc/testsuite/c-c++-common/gomp/pr120052.c
*** gcc-15-20251206/gcc/testsuite/c-c++-common/gomp/pr120052.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/c-c++-common/gomp/pr120052.c	Sat Dec 13 22:32:07 2025
***************
*** 0 ****
--- 1,32 ----
+ /* PR middle-end/120052 */
+ /* { dg-do compile } */
+ /* { dg-additional-options "-fsanitize=undefined" } */
+ 
+ void
+ foo (unsigned long s, long indx)
+ {
+   long counts[2][s];
+   #pragma omp parallel
+   #pragma omp masked
+   for (int i = 0; i < 2; i++)
+     counts[2][indx] = 1;
+ }
+ 
+ void
+ bar (unsigned long s, long indx)
+ {
+   long counts[2][s];
+   #pragma omp parallel shared(counts)
+   #pragma omp masked
+   for (int i = 0; i < 2; i++)
+     counts[2][indx] = 1;
+ }
+ 
+ void
+ baz (unsigned long s, long indx)
+ {
+   long counts[2][s];
+   #pragma omp parallel private(counts)
+   for (int i = 0; i < 2; i++)
+     counts[2][indx] = 1;
+ }
diff -Nrcpad gcc-15-20251206/gcc/testsuite/c-c++-common/gomp/pr120564.c gcc-15-20251213/gcc/testsuite/c-c++-common/gomp/pr120564.c
*** gcc-15-20251206/gcc/testsuite/c-c++-common/gomp/pr120564.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/c-c++-common/gomp/pr120564.c	Sat Dec 13 22:32:07 2025
***************
*** 0 ****
--- 1,15 ----
+ /* PR middle-end/120564 */
+ /* { dg-do compile } */
+ 
+ void bar (unsigned long long, unsigned long long, unsigned long long);
+ 
+ void
+ foo (void)
+ {
+   unsigned long long v1, v2, v3;
+ #pragma omp parallel for schedule(static, 32) collapse(3)
+   for (v1 = 0; v1 < 20; v1 += 2)
+     for (v2 = __LONG_LONG_MAX__; v2 > __LONG_LONG_MAX__; v2 -= 3)
+       for (v3 = 10; v3 > 0; v3--)
+ 	bar (v1, v2, v3);
+ }
diff -Nrcpad gcc-15-20251206/gcc/testsuite/g++.dg/cpp1y/constexpr-121445.C gcc-15-20251213/gcc/testsuite/g++.dg/cpp1y/constexpr-121445.C
*** gcc-15-20251206/gcc/testsuite/g++.dg/cpp1y/constexpr-121445.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/g++.dg/cpp1y/constexpr-121445.C	Sat Dec 13 22:32:08 2025
***************
*** 0 ****
--- 1,19 ----
+ // PR c++/121445
+ // { dg-do compile { target c++14 } }
+ 
+ struct D {
+   const char *d;
+   const char *foo () { return ""; };			// { dg-message "declared here" "" { target c++20_down } }
+   constexpr D () : d (foo ()) {}			// { dg-error "call to non-'constexpr' function 'const char\\\* D::foo\\\(\\\)'" "" { target c++20_down } }
+   constexpr D &operator= (const char *) { return *this; }
+ };
+ struct S {
+   constexpr S ()
+   {
+     struct A { D a; };
+     struct B { A b; };
+     struct C { B c; };
+     C d {};
+     d.c.b.a = "";
+   }
+ };
diff -Nrcpad gcc-15-20251206/gcc/testsuite/g++.dg/parse/crash81.C gcc-15-20251213/gcc/testsuite/g++.dg/parse/crash81.C
*** gcc-15-20251206/gcc/testsuite/g++.dg/parse/crash81.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/g++.dg/parse/crash81.C	Sat Dec 13 22:32:08 2025
***************
*** 0 ****
--- 1,14 ----
+ // PR c++/120876
+ // { dg-do compile { target c++11 } }
+ 
+ template <typename T>
+ struct S {
+   static bool foo (decltype (bar (T {})));	// { dg-error "'bar' was not declared in this scope; did you mean 'baz'\\\?" }
+   static constexpr bool s = foo (0);
+ };
+ 
+ void
+ baz ()
+ {
+   S <int>::s;
+ }
diff -Nrcpad gcc-15-20251206/gcc/testsuite/gcc.c-torture/execute/pr122943.c gcc-15-20251213/gcc/testsuite/gcc.c-torture/execute/pr122943.c
*** gcc-15-20251206/gcc/testsuite/gcc.c-torture/execute/pr122943.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/gcc.c-torture/execute/pr122943.c	Sat Dec 13 22:32:09 2025
***************
*** 0 ****
--- 1,130 ----
+ /* PR tree-optimization/122943 */
+ 
+ __attribute__((noipa)) unsigned char
+ foo (long long val)
+ {
+   unsigned char result = 0;
+   switch (val)
+     {
+     case 0: result = 1; break;
+     case 1: result = 2; break;
+     case 2: result = 3; break;
+     default: break;
+     }
+   return result;
+ }
+ 
+ __attribute__((noipa)) unsigned char
+ bar (long long val)
+ {
+   unsigned char result = 1;
+   switch (val)
+     {
+     case 0: result = 8; break;
+     case 1: result = 31; break;
+     case 2: result = 72; break;
+     default: break;
+     }
+   return result;
+ }
+ 
+ #ifdef __SIZEOF_INT128__
+ __attribute__((noipa)) unsigned char
+ baz (__int128 val)
+ {
+   unsigned char result = 0;
+   switch (val)
+     {
+     case 0: result = 1; break;
+     case 1: result = 2; break;
+     case 2: result = 3; break;
+     default: break;
+     }
+   return result;
+ }
+ 
+ __attribute__((noipa)) unsigned char
+ qux (__int128 val)
+ {
+   unsigned char result = 1;
+   switch (val)
+     {
+     case 0: result = 8; break;
+     case 1: result = 31; break;
+     case 2: result = 72; break;
+     default: break;
+     }
+   return result;
+ }
+ #endif
+ 
+ int
+ main ()
+ {
+   if (foo (-1) != 0)
+     __builtin_abort ();
+   if (foo (0) != 1)
+     __builtin_abort ();
+   if (foo (1) != 2)
+     __builtin_abort ();
+   if (foo (2) != 3)
+     __builtin_abort ();
+   if (foo (3) != 0)
+     __builtin_abort ();
+   if (foo (-__LONG_LONG_MAX__ - 1) != 0)
+     __builtin_abort ();
+   if (foo (-__LONG_LONG_MAX__) != 0)
+     __builtin_abort ();
+   if (foo (-__LONG_LONG_MAX__ + 1) != 0)
+     __builtin_abort ();
+   if (bar (-1) != 1)
+     __builtin_abort ();
+   if (bar (0) != 8)
+     __builtin_abort ();
+   if (bar (1) != 31)
+     __builtin_abort ();
+   if (bar (2) != 72)
+     __builtin_abort ();
+   if (bar (3) != 1)
+     __builtin_abort ();
+   if (bar (-__LONG_LONG_MAX__ - 1) != 1)
+     __builtin_abort ();
+   if (bar (-__LONG_LONG_MAX__) != 1)
+     __builtin_abort ();
+   if (bar (-__LONG_LONG_MAX__ + 1) != 1)
+     __builtin_abort ();
+ #ifdef __SIZEOF_INT128__
+   if (baz (-1) != 0)
+     __builtin_abort ();
+   if (baz (0) != 1)
+     __builtin_abort ();
+   if (baz (1) != 2)
+     __builtin_abort ();
+   if (baz (2) != 3)
+     __builtin_abort ();
+   if (baz (3) != 0)
+     __builtin_abort ();
+   if (baz (((__int128) 1) << 64) != 0)
+     __builtin_abort ();
+   if (baz ((((__int128) 1) << 64) + 1) != 0)
+     __builtin_abort ();
+   if (baz ((((__int128) 1) << 64) + 2) != 0)
+     __builtin_abort ();
+   if (qux (-1) != 1)
+     __builtin_abort ();
+   if (qux (0) != 8)
+     __builtin_abort ();
+   if (qux (1) != 31)
+     __builtin_abort ();
+   if (qux (2) != 72)
+     __builtin_abort ();
+   if (qux (3) != 1)
+     __builtin_abort ();
+   if (qux (((__int128) 1) << 64) != 1)
+     __builtin_abort ();
+   if (qux ((((__int128) 1) << 64) + 1) != 1)
+     __builtin_abort ();
+   if (qux ((((__int128) 1) << 64) + 2) != 1)
+     __builtin_abort ();
+ #endif
+ }
diff -Nrcpad gcc-15-20251206/gcc/testsuite/gcc.dg/pr121506.c gcc-15-20251213/gcc/testsuite/gcc.dg/pr121506.c
*** gcc-15-20251206/gcc/testsuite/gcc.dg/pr121506.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/gcc.dg/pr121506.c	Sat Dec 13 22:32:11 2025
***************
*** 0 ****
--- 1,8 ----
+ /* PR c/121506 */
+ /* { dg-do compile } */
+ 
+ #include <stdarg.h>
+ 
+ struct A;
+ void foo (struct A *);	/* { dg-message "previous declaration of 'foo' with type 'void\\\(struct A \\\*\\\)'" } */
+ void foo (va_list);	/* { dg-error "conflicting types for 'foo'; have" } */
diff -Nrcpad gcc-15-20251206/gcc/testsuite/gcc.dg/pr122991.c gcc-15-20251213/gcc/testsuite/gcc.dg/pr122991.c
*** gcc-15-20251206/gcc/testsuite/gcc.dg/pr122991.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/gcc.dg/pr122991.c	Sat Dec 13 22:32:11 2025
***************
*** 0 ****
--- 1,28 ----
+ /* PR target/122991 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ /* { dg-additional-options "-msse4" { target i?86-*-* x86_64-*-* } } */
+ 
+ int
+ foo ()
+ {
+   return __builtin_rev_crc32_data32 (0, 0, 0);
+ }
+ 
+ int
+ bar ()
+ {
+   return __builtin_rev_crc32_data32 (-1U, -1U, -1U);
+ }
+ 
+ int
+ baz ()
+ {
+   return __builtin_crc32_data32 (0, 0, 0);
+ }
+ 
+ int
+ qux ()
+ {
+   return __builtin_crc32_data32 (-1U, -1U, -1U);
+ }
diff -Nrcpad gcc-15-20251206/gcc/testsuite/gcc.dg/pr123018.c gcc-15-20251213/gcc/testsuite/gcc.dg/pr123018.c
*** gcc-15-20251206/gcc/testsuite/gcc.dg/pr123018.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/gcc.dg/pr123018.c	Sat Dec 13 22:32:11 2025
***************
*** 0 ****
--- 1,17 ----
+ /* PR c/123018 */
+ /* { dg-do compile } */
+ 
+ struct A {
+   int x : 8 __attribute__ ((vector_size (8)));	/* { dg-error "bit-field 'x' has invalid type" } */
+ };
+ struct B {
+   float x : 8;					/* { dg-error "bit-field 'x' has invalid type" } */
+ };
+ struct C {
+   int : 8 __attribute__ ((vector_size (8)));	/* { dg-error "bit-field '\[^\n\r]*anonymous\[^\n\r]*' has invalid type" } */
+   int x;
+ };
+ struct D {
+   float : 8;					/* { dg-error "bit-field '\[^\n\r]*anonymous\[^\n\r]*' has invalid type" } */
+   int x;
+ };
diff -Nrcpad gcc-15-20251206/gcc/testsuite/gcc.target/riscv/pr122215.c gcc-15-20251213/gcc/testsuite/gcc.target/riscv/pr122215.c
*** gcc-15-20251206/gcc/testsuite/gcc.target/riscv/pr122215.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/gcc.target/riscv/pr122215.c	Sat Dec 13 22:32:13 2025
***************
*** 0 ****
--- 1,46 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target valgrind } */
+ /* { dg-additional-files "sparseset.supp" } */
+ /* { dg-options "-wrapper valgrind,-q,--exit-on-first-error=yes,--error-exitcode=1,--suppressions=${srcdir}/sparseset.supp" } */
+ 
+ typedef signed int int32_t;
+ typedef signed long int int64_t;
+ 
+ int64_t dual_reg_insn(int64_t x) {
+     int64_t res;
+     int64_t zero = 0;
+     asm ("some_custom_insn %0,%1,%2" : "=R" (res) : "R" (x), "R" (zero));
+     return res;
+ }
+ 
+ int32_t single_reg_insn(int32_t x) {
+     int32_t res;
+     int32_t zero = 0;
+     asm ("some_custom_insn %0,%1,%2" : "=r" (res) : "r" (x), "r" (zero));
+     return res;
+ }
+ 
+ int32_t single_reg_insn_explicit_zero(int32_t x) {
+     int32_t res;
+     asm ("some_custom_insn %0,%1,%2" : "=r" (res) : "r" (x), "r" (0));
+     return res;
+ }
+ 
+ int64_t dual_reg_insn2(int64_t x) {
+     int64_t res;
+     int64_t zero = 0;
+     asm ("some_custom_insn %0,%1,%2" : "=R" (res) : "R" (x), "R" (zero));
+     return res;
+     /* This function is IDENTICAL to dual_reg_insn,
+      * but for some obscure reason (alignment?)
+      * it decides to use sX registers instead of aX to store zero,
+      * resulting in a much larger code since it needs to use the stack.
+      * THIS ONLY HAPPENS SOMETIMES!
+      */
+ }
+ 
+ int64_t dual_reg_insn_explicit_zero(int64_t x) {
+     int64_t res;
+     asm ("some_custom_insn %0,%1,%2" : "=R" (res) : "R" (x), "R" (0LL));
+     return res;
+ }
diff -Nrcpad gcc-15-20251206/gcc/testsuite/gcc.target/riscv/rvv/base/pr122652.c gcc-15-20251213/gcc/testsuite/gcc.target/riscv/rvv/base/pr122652.c
*** gcc-15-20251206/gcc/testsuite/gcc.target/riscv/rvv/base/pr122652.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/gcc.target/riscv/rvv/base/pr122652.c	Sat Dec 13 22:32:13 2025
***************
*** 0 ****
--- 1,22 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -march=rv64gcv -mabi=lp64d" } */
+ 
+ #include "riscv_vector.h"
+ 
+ int a;
+ int b();
+ 
+ int c() {
+   if (b())
+     a = 0;
+ }
+ 
+ void d() {
+   for (; c() + d;) {
+     long e, h;
+     char *f;
+     __rvv_uint16mf4_t g;
+     __rvv_uint8mf8x3_t i = __riscv_vlseg3e8ff_v_u8mf8x3(f, &h, e);
+     __riscv_vsoxseg3ei16_v_u8mf8x3(0, g, i, 0);
+   }
+ }
diff -Nrcpad gcc-15-20251206/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-1.c gcc-15-20251213/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-1.c
*** gcc-15-20251206/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-1.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-1.c	Sat Dec 13 22:32:13 2025
***************
*** 0 ****
--- 1,7 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=rv64gcv -mabi=lp64d" } */
+ 
+ #include "riscv_vector.h"
+ int a;
+ long b, c;
+ void d() { __riscv_vlseg2e32ff_v_i32mf2x2(&a, &c, b); } /* { dg-error "invalid argument to built-in function" } */
diff -Nrcpad gcc-15-20251206/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-2.c gcc-15-20251213/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-2.c
*** gcc-15-20251206/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-2.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/gcc.target/riscv/rvv/base/pr122656-2.c	Sat Dec 13 22:32:13 2025
***************
*** 0 ****
--- 1,7 ----
+ /* { dg-do compile } */
+ /* { dg-options "-march=rv64gcv -mabi=lp64d" } */
+ 
+ #include "riscv_vector.h"
+ int a;
+ long b, c;
+ void d() { vint32mf2x2_t v = __riscv_vlseg2e32ff_v_i32mf2x2(&a, &c, b); }
diff -Nrcpad gcc-15-20251206/gcc/testsuite/gfortran.dg/contiguous_16.f90 gcc-15-20251213/gcc/testsuite/gfortran.dg/contiguous_16.f90
*** gcc-15-20251206/gcc/testsuite/gfortran.dg/contiguous_16.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/gfortran.dg/contiguous_16.f90	Sat Dec 13 22:32:14 2025
***************
*** 0 ****
--- 1,51 ----
+ ! { dg-do run }
+ ! { dg-options "-O2 -fdump-tree-original" }
+ !
+ ! PR fortran/122977 - associate to a contiguous pointer
+ 
+ program foo
+   integer, dimension(:), pointer, contiguous :: a
+   integer, dimension(:), allocatable         :: u
+   allocate (a(4), u(4))
+   if (.not. is_contiguous(a)) error stop 1      ! optimized
+   if (.not. is_contiguous(u)) error stop 2      ! optimized
+ 
+   associate (b => a)
+     if (.not. is_contiguous(b)) error stop 3    ! optimized
+     associate (c => b)
+       if (.not. is_contiguous(c)) error stop 4  ! optimized
+     end associate
+     associate (c => b(1::2))
+       if (is_contiguous(c)) stop 11             ! runtime check
+     end associate
+   end associate
+ 
+   associate (v => u)
+     if (.not. is_contiguous(v)) error stop 5    ! optimized
+     associate (w => v)
+       if (.not. is_contiguous(w)) error stop 6  ! optimized
+     end associate
+     associate (w => v(1::2))
+       if (is_contiguous(w)) stop 12             ! runtime check
+     end associate
+   end associate
+ 
+   associate (b => a(1::2))
+     if (is_contiguous(b)) stop 13               ! runtime check
+     associate (c => b)
+       if (is_contiguous(c)) stop 14             ! runtime check
+     end associate
+   end associate
+ 
+   associate (v => u(1::2))
+     if (is_contiguous(v)) stop 15               ! runtime check
+     associate (w => v)
+       if (is_contiguous(w)) stop 16             ! runtime check
+     end associate
+   end associate
+ 
+   deallocate (a, u)
+ end program foo
+ 
+ ! { dg-final { scan-tree-dump-not "_gfortran_error_stop_numeric" "original" } }
+ ! { dg-final { scan-tree-dump-times "_gfortran_stop_numeric" 6 "original" } }
diff -Nrcpad gcc-15-20251206/gcc/testsuite/gnat.dg/aggr33.adb gcc-15-20251213/gcc/testsuite/gnat.dg/aggr33.adb
*** gcc-15-20251206/gcc/testsuite/gnat.dg/aggr33.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/gnat.dg/aggr33.adb	Sat Dec 13 22:32:14 2025
***************
*** 0 ****
--- 1,99 ----
+ -- { dg-do compile }
+ -- { dg-options "-gnat2022" }
+ 
+ with Ada.Containers.Vectors;
+ 
+ procedure Aggr33 is
+    type Light_Count is new Natural;
+    subtype Light_Position is Light_Count;
+ 
+    generic
+      Lights : Light_Position;
+ 
+    package Generic_Machine
+    is
+ 
+       subtype Light_State is Character
+         with Static_Predicate => Light_State in '.' | '#';
+ 
+       Off : constant Light_State := '.';
+       Lit : constant Light_State := '#';
+ 
+       type Panel_Type is
+         array (Light_Position range 0 .. Lights - 1) of Light_State;
+ 
+       Off_Panel : constant Panel_Type := [others => Off];
+ 
+       -----------------
+       -- Toggle_List --
+       -----------------
+ 
+       type Button_Index is new Positive;
+ 
+       package Toggle_Lists is new
+          Ada.Containers.Vectors (Index_Type   => Button_Index,
+                                  Element_Type => Light_Position);
+ 
+       subtype Toggle_List is Toggle_Lists.Vector;
+ 
+       ----------------
+       -- Press_List --
+       ----------------
+ 
+       package Press_Lists is new
+          Ada.Containers.Vectors (Index_Type   => Positive,
+                                  Element_Type => Toggle_Lists.Vector,
+                                  "="          => Toggle_Lists."=");
+ 
+       subtype Press_List is Press_Lists.Vector;
+ 
+       --------------------
+       -- Press_Sequence --
+       --------------------
+ 
+       subtype Press_Number is Natural;
+ 
+       type Press_Outcome is
+          record
+             Press : Toggle_List;
+             Panel : Panel_Type;
+          end record;
+ 
+       package Outcome_Lists is new
+          Ada.Containers.Vectors (Index_Type   => Press_Number,
+                                  Element_Type => Press_Outcome);
+ 
+       subtype Outcome_List is Outcome_Lists.Vector;
+ 
+       --------------
+       -- Sequence --
+       --------------
+ 
+       subtype Sequence_Id is Positive;
+ 
+       package Sequence_Lists is new
+          Ada.Containers.Vectors (Index_Type   => Sequence_Id,
+                                  Element_Type => Outcome_Lists.Vector,
+                                  "="          => Outcome_Lists."=");
+ 
+       subtype Sequence_List is Sequence_Lists.Vector;
+ 
+    end Generic_Machine;
+ 
+    package body Generic_Machine
+    is
+ 
+       procedure Add_Press
+       is
+          New_Sequence : Sequence_List;
+          Toggle       : Toggle_List;
+          New_Panel    : Panel_Type;
+       begin
+           New_Sequence.Append (Outcome_List'(Toggle, New_Panel)); -- { dg-error "too many components" }
+       end Add_Press;
+ 
+    end Generic_Machine;
+ 
+ begin
+    null;
+ end;
diff -Nrcpad gcc-15-20251206/gcc/testsuite/gnat.dg/specs/put_image2.ads gcc-15-20251213/gcc/testsuite/gnat.dg/specs/put_image2.ads
*** gcc-15-20251206/gcc/testsuite/gnat.dg/specs/put_image2.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20251213/gcc/testsuite/gnat.dg/specs/put_image2.ads	Sat Dec 13 22:32:14 2025
***************
*** 0 ****
--- 1,21 ----
+ -- { dg-do compile }
+ -- { dg-options "-gnat2022" }
+ 
+ package Put_Image2 is
+ 
+   type Abstract_Configuration_Provider is tagged;
+ 
+   type Configuration_Provider_Access is
+     access all Abstract_Configuration_Provider'Class;
+ 
+   type Abstract_Configuration_Provider
+     (Child : Configuration_Provider_Access := null) is
+     abstract tagged limited private;
+ 
+ private
+ 
+   type Abstract_Configuration_Provider
+     (Child : Configuration_Provider_Access := null) is
+     abstract tagged limited null record;
+ 
+ end Put_Image2;
diff -Nrcpad gcc-15-20251206/gcc/testsuite/lib/target-supports.exp gcc-15-20251213/gcc/testsuite/lib/target-supports.exp
*** gcc-15-20251206/gcc/testsuite/lib/target-supports.exp	Sat Dec  6 22:32:13 2025
--- gcc-15-20251213/gcc/testsuite/lib/target-supports.exp	Sat Dec 13 22:32:14 2025
*************** proc check_effective_target_speculation_
*** 14416,14418 ****
--- 14416,14426 ----
  	    }
  	}]
  }
+ 
+ # Check if valgrind executable exists in PATH on host
+ proc check_effective_target_valgrind { } {
+     if { [which valgrind] != 0 } {
+         return 1
+     }
+     return 0
+ }
diff -Nrcpad gcc-15-20251206/gcc/tree-switch-conversion.cc gcc-15-20251213/gcc/tree-switch-conversion.cc
*** gcc-15-20251206/gcc/tree-switch-conversion.cc	Sat Dec  6 22:32:13 2025
--- gcc-15-20251213/gcc/tree-switch-conversion.cc	Sat Dec 13 22:32:15 2025
*************** void
*** 1060,1066 ****
  switch_conversion::build_arrays ()
  {
    tree arr_index_type;
!   tree tidx, sub, utype, tidxtype;
    gimple *stmt;
    gimple_stmt_iterator gsi;
    gphi_iterator gpi;
--- 1060,1066 ----
  switch_conversion::build_arrays ()
  {
    tree arr_index_type;
!   tree tidx, uidx, sub, utype, tidxtype;
    gimple *stmt;
    gimple_stmt_iterator gsi;
    gphi_iterator gpi;
*************** switch_conversion::build_arrays ()
*** 1085,1103 ****
      tidxtype = utype;
  
    arr_index_type = build_index_type (m_range_size);
!   tidx = make_ssa_name (tidxtype);
    sub = fold_build2_loc (loc, MINUS_EXPR, utype,
  			 fold_convert_loc (loc, utype, m_index_expr),
  			 fold_convert_loc (loc, utype, m_range_min));
-   sub = fold_convert (tidxtype, sub);
    sub = force_gimple_operand_gsi (&gsi, sub,
  				  false, NULL, true, GSI_SAME_STMT);
!   stmt = gimple_build_assign (tidx, sub);
  
    gsi_insert_before (&gsi, stmt, GSI_SAME_STMT);
-   update_stmt (stmt);
    m_arr_ref_first = stmt;
  
    for (gpi = gsi_start_phis (m_final_bb), i = 0;
         !gsi_end_p (gpi); gsi_next (&gpi))
      {
--- 1085,1109 ----
      tidxtype = utype;
  
    arr_index_type = build_index_type (m_range_size);
!   uidx = make_ssa_name (utype);
    sub = fold_build2_loc (loc, MINUS_EXPR, utype,
  			 fold_convert_loc (loc, utype, m_index_expr),
  			 fold_convert_loc (loc, utype, m_range_min));
    sub = force_gimple_operand_gsi (&gsi, sub,
  				  false, NULL, true, GSI_SAME_STMT);
!   stmt = gimple_build_assign (uidx, sub);
  
    gsi_insert_before (&gsi, stmt, GSI_SAME_STMT);
    m_arr_ref_first = stmt;
  
+   tidx = uidx;
+   if (tidxtype != utype)
+     {
+       tidx = make_ssa_name (tidxtype);
+       stmt = gimple_build_assign (tidx, NOP_EXPR, uidx);
+       gsi_insert_before (&gsi, stmt, GSI_SAME_STMT);
+     }
+ 
    for (gpi = gsi_start_phis (m_final_bb), i = 0;
         !gsi_end_p (gpi); gsi_next (&gpi))
      {
diff -Nrcpad gcc-15-20251206/libcody/ChangeLog gcc-15-20251213/libcody/ChangeLog
*** gcc-15-20251206/libcody/ChangeLog	Sat Dec  6 22:32:13 2025
--- gcc-15-20251213/libcody/ChangeLog	Sat Dec 13 22:32:15 2025
***************
*** 1,3 ****
--- 1,20 ----
+ 2025-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-11-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cody.hh (S2C): For __cpp_char8_t >= 201811 use char8_t instead of
+ 	char in argument type.
+ 	(MessageBuffer::Space): Revert 2025-11-15 change.
+ 	(MessageBuffer::Append): For __cpp_char8_t >= 201811 add overload
+ 	with char8_t const * type of first argument.
+ 	(Packet::Packet): Similarly for first argument.
+ 	* client.cc (CommunicationError, Client::ProcessResponse,
+ 	Client::Connect, ConnectResponse, PathnameResponse, OKResponse,
+ 	IncludeTranslateResponse): Cast u8 string literals to (const char *)
+ 	where needed.
+ 	* server.cc (Server::ProcessRequests, ConnectRequest): Likewise.
+ 
  2025-08-08  Release Manager
  
  	* GCC 15.2.0 released.
diff -Nrcpad gcc-15-20251206/libcody/client.cc gcc-15-20251213/libcody/client.cc
*** gcc-15-20251206/libcody/client.cc	Sat Dec  6 22:32:13 2025
--- gcc-15-20251213/libcody/client.cc	Sat Dec 13 22:32:15 2025
*************** int Client::CommunicateWithServer ()
*** 97,103 ****
  
  static Packet CommunicationError (int err)
  {
!   std::string e {u8"communication error:"};
    e.append (strerror (err));
  
    return Packet (Client::PC_ERROR, std::move (e));
--- 97,103 ----
  
  static Packet CommunicationError (int err)
  {
!   std::string e {(const char *) u8"communication error:"};
    e.append (strerror (err));
  
    return Packet (Client::PC_ERROR, std::move (e));
*************** Packet Client::ProcessResponse (std::vec
*** 110,142 ****
      {
        if (e == EINVAL)
  	{
! 	  std::string msg (u8"malformed string '");
  	  msg.append (words[0]);
! 	  msg.append (u8"'");
  	  return Packet (Client::PC_ERROR, std::move (msg));
  	}
        else
! 	return Packet (Client::PC_ERROR, u8"missing response");
      }
  
    Assert (!words.empty ());
!   if (words[0] == u8"ERROR")
      return Packet (Client::PC_ERROR,
! 		   words.size () == 2 ? words[1]: u8"malformed error response");
  
    if (isLast && !read.IsAtEnd ())
      return Packet (Client::PC_ERROR,
! 		   std::string (u8"unexpected extra response"));
  
    Assert (code < Detail::RC_HWM);
    Packet result (responseTable[code] (words));
    result.SetRequest (code);
    if (result.GetCode () == Client::PC_ERROR && result.GetString ().empty ())
      {
!       std::string msg {u8"malformed response '"};
  
        read.LexedLine (msg);
!       msg.append (u8"'");
        result.GetString () = std::move (msg);
      }
    else if (result.GetCode () == Client::PC_CONNECT)
--- 110,143 ----
      {
        if (e == EINVAL)
  	{
! 	  std::string msg ((const char *) u8"malformed string '");
  	  msg.append (words[0]);
! 	  msg.append ((const char *) u8"'");
  	  return Packet (Client::PC_ERROR, std::move (msg));
  	}
        else
! 	return Packet (Client::PC_ERROR, (const char *) u8"missing response");
      }
  
    Assert (!words.empty ());
!   if (words[0] == (const char *) u8"ERROR")
      return Packet (Client::PC_ERROR,
! 		   words.size () == 2 ? words[1]
! 		   : (const char *) u8"malformed error response");
  
    if (isLast && !read.IsAtEnd ())
      return Packet (Client::PC_ERROR,
! 		   std::string ((const char *) u8"unexpected extra response"));
  
    Assert (code < Detail::RC_HWM);
    Packet result (responseTable[code] (words));
    result.SetRequest (code);
    if (result.GetCode () == Client::PC_ERROR && result.GetString ().empty ())
      {
!       std::string msg {(const char *) u8"malformed response '"};
  
        read.LexedLine (msg);
!       msg.append ((const char *) u8"'");
        result.GetString () = std::move (msg);
      }
    else if (result.GetCode () == Client::PC_CONNECT)
*************** Packet Client::Connect (char const *agen
*** 199,205 ****
  			  size_t alen, size_t ilen)
  {
    write.BeginLine ();
!   write.AppendWord (u8"HELLO");
    write.AppendInteger (Version);
    write.AppendWord (agent, true, alen);
    write.AppendWord (ident, true, ilen);
--- 200,206 ----
  			  size_t alen, size_t ilen)
  {
    write.BeginLine ();
!   write.AppendWord ((const char *) u8"HELLO");
    write.AppendInteger (Version);
    write.AppendWord (agent, true, alen);
    write.AppendWord (ident, true, ilen);
*************** Packet Client::Connect (char const *agen
*** 211,217 ****
  // HELLO $version $agent [$flags]
  Packet ConnectResponse (std::vector<std::string> &words)
  {
!   if (words[0] == u8"HELLO" && (words.size () == 3 || words.size () == 4))
      {
        char *eptr;
        unsigned long val = strtoul (words[1].c_str (), &eptr, 10);
--- 212,219 ----
  // HELLO $version $agent [$flags]
  Packet ConnectResponse (std::vector<std::string> &words)
  {
!   if (words[0] == (const char *) u8"HELLO"
!       && (words.size () == 3 || words.size () == 4))
      {
        char *eptr;
        unsigned long val = strtoul (words[1].c_str (), &eptr, 10);
*************** Packet Client::ModuleRepo ()
*** 247,253 ****
  // PATHNAME $dir | ERROR
  Packet PathnameResponse (std::vector<std::string> &words)
  {
!   if (words[0] == u8"PATHNAME" && words.size () == 2)
      return Packet (Client::PC_PATHNAME, std::move (words[1]));
  
    return Packet (Client::PC_ERROR, u8"");
--- 249,255 ----
  // PATHNAME $dir | ERROR
  Packet PathnameResponse (std::vector<std::string> &words)
  {
!   if (words[0] == (const char *) u8"PATHNAME" && words.size () == 2)
      return Packet (Client::PC_PATHNAME, std::move (words[1]));
  
    return Packet (Client::PC_ERROR, u8"");
*************** Packet PathnameResponse (std::vector<std
*** 256,262 ****
  // OK or ERROR
  Packet OKResponse (std::vector<std::string> &words)
  {
!   if (words[0] == u8"OK")
      return Packet (Client::PC_OK);
    else
      return Packet (Client::PC_ERROR,
--- 258,264 ----
  // OK or ERROR
  Packet OKResponse (std::vector<std::string> &words)
  {
!   if (words[0] == (const char *) u8"OK")
      return Packet (Client::PC_OK);
    else
      return Packet (Client::PC_ERROR,
*************** Packet Client::IncludeTranslate (char co
*** 319,329 ****
  // PATHNAME $cmifile
  Packet IncludeTranslateResponse (std::vector<std::string> &words)
  {
!   if (words[0] == u8"BOOL" && words.size () == 2)
      {
!       if (words[1] == u8"FALSE")
! 	return Packet (Client::PC_BOOL, 0);
!       else if (words[1] == u8"TRUE")
  	return Packet (Client::PC_BOOL, 1);
        else
  	return Packet (Client::PC_ERROR, u8"");
--- 321,331 ----
  // PATHNAME $cmifile
  Packet IncludeTranslateResponse (std::vector<std::string> &words)
  {
!   if (words[0] == (const char *) u8"BOOL" && words.size () == 2)
      {
!       if (words[1] == (const char *) u8"FALSE")
! 	return Packet (Client::PC_BOOL);
!       else if (words[1] == (const char *) u8"TRUE")
  	return Packet (Client::PC_BOOL, 1);
        else
  	return Packet (Client::PC_ERROR, u8"");
diff -Nrcpad gcc-15-20251206/libcody/cody.hh gcc-15-20251213/libcody/cody.hh
*** gcc-15-20251206/libcody/cody.hh	Sat Dec  6 22:32:13 2025
--- gcc-15-20251213/libcody/cody.hh	Sat Dec 13 22:32:15 2025
*************** namespace Detail  {
*** 47,58 ****
--- 47,67 ----
  
  // C++11 doesn't have utf8 character literals :(
  
+ #if __cpp_char8_t >= 201811
+ template<unsigned I>
+ constexpr char S2C (char8_t const (&s)[I])
+ {
+   static_assert (I == 2, "only single octet strings may be converted");
+   return s[0];
+ }
+ #else
  template<unsigned I>
  constexpr char S2C (char const (&s)[I])
  {
    static_assert (I == 2, "only single octet strings may be converted");
    return s[0];
  }
+ #endif
  
  /// Internal buffering class.  Used to concatenate outgoing messages
  /// and Lex incoming ones.
*************** public:
*** 123,128 ****
--- 132,144 ----
        Space ();
      Append (str, maybe_quote, len);
    }
+ #if __cpp_char8_t >= 201811
+   void AppendWord (char8_t const *str, bool maybe_quote = false,
+ 		   size_t len = ~size_t (0))
+   {
+     AppendWord ((const char *) str, maybe_quote, len);
+   }
+ #endif
    /// Add a word as with AppendWord
    /// @param str the string to append
    /// @param maybe_quote string might need quoting, as for Append
*************** public:
*** 264,269 ****
--- 280,291 ----
      : string (s), cat (STRING), code (c)
    {
    }
+ #if __cpp_char8_t >= 201811
+   Packet (unsigned c, const char8_t *s)
+     : string ((const char *) s), cat (STRING), code (c)
+   {
+   }
+ #endif
    Packet (unsigned c, std::vector<std::string> &&v)
      : vector (std::move (v)), cat (VECTOR), code (c)
    {
diff -Nrcpad gcc-15-20251206/libcody/server.cc gcc-15-20251213/libcody/server.cc
*** gcc-15-20251206/libcody/server.cc	Sat Dec  6 22:32:13 2025
--- gcc-15-20251213/libcody/server.cc	Sat Dec 13 22:32:15 2025
*************** static RequestPair
*** 36,47 ****
    const requestTable[Detail::RC_HWM] =
    {
      // Same order as enum RequestCode
!     RequestPair {u8"HELLO", nullptr},
!     RequestPair {u8"MODULE-REPO", ModuleRepoRequest},
!     RequestPair {u8"MODULE-EXPORT", ModuleExportRequest},
!     RequestPair {u8"MODULE-IMPORT", ModuleImportRequest},
!     RequestPair {u8"MODULE-COMPILED", ModuleCompiledRequest},
!     RequestPair {u8"INCLUDE-TRANSLATE", IncludeTranslateRequest},
    };
  }
  
--- 36,47 ----
    const requestTable[Detail::RC_HWM] =
    {
      // Same order as enum RequestCode
!     RequestPair {(const char *) u8"HELLO", nullptr},
!     RequestPair {(const char *) u8"MODULE-REPO", ModuleRepoRequest},
!     RequestPair {(const char *) u8"MODULE-EXPORT", ModuleExportRequest},
!     RequestPair {(const char *) u8"MODULE-IMPORT", ModuleImportRequest},
!     RequestPair {(const char *) u8"MODULE-COMPILED", ModuleCompiledRequest},
!     RequestPair {(const char *) u8"INCLUDE-TRANSLATE", IncludeTranslateRequest},
    };
  }
  
*************** void Server::ProcessRequests (void)
*** 135,155 ****
  	  std::string msg;
  
  	  if (err > 0)
! 	    msg = u8"error processing '";
  	  else if (ix >= Detail::RC_HWM)
! 	    msg = u8"unrecognized '";
  	  else if (IsConnected () && ix == Detail::RC_CONNECT)
! 	    msg = u8"already connected '";
  	  else if (!IsConnected () && ix != Detail::RC_CONNECT)
! 	    msg = u8"not connected '";
  	  else
! 	    msg = u8"malformed '";
  
  	  read.LexedLine (msg);
! 	  msg.append (u8"'");
  	  if (err > 0)
  	    {
! 	      msg.append (u8" ");
  	      msg.append (strerror (err));
  	    }
  	  resolver->ErrorResponse (this, std::move (msg));
--- 135,155 ----
  	  std::string msg;
  
  	  if (err > 0)
! 	    msg = (const char *) u8"error processing '";
  	  else if (ix >= Detail::RC_HWM)
! 	    msg = (const char *) u8"unrecognized '";
  	  else if (IsConnected () && ix == Detail::RC_CONNECT)
! 	    msg = (const char *) u8"already connected '";
  	  else if (!IsConnected () && ix != Detail::RC_CONNECT)
! 	    msg = (const char *) u8"not connected '";
  	  else
! 	    msg = (const char *) u8"malformed '";
  
  	  read.LexedLine (msg);
! 	  msg.append ((const char *) u8"'");
  	  if (err > 0)
  	    {
! 	      msg.append ((const char *) u8" ");
  	      msg.append (strerror (err));
  	    }
  	  resolver->ErrorResponse (this, std::move (msg));
*************** Resolver *ConnectRequest (Server *s, Res
*** 176,182 ****
      return nullptr;
  
    if (words.size () == 3)
!     words.emplace_back (u8"");
    unsigned version = ParseUnsigned (words[1]);
    if (version == ~0u)
      return nullptr;
--- 176,182 ----
      return nullptr;
  
    if (words.size () == 3)
!     words.emplace_back ((const char *) u8"");
    unsigned version = ParseUnsigned (words[1]);
    if (version == ~0u)
      return nullptr;
diff -Nrcpad gcc-15-20251206/libgomp/ChangeLog gcc-15-20251213/libgomp/ChangeLog
*** gcc-15-20251206/libgomp/ChangeLog	Sat Dec  6 22:32:14 2025
--- gcc-15-20251213/libgomp/ChangeLog	Sat Dec 13 22:32:16 2025
***************
*** 1,3 ****
--- 1,10 ----
+ 2025-12-11  Frank Scheiner  <frank.scheiner@web.de>
+ 
+ 	Backported from master:
+ 	2025-11-25  Frank Scheiner  <frank.scheiner@web.de>
+ 
+ 	* affinity-fmt.c: Make char *q a pointer to a const char.
+ 
  2025-09-25  Tobias Burnus  <tburnus@baylibre.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20251206/libgomp/affinity-fmt.c gcc-15-20251213/libgomp/affinity-fmt.c
*** gcc-15-20251206/libgomp/affinity-fmt.c	Sat Dec  6 22:32:14 2025
--- gcc-15-20251213/libgomp/affinity-fmt.c	Sat Dec 13 22:32:16 2025
*************** gomp_display_affinity (char *buffer, siz
*** 327,333 ****
  	      }
  	  if (c == '{')
  	    {
! 	      char *q = strchr (p + 1, '}');
  	      if (q)
  		gomp_fatal ("unsupported long type name '%.*s' in affinity "
  			    "format", (int) (q - (p + 1)), p + 1);
--- 327,333 ----
  	      }
  	  if (c == '{')
  	    {
! 	      const char *q = strchr (p + 1, '}');
  	      if (q)
  		gomp_fatal ("unsupported long type name '%.*s' in affinity "
  			    "format", (int) (q - (p + 1)), p + 1);
