diff -Nrcpad gcc-14-20260213/LAST_UPDATED gcc-14-20260220/LAST_UPDATED
*** gcc-14-20260213/LAST_UPDATED	Fri Feb 13 22:32:19 2026
--- gcc-14-20260220/LAST_UPDATED	Fri Feb 20 22:32:21 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-14 revision c284f911f5508f92ff3b4e421223453052a2beaf
--- 1 ----
! Obtained from git: releases/gcc-14 revision 4bad4b20f8a625d907448803d3e3486bcb18d104
diff -Nrcpad gcc-14-20260213/MD5SUMS gcc-14-20260220/MD5SUMS
*** gcc-14-20260213/MD5SUMS	Fri Feb 13 22:32:24 2026
--- gcc-14-20260220/MD5SUMS	Fri Feb 20 22:32:25 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20260213.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20260220.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** fc9280b02bc68e4fb1ef8d51ccc25061  Change
*** 23,29 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! f60ad8697367715dd056d8f231586bdb  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
--- 23,29 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 806424f81258daca6249dec81d68dec2  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
*************** bc7394806417778d77541ba1ec0e4a70  gcc/BA
*** 505,511 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 92eb93ee354bddbfbfe7c2b1a88e599b  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 505,511 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 67a96868d56a7ec473e56959024baee5  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 541,547 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 93560c2d4c1423f41a03a4eb601c099e  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 541,547 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 9f66a6cfb4543ebdd0391d06c67b594d  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** f8ed5d7de1805f88c616da1fc6db296f  gcc/ad
*** 2578,2584 ****
  216cb40a8c5e7320eabd8152c93fe765  gcc/ada/libgnat/s-stoele.ads
  f5282c29a72e62145ea1c266dea51032  gcc/ada/libgnat/s-stopoo.adb
  1713c674a5ff1626e0cfbf2437051261  gcc/ada/libgnat/s-stopoo.ads
! 04ecd4e8f101e346d98861663bf191bf  gcc/ada/libgnat/s-stposu.adb
  5058409e38dd0596ecf8ce6aa6b37549  gcc/ada/libgnat/s-stposu.ads
  5a2a368cfceee81555b6a6fd198d2bcd  gcc/ada/libgnat/s-stratt.adb
  33547a946aa759d0c95317ff08ede32c  gcc/ada/libgnat/s-stratt.ads
--- 2578,2584 ----
  216cb40a8c5e7320eabd8152c93fe765  gcc/ada/libgnat/s-stoele.ads
  f5282c29a72e62145ea1c266dea51032  gcc/ada/libgnat/s-stopoo.adb
  1713c674a5ff1626e0cfbf2437051261  gcc/ada/libgnat/s-stopoo.ads
! fb8696fdd5a8bb733752bcc187b2aed2  gcc/ada/libgnat/s-stposu.adb
  5058409e38dd0596ecf8ce6aa6b37549  gcc/ada/libgnat/s-stposu.ads
  5a2a368cfceee81555b6a6fd198d2bcd  gcc/ada/libgnat/s-stratt.adb
  33547a946aa759d0c95317ff08ede32c  gcc/ada/libgnat/s-stratt.ads
*************** fcd61155f90da565ae9b576ee28ece0d  gcc/in
*** 6269,6275 ****
  5e2086cfd6bea225be01b38fb20580c1  gcc/intl.cc
  228428e1fe66a4b0575040e005f4176b  gcc/intl.h
  6fd24145bd08ca12fe502d97a9f5a8e9  gcc/ipa-comdats.cc
! f479085872ad2e2e6091ac7376784cc9  gcc/ipa-cp.cc
  4dcb4dc14308e9d673b88c990eda3bd6  gcc/ipa-cp.h
  ddaf3689bf5ee9cd7a26ab4ad95f31f4  gcc/ipa-devirt.cc
  8210f1d996629cd5789d47de6f419385  gcc/ipa-fnsummary.cc
--- 6269,6275 ----
  5e2086cfd6bea225be01b38fb20580c1  gcc/intl.cc
  228428e1fe66a4b0575040e005f4176b  gcc/intl.h
  6fd24145bd08ca12fe502d97a9f5a8e9  gcc/ipa-comdats.cc
! c987c0a5d1a4f7021d0b8b3944cda4af  gcc/ipa-cp.cc
  4dcb4dc14308e9d673b88c990eda3bd6  gcc/ipa-cp.h
  ddaf3689bf5ee9cd7a26ab4ad95f31f4  gcc/ipa-devirt.cc
  8210f1d996629cd5789d47de6f419385  gcc/ipa-fnsummary.cc
