diff -Nrcpad gcc-13-20260409/LAST_UPDATED gcc-13-20260416/LAST_UPDATED
*** gcc-13-20260409/LAST_UPDATED	Thu Apr  9 22:32:24 2026
--- gcc-13-20260416/LAST_UPDATED	Thu Apr 16 22:32:17 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-13 revision 0cc1f282d5bc63745cb3b873c532c2e6d0aa25bf
--- 1 ----
! Obtained from git: releases/gcc-13 revision d94d9df139735113b84e406ec32e6fd79478ee64
diff -Nrcpad gcc-13-20260409/MD5SUMS gcc-13-20260416/MD5SUMS
*** gcc-13-20260409/MD5SUMS	Thu Apr  9 22:32:27 2026
--- gcc-13-20260416/MD5SUMS	Thu Apr 16 22:32:21 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-13-20260409.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-13-20260416.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
*** 21,27 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! ece85701d923430ba96b45041b0d196c  LAST_UPDATED
  81b3330d422f3ce1ef8b720dfae35068  MAINTAINERS
  2b61ddbd876fa839639a7ca551773426  Makefile.def
  5d2d6a74f897f8158d37f5f2ec6877ce  Makefile.in
--- 21,27 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 03dbd5e61aba94b5aab8385162694387  LAST_UPDATED
  81b3330d422f3ce1ef8b720dfae35068  MAINTAINERS
  2b61ddbd876fa839639a7ca551773426  Makefile.def
  5d2d6a74f897f8158d37f5f2ec6877ce  Makefile.in
*************** a22e70b3f29292d0e628450f4bb11e62  fixinc
*** 475,481 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! c3e67959b0189a7f2a4f551d568bdd63  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 475,481 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! b785ebf76b099a7bd61a3f2461f6c32c  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 510,516 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 5ae525a6b9775dcc50fc1f45cae1541b  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 510,516 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 2ba59451734e264203d489e34ebb2753  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ec6799501b2eb2923d5de6a66169dbd2  gcc/ON
*** 522,528 ****
  f6d47a542d432aed7e7eaaecb71d3a4c  gcc/acinclude.m4
  6526979dd900a0b58b7691b478a91fec  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! 6578df061c92a872db42b115099284da  gcc/ada/ChangeLog
  683be0b07dc4f64f118fd5e8ae9cb30d  gcc/ada/ChangeLog-2001
  7aff25efb203be4136b8776cdc812956  gcc/ada/ChangeLog-2002
  cd2379152000f40157d349018fb9364d  gcc/ada/ChangeLog-2003
--- 522,528 ----
  f6d47a542d432aed7e7eaaecb71d3a4c  gcc/acinclude.m4
  6526979dd900a0b58b7691b478a91fec  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! 8c8e66673dd995bed123e31eaaac5c6c  gcc/ada/ChangeLog
  683be0b07dc4f64f118fd5e8ae9cb30d  gcc/ada/ChangeLog-2001
  7aff25efb203be4136b8776cdc812956  gcc/ada/ChangeLog-2002
  cd2379152000f40157d349018fb9364d  gcc/ada/ChangeLog-2003
*************** d39da956525e9f73cd14e6bd796fd267  gcc/ad
*** 557,563 ****
  6b271163709fbc06df6ef8a7fd1c13da  gcc/ada/adabkend.ads
  a9e8e57440f10ce2ff3fbe5984b1c56c  gcc/ada/adadecode.c
  5933c19a89a051b38aa7a6e4716f502c  gcc/ada/adadecode.h
! 18bb16ad13ce57c6f4e8ca399648f1d6  gcc/ada/adaint.c
  6276ae5d40f1552dee393838e562b00b  gcc/ada/adaint.h
  6fb46a612b1053603893b4c055a97bde  gcc/ada/affinity.c
  4482e2fcea81b8826350b4f00907a278  gcc/ada/ali-util.adb
--- 557,563 ----
  6b271163709fbc06df6ef8a7fd1c13da  gcc/ada/adabkend.ads
  a9e8e57440f10ce2ff3fbe5984b1c56c  gcc/ada/adadecode.c
  5933c19a89a051b38aa7a6e4716f502c  gcc/ada/adadecode.h
! aa76838ad4f792edf5f7fafce67b0e2d  gcc/ada/adaint.c
  6276ae5d40f1552dee393838e562b00b  gcc/ada/adaint.h
  6fb46a612b1053603893b4c055a97bde  gcc/ada/affinity.c
  4482e2fcea81b8826350b4f00907a278  gcc/ada/ali-util.adb
