https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97530
--- Comment #3 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- A little bit more reduced. module types type local_model_state real, allocatable :: ps(:,:) ! Surface pressure end type local_model_state contains function int_mult(ms, ifactor) type(local_model_state) :: int_mult type(local_model_state), intent(in) :: ms integer, intent(in) :: ifactor int_mult % ps = ms % ps * ifactor end function int_mult end module types