Skip to content

Commit e39b6c0

Browse files
committed
add TDarkEnergyEqnOfState_Free as to be safer with gcc memory leak bugs
1 parent 0dd2665 commit e39b6c0

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

fortran/DarkEnergyInterface.f90

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ module DarkEnergyInterface
4040
procedure :: w_de => TDarkEnergyEqnOfState_w_de
4141
procedure :: grho_de => TDarkEnergyEqnOfState_grho_de
4242
procedure :: Effective_w_wa => TDarkEnergyEqnOfState_Effective_w_wa
43+
#ifdef __GFORTRAN__
44+
final :: TDarkEnergyEqnOfState_Free ! safer for gcc mem-leak bug
45+
#endif
4346
end type TDarkEnergyEqnOfState
4447

4548
public TDarkEnergyModel, TDarkEnergyEqnOfState
@@ -282,5 +285,14 @@ subroutine TDarkEnergyEqnOfState_Init(this, State)
282285

283286
end subroutine TDarkEnergyEqnOfState_Init
284287

288+
#ifdef __GFORTRAN__
289+
subroutine TDarkEnergyEqnOfState_Free(this)
290+
type(TDarkEnergyEqnOfState), intent(inout) :: this
291+
292+
if (allocated(this%equation_of_state)) deallocate(this%equation_of_state)
293+
if (allocated(this%logdensity)) deallocate(this%logdensity)
294+
295+
end subroutine TDarkEnergyEqnOfState_Free
296+
#endif
285297

286298
end module DarkEnergyInterface

0 commit comments

Comments
 (0)