[Bug fortran/60913] [OOP] Memory leak with allocatable polymorphic function result (in type-bound operator)

dr.i.j.bush at googlemail dot com gcc-bugzilla@gcc.gnu.org
Thu Jun 9 11:55:28 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60913

dr.i.j.bush at googlemail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dr.i.j.bush at googlemail dot com

--- Comment #11 from dr.i.j.bush at googlemail dot com ---

Just wondering if any progress has been made/is likely on this bug - it
basically makes gfortran unusable with some of my latest code. I've tested Ian
Harvey's example with the latest version of the compiler I have and I see the
same problem as he reports:

ijb@ijb-Latitude-5410:~/work$ gfortran-11 -O -std=f2018 -Wall -Wextra
-fcheck=all ianh.f90 
ijb@ijb-Latitude-5410:~/work$ valgrind --leak-check=full ./a.out
==337876== Memcheck, a memory error detector
==337876== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==337876== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==337876== Command: ./a.out
==337876== 
           1
...
         100
==337876== 
==337876== HEAP SUMMARY:
==337876==     in use at exit: 400 bytes in 100 blocks
==337876==   total heap usage: 121 allocs, 21 frees, 13,984 bytes allocated
==337876== 
==337876== 400 bytes in 100 blocks are definitely lost in loss record 1 of 1
==337876==    at 0x483B7F3: malloc (in
/usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==337876==    by 0x401240: __m_MOD_f (in /home/ijb/work/a.out)
==337876==    by 0x4012C5: main (in /home/ijb/work/a.out)
==337876== 
==337876== LEAK SUMMARY:
==337876==    definitely lost: 400 bytes in 100 blocks
==337876==    indirectly lost: 0 bytes in 0 blocks
==337876==      possibly lost: 0 bytes in 0 blocks
==337876==    still reachable: 0 bytes in 0 blocks
==337876==         suppressed: 0 bytes in 0 blocks
==337876== 
==337876== For lists of detected and suppressed errors, rerun with: -s
==337876== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)


More information about the Gcc-bugs mailing list