http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51160
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |FIXED
--- Comment #2 from janus at gcc dot gnu.org ---
(In reply to Tobias Burnus from comment #1)
> I think your issue has nothing to do with abstract types but rather with
> working with polymorphic data ("CLASS").
>
> I think the issue is that "r"'s "u" component in "sub" is not freed at the
> end, which would be a duplicate of PR 46321.
Correct. And now that polymorphic deallocation is implemented, also the memory
leak is gone: The dump shows that the _final procedure is called, and also
valgrind reports a clean memory footprint:
==5457== HEAP SUMMARY:
==5457== in use at exit: 0 bytes in 0 blocks
==5457== total heap usage: 423 allocs, 423 frees, 58,341 bytes allocated
==5457==
==5457== All heap blocks were freed -- no leaks are possible