Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/spec_expr_6.f90 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line source
! { dg-do compile } ! ! PR fortran/43591 ! ! Pureness check for TPB/PPC in specification expressions ! ! Based on a test case of Thorsten Ohl ! ! module m implicit none type t procedure(p1_type), nopass, pointer :: p1 => NULL() contains procedure, nopass :: tbp => p1_type end type t contains subroutine proc (t1, t2) type(t), intent(in) :: t1, t2 integer, dimension(t1%p1(), t2%tbp()) :: table end subroutine proc pure function p1_type() integer :: p1_type p1_type = 42 end function p1_type pure subroutine p(t1) type(t), intent(inout) :: t1 integer :: a(t1%p1()) end subroutine p end module m module m2 implicit none type t procedure(p1_type), nopass, pointer :: p1 => NULL() contains procedure, nopass :: tbp => p1_type end type t contains subroutine proc (t1, t2) type(t), intent(in) :: t1, t2 integer, dimension(t1%p1()) :: table1 ! { dg-error "must be PURE" } integer, dimension(t2%tbp()) :: table2 ! { dg-error "must be PURE" } end subroutine proc function p1_type() integer :: p1_type p1_type = 42 end function p1_type end module m2