*************** a66f3c594c6fc329800e3fb836fdfd26  gcc/co
*** 3430,3436 ****
  5a144b12347f9e5cd1b3b8c2fcf8a8a3  gcc/config/arm/arm-tune.md
  927c45a49457470411085e1f0908f8d9  gcc/config/arm/arm.cc
  c14964f7e41f42d7c9bf3b5b0b556ebf  gcc/config/arm/arm.h
! 4b623b84f69c0f93d1212fd10edf4ab5  gcc/config/arm/arm.md
  cf127021475a9bc9dca6dabb24611b52  gcc/config/arm/arm.opt
  ae0d6a7918a07a46e029c0586ebfd584  gcc/config/arm/arm1020e.md
  411234d30435fe643f2aea88d2a73e8c  gcc/config/arm/arm1026ejs.md
--- 3430,3436 ----
  5a144b12347f9e5cd1b3b8c2fcf8a8a3  gcc/config/arm/arm-tune.md
  927c45a49457470411085e1f0908f8d9  gcc/config/arm/arm.cc
  c14964f7e41f42d7c9bf3b5b0b556ebf  gcc/config/arm/arm.h
! 4fd6af776ffd8c0bdd28db011577bdc9  gcc/config/arm/arm.md
  cf127021475a9bc9dca6dabb24611b52  gcc/config/arm/arm.opt
  ae0d6a7918a07a46e029c0586ebfd584  gcc/config/arm/arm1020e.md
  411234d30435fe643f2aea88d2a73e8c  gcc/config/arm/arm1026ejs.md
*************** c2dbf831f4bbc53553765214d1b2d674  gcc/fl
*** 5576,5582 ****
  46538296abcbd26df93f276f5974ec0f  gcc/fold-const-call.h
  e091b0ed4e31525d6d685d5e6f7a7fa0  gcc/fold-const.cc
  9dd2c87502c864095a8b942bea07b5f3  gcc/fold-const.h
! a14482bd0ed0319ba4c970bc2e77c4e1  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
--- 5576,5582 ----
  46538296abcbd26df93f276f5974ec0f  gcc/fold-const-call.h
  e091b0ed4e31525d6d685d5e6f7a7fa0  gcc/fold-const.cc
  9dd2c87502c864095a8b942bea07b5f3  gcc/fold-const.h
! 9bf2fb0397f40ecc8371b757d74498d8  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
*************** a91d0fda9651b722ffd4fb160f95378a  gcc/fo
*** 5648,5658 ****
  c33036651adba2e736f64129207c7d23  gcc/fortran/module.cc
  c310fb2cf5f2bb20fbf7f911e7a5b2cc  gcc/fortran/openmp.cc
  47d8fa5113c1f84c750b8fa73bbc5cfa  gcc/fortran/options.cc
! 05417d717e262d61c78b736bc93c703d  gcc/fortran/parse.cc
  b07d21325e9bf64201a6131a3dacb9e2  gcc/fortran/parse.h
! 1f61601d93e03a871f0903165ed660ad  gcc/fortran/primary.cc
  209042c6f306fb2591745a1d48a78c8f  gcc/fortran/resolve.cc
! 4c64219f591caa92c353a8d113120d87  gcc/fortran/scanner.cc
  0ea05c5f1f9c27f26a76525f5eed9380  gcc/fortran/scanner.h
  d7be9766180ba9d84c17fe538c02907f  gcc/fortran/simplify.cc
  72519934fee840610460010d9b5e0503  gcc/fortran/st.cc
--- 5648,5658 ----
  c33036651adba2e736f64129207c7d23  gcc/fortran/module.cc
  c310fb2cf5f2bb20fbf7f911e7a5b2cc  gcc/fortran/openmp.cc
  47d8fa5113c1f84c750b8fa73bbc5cfa  gcc/fortran/options.cc
! c0c3bcf7a95794a179458f5f74c2d450  gcc/fortran/parse.cc
  b07d21325e9bf64201a6131a3dacb9e2  gcc/fortran/parse.h
! fa3d24a84a707b741a631f3c9eac180f  gcc/fortran/primary.cc
  209042c6f306fb2591745a1d48a78c8f  gcc/fortran/resolve.cc
! f1620f6af6f4d226dd7e0ee858f8bd10  gcc/fortran/scanner.cc
  0ea05c5f1f9c27f26a76525f5eed9380  gcc/fortran/scanner.h
  d7be9766180ba9d84c17fe538c02907f  gcc/fortran/simplify.cc
  72519934fee840610460010d9b5e0503  gcc/fortran/st.cc