*************** e8a9eb01b9451a357155e7152df1c669  gcc/ta
*** 8062,8068 ****
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 203cb7240dbdf7e614bc8fb03a076fba  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 8062,8068 ----
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! ecf52a0c9dec5bb556ca19425215fe68  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** ecfa94e705bc436ad699767b1e4c929e  gcc/te
*** 23635,23640 ****
--- 23635,23641 ----
  55ee7bff7cc115f42266bd1d62dda46b  gcc/testsuite/g++.dg/ipa/pr100413.C
  901698e6dabf29dd6ced031811fcf59e  gcc/testsuite/g++.dg/ipa/pr103099.C
  f2ff4523ab9758b8e447b088ac708879  gcc/testsuite/g++.dg/ipa/pr106258.C
+ 4b93844d472e68bdcc050f5ef8ce7079  gcc/testsuite/g++.dg/ipa/pr106260.C
  c43cd4a90674d630795e0323738e0460  gcc/testsuite/g++.dg/ipa/pr107661.C
  7d63c0342d026b9ee4f2ecb03364cefe  gcc/testsuite/g++.dg/ipa/pr108110.C
  9a257f3564fd42fe9d7e00c5567f89d2  gcc/testsuite/g++.dg/ipa/pr108509.C
*************** ef666186552a9562e70783bbdf98ac33  gcc/te
*** 29600,29605 ****
--- 29601,29608 ----
  fd07ffe5c1e039cfac5f0e7fcc3190eb  gcc/testsuite/g++.dg/torture/pr116460.C
  ea93675f26568f57c77e075dbc9a1f3b  gcc/testsuite/g++.dg/torture/pr116783.C
  f052d3af1586cf42bf5ec8d92e1621ac  gcc/testsuite/g++.dg/torture/pr116927-1.C
+ 433f2d5d832623625319b4192fc7b69c  gcc/testsuite/g++.dg/torture/pr117217-1.C
+ 370446845d836416f63d6f4ab2dbab30  gcc/testsuite/g++.dg/torture/pr117217-2.C
  372a5372bc2611240b35fde2512f27e9  gcc/testsuite/g++.dg/torture/pr118320.C
  f298eddbaaad3dfdc15f6cf9683ff08a  gcc/testsuite/g++.dg/torture/pr11911.C
  9df51f0b5a7e716286f2e97dfd28d477  gcc/testsuite/g++.dg/torture/pr119610.C
*************** ac7a115cd070672d90d6479104a15e65  gcc/tr
*** 110480,110486 ****
  fa283611866c6ad433cfe860538eb2b3  gcc/tree-profile.cc
  bdc9bab14ae5624d86bc275c54f2c859  gcc/tree-scalar-evolution.cc
  fe964e6bef89af1a79d00c19713660bd  gcc/tree-scalar-evolution.h
! 575182f5b69b9843cc5bf0be98c24267  gcc/tree-sra.cc
  1e9cd044620373c14038fbd39740fd14  gcc/tree-sra.h
  76ef7a403eba76cb39fe06d695ab266a  gcc/tree-ssa-address.cc
  a35227be3c2b85c69d7e31275f1f7092  gcc/tree-ssa-address.h
--- 110483,110489 ----
  fa283611866c6ad433cfe860538eb2b3  gcc/tree-profile.cc
  bdc9bab14ae5624d86bc275c54f2c859  gcc/tree-scalar-evolution.cc
  fe964e6bef89af1a79d00c19713660bd  gcc/tree-scalar-evolution.h
! 61291ea514d85b325f8bc6bb41f88bce  gcc/tree-sra.cc
  1e9cd044620373c14038fbd39740fd14  gcc/tree-sra.h
  76ef7a403eba76cb39fe06d695ab266a  gcc/tree-ssa-address.cc
  a35227be3c2b85c69d7e31275f1f7092  gcc/tree-ssa-address.h
diff -Nrcpad gcc-14-20260213/gcc/ChangeLog gcc-14-20260220/gcc/ChangeLog
*** gcc-14-20260213/gcc/ChangeLog	Fri Feb 13 22:32:06 2026
--- gcc-14-20260220/gcc/ChangeLog	Fri Feb 20 22:32:05 2026
***************
*** 1,3 ****
--- 1,19 ----
+ 2026-02-18  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR ipa/106260
+ 	* ipa-cp.cc (initialize_node_lattices): Replace assert that there are
+ 	callers with handling that situation when -fno-toplevel_reorder.
+ 
+ 2026-02-17  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2026-02-09  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR tree-optimization/117217
+ 	* tree-sra.cc (propagate_subaccesses_from_rhs): Do not propagate
+ 	bit-field children.
+ 	(propagate_subaccesses_from_lhs): Likewise.
+ 
  2026-02-11  Alice Carlotti  <alice.carlotti@arm.com>
  
  	PR target/123624
