diff -Nrcpad gcc-13-20260305/LAST_UPDATED gcc-13-20260312/LAST_UPDATED
*** gcc-13-20260305/LAST_UPDATED	Thu Mar  5 22:32:19 2026
--- gcc-13-20260312/LAST_UPDATED	Thu Mar 12 22:32:18 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-13 revision 9077925f1f1d3dc840b60eaa100308015c73d0ad
--- 1 ----
! Obtained from git: releases/gcc-13 revision f08f702d853b11b35e24a076d0f3f880a784c501
diff -Nrcpad gcc-13-20260305/MD5SUMS gcc-13-20260312/MD5SUMS
*** gcc-13-20260305/MD5SUMS	Thu Mar  5 22:32:23 2026
--- gcc-13-20260312/MD5SUMS	Thu Mar 12 22:32:22 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-13-20260305.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-20260312.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
! 39cb24228aa440efcd4810c610790ad3  LAST_UPDATED
  81b3330d422f3ce1ef8b720dfae35068  MAINTAINERS
  2b61ddbd876fa839639a7ca551773426  Makefile.def
  5d2d6a74f897f8158d37f5f2ec6877ce  Makefile.in
--- 21,27 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 0c075e91e3f693a4c3ba497135c0bc58  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
! 3e458098045ab630da268e8eaa793fdb  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
! 117ea3ff1fe47717b897fd5cb973494a  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
! 1f980fc52300e4f8d98e995aebf1aa32  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
! 9ca302c1438433f30442f1fb6959ad78  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** c02c2e60a2b7403e97217854b6697545  gcc/co
*** 4996,5002 ****
  8f8e1b1a1dc2614e0b2b036dd47fb5bc  gcc/config/vax/vax-protos.h
  b44ad2f7c6bccd8179fbeb0c77a09f40  gcc/config/vax/vax.cc
  4a28295dcd9cad1669329908a7982023  gcc/config/vax/vax.h
! 00059b8f723cd17f61829ad0b035118e  gcc/config/vax/vax.md
  41d56a166600eba6041cd52c0e1fedfd  gcc/config/vax/vax.opt
  1d6ede1e8b576a8ff0cc70391c119740  gcc/config/visium/constraints.md
  b709eba0a7e411322054701a24a1c12d  gcc/config/visium/elf.h
--- 4996,5002 ----
  8f8e1b1a1dc2614e0b2b036dd47fb5bc  gcc/config/vax/vax-protos.h
  b44ad2f7c6bccd8179fbeb0c77a09f40  gcc/config/vax/vax.cc
  4a28295dcd9cad1669329908a7982023  gcc/config/vax/vax.h
! 12369021e85aafda46d56c3157de32cf  gcc/config/vax/vax.md
  41d56a166600eba6041cd52c0e1fedfd  gcc/config/vax/vax.opt
  1d6ede1e8b576a8ff0cc70391c119740  gcc/config/visium/constraints.md
  b709eba0a7e411322054701a24a1c12d  gcc/config/visium/elf.h
*************** d9b5ec86750c5cd59daf7a5aae58585b  gcc/cp
*** 5117,5123 ****
  896d83eec5aaaa6e6d65eaf91d39d283  gcc/cp/cfns.h
  0b2a03d49770c4eace1cd0be60ee4b69  gcc/cp/class.cc
  b0062ee9c9d42ee91eaf7512f6e1e0be  gcc/cp/config-lang.in
! a9ea35da5e555a2aac44a84c5e679609  gcc/cp/constexpr.cc
  edccbdb3f4c2f1f4d32e807cb29e3c40  gcc/cp/constraint.cc
  da0483e6a5389a7d06c30a4f41b34d48  gcc/cp/contracts.cc
  3fff7a95b0ebd54a1f3f2b2ace365aae  gcc/cp/contracts.h
--- 5117,5123 ----
  896d83eec5aaaa6e6d65eaf91d39d283  gcc/cp/cfns.h
  0b2a03d49770c4eace1cd0be60ee4b69  gcc/cp/class.cc
  b0062ee9c9d42ee91eaf7512f6e1e0be  gcc/cp/config-lang.in
! 22380c6b11cde1f4dc1cde7fe9758487  gcc/cp/constexpr.cc
  edccbdb3f4c2f1f4d32e807cb29e3c40  gcc/cp/constraint.cc
  da0483e6a5389a7d06c30a4f41b34d48  gcc/cp/contracts.cc
  3fff7a95b0ebd54a1f3f2b2ace365aae  gcc/cp/contracts.h