*************** b829ed0032c899e107be2db349c913f3  gcc/ta
*** 7637,7643 ****
  811da275a2b9d3186a6decf96c01b0ed  gcc/targhooks.cc
  edb193a32070c4a7626fb75382def9b9  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 2dbd24a9936e098bea5dd38ea56180b6  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 7637,7643 ----
  811da275a2b9d3186a6decf96c01b0ed  gcc/targhooks.cc
  edb193a32070c4a7626fb75382def9b9  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 41a116d903855c488615619801b30174  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** ca03d4215dfd4e98fc1d17e6890fcc4a  gcc/te
*** 63415,63420 ****
--- 63415,63421 ----
  2f719adc3f3e3724629a17daf9bb2e71  gcc/testsuite/gcc.target/arm/pr100775.c
  b78ed4b32814a22ad0cf1f46aee89cc8  gcc/testsuite/gcc.target/arm/pr105312.c
  d59d090be25d48a18820542cf3abe1eb  gcc/testsuite/gcc.target/arm/pr109939.c
+ 82da20b2c4061a368f405dbeb1cdb341  gcc/testsuite/gcc.target/arm/pr123271.c
  03b84ccc5b909e6ece59f619e9298211  gcc/testsuite/gcc.target/arm/pr19599.c
  3425143e88f989a8f52f345e6237106a  gcc/testsuite/gcc.target/arm/pr26702.c
  fc0dd660f56108005b4f0b142e94d10d  gcc/testsuite/gcc.target/arm/pr37780_1.c
*************** c03d85028dd31582bfd3d1f8ca418aa3  gcc/te
*** 87291,87296 ****
--- 87292,87298 ----
  a003f13028702fcf73483db6234e657a  gcc/testsuite/gfortran.dg/goacc/nested-reductions-2-parallel.f90
  dc0ed8100589e01d391b4954bad7b048  gcc/testsuite/gfortran.dg/goacc/nested-reductions-2-routine.f90
  f8fe06410fd4ca50e585e681d35f4482  gcc/testsuite/gfortran.dg/goacc/note-parallelism.f90
+ 8f7b26e930f121be0c4ee68193d7adf3  gcc/testsuite/gfortran.dg/goacc/omp-108382.f90
  44c6212e07bf6b44bd6d26e3224f93d7  gcc/testsuite/gfortran.dg/goacc/omp-fixed.f
  0d004a9c292993dcae37ce3958b7e212  gcc/testsuite/gfortran.dg/goacc/omp.f95
  30617b4201e681ce9fc02f97597b907d  gcc/testsuite/gfortran.dg/goacc/orphan-reductions-1.f90
*************** a5234963084d71f3cbff36fdddbc2a39  gcc/te
*** 90326,90331 ****
--- 90328,90334 ----
  662210e69dcf405442181d9c4c2a91ec  gcc/testsuite/gfortran.dg/pr95827.f90
  62cd2c3c38efcf3442a00b172c23a0f1  gcc/testsuite/gfortran.dg/pr95828.f90
  f2cfdbd57b646ea77c8d2d572b0b4a79  gcc/testsuite/gfortran.dg/pr95829.f90
+ 153dd2ab3bb579bad81f3ed62e079ff2  gcc/testsuite/gfortran.dg/pr95879.f90
  4624ef21d27373ca19abedc766bf24c8  gcc/testsuite/gfortran.dg/pr95880.f90
  5f79fc5c2f7a030ad1b82b4793b0c8a7  gcc/testsuite/gfortran.dg/pr95881.f90
  5f9a08444201a18392648013e972a14a  gcc/testsuite/gfortran.dg/pr95882_1.f90
