Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/associate_14.f90 @ 128:fe568345ddd5
fix CbC-example
author | mir3636 |
---|---|
date | Wed, 11 Apr 2018 19:32:28 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
! { dg-do compile } ! Tests the fix for PR55984. ! ! Contributed by Sylwester Arabas <slayoo@staszic.waw.pl> ! module bcd_m type, abstract :: bcd_t contains procedure(bcd_fill_halos), deferred :: fill_halos end type abstract interface subroutine bcd_fill_halos(this) import :: bcd_t class(bcd_t ) :: this end subroutine end interface end module module solver_m use bcd_m type, abstract :: solver_t integer :: n, hlo class(bcd_t), pointer :: bcx, bcy contains procedure(solver_advop), deferred :: advop end type abstract interface subroutine solver_advop(this) import solver_t class(solver_t) :: this end subroutine end interface contains end module module solver_mpdata_m use solver_m type :: mpdata_t class(bcd_t), pointer :: bcx, bcy contains procedure :: advop => mpdata_advop end type contains subroutine mpdata_advop(this) class(mpdata_t) :: this associate ( bcx => this%bcx, bcy => this%bcy ) call bcx%fill_halos() end associate end subroutine end module use solver_mpdata_m class(mpdata_t), allocatable :: that call mpdata_advop (that) end