https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121894
--- Comment #16 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Qing Zhao <qinz...@gcc.gnu.org>: https://gcc.gnu.org/g:f613fdc6920c83658f033501fce1a1420e687d11 commit r16-3956-gf613fdc6920c83658f033501fce1a1420e687d11 Author: Qing Zhao <qing.z...@oracle.com> Date: Thu Sep 18 15:50:38 2025 +0000 Fix SRA issue with -ftrivial-auto-var-init= [PR121894] In tree-sra.cc, for the following stmt (initialization in source code): s = {}; for the above lhs "s", the field "grp_assignment_write" of the created struct access is 1; however, for the following stmt (compiler added initialization): s = .DEFERRED_INIT (size, init_type, &"s"[0]); for the above lhs "s", the field "grp_assignment_write" of the created struct access is 0; Since the field "grp_assignment_write" of the struct access for the corresponding LHS "s" is not set correctly when the RHS is .DEFERRED_INIT, SRA phase didn't do a correct transformation for call to .DEFERRED_INIT. To fix this issue, we should set the field "grp_assignment_write" correctly for .DEFERRED_INIT. PR tree-optimization/121894 gcc/ChangeLog: * tree-sra.cc (scan_function): Set grp_assignment_write to 1 when specially handle call to .DEFERRED_INIT. gcc/testsuite/ChangeLog: * g++.dg/opt/auto-init-sra-pr121894.C: New test.