diff -Nrcpad gcc-13-20260409/gcc/ChangeLog gcc-13-20260416/gcc/ChangeLog
*** gcc-13-20260409/gcc/ChangeLog	Thu Apr  9 22:32:08 2026
--- gcc-13-20260416/gcc/ChangeLog	Thu Apr 16 22:32:04 2026
***************
*** 1,3 ****
--- 1,52 ----
+ 2026-04-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	Backported from master:
+ 	2026-03-11  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/123271
+ 	* config/arm/arm.md (subvsi3_intmin): Renamed to ...
+ 	(sub_cmpVsi3_intmin): ... this.
+ 	(subvsi3): Renamed to ...
+ 	(sub_cmpVsi3): ... this.
+ 	(subvsi3_imm1): Renamed to ...
+ 	(sub_cmpVsi3_imm1): ... this.
+ 	(usubvsi3_borrow): Renamed to ...
+ 	(usub_cmpVsi3_borrow): ... this.
+ 	(usubvsi3_borrow_imm): Renamed to ...
+ 	(usub_cmpVsi3_borrow_imm): ... this.
+ 	(subvsi3_borrow): Renamed to ...
+ 	(sub_cmpVsi3_borrow): ... this.
+ 	(subvsi3_borrow_imm): Renamed to ...
+ 	(sub_cmpVsi3_borrow_imm): ... this.
+ 
+ 2026-04-09  Richard Biener  <rguenther@suse.de>
+ 
+ 	Revert:
+ 	2026-03-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR ipa/116296
+ 	* ipa-modref-tree.cc (modref_access_node::contains): Use
+ 	poly_offset_int for the param offset difference and the
+ 	overlap computation.
+ 
+ 2026-04-09  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	Backported from master:
+ 	2026-04-09  Andrew Pinski  <quic_apinski@quicinc.com>
+ 
+ 	PR target/117771
+ 	PR c/124830
+ 	* system.h: Move the include of sstream and memory above safe-ctype.h.
+ 
+ 2026-04-09  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	Backported from master:
+ 	2026-04-09  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	PR target/105192
+ 	* ifcvt.cc (find_if_header): Don't attempt to use ctrap expander
+ 	after reload.
+ 
  2026-03-31  Eric Botcazou  <ebotcazou@adacore.com>
  
  	* tree-ssa-dse.cc (compute_trims): Bail out if ref->size is not
diff -Nrcpad gcc-13-20260409/gcc/DATESTAMP gcc-13-20260416/gcc/DATESTAMP
*** gcc-13-20260409/gcc/DATESTAMP	Thu Apr  9 22:32:08 2026
--- gcc-13-20260416/gcc/DATESTAMP	Thu Apr 16 22:32:05 2026
***************
*** 1 ****
! 20260409
--- 1 ----
! 20260416
diff -Nrcpad gcc-13-20260409/gcc/ada/ChangeLog gcc-13-20260416/gcc/ada/ChangeLog
*** gcc-13-20260409/gcc/ada/ChangeLog	Thu Apr  9 22:32:08 2026
--- gcc-13-20260416/gcc/ada/ChangeLog	Thu Apr 16 22:32:05 2026
***************
*** 1,3 ****
--- 1,9 ----
+ 2026-04-12  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/124836
+ 	* adaint.c [__MINGW32__]: Do not include mingw32.h twice, and also
+ 	include sys/param.h.
+ 
  2026-03-23  Eric Botcazou  <ebotcazou@adacore.com>
  
  	PR ada/124607
diff -Nrcpad gcc-13-20260409/gcc/ada/adaint.c gcc-13-20260416/gcc/ada/adaint.c
*** gcc-13-20260409/gcc/ada/adaint.c	Thu Apr  9 22:32:09 2026
--- gcc-13-20260416/gcc/ada/adaint.c	Thu Apr 16 22:32:05 2026
*************** const char *__gnat_library_template = GN
*** 333,343 ****
  
  #else
  
- #if defined (__MINGW32__)
- #include "mingw32.h"
- #else
  #include <sys/param.h>
- #endif
  
  #ifdef MAXPATHLEN
  #define GNAT_MAX_PATH_LEN MAXPATHLEN
--- 333,339 ----
diff -Nrcpad gcc-13-20260409/gcc/config/arm/arm.md gcc-13-20260416/gcc/config/arm/arm.md
*** gcc-13-20260409/gcc/config/arm/arm.md	Thu Apr  9 22:32:09 2026
--- gcc-13-20260416/gcc/config/arm/arm.md	Thu Apr 16 22:32:05 2026
***************
*** 998,1004 ****
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "subvsi3_intmin"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	  (plus:DI
--- 998,1004 ----
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "sub_cmpVsi3_intmin"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	  (plus:DI
***************
*** 1418,1432 ****
        operands[2] = GEN_INT (-INTVAL (operands[2]));
        /* Special case for INT_MIN.  */
        if (INTVAL (operands[2]) == 0x80000000)
! 	emit_insn (gen_subvsi3_intmin (operands[0], operands[1]));
        else
  	emit_insn (gen_addsi3_compareV_imm (operands[0], operands[1],
! 					  operands[2]));
      }
    else if (CONST_INT_P (operands[1]))
!     emit_insn (gen_subvsi3_imm1 (operands[0], operands[1], operands[2]));
    else
!     emit_insn (gen_subvsi3 (operands[0], operands[1], operands[2]));
  
    arm_gen_unlikely_cbranch (NE, CC_Vmode, operands[3]);
    DONE;
--- 1418,1432 ----
        operands[2] = GEN_INT (-INTVAL (operands[2]));
        /* Special case for INT_MIN.  */
        if (INTVAL (operands[2]) == 0x80000000)
! 	emit_insn (gen_sub_cmpVsi3_intmin (operands[0], operands[1]));
        else
  	emit_insn (gen_addsi3_compareV_imm (operands[0], operands[1],
! 					    operands[2]));
      }
    else if (CONST_INT_P (operands[1]))
