[Bug fortran/55603] New: Memory leak in intrinsic assignment of allocatable derived type function result
damian at rouson dot net
gcc-bugzilla@gcc.gnu.org
Wed Dec 5 04:02:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55603
Bug #: 55603
Summary: Memory leak in intrinsic assignment of allocatable
derived type function result
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: damian@rouson.net
valgrind reports a memory leak in the code below. FY, this is a greatly
simplified version of the actual use case. In the intended use case, the "bar"
procedure is type-bound and is invoked via a type-bound generic operator that
appears in a longer expression composed of various user-defined operators.
Damian
$ gfortran --version
GNU Fortran (MacPorts gcc48 4.8-20121202_0) 4.8.0 20121202 (experimental)
$ cat leak.f90
type foo
end type
type(foo) a
a = bar()
contains
function bar()
type(foo), allocatable :: bar
allocate(bar)
end function
end
$ gfortran leak.f90
$ valgrind ./a.out
==5151== Memcheck, a memory error detector
==5151== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==5151== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==5151== Command: ./a.out
==5151==
--5151-- ./a.out:
--5151-- dSYM directory is missing; consider using --dsymutil=yes
==5151==
==5151== HEAP SUMMARY:
==5151== in use at exit: 1,998 bytes in 33 blocks
==5151== total heap usage: 49 allocs, 16 frees, 5,706 bytes allocated
==5151==
==5151== LEAK SUMMARY:
==5151== definitely lost: 1 bytes in 1 blocks
==5151== indirectly lost: 0 bytes in 0 blocks
==5151== possibly lost: 0 bytes in 0 blocks
==5151== still reachable: 1,997 bytes in 32 blocks
==5151== suppressed: 0 bytes in 0 blocks
==5151== Rerun with --leak-check=full to see details of leaked memory
==5151==
==5151== For counts of detected and suppressed errors, rerun with: -v
==5151== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
More information about the Gcc-bugs
mailing list