http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53521
Bug #: 53521
Summary: Memory leak with zero sized array constructor
Classification: Unclassified
Product: gcc
Version: 4.6.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: [email protected]
ReportedBy: [email protected]
The following testcase (as reduced from CP2K) leaks memory when compiled with
gfortran 4.6 - 4.8 :
MODULE TEST
IMPLICIT NONE
CONTAINS
SUBROUTINE T(n1)
INTEGER :: n1(:)
END SUBROUTINE T
SUBROUTINE T2(n)
INTEGER :: n
INTEGER :: k
CALL T((/(k,k=1,n-1)/))
END SUBROUTINE
END MODULE
USE TEST
CALL T2(1)
END
as can be verified with valgrind or putting a loop around call t2. The issue
seems to be the zero-sized array constructor.