!     emit_insn (gen_sub_cmpVsi3_imm1 (operands[0], operands[1], operands[2]));
    else
!     emit_insn (gen_sub_cmpVsi3 (operands[0], operands[1], operands[2]));
  
    arm_gen_unlikely_cbranch (NE, CC_Vmode, operands[3]);
    DONE;
***************
*** 1499,1512 ****
      hi_op2 = force_reg (SImode, hi_op2);
    rtx ccreg = gen_rtx_REG (mode, CC_REGNUM);
    if (CONST_INT_P (hi_op2))
!     emit_insn (gen_subvsi3_borrow_imm (hi_result, hi_op1, hi_op2,
  				       gen_rtx_LTU (SImode, ccreg, const0_rtx),
  				       gen_rtx_LTU (DImode, ccreg,
  						    const0_rtx)));
-   else
-     emit_insn (gen_subvsi3_borrow (hi_result, hi_op1, hi_op2,
- 				   gen_rtx_LTU (SImode, ccreg, const0_rtx),
- 				   gen_rtx_LTU (DImode, ccreg, const0_rtx)));
    arm_gen_unlikely_cbranch (NE, CC_Vmode, operands[3]);
  
    DONE;
--- 1499,1514 ----
      hi_op2 = force_reg (SImode, hi_op2);
    rtx ccreg = gen_rtx_REG (mode, CC_REGNUM);
    if (CONST_INT_P (hi_op2))
!     emit_insn (gen_sub_cmpVsi3_borrow_imm (hi_result, hi_op1, hi_op2,
! 					   gen_rtx_LTU (SImode, ccreg,
! 							const0_rtx),
! 					   gen_rtx_LTU (DImode, ccreg,
! 							const0_rtx)));
!   else
!     emit_insn (gen_sub_cmpVsi3_borrow (hi_result, hi_op1, hi_op2,
  				       gen_rtx_LTU (SImode, ccreg, const0_rtx),
  				       gen_rtx_LTU (DImode, ccreg,
  						    const0_rtx)));
    arm_gen_unlikely_cbranch (NE, CC_Vmode, operands[3]);
  
    DONE;
***************
*** 1616,1630 ****
      hi_op2 = force_reg (SImode, hi_op2);
    rtx ccreg = gen_rtx_REG (mode, CC_REGNUM);
    if (CONST_INT_P (hi_op2))
!     emit_insn (gen_usubvsi3_borrow_imm (hi_result, hi_op1, hi_op2,
! 					GEN_INT (UINTVAL (hi_op2) & 0xffffffff),
  					gen_rtx_LTU (SImode, ccreg, const0_rtx),
  					gen_rtx_LTU (DImode, ccreg,
  						     const0_rtx)));
-   else
-     emit_insn (gen_usubvsi3_borrow (hi_result, hi_op1, hi_op2,
- 				    gen_rtx_LTU (SImode, ccreg, const0_rtx),
- 				    gen_rtx_LTU (DImode, ccreg, const0_rtx)));
    arm_gen_unlikely_cbranch (LTU, CC_Bmode, operands[3]);
  
    DONE;
--- 1618,1635 ----
      hi_op2 = force_reg (SImode, hi_op2);
    rtx ccreg = gen_rtx_REG (mode, CC_REGNUM);
    if (CONST_INT_P (hi_op2))
!     emit_insn (gen_usub_cmpVsi3_borrow_imm (hi_result, hi_op1, hi_op2,
! 					    GEN_INT (UINTVAL (hi_op2)
! 						     & 0xffffffff),
! 					    gen_rtx_LTU (SImode, ccreg,
! 							 const0_rtx),
! 					    gen_rtx_LTU (DImode, ccreg,
! 							 const0_rtx)));
!   else
!     emit_insn (gen_usub_cmpVsi3_borrow (hi_result, hi_op1, hi_op2,
  					gen_rtx_LTU (SImode, ccreg, const0_rtx),
  					gen_rtx_LTU (DImode, ccreg,
  						     const0_rtx)));
    arm_gen_unlikely_cbranch (LTU, CC_Bmode, operands[3]);
  
    DONE;
