41 lines
1.1 KiB
Fortran
41 lines
1.1 KiB
Fortran
! { dg-do compile }
|
|
! Tests the fix for PR28788, a regression in which an ICE was caused
|
|
! by the failure of derived type association for the arguments of
|
|
! InitRECFAST because the formal namespace derived types references
|
|
! were not being reassociated to the module.
|
|
!
|
|
! Contributed by Martin Reinecke <martin@mpa-garching.mpg.de>
|
|
!
|
|
module Precision
|
|
integer, parameter :: dl = KIND(1.d0)
|
|
end module Precision
|
|
|
|
module ModelParams
|
|
use precision
|
|
type CAMBparams
|
|
real(dl)::omegab,h0,tcmb,yhe
|
|
end type
|
|
type (CAMBparams) :: CP
|
|
contains
|
|
subroutine CAMBParams_Set(P)
|
|
type(CAMBparams), intent(in) :: P
|
|
end subroutine CAMBParams_Set
|
|
end module ModelParams
|
|
|
|
module TimeSteps
|
|
use precision
|
|
use ModelParams
|
|
end module TimeSteps
|
|
|
|
module ThermoData
|
|
use TimeSteps
|
|
contains
|
|
subroutine inithermo(taumin,taumax)
|
|
use precision
|
|
use ModelParams ! Would ICE here
|
|
real(dl) taumin,taumax
|
|
call InitRECFAST(CP%omegab,CP%h0,CP%tcmb,CP%yhe)
|
|
end subroutine inithermo
|
|
end module ThermoData
|
|
! { dg-final { cleanup-modules "PRECISION ModelParams TimeSteps ThermoData" } }
|