diff -Nrcpad gcc-14-20260213/gcc/DATESTAMP gcc-14-20260220/gcc/DATESTAMP
*** gcc-14-20260213/gcc/DATESTAMP	Fri Feb 13 22:32:06 2026
--- gcc-14-20260220/gcc/DATESTAMP	Fri Feb 20 22:32:05 2026
***************
*** 1 ****
! 20260213
--- 1 ----
! 20260220
diff -Nrcpad gcc-14-20260213/gcc/ada/libgnat/s-stposu.adb gcc-14-20260220/gcc/ada/libgnat/s-stposu.adb
*** gcc-14-20260213/gcc/ada/libgnat/s-stposu.adb	Fri Feb 13 22:32:07 2026
--- gcc-14-20260220/gcc/ada/libgnat/s-stposu.adb	Fri Feb 20 22:32:06 2026
*************** package body System.Storage_Pools.Subpoo
*** 523,528 ****
--- 523,529 ----
     procedure Finalize_Pool (Pool : in out Root_Storage_Pool_With_Subpools) is
        Curr_Ptr : SP_Node_Ptr;
        Ex_Occur : Exception_Occurrence;
+       Handle   : Subpool_Handle;
        Raised   : Boolean := False;
  
        function Is_Empty_List (L : not null SP_Node_Ptr) return Boolean;
*************** package body System.Storage_Pools.Subpoo
*** 557,572 ****
        while not Is_Empty_List (Pool.Subpools'Unchecked_Access) loop
           Curr_Ptr := Pool.Subpools.Next;
  
!          --  Perform the following actions:
! 
!          --    1) Finalize all objects chained on the subpool's master
!          --    2) Remove the subpool from the owner's list of subpools
!          --    3) Deallocate the doubly linked list node associated with the
!          --       subpool.
!          --    4) Call Deallocate_Subpool
  
           begin
!             Finalize_And_Deallocate (Curr_Ptr.Subpool);
  
           exception
              when Fin_Occur : others =>