***************
*** 1643,1649 ****
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "subvsi3"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
--- 1648,1654 ----
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "sub_cmpVsi3"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
***************
*** 1660,1666 ****
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "subvsi3_imm1"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
--- 1665,1671 ----
     (set_attr "type" "alus_sreg")]
  )
  
! (define_insn "sub_cmpVsi3_imm1"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
***************
*** 2117,2123 ****
     (set_attr "type" "alus_imm")]
  )
  
! (define_insn "usubvsi3_borrow"
    [(set (reg:CC_B CC_REGNUM)
  	(compare:CC_B
  	 (zero_extend:DI (match_operand:SI 1 "s_register_operand" "0,r"))
--- 2122,2128 ----
     (set_attr "type" "alus_imm")]
  )
  
! (define_insn "usub_cmpVsi3_borrow"
    [(set (reg:CC_B CC_REGNUM)
  	(compare:CC_B
  	 (zero_extend:DI (match_operand:SI 1 "s_register_operand" "0,r"))
***************
*** 2135,2141 ****
     (set_attr "length" "2,4")]
  )
  
! (define_insn "usubvsi3_borrow_imm"
    [(set (reg:CC_B CC_REGNUM)
  	(compare:CC_B
  	 (zero_extend:DI (match_operand:SI 1 "s_register_operand" "r,r"))
--- 2140,2146 ----
     (set_attr "length" "2,4")]
  )
  
! (define_insn "usub_cmpVsi3_borrow_imm"
    [(set (reg:CC_B CC_REGNUM)
  	(compare:CC_B
  	 (zero_extend:DI (match_operand:SI 1 "s_register_operand" "r,r"))
***************
*** 2154,2160 ****
     (set_attr "type" "alus_imm")]
  )
  
! (define_insn "subvsi3_borrow"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
--- 2159,2165 ----
     (set_attr "type" "alus_imm")]
  )
  
! (define_insn "sub_cmpVsi3_borrow"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
***************
*** 2175,2181 ****
     (set_attr "length" "2,4")]
  )
  
! (define_insn "subvsi3_borrow_imm"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
--- 2180,2186 ----
     (set_attr "length" "2,4")]
  )
  
! (define_insn "sub_cmpVsi3_borrow_imm"
    [(set (reg:CC_V CC_REGNUM)
  	(compare:CC_V
  	 (minus:DI
diff -Nrcpad gcc-13-20260409/gcc/fortran/ChangeLog gcc-13-20260416/gcc/fortran/ChangeLog
*** gcc-13-20260409/gcc/fortran/ChangeLog	Thu Apr  9 22:32:10 2026
--- gcc-13-20260416/gcc/fortran/ChangeLog	Thu Apr 16 22:32:06 2026
***************
*** 1,3 ****
--- 1,35 ----
+ 2026-04-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-09-11  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/121616
+ 	* primary.cc (gfc_variable_attr): Properly set dimension attribute
+ 	from a component ref.
+ 
+ 2026-04-13  Christopher Albert  <albert@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-03-30  Christopher Albert  <albert@tugraz.at>
+ 
+ 	* scanner.cc (skip_free_oacc_sentinel): Clear openmp_flag only for
+ 	fresh OpenACC directive lines.
+ 	(skip_free_omp_sentinel): Clear openacc_flag only for fresh OpenMP
+ 	directive lines.
+ 
+ 2026-04-13  Christopher Albert  <albert@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-04-13  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/95879
+ 	PR fortran/95879
+ 	* parse.cc (fixup_st_func_formals): New function to update
+ 	statement function formal argument lists referencing a symbol
+ 	about to be freed.
+ 	(gfc_fixup_sibling_symbols): Call fixup_st_func_formals before
+ 	gfc_release_symbol.
+ 
  2026-04-02  Christopher Albert  <albert@tugraz.at>
  
  	Backported from master:
diff -Nrcpad gcc-13-20260409/gcc/fortran/parse.cc gcc-13-20260416/gcc/fortran/parse.cc
*** gcc-13-20260409/gcc/fortran/parse.cc	Thu Apr  9 22:32:10 2026
--- gcc-13-20260416/gcc/fortran/parse.cc	Thu Apr 16 22:32:06 2026
*************** parse_executable (gfc_statement st)
*** 6033,6038 ****
--- 6033,6060 ----
  }
  
  
+ /* Update statement function formal argument lists that reference OLD_SYM
+    to point to NEW_SYM instead.  This prevents use-after-free when
+    gfc_fixup_sibling_symbols replaces and frees a symbol that is also
+    used as a statement function dummy argument (PR95879).  */
+ 
+ static void
+ fixup_st_func_formals (gfc_symtree *st, gfc_symbol *old_sym,
+ 		       gfc_symbol *new_sym)
+ {
+   if (st == NULL)
+     return;
+ 
+   fixup_st_func_formals (st->left, old_sym, new_sym);
+   fixup_st_func_formals (st->right, old_sym, new_sym);
+ 
+   if (st->n.sym && st->n.sym->attr.proc == PROC_ST_FUNCTION)
+     for (gfc_formal_arglist *fa = st->n.sym->formal; fa; fa = fa->next)
+       if (fa->sym == old_sym)
+ 	fa->sym = new_sym;
+ }
+ 
+ 
  /* Fix the symbols for sibling functions.  These are incorrectly added to
     the child namespace as the parser didn't know about this procedure.  */
  
*************** gfc_fixup_sibling_symbols (gfc_symbol *s
*** 6084,6089 ****
--- 6106,6116 ----
  	  st->n.sym = sym;
  	  sym->refs++;
  
+ 	  /* Update statement function formal argument lists that still
+ 	     reference old_sym before releasing it (PR95879).  */
+ 	  fixup_st_func_formals (ns->sym_root, old_sym, sym);
+ 
+ 
  	  gfc_release_symbol (old_sym);
  	}
  
diff -Nrcpad gcc-13-20260409/gcc/fortran/primary.cc gcc-13-20260416/gcc/fortran/primary.cc
*** gcc-13-20260409/gcc/fortran/primary.cc	Thu Apr  9 22:32:10 2026
--- gcc-13-20260416/gcc/fortran/primary.cc	Thu Apr 16 22:32:06 2026
*************** gfc_variable_attr (gfc_expr *expr, gfc_t
*** 2750,2761 ****
--- 2750,2763 ----
  
  	if (comp->ts.type == BT_CLASS)
  	  {
+ 	    dimension = CLASS_DATA (comp)->attr.dimension;
  	    codimension = CLASS_DATA (comp)->attr.codimension;
  	    pointer = CLASS_DATA (comp)->attr.class_pointer;
  	    allocatable = CLASS_DATA (comp)->attr.allocatable;
  	  }
  	else
  	  {
+ 	    dimension = comp->attr.dimension;
  	    codimension = comp->attr.codimension;
  	    if (expr->ts.type == BT_CLASS && strcmp (comp->name, "_data") == 0)
  	      pointer = comp->attr.class_pointer;
diff -Nrcpad gcc-13-20260409/gcc/fortran/scanner.cc gcc-13-20260416/gcc/fortran/scanner.cc
*** gcc-13-20260409/gcc/fortran/scanner.cc	Thu Apr  9 22:32:10 2026
--- gcc-13-20260416/gcc/fortran/scanner.cc	Thu Apr 16 22:32:06 2026
*************** skip_free_oacc_sentinel (locus start, lo
*** 776,781 ****
--- 776,783 ----
        if ((c = next_char ()) == ' ' || c == '\t'
  	  || continue_flag)
  	{
+ 	  if (!continue_flag && (c == ' ' || c == '\t'))
+ 	    openmp_flag = 0;
  	  while (gfc_is_whitespace (c))
  	    c = next_char ();
  	  if (c != '\n' && c != '!')
*************** skip_free_omp_sentinel (locus start, loc
*** 816,821 ****
--- 818,825 ----
        if ((c = next_char ()) == ' ' || c == '\t'
  	  || continue_flag)
  	{
+ 	  if (!continue_flag && (c == ' ' || c == '\t'))
+ 	    openacc_flag = 0;
  	  while (gfc_is_whitespace (c))
  	    c = next_char ();
  	  if (c != '\n' && c != '!')
diff -Nrcpad gcc-13-20260409/gcc/testsuite/ChangeLog gcc-13-20260416/gcc/testsuite/ChangeLog
*** gcc-13-20260409/gcc/testsuite/ChangeLog	Thu Apr  9 22:32:11 2026
--- gcc-13-20260416/gcc/testsuite/ChangeLog	Thu Apr 16 22:32:07 2026
***************
*** 1,3 ****
--- 1,51 ----
+ 2026-04-14  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-09-11  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/121616
+ 	* gfortran.dg/alloc_comp_assign_17.f90: New test.
+ 
+ 2026-04-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	Backported from master:
+ 	2026-03-11  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/123271
+ 	* gcc.target/arm/pr123271.c: New test.
+ 
+ 2026-04-13  Christopher Albert  <albert@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-03-30  Christopher Albert  <albert@tugraz.at>
+ 
+ 	* gfortran.dg/goacc/omp-108382.f90: New test.
+ 
+ 2026-04-13  Christopher Albert  <albert@tugraz.at>
+ 
+ 	Backported from master:
+ 	2026-04-13  Christopher Albert  <albert@tugraz.at>
+ 
+ 	PR fortran/95879
+ 	PR fortran/95879
+ 	* gfortran.dg/pr95879.f90: New test.
+ 
+ 2026-04-09  Richard Biener  <rguenther@suse.de>
+ 
+ 	Revert:
+ 	2026-04-09  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR ipa/116296
+ 	* gcc.dg/torture/pr116296.c: New testcase.
+ 
+ 2026-04-09  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	Backported from master:
+ 	2026-04-09  Xi Ruoyao  <xry111@xry111.site>
+ 
+ 	PR target/105192
+ 	* gcc.c-torture/compile/pr105192.c: New test.
+ 
  2026-04-08  Christophe Lyon  <christophe.lyon@arm.com>
  
  	Backported from master:
diff -Nrcpad gcc-13-20260409/gcc/testsuite/gcc.target/arm/pr123271.c gcc-13-20260416/gcc/testsuite/gcc.target/arm/pr123271.c
*** gcc-13-20260409/gcc/testsuite/gcc.target/arm/pr123271.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20260416/gcc/testsuite/gcc.target/arm/pr123271.c	Thu Apr 16 22:32:10 2026
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-options "-O2 -ftrapv" } */
+ /* { dg-final { check-function-bodies "**" "" "" } } */
+ 
+ int sub(int a, int b)
+ {
+   return a - b;
+ }
+ 
+ /*
+ ** sub:
+ ** ...
+ ** (
+ **	bl	__subvsi3
+ ** |
+    Not generated yet, but would be equally acceptable.
+ **	subs	r0, r0, r1
+ **	bv[sc]	.*
+ ** )
+ ** ...
+ */
diff -Nrcpad gcc-13-20260409/gcc/testsuite/gfortran.dg/goacc/omp-108382.f90 gcc-13-20260416/gcc/testsuite/gfortran.dg/goacc/omp-108382.f90
*** gcc-13-20260409/gcc/testsuite/gfortran.dg/goacc/omp-108382.f90	Thu Jan  1 00:00:00 1970
--- gcc-13-20260416/gcc/testsuite/gfortran.dg/goacc/omp-108382.f90	Thu Apr 16 22:32:11 2026
***************
*** 0 ****
--- 1,22 ----
+ ! { dg-do compile }
+ ! { dg-additional-options "-fopenmp" }
+ 
+ module m_108382_a
+   implicit none
+   integer :: x, y
+ 
+ !$acc declare copyin(x, &
+ !$acc   y)
+ !$omp declare target(x, &
+ !$omp   y)
+ end module m_108382_a
+ 
+ module m_108382_b
+   implicit none
+   integer :: x, y
+ 
+ !$omp declare target(x, &
+ !$omp   y)
+ !$acc declare copyin(x, &
+ !$acc   y)
+ end module m_108382_b
diff -Nrcpad gcc-13-20260409/gcc/testsuite/gfortran.dg/pr95879.f90 gcc-13-20260416/gcc/testsuite/gfortran.dg/pr95879.f90
*** gcc-13-20260409/gcc/testsuite/gfortran.dg/pr95879.f90	Thu Jan  1 00:00:00 1970
--- gcc-13-20260416/gcc/testsuite/gfortran.dg/pr95879.f90	Thu Apr 16 22:32:11 2026
***************
*** 0 ****
--- 1,30 ----
+ ! { dg-do compile }
+ ! { dg-options "-std=f2018" }
+ ! PR fortran/95879
+ ! Contributed by G. Steinmetz <gscfq@t-online.de>
+ !
+ ! Use-after-free in gfc_resolve_formal_arglist when a contained subroutine
+ ! has a statement function whose dummy argument name matches a symbol
+ ! replaced by gfc_fixup_sibling_symbols.
+ 
+ module m1
+ contains
+    integer function f(x) bind(c)
+       use iso_c_binding
+    contains
+       subroutine s
+          c_funloc(f) = x  ! { dg-warning "Obsolescent feature: Statement function" }
+       end
+    end
+ end
+ 
+ module m2
+ contains
+    integer function f(x)
+       use iso_c_binding
+    contains
+       subroutine s
+          c_funloc(f) = x  ! { dg-warning "Obsolescent feature: Statement function" }
+       end
+    end
+ end
