aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/module.cc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2024-05-22 18:41:27 -0400
committerJason Merrill <jason@redhat.com>2024-05-23 16:23:39 -0400
commited63cd2aa5b114565fe5499c3a6bf8da5e8e48ba (patch)
tree06272b6b470f3791b6a43b1a09e254e5609a141a /gcc/cp/module.cc
parent0b3b6a8df77b0ae15078402ea5fb933d6fccd585 (diff)
downloadgcc-ed63cd2aa5b114565fe5499c3a6bf8da5e8e48ba.zip
gcc-ed63cd2aa5b114565fe5499c3a6bf8da5e8e48ba.tar.gz
gcc-ed63cd2aa5b114565fe5499c3a6bf8da5e8e48ba.tar.bz2
c++: deleting array temporary [PR115187]
Decaying the array temporary to a pointer and then deleting that crashes in verify_gimple_stmt, because the TARGET_EXPR is first evaluated inside the TRY_FINALLY_EXPR, but the cleanup point is outside. Fixed by using get_target_expr instead of save_expr. I also adjust the stabilize_expr comment to prevent me from again thinking it's a suitable replacement. PR c++/115187 gcc/cp/ChangeLog: * init.cc (build_delete): Use get_target_expr instead of save_expr. * tree.cc (stabilize_expr): Update comment. gcc/testsuite/ChangeLog: * g++.dg/cpp1z/array-prvalue3.C: New test.
Diffstat (limited to 'gcc/cp/module.cc')
0 files changed, 0 insertions, 0 deletions