aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/runtime/deep_copy.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2025-11-07 10:15:36 +0100
committerRichard Biener <rguenther@suse.de>2025-11-07 12:42:43 +0100
commit59e688be49a929daaa6f44f2a0bfff33e789e66b (patch)
treeee68d005928443af3cfc987605b4c0d99540cc96 /libgfortran/runtime/deep_copy.c
parent7197d8062fddc26c05c0da0bbfcd4128de788e34 (diff)
downloadgcc-master.zip
gcc-master.tar.gz
gcc-master.tar.bz2
tree-optimization/122589 - imm use iterator checking falloutHEADtrunkmaster
The following addresses the latent issue that gsi_replace_with_seq causes debug info to unnecessarily degrade and in this process break the new immediate use iterator sanity checking. In particular gsi_remove has side-effects on debug stmts even when operating in non-permanent operation. But as we are operating on a sequence not in the IL here this should be avoided. Re-factoring gsi_replace_with_seq to not rely on gsi_remove fulfills this. I've noticed gsi_split_seq_before has misleading documentation. Fixed thereby as well. PR tree-optimization/122589 PR middle-end/122594 * gimple-iterator.cc (gsi_replace_with_seq): Instead of removing the last stmt from the sequence with gsi_remove, split it using gsi_split_seq_before. (gsi_split_seq_before): Fix bogus documentation. * g++.dg/torture/pr122589.C: New testcase.
Diffstat (limited to 'libgfortran/runtime/deep_copy.c')
0 files changed, 0 insertions, 0 deletions