aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2021-03-10 12:07:24 -0800
committerNathan Sidwell <nathan@acm.org>2021-03-10 12:12:00 -0800
commit1f428775acc391c8ce4fcf79b243043f3333cc99 (patch)
tree3187ffcc82d5b59410e5a4518115786c38fe88cd /gcc/fortran/trans-array.c
parent44fd4dc0b684e06c6c6d08b3994df23135bf2fbc (diff)
downloadgcc-1f428775acc391c8ce4fcf79b243043f3333cc99.zip
gcc-1f428775acc391c8ce4fcf79b243043f3333cc99.tar.gz
gcc-1f428775acc391c8ce4fcf79b243043f3333cc99.tar.bz2
c++: ICE do to GC leakage [PR 99423]
My reworking of pending-entity loading introduced a GC problem. The post-load processing needs to inhibit GCs (that would otherwise occur in clone_decl). That wasn't happening on one code path, leading to dangling pointers in the active call frames. PR c++/99423 gcc/cp/ * module.cc (post_load_processing): Assert not gcable. (laxy_load_pendings): Extend no-gc region around post_load_processing. gcc/testsuite/ * g++.dg/modules/pr99423_a.H: New. * g++.dg/modules/pr99423_b.H: New.
Diffstat (limited to 'gcc/fortran/trans-array.c')
0 files changed, 0 insertions, 0 deletions