*************** b829ed0032c899e107be2db349c913f3  gcc/ta
*** 7637,7643 ****
  811da275a2b9d3186a6decf96c01b0ed  gcc/targhooks.cc
  edb193a32070c4a7626fb75382def9b9  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! ad42575d76c7a27c040f17362858dae1  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
! a28e56bdf1fe25adea2151d43aeb4ad4  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** fc797eabdd1dc0d22609e8841d633f99  gcc/te
*** 18385,18390 ****
--- 18385,18392 ----
  93d1e55f1ec8ecc0589c4cf386fc18c7  gcc/testsuite/g++.dg/cpp2a/concepts-pr104410.C
  d730bf14b7c6a0ff4579eb13739f7d2f  gcc/testsuite/g++.dg/cpp2a/concepts-pr108579.C
  4b3fe1ba64fb6a81fe92d55b090adf3a  gcc/testsuite/g++.dg/cpp2a/concepts-pr116681.C
+ 24814124a2638795704cea1177c1d93c  gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C
+ c3a5a8ffeaedc47bb7c475c240bce1c2  gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C
  2e23f19968091d773a47c43a32a784ae  gcc/testsuite/g++.dg/cpp2a/concepts-pr58500.C
  07c6a4dff1357ef61c0d30b12db5c948  gcc/testsuite/g++.dg/cpp2a/concepts-pr58534.C
  b6ba42db630bfd3259d65662fc03aaa0  gcc/testsuite/g++.dg/cpp2a/concepts-pr58535.C
*************** e8eff4c0ef885b002db007e536bb99f2  gcc/te
*** 27516,27521 ****
--- 27518,27524 ----
  4b7c75dc51b97d5dc81c7e936ff3b460  gcc/testsuite/g++.dg/torture/pr111019.C
  6766aa21b009a63d71d22aa6baba228d  gcc/testsuite/g++.dg/torture/pr111245.C
  25af1620df0107cd03f275ddc7fd98b6  gcc/testsuite/g++.dg/torture/pr111465.C
+ 5c620542544d327d513aa9525aba2286  gcc/testsuite/g++.dg/torture/pr112400.C
  f5cb8caa482838045861d5ee18445814  gcc/testsuite/g++.dg/torture/pr113896.C
  6c3c5585841ff28b7c4ab8a61978f689  gcc/testsuite/g++.dg/torture/pr113994.C
  ef666186552a9562e70783bbdf98ac33  gcc/testsuite/g++.dg/torture/pr115694.C
diff -Nrcpad gcc-13-20260305/gcc/ChangeLog gcc-13-20260312/gcc/ChangeLog
*** gcc-13-20260305/gcc/ChangeLog	Thu Mar  5 22:32:06 2026
--- gcc-13-20260312/gcc/ChangeLog	Thu Mar 12 22:32:05 2026
***************
*** 1,3 ****
--- 1,13 ----
+ 2026-03-09  Kalvis Duckmanton  <kalvisd@gmail.com>
+ 
+ 	Backported from master:
+ 	2026-02-14  Kalvis Duckmanton  <kalvisd@gmail.com>
+ 
+ 	PR target/112400
+ 	* config/vax/vax.md (casesi1): Wrap naked operand 1 with a USE
+ 	where used with the insn split to.
+ 	(*casesi1): Likewise naked incoming operand 1.
+ 
  2026-03-04  Martin Jambor  <mjambor@suse.cz>
  
  	Backported from master:
diff -Nrcpad gcc-13-20260305/gcc/DATESTAMP gcc-13-20260312/gcc/DATESTAMP
*** gcc-13-20260305/gcc/DATESTAMP	Thu Mar  5 22:32:06 2026
--- gcc-13-20260312/gcc/DATESTAMP	Thu Mar 12 22:32:05 2026
***************
*** 1 ****
! 20260305
--- 1 ----
! 20260312
diff -Nrcpad gcc-13-20260305/gcc/config/vax/vax.md gcc-13-20260312/gcc/config/vax/vax.md
*** gcc-13-20260305/gcc/config/vax/vax.md	Thu Mar  5 22:32:07 2026
--- gcc-13-20260312/gcc/config/vax/vax.md	Thu Mar 12 22:32:06 2026
***************
*** 2909,2915 ****
    "#"
    "reload_completed"
    [(parallel
!      [(match_dup 1)
        (set (pc)
  	   (plus:SI (sign_extend:SI
  		      (mem:HI (plus:SI
--- 2909,2915 ----
    "#"
    "reload_completed"
    [(parallel
!      [(use (match_dup 1))
        (set (pc)
  	   (plus:SI (sign_extend:SI
  		      (mem:HI (plus:SI
***************
*** 2922,2928 ****
    "")
  
  (define_insn "*casesi1"
!   [(match_operand:SI 1 "const_int_operand" "n")
     (set (pc)
  	(plus:SI (sign_extend:SI
  		   (mem:HI (plus:SI
--- 2922,2928 ----
    "")
  
  (define_insn "*casesi1"
!   [(use (match_operand:SI 1 "const_int_operand" "n"))
     (set (pc)
  	(plus:SI (sign_extend:SI
  		   (mem:HI (plus:SI
diff -Nrcpad gcc-13-20260305/gcc/cp/constexpr.cc gcc-13-20260312/gcc/cp/constexpr.cc
*** gcc-13-20260305/gcc/cp/constexpr.cc	Thu Mar  5 22:32:07 2026
--- gcc-13-20260312/gcc/cp/constexpr.cc	Thu Mar 12 22:32:06 2026
*************** cxx_eval_outermost_constant_expr (tree t
*** 8382,8387 ****
--- 8382,8398 ----
  	r = TARGET_EXPR_INITIAL (r);
      }
  
+   /* uid_sensitive_constexpr_evaluation_value restricts warning-dependent
+      constexpr evaluation to avoid unnecessary template instantiation, and is
+      always done with mce_unknown.  But due to gaps in the restriction logic
+      we may still end up taking an evaluation path that in turn requires
+      manifestly constant evaluation, and such evaluation must not be
+      restricted since it likely has semantic consequences.
+      TODO: Remove/replace the mechanism in GCC 17.  */
+   auto uids = make_temp_override (uid_sensitive_constexpr_evaluation_value);
+   if (ctx.manifestly_const_eval == mce_true)
+     uid_sensitive_constexpr_evaluation_value = false;
+ 
    auto_vec<tree, 16> cleanups;
    global_ctx.cleanups = &cleanups;
  
diff -Nrcpad gcc-13-20260305/gcc/testsuite/ChangeLog gcc-13-20260312/gcc/testsuite/ChangeLog
*** gcc-13-20260305/gcc/testsuite/ChangeLog	Thu Mar  5 22:32:08 2026
--- gcc-13-20260312/gcc/testsuite/ChangeLog	Thu Mar 12 22:32:08 2026
***************
*** 1,3 ****
--- 1,11 ----
+ 2026-03-09  Kalvis Duckmanton  <kalvisd@gmail.com>
+ 
+ 	Backported from master:
+ 	2026-02-14  Kalvis Duckmanton  <kalvisd@gmail.com>
+ 
+ 	PR target/112400
+ 	* g++.dg/torture/pr112400.C: New file.
+ 
  2026-03-04  Martin Jambor  <mjambor@suse.cz>
  
  	Backported from master:
diff -Nrcpad gcc-13-20260305/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C gcc-13-20260312/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C
*** gcc-13-20260305/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20260312/gcc/testsuite/g++.dg/cpp2a/concepts-pr122494.C	Thu Mar 12 22:32:08 2026
***************
*** 0 ****
--- 1,24 ----
+ // PR c++/122494
+ // { dg-do compile { target c++20 } }
+ 
+ template<class T>
+ concept C = false;
+ 
+ template<class T> requires (!C<T>)
+ struct A {
+   static constexpr unsigned v = 0;
+ };
+ 
+ template<class T>
+ struct B {
+   static constexpr unsigned v = A<T>::v;
+ 
+   constexpr static bool f() {
+     return [](auto) {
+       if (v == 0) { }
+       return true;
+     }(0);
+   }
+ };
+ 
+ static_assert(B<int>::f());
diff -Nrcpad gcc-13-20260305/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C gcc-13-20260312/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C
*** gcc-13-20260305/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20260312/gcc/testsuite/g++.dg/cpp2a/concepts-pr123814.C	Thu Mar 12 22:32:08 2026
***************
*** 0 ****
--- 1,34 ----
+ // PR c++/123814
+ // { dg-do compile { target c++20 } }
+ // { dg-additional-options "-Wall --param ggc-min-expand=0 --param ggc-min-heapsize=0" }
+ 
+ namespace std {
+   struct source_location {
+     struct __impl {
+       const char *_M_file_name;
+       const char *_M_function_name;
+       unsigned _M_line;
+       unsigned _M_column;
+     };
+     static void current(const __impl* = __builtin_source_location());
+   };
+ } // namespace std
+ 
+ template <typename> concept same_as = true;
+ 
+ template <typename... Us>
+ concept one_of = (same_as<Us> || ...);
+ 
+ template <one_of<> T> constexpr int buffer_size_for_int = 0;
+ template <> constexpr int buffer_size_for_int<int> = 1;
+ 
+ template <int> using Basic_Characters = int;
+ 
+ template <typename T>
+ Basic_Characters<buffer_size_for_int<T>> to_characters() {
+   std::source_location::current();
+ } // { dg-warning "return statement" }
+ 
+ void go() {
+   to_characters<int>();
+ }
diff -Nrcpad gcc-13-20260305/gcc/testsuite/g++.dg/torture/pr112400.C gcc-13-20260312/gcc/testsuite/g++.dg/torture/pr112400.C
*** gcc-13-20260305/gcc/testsuite/g++.dg/torture/pr112400.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20260312/gcc/testsuite/g++.dg/torture/pr112400.C	Thu Mar 12 22:32:09 2026
***************
*** 0 ****
--- 1,114 ----
+ /* { dg-do compile } */
+ /* { dg-options "-Wno-return-type" } */
+ 
+ typedef struct a *b;
+ template <typename c, typename d> c e(d);
+ enum f { g, h, i };
+ enum j { k, l, m, aa };
+ struct a {
+   f ab;
+ };
+ struct af {
+ } n;
+ struct ah;
+ class al;
+ b q;
+ void r(a *);
+ struct o : af {};
+ struct p : o {};
+ struct ag : p {};
+ j s(af *);
+ b t();
+ f fn4();
+ unsigned fn5(ag *);
+ b u(ag *, unsigned);
+ af *v(b(b), b);
+ static bool w(al *, af *, b(b), b aw, b *ax, j) {
+   r(ax[2]);
+   if (aw)
+     return false;
+ }
+ ag *ay;
+ void x(al *at, b as(b), b bb, b bc) {
+   switch (bb->ab)
+   case i:
+     if (af *bd = v(as, bb))
+       if (e<ah *>(bd))
+ 	switch (fn4())
+ 	case h: {
+ 	  b be;
+ 	  switch (be->ab)
+ 	  case i:
+ 	    if (af *bf = v(as, be))
+ 	      if (e<ah *>(bf))
+ 		if (ag *bg = e<ag *>(bf))
+ 		  switch (s(bg)) {
+ 		  case k:
+ 		    if (fn5(bg) == 1) {
+ 		      b bh = u(bg, 0);
+ 		      bh = t();
+ 		      switch (bc->ab)
+ 		      case g: {
+ 			b ax[]{be, bh, bc};
+ 			w(at, &n, as, q, ax, k);
+ 		      }
+ 		    }
+ 		    break;
+ 		  case l:
+ 		    if (fn5(bg) == 1) {
+ 		      b bh = u(bg, 0);
+ 		      bh = t();
+ 		      switch (bc->ab)
+ 		      case g: {
+ 			b ax[]{be, bh, bc};
+ 			w(at, &n, as, q, ax, l);
+ 		      }
+ 		    }
+ 		  }
+ 	}
+ 	  else switch (s(ay)) {
+ 	  case k:
+ 	    if (fn5(ay) == 1) {
+ 	      b be = u(ay, 0);
+ 	      be = t();
+ 	      switch (bc->ab)
+ 	      case g: {
+ 		b ax[]{bb, be, bc};
+ 		w(at, &n, as, q, ax, k);
+ 	      }
+ 	    }
+ 	    break;
+ 	  case l:
+ 	    if (fn5(ay) == 1) {
+ 	      b be = u(ay, 0);
+ 	      be = t();
+ 	      switch (bc->ab)
+ 	      case g: {
+ 		b ax[]{bb, be, bc};
+ 		w(at, &n, as, q, ax, l);
+ 	      }
+ 	    }
+ 	    break;
+ 	  case m:
+ 	    if (fn5(ay) == 1) {
+ 	      b be = u(ay, 0);
+ 	      be = t();
+ 	      switch (bc->ab)
+ 	      case g: {
+ 		b ax[]{bb, be, bc};
+ 		w(at, &n, as, q, ax, m);
+ 	      }
+ 	    }
+ 	    break;
+ 	  case aa:
+ 	    if (fn5(ay) == 1) {
+ 	      b be = u(ay, 0);
+ 	      be = t();
+ 	      switch (bc->ab)
+ 	      case g: {
+ 		b ax[]{bb, be, bc};
+ 		w(at, &n, as, q, ax, aa);
+ 	      }
+ 	    }
+ 	  }
+ }
