https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124661
--- Comment #6 from Christopher Albert <albert at tugraz dot at> --- Created attachment 64069 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=64069&action=edit Replacement patch covering comment #4 variant Replacement patch attached. This keeps descriptor factoring local to the saved expression so bounds checks do not rewrite shared trees and use temporaries before initialization. It covers the nested component-array variant from comment 4 as well as the original reproducer. Validation on 2026-03-29: the comment-4 variant now runs clean with -fcheck=bounds, make check-gfortran RUNTESTFLAGS="dg.exp=pr124661.f90" passes, make check-gfortran RUNTESTFLAGS="dg.exp=assign_14.f90" passes, make -j32 -k check-gfortran finishes with 0 FAIL / XPASS, and make -j32 check-target-libgomp-fortran shows no FAIL / XPASS.