--- 558,570 ----
        while not Is_Empty_List (Pool.Subpools'Unchecked_Access) loop
           Curr_Ptr := Pool.Subpools.Next;
  
!          --  Finalize and deallocate the subpool. Beware that the node pointed
!          --  to by Curr_Ptr will be deallocated so may not be passed as actual
!          --  in the call, since the formal parameter is In Out.
  
           begin
!             Handle := Curr_Ptr.Subpool;
!             Finalize_And_Deallocate (Handle);
  
           exception
              when Fin_Occur : others =>
diff -Nrcpad gcc-14-20260213/gcc/ipa-cp.cc gcc-14-20260220/gcc/ipa-cp.cc
*** gcc-14-20260213/gcc/ipa-cp.cc	Fri Feb 13 22:32:08 2026
--- gcc-14-20260220/gcc/ipa-cp.cc	Fri Feb 20 22:32:07 2026
*************** initialize_node_lattices (struct cgraph_
*** 1323,1332 ****
        int caller_count = 0;
        node->call_for_symbol_thunks_and_aliases (count_callers, &caller_count,
  						true);
-       gcc_checking_assert (caller_count > 0);
        if (caller_count == 1)
  	node->call_for_symbol_thunks_and_aliases (set_single_call_flag,
  						  NULL, true);
      }
    else
      {
--- 1323,1336 ----
        int caller_count = 0;
        node->call_for_symbol_thunks_and_aliases (count_callers, &caller_count,
  						true);
        if (caller_count == 1)
  	node->call_for_symbol_thunks_and_aliases (set_single_call_flag,
  						  NULL, true);
+       else if (caller_count == 0)
+ 	{
+ 	  gcc_checking_assert (!opt_for_fn (node->decl, flag_toplevel_reorder));
+ 	  variable = true;
+ 	}
      }
    else
      {
diff -Nrcpad gcc-14-20260213/gcc/testsuite/ChangeLog gcc-14-20260220/gcc/testsuite/ChangeLog
*** gcc-14-20260213/gcc/testsuite/ChangeLog	Fri Feb 13 22:32:08 2026
--- gcc-14-20260220/gcc/testsuite/ChangeLog	Fri Feb 20 22:32:08 2026
***************
*** 1,3 ****
--- 1,17 ----
+ 2026-02-18  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR ipa/106260
+ 	* g++.dg/ipa/pr106260.C: New test.
+ 
+ 2026-02-17  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2026-02-09  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR tree-optimization/117217
+ 	* g++.dg/torture/pr117217-1.C: New test.
+ 	* g++.dg/torture/pr117217-2.C: Likewise.
+ 
  2026-02-11  Alice Carlotti  <alice.carlotti@arm.com>
  
  	PR target/123624
diff -Nrcpad gcc-14-20260213/gcc/testsuite/g++.dg/ipa/pr106260.C gcc-14-20260220/gcc/testsuite/g++.dg/ipa/pr106260.C
*** gcc-14-20260213/gcc/testsuite/g++.dg/ipa/pr106260.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20260220/gcc/testsuite/g++.dg/ipa/pr106260.C	Fri Feb 20 22:32:09 2026
***************
*** 0 ****
--- 1,64 ----
+ // { dg-do compile }
+ // { dg-options "-O2 -std=gnu++14 -fwhole-program -fno-unit-at-a-time" }
+ 
+ struct A;
+ template <class T>
+ struct Q { Q (T); };
+ template<typename T, class D>
+ struct U {
+   ~U () { m1 (nullptr); }
+   D m2 ();
+   T *u;
+   void m1 (T *) { m2 () (u); }
+ };
+ struct F { F (int *); };
+ template <class, class T = F>
+ using W = Q<T>;
+ int a, b;
+ void fn1 (void *);
+ template <class T>
+ void
+ fn2 (T *x)
+ {
+   if (x)
+     x->~T();
+   fn1 (x);
+ }
+ template <typename T>
+ struct C {
+   void operator() (T *x) { fn2 (x); }
+ };
+ struct D;
+ template <typename T, typename D = C<T> >
+ using V = U<T, D>;
+ struct A {
+   A (int *);
+ };
+ struct S;
+ struct G {
+   V<S> m3 ();
+ };
+ struct S {
+   int e;
+   virtual ~S () {}
+ };
+ template<typename T>
+ struct H {
+   H (int, T x, int) : h(x) {}
+   G g;
+   void m4 () { g.m3 (); }
+   T h;
+ };
+ struct I {
+   I(A, W<D>);
+ };
+ void
+ test ()
+ {
+   A c (&b);
+   W<D> d (&b);
+   I e (c, d);
+   H<I> f (0, e, a);
+   f.m4 ();
+ }
+ 
diff -Nrcpad gcc-14-20260213/gcc/testsuite/g++.dg/torture/pr117217-1.C gcc-14-20260220/gcc/testsuite/g++.dg/torture/pr117217-1.C
*** gcc-14-20260213/gcc/testsuite/g++.dg/torture/pr117217-1.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20260220/gcc/testsuite/g++.dg/torture/pr117217-1.C	Fri Feb 20 22:32:10 2026
***************
*** 0 ****
--- 1,24 ----
+ struct [[gnu::packed]] A {
+   int i;
+   bool b;
+ };
+ 
+ struct [[gnu::packed]] B {
+   int i;
+   bool b : 1;
+ };
+ 
+ struct E {
+   union Data {
+     A a;
+     B b;
+     Data(const B &b) : b(b) {}
+   } data;
+ };
+ 
+ extern B copy;
+ 
+ int main() {
+   E e{{B()}};
+   copy = e.data.b; // NEEDED FOR ICE
+ }
diff -Nrcpad gcc-14-20260213/gcc/testsuite/g++.dg/torture/pr117217-2.C gcc-14-20260220/gcc/testsuite/g++.dg/torture/pr117217-2.C
*** gcc-14-20260213/gcc/testsuite/g++.dg/torture/pr117217-2.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20260220/gcc/testsuite/g++.dg/torture/pr117217-2.C	Fri Feb 20 22:32:10 2026
***************
*** 0 ****
--- 1,24 ----
+ struct a {
+   int b;
+   long c;
+   long d;
+   bool f;
+ };
+ struct g {
+   int b;
+   long c;
+   long d;
+   bool : 1;
+ } h;
+ struct l {
+   union i {
+     a j;
+     g k;
+     i(g m) : k(m) {}
+   } data;
+ };
+ int main() {
+   l e{g()};
+   h = e.data.k;
+   return 0;
+ }
diff -Nrcpad gcc-14-20260213/gcc/tree-sra.cc gcc-14-20260220/gcc/tree-sra.cc
*** gcc-14-20260213/gcc/tree-sra.cc	Fri Feb 13 22:32:14 2026
--- gcc-14-20260220/gcc/tree-sra.cc	Fri Feb 20 22:32:16 2026
*************** propagate_subaccesses_from_rhs (struct a
*** 3228,3233 ****
--- 3228,3234 ----
  	}
  
        if (rchild->grp_unscalarizable_region
+ 	  || (rchild->size % BITS_PER_UNIT) != 0
  	  || !budget_for_propagation_access (lacc->base))
  	{
  	  if (!lacc->grp_write && access_or_its_child_written (rchild))
*************** propagate_subaccesses_from_lhs (struct a
*** 3287,3292 ****
--- 3288,3294 ----
        HOST_WIDE_INT norm_offset = lchild->offset + norm_delta;
  
        if (lchild->grp_unscalarizable_region
+ 	  || (lchild->size % BITS_PER_UNIT) != 0
  	  || child_would_conflict_in_acc (racc, norm_offset, lchild->size,
  					  &matching_acc)
  	  || !budget_for_propagation_access (racc->base))
